Welcome,
| Name | Token | Created | Status | Actions |
|---|
| URL | Runs | Completed | Failed | Avg Duration (s) | Avg Steps | Last Run |
|---|
λͺ¨λ APIλ Authorization: Bearer YOUR_API_TOKEN ν€λλ‘ μΈμ¦ν©λλ€.
μ¬μ΄νΈ λ‘κ·ΈμΈ μ격μ¦λͺ μ μλ²μ μνΈν μ μ₯ν©λλ€.
GET /api/credentials
μ μ₯λ μ격μ¦λͺ λͺ©λ‘μ λ°νν©λλ€.
POST /api/credentials
Headers:
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
Body:
{
"site": "https://example.com",
"label": "Production Login",
"items": [
{ "key": "username", "value": "testuser@example.com" },
{ "key": "password", "value": "s3cret!" }
]
}
Parameters:
site: λμ μ¬μ΄νΈ URL λλ νΈμ€νΈλͺ
(νμ).label: UI νμμ© λΌλ²¨ (μ ν).items: key/value λ°°μ΄ β username, password, OTP λ± (μ΅μ 1κ°, νμ).Response:
{ "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "site": "example.com", "label": "Production Login", "createdAt": "..." }
DELETE /api/credentials/:id
μ격μ¦λͺ μ μμ ν©λλ€. λ³ΈμΈ μμ λ§ μμ κ°λ₯ν©λλ€.
* μλ²μ AES-256-GCMμΌλ‘ μνΈν μ μ₯λ©λλ€. νλ¬Έμ ν μ€νΈ μ€ν μμλ§ λ³΅νΈνλ©λλ€.
POST /api/qa
Headers:
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
Body (example β credentialId λ°©μ):
{
"url": "https://your-target-url.com",
"testCase": "Your detailed test case description.",
"spec": "Optional spec description.",
"ragUrl": "https://docs.example.com/feature",
"credentialId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
Body (example β μΈλΌμΈ credentials λ°©μ):
{
"url": "https://your-target-url.com",
"testCase": "Login and verify dashboard.",
"spec": "",
"credentials": {
"site": "https://your-target-url.com",
"label": "CI Test Account",
"items": [
{ "key": "username", "value": "ci-user@test.com" },
{ "key": "password", "value": "test1234" }
]
}
}
Parameters:
url: λμ URL (μ΅λ 150μ, νμ).testCase: ν
μ€νΈ λͺ©ν/μλλ¦¬μ€ (μ΅λ 8000μ, νμ).spec: μμΈ μꡬμ¬ν/μ€ν (μ΅λ 8000μ, μ ν).ragUrl: μ°Έκ³ λ¬Έμ URL (μ΅λ 500μ, μ ν).credentialId: μ μ₯λ μ격μ¦λͺ
UUID (μ ν). POST /api/credentials μλ΅μ id κ°.credentials: μΈλΌμΈ μ격μ¦λͺ
(μ ν). μ λ¬νλ©΄ μλ μ μ₯ ν μ΄ Jobμ μ°κ²°λ©λλ€.
site: λμ νΈμ€νΈ (νμ).label: λΌλ²¨ (μ ν).items: key/value λ°°μ΄ (νμ).monkeyMode: λͺ½ν€ ν
μ€νΈ νμ±ν (μ ν).monkeyLevel: λͺ½ν€ κ°λ low|med|high (μ ν).monkeySteps: λͺ½ν€ μ€ν
μ (μ ν).monkeySeed: μ¬νμ μν μλ (μ ν).* credentialIdμ credentialsκ° λμμ μμΌλ©΄ credentials(μΈλΌμΈ)κ° μ°μ μ
λλ€.
GET /api/qa/reports
Headers:
Authorization: Bearer YOUR_API_TOKEN
Example (cURL):
curl -H "Authorization: Bearer YOUR_API_TOKEN" /api/qa/reports
QA μλ£ μ λ±λ‘λ WebhookμΌλ‘ κ²°κ³Όκ° μ μ‘λ©λλ€.
Example Payload:
{
"jobId": 123,
"status": "completed",
"inputParams": {
"url": "https://example.com",
"testCase": "Verify login functionality",
"spec": "User should be able to log in.",
"ragUrl": null,
"monkeyMode": false,
"monkeyLevel": null,
"monkeySteps": null,
"monkeySeed": null
},
"result": {
"report": "QA Report for example.com\nSummary\nTest Passed. The agent successfully..."
},
"completedAt": "2025-07-01T12:34:56.789Z"
}
Payload Fields:
jobId: The unique identifier for the QA job.status: Final status of the job.inputParams: Original parameters used to start the job.result: Output object with report or error details.completedAt: ISO 8601 timestamp.Token:
This will delete the token and all associated QA reports. This action cannot be undone. Please type to confirm.