Processing endpoints

Every extraction endpoint you already use works unchanged with a business API key. Only two things differ from a personal integration: you authenticate with an APIB-… key, and you can add one optional header to attribute each request to a client. The request and response bodies are identical to the personal API.

All calls go to the same base URL https://de.eagle-doc.com. Documents are uploaded as multipart/form-data with a single file field (PNG, JPEG or PDF) — exactly as today.

Same bodies, same responses

Because the payloads are identical to the personal API, this page does not repeat the field-by-field tables. For every endpoint below, follow the “Full field reference” link to its complete request and response documentation.

Request headers

Only the headers below change how a request is authenticated and attributed. Everything else about the request is the same as a personal-key call.

Header Description
api-key Required Your business API key, e.g. APIB-your-business-key. The APIB- prefix is what makes the call business-scoped.
x-sub-business-ref
x-sub-business-id Optional
Attributes the request to one of your clients. Send x-sub-business-ref with your own client number, or x-sub-business-id with the Eagle Doc client id. See the Clients & attribution guide.
Content-Type Set to multipart/form-data for the file upload. Most HTTP clients add this automatically when you attach the file field.
Attributing to the business itself

Omit the client header entirely to attribute the request to the main business rather than to a specific client.

Any-Document OCR

Extract structured data from an arbitrary document. With a business key, add the optional client header to attribute the extraction.

Parameters
Name Description
api-key (header) Your business API key (APIB-…). Required.
x-sub-business-ref (header) Optional. Your client number, to attribute the request to a client. Alternatively send x-sub-business-id with the Eagle Doc client id. Omit both to attribute to the business itself.
file (form-data) The document to process (PNG, JPEG or PDF), sent as multipart/form-data.
Example request
curl --location 'https://de.eagle-doc.com/api/anydoc/v1/processing' \
  --header 'api-key: APIB-your-business-key' \
  --header 'x-sub-business-ref: A-1023' \
  --form 'file=@"document.pdf"'
import requests

resp = requests.post(
    "https://de.eagle-doc.com/api/anydoc/v1/processing",
    headers={
        "api-key": "APIB-your-business-key",
        "x-sub-business-ref": "A-1023",   # your own client number
    },
    files={"file": open("document.pdf", "rb")},
)
print(resp.json())
import fs from "node:fs";

const form = new FormData();
form.append("file", new Blob([fs.readFileSync("document.pdf")]), "document.pdf");

const resp = await fetch("https://de.eagle-doc.com/api/anydoc/v1/processing", {
  method: "POST",
  headers: {
    "api-key": "APIB-your-business-key",
    "x-sub-business-ref": "A-1023", // your own client number
  },
  body: form,
});
console.log(await resp.json());
Full field reference

Request and response bodies are identical to the personal API. See the complete field reference: Any Document OCR full reference →

Invoice OCR

Extract structured invoice data. Authentication and client attribution work exactly as for the other endpoints.

Parameters
Name Description
api-key (header) Your business API key (APIB-…). Required.
x-sub-business-ref (header) Optional. Your client number, to attribute the request to a client. Alternatively send x-sub-business-id with the Eagle Doc client id. Omit both to attribute to the business itself.
file (form-data) The document to process (PNG, JPEG or PDF), sent as multipart/form-data.
Example request
curl --location 'https://de.eagle-doc.com/api/invoice/v1/processing' \
  --header 'api-key: APIB-your-business-key' \
  --header 'x-sub-business-ref: A-1023' \
  --form 'file=@"invoice.pdf"'
import requests

resp = requests.post(
    "https://de.eagle-doc.com/api/invoice/v1/processing",
    headers={
        "api-key": "APIB-your-business-key",
        "x-sub-business-ref": "A-1023",   # your own client number
    },
    files={"file": open("invoice.pdf", "rb")},
)
print(resp.json())
import fs from "node:fs";

const form = new FormData();
form.append("file", new Blob([fs.readFileSync("invoice.pdf")]), "invoice.pdf");

const resp = await fetch("https://de.eagle-doc.com/api/invoice/v1/processing", {
  method: "POST",
  headers: {
    "api-key": "APIB-your-business-key",
    "x-sub-business-ref": "A-1023", // your own client number
  },
  body: form,
});
console.log(await resp.json());
Base64 variant

A base64 variant is available at /api/invoice/v1/base64/processing for integrations that prefer to send the file as an encoded string instead of multipart. It accepts the same business key and client header.

Full field reference

Request and response bodies are identical to the personal API. See the complete field reference: Invoice OCR full reference →

Receipt OCR

Extract structured receipt data. The business key and optional client header behave the same as everywhere else.

Parameters
Name Description
api-key (header) Your business API key (APIB-…). Required.
x-sub-business-ref (header) Optional. Your client number, to attribute the request to a client. Alternatively send x-sub-business-id with the Eagle Doc client id. Omit both to attribute to the business itself.
file (form-data) The document to process (PNG, JPEG or PDF), sent as multipart/form-data.
Example request
curl --location 'https://de.eagle-doc.com/api/receipt/v3/processing' \
  --header 'api-key: APIB-your-business-key' \
  --header 'x-sub-business-ref: A-1023' \
  --form 'file=@"receipt.jpeg"'
import requests

resp = requests.post(
    "https://de.eagle-doc.com/api/receipt/v3/processing",
    headers={
        "api-key": "APIB-your-business-key",
        "x-sub-business-ref": "A-1023",   # your own client number
    },
    files={"file": open("receipt.jpeg", "rb")},
)
print(resp.json())
import fs from "node:fs";

const form = new FormData();
form.append("file", new Blob([fs.readFileSync("receipt.jpeg")]), "receipt.jpeg");

const resp = await fetch("https://de.eagle-doc.com/api/receipt/v3/processing", {
  method: "POST",
  headers: {
    "api-key": "APIB-your-business-key",
    "x-sub-business-ref": "A-1023", // your own client number
  },
  body: form,
});
console.log(await resp.json());
Full field reference

Request and response bodies are identical to the personal API. See the complete field reference: Receipt OCR full reference →

Document Split

Split a multi-document file into its individual documents. Send it with the business key, optionally attributed to a client.

Parameters
Name Description
api-key (header) Your business API key (APIB-…). Required.
x-sub-business-ref (header) Optional. Your client number, to attribute the request to a client. Alternatively send x-sub-business-id with the Eagle Doc client id. Omit both to attribute to the business itself.
file (form-data) The document to process (PNG, JPEG or PDF), sent as multipart/form-data.
Example request
curl --location 'https://de.eagle-doc.com/api/doc/v1/split' \
  --header 'api-key: APIB-your-business-key' \
  --header 'x-sub-business-ref: A-1023' \
  --form 'file=@"document.pdf"'
import requests

resp = requests.post(
    "https://de.eagle-doc.com/api/doc/v1/split",
    headers={
        "api-key": "APIB-your-business-key",
        "x-sub-business-ref": "A-1023",   # your own client number
    },
    files={"file": open("document.pdf", "rb")},
)
print(resp.json())
import fs from "node:fs";

const form = new FormData();
form.append("file", new Blob([fs.readFileSync("document.pdf")]), "document.pdf");

const resp = await fetch("https://de.eagle-doc.com/api/doc/v1/split", {
  method: "POST",
  headers: {
    "api-key": "APIB-your-business-key",
    "x-sub-business-ref": "A-1023", // your own client number
  },
  body: form,
});
console.log(await resp.json());
Full field reference

Request and response bodies are identical to the personal API. See the complete field reference: Document Split full reference →

Finance OCR

Finance OCR auto-detects the document type (for example invoice or receipt) and returns the matching structured data. It takes the business key and optional client header just like the other endpoints.

Parameters
Name Description
api-key (header) Your business API key (APIB-…). Required.
x-sub-business-ref (header) Optional. Your client number, to attribute the request to a client. Alternatively send x-sub-business-id with the Eagle Doc client id. Omit both to attribute to the business itself.
file (form-data) The document to process (PNG, JPEG or PDF), sent as multipart/form-data.
Example request
curl --location 'https://de.eagle-doc.com/api/finance/v1/processing' \
  --header 'api-key: APIB-your-business-key' \
  --header 'x-sub-business-ref: A-1023' \
  --form 'file=@"document.pdf"'
import requests

resp = requests.post(
    "https://de.eagle-doc.com/api/finance/v1/processing",
    headers={
        "api-key": "APIB-your-business-key",
        "x-sub-business-ref": "A-1023",   # your own client number
    },
    files={"file": open("document.pdf", "rb")},
)
print(resp.json())
import fs from "node:fs";

const form = new FormData();
form.append("file", new Blob([fs.readFileSync("document.pdf")]), "document.pdf");

const resp = await fetch("https://de.eagle-doc.com/api/finance/v1/processing", {
  method: "POST",
  headers: {
    "api-key": "APIB-your-business-key",
    "x-sub-business-ref": "A-1023", // your own client number
  },
  body: form,
});
console.log(await resp.json());
Full field reference

Request and response bodies are identical to the personal API. See the complete field reference: Finance OCR full reference →

Batch & asynchronous endpoints

The batch and asynchronous task endpoints also accept business keys and the optional client header — for example /api/anydoc/extract/batch/task/v1 and /api/finance/extract/batch/task/v1. Authenticate with your APIB-… key and add x-sub-business-ref exactly as shown above. Batch OCR documentation →

Identical response shapes

Response shapes are identical to the personal API — see each endpoint’s full reference for the fields.

Support

We are here to help

Building your multi-client integration and something is unclear? We are glad to help so your project succeeds.

Reach us at support@eagle-doc.com