Authentication

All API requests must include your API key in the request header. API keys are available from your account settings on Firm and Enterprise plans.

Request header
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Keep your API key secret. Do not expose it in client-side code or public repositories. If your key is compromised, regenerate it immediately from your account settings.

Base URL

https://autoconvertpros.com/api/v1

All requests are made over HTTPS. HTTP requests will be rejected.

Endpoints

POST/statements/uploadUpload and analyse a bank statement
GET/statements/{id}Retrieve analysis results for a statement
GET/statementsList all statements for your account
GET/statements/{id}/download/excelDownload the Excel report for a statement
GET/statements/{id}/download/pdfDownload the PDF report for a statement

POST /statements/upload

Submit a bank statement PDF for analysis. Returns a statement ID which you can use to poll for results.

Request — multipart/form-data
FieldTypeRequiredDescription
fileFilerequiredThe bank statement PDF. Max 20MB.
case_referencestringoptionalYour internal case reference. Included in the report.
passwordstringoptionalPassword for password-protected PDFs.
Example request
curl -X POST https://autoconvertpros.com/api/v1/statements/upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@lloyds_statement.pdf" \
  -F "case_reference=CASE-2026-001"
Example response
{
  "success": true,
  "statement_id": "stmt_abc123",
  "status": "processing",
  "message": "Statement uploaded successfully. Poll /statements/stmt_abc123 for results."
}

GET /statements/{id}

Retrieve the full analysis results for a statement. Poll this endpoint until status is completed.

Example response — completed
{
  "id": "stmt_abc123",
  "status": "completed",
  "bank_detected": "Lloyds",
  "pages_processed": 6,
  "case_reference": "CASE-2026-001",
  "income": {
    "month_1": 3850.00,
    "month_2": 4100.00,
    "month_3": 3950.00,
    "average": 3966.67,
    "variance_percent": 3.2,
    "consistency_score": "High"
  },
  "risk": {
    "score": 28,
    "level": "Moderate",
    "flagged_transaction_count": 2,
    "flags": [
      {
        "date": "2026-01-08",
        "description": "BET365 ONLINE BETTING",
        "amount": 50.00,
        "category": "gambling"
      },
      {
        "date": "2026-01-22",
        "description": "KLARNA PAYMENT",
        "amount": 45.00,
        "category": "bnpl"
      }
    ]
  },
  "created_at": "2026-03-19T09:00:00Z",
  "completed_at": "2026-03-19T09:00:58Z"
}

Rate Limits

Rate limiting applies to all API requests

API requests are limited to 10 requests per minute per API key. Statement uploads count against your plan's monthly statement quota (200/month on Firm, custom on Enterprise). If you exceed the rate limit, you will receive a 429 Too Many Requests response.

PlanMonthly StatementsRate LimitAPI Access
Free1N/A✗ Not available
Professional50N/A✗ Not available
Firm20010 req/min✓ Included
EnterpriseCustomCustom✓ Included

Error Codes

StatusCodeMeaning
400invalid_requestMissing or invalid request parameters
401unauthorizedInvalid or missing API key
403quota_exceededMonthly statement quota reached
404not_foundStatement ID does not exist
422unsupported_bankBank statement format not recognised
429rate_limitedToo many requests — slow down
500processing_errorInternal error during OCR or analysis

Webhooks

Rather than polling /statements/{id} for completion, Enterprise plans support webhook notifications. When statement processing completes, AutoConvertPros sends a POST request to your configured endpoint with the full analysis result — no polling required.

Webhook payload example
POST https://your-endpoint.com/webhook
Content-Type: application/json
X-AutoConvertPros-Signature: sha256=...

{
  "event": "statement.completed",
  "statement_id": "stmt_abc123",
  "status": "completed",
  "income": { "average": 3966.67, "consistency_score": "High" },
  "risk": { "score": 28, "level": "Moderate" }
}

Webhook support is available on Enterprise plans. Contact us to configure a webhook endpoint for your integration.

Ready to integrate?

API access is included on Firm and Enterprise plans. Start a Firm trial to get your API key, or contact us to discuss Enterprise requirements including custom rate limits and SLA.