Complete API documentation for Qulaxy integration
All API requests require authentication using JWT tokens. Include the token in the Authorization header:
Authorization: Bearer YOUR_JWT_TOKEN
POST/api/v1/auth/login
Request Body:
{
"email": "user@example.com",
"password": "your_password"
}
Response:
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "123",
"email": "user@example.com",
"name": "John Doe"
}
}
GET/api/v1/projects
Query Parameters:
page - Page number (default: 1)limit - Items per page (default: 20)search - Search termResponse:
{
"data": [
{
"id": "proj_123",
"name": "E-Commerce Platform",
"description": "Main e-commerce testing",
"created_at": "2026-01-15T10:30:00Z"
}
],
"meta": {
"total": 42,
"page": 1,
"limit": 20
}
}
POST/api/v1/projects
Request Body:
{
"name": "Mobile App Testing",
"description": "iOS and Android app QA",
"status": "active"
}
GET/api/v1/projects/:id
PUT/api/v1/projects/:id
DELETE/api/v1/projects/:id
GET/api/v1/projects/:projectId/test-cases
Query Parameters:
status - Filter by status (draft, approved, deprecated)priority - Filter by priority (low, medium, high, critical)tags - Comma-separated tagsPOST/api/v1/projects/:projectId/test-cases
Request Body:
{
"title": "User Login Flow",
"description": "Verify user can login successfully",
"priority": "high",
"steps": [
{
"step": "Navigate to login page",
"expected": "Login form is displayed"
},
{
"step": "Enter valid credentials",
"expected": "Credentials are accepted"
}
],
"tags": ["authentication", "critical-path"]
}
POST/api/v1/projects/:projectId/test-runs
Request Body:
{
"name": "Sprint 42 Regression",
"description": "Full regression for Q1 release",
"test_case_ids": ["tc_123", "tc_456", "tc_789"],
"assigned_to": "user_123"
}
PUT/api/v1/test-results/:id
Request Body:
{
"status": "passed",
"notes": "All validations passed",
"execution_time": 120,
"attachments": ["screenshot1.png"]
}
GET/api/v1/projects/:projectId/dashboard
Response:
{
"test_cases": {
"total": 250,
"by_status": {
"approved": 220,
"draft": 25,
"deprecated": 5
}
},
"test_runs": {
"active": 3,
"completed": 42
},
"execution_rate": {
"passed": 85.5,
"failed": 10.2,
"blocked": 4.3
}
}
Configure webhooks to receive real-time notifications:
test_run.created - New test run startedtest_run.completed - Test run finishedtest_result.updated - Test result changeddefect.created - New defect reported{
"event": "test_run.completed",
"timestamp": "2026-01-18T10:30:00Z",
"data": {
"test_run_id": "tr_123",
"project_id": "proj_456",
"results": {
"passed": 42,
"failed": 3,
"blocked": 1
}
}
}
API requests are limited to: