🔐 Authentication

All API requests require authentication using Bearer tokens. Include your API token in the Authorization header.

Authorization: Bearer YOUR_API_TOKEN

📋 Projects

GET /api/projects

List all projects

Parameter Type Description
page integer Page number for pagination
per_page integer Items per page (default: 15)
{ "data": [ { "id": 1, "name": "E-commerce Tests", "description": "Test suite for online store", "created_at": "2025-12-30T10:00:00Z" } ], "meta": { "current_page": 1, "total": 10 } }
POST /api/projects

Create a new project

Parameter Type Required Description
name string Yes Project name
description string No Project description

📦 Test Cases

GET /api/projects/{project}/modules/{module}/test-cases

Get all test cases in a module

POST /api/test-cases/{id}/generate-code

Generate code from recorded events

Parameter Type Description
format string Code format: 'cypress' or 'playwright'
{ "format": "cypress", "code": "describe('Login Test', () => {\n it('should login', () => {\n cy.visit('...');\n });\n});", "generated_at": "2025-12-30T10:30:00Z" }

🎬 Recording Sessions

POST /api/recording/start

Start a new recording session

Parameter Type Required
test_case_id integer Yes
url string Yes
browser string No
POST /api/recording/stop

Stop the active recording session

📊 Response Codes

Code Status Description
200 OK Request successful
201 Created Resource created successfully
400 Bad Request Invalid request parameters
401 Unauthorized Authentication required or failed
404 Not Found Resource not found
500 Server Error Internal server error

💡 Rate Limiting

API requests are limited to 100 requests per minute per API token. Rate limit information is included in response headers:

X-RateLimit-Limit: 100 X-RateLimit-Remaining: 95 X-RateLimit-Reset: 1735560000

🔗 Need Help?

For more information or support with the API, visit our Support page or join our Community.