Documentation Index
Fetch the complete documentation index at: https://docs.getmuster.io/llms.txt
Use this file to discover all available pages before exploring further.
For tools that don’t run Python (n8n, Flowise, Dify, Botpress), you can send quality signals directly via HTTP POST.
Endpoint
POST https://app.getmuster.io/api/v1/jobs/{job_id}/quality
Content-Type: application/json
Request body
{
"agent_id": "your-agent-name",
"job_id": "unique-job-identifier",
"overall_passed": true,
"token_input": 1247,
"token_output": 312,
"model": "gpt-4o",
"latency_ms": 1840,
"checks": [
{
"check_id": "output_not_empty",
"severity": "HIGH",
"passed": true
},
{
"check_id": "required_fields_present",
"severity": "HIGH",
"passed": true,
"expected": "vendor,total,date",
"actual": "vendor,total,date"
}
]
}
Response
{
"signal_id": "uuid",
"agent_id": "uuid",
"job_id": "your-job-id",
"overall_passed": true,
"check_count": 2,
"passed_count": 2,
"received_at": "2026-03-24T10:00:00Z"
}
The quality endpoint does not require authentication. This allows agents to post directly without managing tokens. Rate limiting applies: 1000 requests/minute per agent.
cURL example
curl -X POST https://app.getmuster.io/api/v1/jobs/job-001/quality \
-H "Content-Type: application/json" \
-d '{
"agent_id": "invoice-processor-v2",
"job_id": "job-001",
"overall_passed": true,
"checks": [
{"check_id": "output_not_empty", "severity": "HIGH", "passed": true}
]
}'
n8n example
Add an HTTP Request node at the end of your workflow:
| Setting | Value |
|---|
| Method | POST |
| URL | https://app.getmuster.io/api/v1/jobs/{{ $now.toMillis() }}/quality |
| Body Content Type | JSON |
Body:
{
"agent_id": "your-n8n-workflow-name",
"job_id": "{{ $now.toMillis() }}",
"overall_passed": {{ $node["Your Last Node"].data ? true : false }},
"checks": [
{
"check_id": "output_not_empty",
"severity": "HIGH",
"passed": {{ $node["Your Last Node"].data ? true : false }}
}
]
}
See the full n8n integration guide for more examples.