Developers
API
Sign in and open Integrations to create a key. The full key is shown once. Send it as Authorization: Bearer on the order routes below. A test key can place orders. A live key can place orders when live payments are on.
API keys
POST /api/me/api-keys
{
"name": "Production",
"mode": "test"
}
201
{
"id": "…",
"name": "Production",
"prefix": "cp_test_",
"last4": "a91f",
"createdAt": "2026-10-12T00:00:00.000Z",
"lastUsedAt": null,
"revokedAt": null,
"secret": "cp_test_…"
}
GET /api/me/api-keys
{
"keys": [
{
"id": "…",
"name": "Production",
"prefix": "cp_test_",
"last4": "a91f",
"createdAt": "2026-10-12T00:00:00.000Z",
"lastUsedAt": null,
"revokedAt": null
}
]
}
DELETE /api/me/api-keys/{id}
{
"id": "…",
"revokedAt": "2026-10-12T01:00:00.000Z"
}Place an order
curl -X POST https://www.credpronto.com/api/v1/orders \ -H "Authorization: Bearer <key>" \ -F files=@acta.pdf \ -F service=translation \ -F source_language=es \ -F target_language=en \ -F external_ref=crm-1842
201 response
{
"id": "…",
"status": "paid",
"service": "translation",
"sourceLanguage": "es",
"targetLanguage": "en",
"externalRef": "crm-1842",
"billablePages": 3,
"unitPriceCents": 995,
"expeditedUnit": "order",
"totalCents": 2985,
"currency": "usd",
"payment": {
"status": "paid"
},
"progress": {
"step": "done",
"pagesRead": 3,
"pagesTotal": 3
},
"paidAt": "2026-10-12T00:00:00.000Z",
"fulfillment": "awaiting_review",
"delayed": false
}Read an order
curl https://www.credpronto.com/api/v1/orders/{id} \
-H "Authorization: Bearer <key>"200 response
{
"id": "…",
"status": "processing",
"service": "translation",
"sourceLanguage": "es",
"targetLanguage": "en",
"externalRef": "crm-1842",
"billablePages": 3,
"unitPriceCents": 995,
"expeditedUnit": "order",
"totalCents": 2985,
"currency": "usd",
"payment": {
"status": "paid"
},
"progress": {
"step": "translating",
"pagesRead": 3,
"pagesTotal": 3,
"pagesDone": 1,
"pagesTranslateTotal": 3
},
"paidAt": "2026-10-12T00:00:00.000Z",
"fulfillment": "awaiting_review",
"delayed": false,
"reviewReason": null,
"qa": null
}Download files
curl https://www.credpronto.com/api/v1/orders/{id}/files \
-H "Authorization: Bearer <key>"Files response
{
"downloadAvailable": false,
"originals": [
{
"documentId": "…",
"filename": "acta.pdf",
"url": "https://…",
"expiresInSeconds": 300
}
],
"translation": null,
"certification": null
}Webhook signature
# Verify the CredPronto-Signature header on each webhook.
# It is t=<unix seconds>,v1=<hex HMAC-SHA256 of ${t}.${rawBody}>.