Quick Start
This guide walks you through issuing an API key, sending your first analysis request, and retrieving the result.
1. Get Your API Key
Sign in to the MIRI Developer Console and open API Keys. Click Create API Key to issue a production key instantly. Keep the key secret; the full value is shown only once.
Need help? See the Authentication guide for detailed instructions.
2. Make Your First Request
Create an analysis by sending a POST request to /public/v1/analyses.
curl -X POST https://open-miri-api.axistant.org/public/v1/analyses \
-H "Miri-Api-Key: miri_live_sk_xxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"resumeData": {
"type": "pdf",
"content": "UEsDBBQABgAIAAAAIQAAAAAAAAAAAAAAAAAJAAAAdXJsLnR4dFxTZW5pb3IgQmFja2VuZCBFbmdpbmVlciAtIFJlc3VtZSBFeGNlcnB0cy4uLg=="
},
"jobPostingData": {
"type": "html",
"content": "<h1>Senior Backend Engineer</h1><p>Design scalable services...</p>"
},
"options": {
"webhook": {
"url": "https://partner.example.com/webhooks/analysis",
"secret": "your-hmac-secret"
}
}
}'
Response (202 Accepted)
text/html payloads must be UTF-8 text. pdf/docx payloads must be base64-encoded; the examples above are truncated.
{
"success": true,
"data": {
"id": "0199d5b8-3a2f-4f62-8f4d-9c4fdfb7c2a1",
"status": "QUEUED",
"estimatedTime": 30,
"createdAt": "2025-09-19T10:15:23.456Z",
"webhook": {
"url": "https://partner.example.com/webhooks/analysis",
"delivery": {
"state": "PENDING",
"lastAttemptAt": null,
"lastStatusCode": null,
"attemptCount": 0,
"lastError": null
}
},
"links": {
"self": "/public/v1/analyses/0199d5b8-3a2f-4f62-8f4d-9c4fdfb7c2a1"
},
"metadata": {
"creditsUsed": 1
}
},
"message": null,
"code": "SUCCESS",
"metadata": null
}
The data.links.self value is the canonical URL you can poll. Because the request included options.webhook, the response shows the pending delivery state for that destination.
3. Poll for the Result
After receiving the analysisId, fetch the result:
curl https://open-miri-api.axistant.org/public/v1/analyses/{analysisId} \
-H "Miri-Api-Key: miri_live_sk_xxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
If the analysis is still processing, the response returns status: PROCESSING. Retry after a short delay or configure a webhook for completion notifications.
Completed Response (200 OK)
{
"success": true,
"data": {
"id": "0199f6ac-5c23-41b0-904b-6b9f7c5f2c11",
"status": "COMPLETED",
"createdAt": "2025-09-19T10:15:23.456Z",
"completedAt": "2025-09-19T10:16:45.123Z",
"processingTime": 82031,
"estimatedTime": null,
"result": {
"analysis": { /* truncated for brevity */ }
},
"metadata": {
"creditsUsed": 1
},
"webhook": {
"url": "https://partner.example.com/webhooks/analysis",
"delivery": {
"state": "SUCCESS",
"lastAttemptAt": "2025-09-19T10:16:45.500Z",
"lastStatusCode": 200,
"attemptCount": 1,
"lastError": null
}
},
"links": {
"self": "/public/v1/analyses/0199f6ac-5c23-41b0-904b-6b9f7c5f2c11"
}
},
"message": null,
"code": "SUCCESS",
"metadata": null
}
Next Steps
- Explore the Analysis API for detailed request/response schemas.
- Configure the
webhookobject in your request if you need completion callbacks.