Docpier IDP API
    Docpier IDP API
    • IDP API
    • Webhook
    • Endpoints
      • Agent Login (client credential flow)
        POST
      • Upload a document
        POST
      • Retrieve structured data
        GET
      • Provide feedback
        PATCH
    • Schemas
      • Schemas
        • api
          • ApiError
          • DocumentInProgressResponse
          • FeedbackRequest
          • DocumentResponse
        • document
          • element
            • Amount
            • Identification
            • PaymentMethod
            • TaxId
            • CreditCardInfo
          • Unknown
          • Core Document
          • Invoice
          • Reminder
          • CreditCard Statement
          • Insurance Policy
          • Policy Adjustment
        • workspace
          • Workspace
          • Membership
          • Document
          • FlowLog
          • Error

    IDP API

    Overview#

    The Docpier Intelligent Document Processing (IDP) API enables automated document processing, workspace management, and feedback submission for agents and users. It supports various document types (invoices, credit notes, contracts, etc.) with a normalized JSON structure, ensuring compliance with the Swiss Federal Act on Data Protection (nFADP).
    API Base URL (Production): https://idp.docpier.com/api/v1
    Current API Version: 1.2.0
    Last Updated: 29. August, 2025

    General Information#

    Environments#

    EnvironmentBase URLDescription
    Productionhttps://idp.docpier.com/api/v1Live environment for production use.
    Sandboxhttps://idp-stage.docpier.com/api/v1Integration environment.
    Contact support@docpier.com to obtain sandbox credentials.

    Version Management#

    The API uses Semantic Versioning (MAJOR.MINOR.PATCH):
    MAJOR: Breaking changes; requires client updates.
    MINOR: Backward-compatible changes.
    PATCH: Bug fixes, minor improvements.
    There is only major version visible (/v1) on the URL path https://.../api/v1
    Changelog: https://docpier.com/changelog

    Authentication#

    The API uses OAuth 2.0 managed by Docpier’s identity provider.

    Client Credentials Flow (for Agents / Server-to-Server)#

    Token URL: https://auth.docpier.com/oauth/token
    Scopes:
    idp.capture — Read and write workspace data.

    Example (Client Credentials Flow)#

    Request an access token using HTTP POST with:
    grant_type=client_credentials
    client_id=your_client_id
    client_secret=your_client_secret
    scope=idp.capture
    Here’s a full example how to request a client credentials token for Docpier using curl:
    The response will include an access_token that can be used in the Authorization header for subsequent API requests.
    Example usage after token retrieval:
    Authorization: Bearer <access_token>
    Best Practice: Cache tokens, refresh before expiry, store credentials securely.

    Pagination#

    The API provides pagination mechanism for clients to query of large amount of data efficiently.

    Parameters:#

    page — The page number (zero-based). Default: 0.
    size — The number of items per page. Default: 20, Maximum: 100.
    sort — Optional. Sorting criteria in the format: property,(asc|desc).

    Example Request:#

    GET /user/workspaces/ws_abcdef123/documents?page=0&size=10&sort=uploadTime,desc
    Authorization: Bearer <token>

    Example Response:#

    {
      "content": [ ... ],
      "pageable": {
        "pageNumber": 0,
        "pageSize": 10
      },
      "totalElements": 123,
      "totalPages": 13,
      "last": false,
      "first": true,
      "numberOfElements": 10
    }

    Error Handling#

    All errors return standard HTTP status codes with consistent JSON error format.

    Example Error:#

    {
      "code": "INVALID_FILE",
      "message": "The uploaded file is not a valid PDF."
    }

    HTTP Status Codes#

    CodeMeaning
    200OK
    201Created
    202Accepted
    400Bad Request
    401Unauthorized
    403Forbidden
    404Not Found
    413Payload Too Large
    415Unsupported Media Type
    429Too Many Requests
    500Internal Server Error

    Common Error Codes#

    CodeDescription
    INVALID_FILEInvalid file format or corrupted
    INVALID_TOKENInvalid or expired token
    FORBIDDEN_ACCESSInsufficient permissions
    NOT_FOUNDResource not found
    RATE_LIMIT_EXCEEDEDToo many requests
    INVALID_SCHEMAInvalid JSON schema
    PROCESSING_FAILEDProcessing error
    Best Practice: Implement retry logic with exponential backoff for 429 and 500 errors.

    Character Sets#

    Encoding: UTF-8
    Content-Type: application/json (default)
    Uploads: application/pdf, image/jp[e]g, image/png, image/tiff

    Integration Guidelines#

    1.

    Obtain Credentials#

    Contact support@docpier.com to receive:
    client_id
    client_secret
    workspace_id
    2.

    Test in Stage environemnt#

    Use https://idp-stage.docpier.com/api/v1 to integrate your flow.
    3.

    Implement Workflows#

    Agent Workflow (Server-to-Server)#

    POST /v1/worspaces/{workspace_id}/documents — Upload document
    GET /v1/worspaces/{workspace_id}/documents/{documentId} — Get processed data (poll the result)
    PATCH /v1/worspaces/{workspace_id}/documents/{documentId}/feedback — Submit feedback

    Rate Limits#

    EnvironmentLimit
    Production100 requests/minute
    Stage20 requests/minute
    Response Header: X-Rate-Limit-Remaining

    nFADP Compliance#

    Each response containing personal data includes an nFADP object.
    Partners are responsible for full compliance with Swiss Federal Act on Data Protection (nFADP) and GDPR.

    Best Practices#

    Authentication: Cache tokens, store credentials securely.
    Error Handling: Log errors with codes/messages.
    Pagination: Handle next_cursor properly.
    Uploads: Validate files client-side before upload.
    Feedback: Provide detailed field corrections to improve model accuracy.
    Monitoring: Actively monitor usage, response times, and error rates.

    Sequence Diagram (Agent Workflow)#


    Key Field Definitions#

    This section explains the possible values for all enum fields across the API data models, providing clarity on the expected and accepted values.

    documentType#

    Used in: CoreDocument
    ValueDescription
    INVOICEThe document is identified as a commercial invoice (Rechnung).
    REMINDERThe document is identified as a payment reminder (Mahnung).
    RECEIPTThe document is identified as a payment receipt (Beeleg).
    ACCOUNT_STATEMENTThe document is identified as a bank account statement (Kontoauszug).
    CREDIT_NOTEThe document is identified as a credit note (Gutschrift).
    SALARY_STATEMENTThe document is identified as a salary statement (Lohnausweis).
    PAY_SLIPThe document is identified as a pay slip (Lohnabrechnung).
    TAX_CERTIFICATEThe document is identified as a tax certificate (Steuerbescheinigung).
    INSURANCE_POLICYThe document is identified as an insurance policy (Versicherungspolice).
    POLICY_ADJUSTMENTThe document is identified as a policy adjustment. The document records a modification, correction, or endorsement to an existing insurance policy
    WARRANTY_POLICYThe document is identified as a warranty policy (Garantieschein).
    CONTRACTThe document is identified as a contract (Vertrag).
    CREDITCARD_STATEMENTThe document is identified as a credit card statement (Kreditkartenauszug).
    UNKNOWNThe document type could not be identified or fully structured by Docpier.

    Domain Models (schemas)#

    In this section you find the schemas to core document and invoice. Check the endpoint definitions for other document types and more details.
    Core Document


    Normalized JSON Structure#

    The GET /documents/{documentId} endpoint returns processed documents in a normalized JSON structure. Each extracted field corresponds to a defined schema property and includes a confidence score (a float between 0.0 and 1.0) indicating the accuracy of the extraction for that specific field.
    The top-level response is an array of detected documents, where each document conforms to one of the specific schemas (e.g., Invoice, Credit Note, Account Statement, or UnknownDocument).

    Support#

    📧 Email: support@docpier.com
    📄 Documentation: https://docpier.com/docs
    🔔 Changelog: https://docpier.com/changelog
    🛠 Issue Reporting: Use partner portal or email (include documentId and error codes for faster resolution).
    Modified at 2025-08-31 09:13:27
    Next
    Webhook
    Built with