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}>.