Skip to main content

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)

Content encoding

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 webhook object in your request if you need completion callbacks.