Evrotrust E Delivery API

The e-Delivery API from Evrotrust — 3 operation(s) for e-delivery.

Business capability
Qualified Electronic Signatures & Trust Services AE-160.80

Operations 3

POST /delivery/online Send File for Delivery #
POST /delivery/receipts/download Download Receipts #
POST /delivery/receipts/status Check Delivery Status #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/evrotrust:evrotrust-e-delivery-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

evrotrust-e-delivery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: This is Evrotrust Vendor callback server API
  version: 1.0.22
  title: Evrotrust E Delivery API
  contact:
    name: Evrotrust
    email: technical_support@evrotrust.com
servers:
- url: https://api.sandbox.evrotrust.com/vendor
  description: Testing
- url: https://v.evrotrust.com/vendor
  description: Production
tags:
- name: e-Delivery
paths:
  /delivery/online:
    post:
      description: /delivery/online
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: '{

                      "threadID":"string",

                      "transactions": [

                      {"transactionID":"string",

                      "identificationNumber":"string",

                      "country": 0,

                      "email":"string",

                      "phone":"string"}]

                      }'
                required:
                - name
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                required:
                - name
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                required:
                - name
      parameters:
      - in: header
        name: Authorization
        schema:
          type: string
        required: true
        description: Authorization value.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                document:
                  type: object
                  properties: {}
                  description: File bytes
                data:
                  type: string
                  description: 'JSON string with structure

                    {

                    "document": {

                    "description": "string",

                    "dateExpire": 0,

                    "checksumDocument": "string"

                    },

                    "vendorNumber": "string",

                    "user": {

                    "identificationNumber": "string",

                    "country": "string",

                    "email": "string",

                    "phone": "string"}

                    }'
                  format: json
              required:
              - document
              - data
            examples:
              default:
                summary: Example request
                value:
                  document: {}
                  data: <data>
      summary: Send File for Delivery
      operationId: post_delivery-online
      tags:
      - e-Delivery
      x-readme:
        code-samples:
        - language: python
          name: Python
          code: "import hashlib, hmac, requests\n\nVENDOR_API_KEY = 'xxx'\nURL = 'https://api.sandbox.evrotrust.com/vendor/delivery/online'\n\n# e-Delivery: the recipient receives the file, there is no signing step.\n# Identify the user with ONE of identificationNumber+country, email or phone.\n# The HMAC covers the `data` string only -- not the file.\ndata = \"\"\"{\n  \"document\": {\n    \"description\": \"Invoice 2026-00142\",\n    \"dateExpire\": 1798761599,\n    \"checksumDocument\": \"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08\"\n  },\n  \"vendorNumber\": \"YOUR_VENDOR_NUMBER\",\n  \"user\": {\n    \"identificationNumber\": \"1234567890\",\n    \"country\": \"BG\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"+359123456789\"\n  }\n}\"\"\"\n\nkey = hashlib.sha256(VENDOR_API_KEY.encode()).digest()\nauthorization = hmac.new(key, data.encode('utf-8'), hashlib.sha256).hexdigest()\n\nwith open('/path/to/invoice.pdf', 'rb') as fh:\n    response = requests.post(\n        URL,\n        headers={'Authorization': authorization},\n        data={'data': data},\n        files={'document': ('invoice.pdf', fh, 'application/pdf')},\n        timeout=30,\n    )\n\nprint(response.status_code, response.text)"
        - language: node
          name: Node.js
          code: "const crypto = require('crypto');\nconst fs = require('fs');\n\nconst VENDOR_API_KEY = 'xxx';\nconst URL = 'https://api.sandbox.evrotrust.com/vendor/delivery/online';\n\n// e-Delivery: the recipient receives the file, there is no signing step.\n// Identify the user with ONE of identificationNumber+country, email or phone.\n// The HMAC covers the `data` string only -- not the file.\nconst data = JSON.stringify({\n  \"document\": {\n    \"description\": \"Invoice 2026-00142\",\n    \"dateExpire\": 1798761599,\n    \"checksumDocument\": \"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08\"\n  },\n  \"vendorNumber\": \"YOUR_VENDOR_NUMBER\",\n  \"user\": {\n    \"identificationNumber\": \"1234567890\",\n    \"country\": \"BG\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"+359123456789\"\n  }\n});\n\nconst key = crypto.createHash('sha256').update(VENDOR_API_KEY).digest();\nconst authorization = crypto.createHmac('sha256', key).update(data).digest('hex');\n\nconst form = new FormData();\nform.append('data', data);\nform.append(\n  'document',\n  new Blob([fs.readFileSync('/path/to/invoice.pdf')], { type: 'application/pdf' }),\n  'invoice.pdf'\n);\n\nconst response = await fetch(URL, {\n  method: 'POST',\n  headers: { Authorization: authorization },\n  body: form,\n});\n\nconsole.log(response.status, await response.text());"
  /delivery/receipts/download:
    post:
      description: /delivery/receipts/download
      responses:
        '200':
          description: ''
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                required:
                - name
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                required:
                - name
        '443':
          description: Document not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                required:
                - name
        '475':
          description: Receipts cannot be generated
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                required:
                - name
      parameters:
      - in: header
        name: Authorization
        schema:
          type: string
        required: true
        description: Authorization value.
      summary: Download Receipts
      operationId: post_delivery-receipts-download
      tags:
      - e-Delivery
      x-readme:
        code-samples:
        - language: python
          name: Python
          code: "import hashlib, hmac, requests\n\nVENDOR_API_KEY = 'xxx'\nURL = 'https://api.sandbox.evrotrust.com/vendor/delivery/receipts/download'\n\nbody = \"\"\"{\n  \"transactionID\": \"a1b2c3d4-0000-0000-0000-000000000000\",\n  \"vendorNumber\": \"YOUR_VENDOR_NUMBER\"\n}\"\"\"\n\n# Authorization: HMAC-SHA256 over the exact body bytes,\n# keyed by the raw SHA-256 digest of the API key\nkey = hashlib.sha256(VENDOR_API_KEY.encode()).digest()\nauthorization = hmac.new(key, body.encode('utf-8'), hashlib.sha256).hexdigest()\n\nresponse = requests.post(\n    URL,\n    headers={'Content-Type': 'application/json',\n             'Authorization': authorization},\n    data=body.encode('utf-8'),\n    timeout=30,\n)\n\nprint(response.status_code, response.text)\n"
        - language: node
          name: Node.js
          code: "const crypto = require('crypto');\n\nconst VENDOR_API_KEY = 'xxx';\nconst URL = 'https://api.sandbox.evrotrust.com/vendor/delivery/receipts/download';\n\nconst body = JSON.stringify({\n  \"transactionID\": \"a1b2c3d4-0000-0000-0000-000000000000\",\n  \"vendorNumber\": \"YOUR_VENDOR_NUMBER\"\n});\n\n// Authorization: HMAC-SHA256 over the body, keyed by the raw SHA-256 of the API key\nconst key = crypto.createHash('sha256').update(VENDOR_API_KEY).digest();\nconst authorization = crypto.createHmac('sha256', key).update(body).digest('hex');\n\nconst response = await fetch(URL, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    Authorization: authorization,\n  },\n  body,\n});\n\nconsole.log(response.status, await response.text());\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: '{

                    "transactionID":"string",

                    "vendorNumber":"string"

                    }'
              required:
              - name
  /delivery/receipts/status:
    post:
      description: /delivery/receipts/status
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    description: '{

                      "threads": [

                      {"threadID":"string",

                      "threadFound": true,

                      "statuses": [{

                      "transactionID":"string",

                      "evidences": [

                      {"type": 0,

                      "status": 0}

                      ]

                      }

                      ]

                      }

                      ]

                      }'
                required:
                - name
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                required:
                - name
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                required:
                - name
      parameters:
      - in: header
        name: Authorization
        schema:
          type: string
        required: true
        description: Authorization value.
      summary: Check Delivery Status
      operationId: post_delivery-receipts-status
      tags:
      - e-Delivery
      x-readme:
        code-samples:
        - language: python
          name: Python
          code: "import hashlib, hmac, requests\n\nVENDOR_API_KEY = 'xxx'\nURL = 'https://api.sandbox.evrotrust.com/vendor/delivery/receipts/status'\n\nbody = \"\"\"{\n  \"vendorNumber\": \"YOUR_VENDOR_NUMBER\",\n  \"threadIDs\": [\"f9e8d7c6-0000-0000-0000-000000000000\"\n]}\"\"\"\n\n# Authorization: HMAC-SHA256 over the exact body bytes,\n# keyed by the raw SHA-256 digest of the API key\nkey = hashlib.sha256(VENDOR_API_KEY.encode()).digest()\nauthorization = hmac.new(key, body.encode('utf-8'), hashlib.sha256).hexdigest()\n\nresponse = requests.post(\n    URL,\n    headers={'Content-Type': 'application/json',\n             'Authorization': authorization},\n    data=body.encode('utf-8'),\n    timeout=30,\n)\n\nprint(response.status_code, response.text)\n"
        - language: node
          name: Node.js
          code: "const crypto = require('crypto');\n\nconst VENDOR_API_KEY = 'xxx';\nconst URL = 'https://api.sandbox.evrotrust.com/vendor/delivery/receipts/status';\n\nconst body = JSON.stringify({\n  \"vendorNumber\": \"YOUR_VENDOR_NUMBER\",\n  \"threadIDs\": [\"f9e8d7c6-0000-0000-0000-000000000000\"\n]});\n\n// Authorization: HMAC-SHA256 over the body, keyed by the raw SHA-256 of the API key\nconst key = crypto.createHash('sha256').update(VENDOR_API_KEY).digest();\nconst authorization = crypto.createHmac('sha256', key).update(body).digest('hex');\n\nconst response = await fetch(URL, {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    Authorization: authorization,\n  },\n  body,\n});\n\nconsole.log(response.status, await response.text());\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: "{\n  \"vendorNumber\": \"string\",\n  \"threadIDs\": [\"string\"]\n}"
              required:
              - name
x-provenance:
  method: searched
  source: https://docs.evrotrust.com/reference
  harvested: '2026-10-18'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.evrotrust.com/reference/delivery-online.md
  - https://docs.evrotrust.com/reference/delivery-receipts-download.md
  - https://docs.evrotrust.com/reference/delivery-receipts-status.md
  - https://docs.evrotrust.com/reference/document-auth-online.md
  - https://docs.evrotrust.com/reference/document-doc-identification-lpis.md
  - https://docs.evrotrust.com/reference/document-doc-identification.md
  - https://docs.evrotrust.com/reference/document-doc-offline-activate-resend.md
  - https://docs.evrotrust.com/reference/document-doc-offline-activate.md
  - https://docs.evrotrust.com/reference/document-doc-offline-file.md
  - https://docs.evrotrust.com/reference/document-doc-offline-refid.md
  - https://docs.evrotrust.com/reference/document-doc-offline.md
  - https://docs.evrotrust.com/reference/document-doc-online.md
  - https://docs.evrotrust.com/reference/document-group-download.md
  - https://docs.evrotrust.com/reference/document-group-hash-online.md
  - https://docs.evrotrust.com/reference/document-group-offline-activate-resend.md
  - https://docs.evrotrust.com/reference/document-group-offline-activate.md
  - https://docs.evrotrust.com/reference/document-group-offline-file.md
  - https://docs.evrotrust.com/reference/document-group-offline-refid.md
  - https://docs.evrotrust.com/reference/document-group-offline.md
  - https://docs.evrotrust.com/reference/document-group-online.md
  - https://docs.evrotrust.com/reference/document-group-status.md
  - https://docs.evrotrust.com/reference/document-group-terms-offline-download.md
  - https://docs.evrotrust.com/reference/document-hash-online.md
  - https://docs.evrotrust.com/reference/document-offline-withdraw.md
  - https://docs.evrotrust.com/reference/document-status.md
  - https://docs.evrotrust.com/reference/document-terms-offline-download.md
  - https://docs.evrotrust.com/reference/document-thread-status.md
  - https://docs.evrotrust.com/reference/document-threads-status.md
  - https://docs.evrotrust.com/reference/document-withdraw.md
  - https://docs.evrotrust.com/reference/hash-certificate-check.md
  - https://docs.evrotrust.com/reference/hash-certificate-get.md
  - https://docs.evrotrust.com/reference/hash-group-certificate-check.md
  - https://docs.evrotrust.com/reference/hash-group-certificate-get.md
  - https://docs.evrotrust.com/reference/hash-group-offline-activate-resend.md
  - https://docs.evrotrust.com/reference/hash-group-offline-activate.md
  - https://docs.evrotrust.com/reference/hash-group-offline-check.md
  - https://docs.evrotrust.com/reference/hash-group-offline-file-init.md
  - https://docs.evrotrust.com/reference/hash-group-offline-init.md
  - https://docs.evrotrust.com/reference/hash-group-offline-send.md
  - https://docs.evrotrust.com/reference/hash-offline-activate-resend.md
  - https://docs.evrotrust.com/reference/hash-offline-activate.md
  - https://docs.evrotrust.com/reference/hash-offline-check.md
  - https://docs.evrotrust.com/reference/hash-offline-download.md
  - https://docs.evrotrust.com/reference/hash-offline-file-init.md
  - https://docs.evrotrust.com/reference/hash-offline-init.md
  - https://docs.evrotrust.com/reference/hash-offline-send.md
  - https://docs.evrotrust.com/reference/onetimeidentification-getdata.md
  - https://docs.evrotrust.com/reference/onetimeidentification-mobilesdk-getdatajwt.md
  - https://docs.evrotrust.com/reference/onetimeidentification-mobilesdk-status.md
  - https://docs.evrotrust.com/reference/onetimeidentification-status.md
  - https://docs.evrotrust.com/reference/onetimeidentification-validaterefid.md
  - https://docs.evrotrust.com/reference/post_document-doc-offline-activate-1.md
  - https://docs.evrotrust.com/reference/post_document-doc-offline-activate-resend-1.md
  - https://docs.evrotrust.com/reference/post_document-download-1.md
  - https://docs.evrotrust.com/reference/post_document-download-2.md
  - https://docs.evrotrust.com/reference/post_document-download-3.md
  - https://docs.evrotrust.com/reference/post_document-download.md
  - https://docs.evrotrust.com/reference/post_document-group-download-1.md
  - https://docs.evrotrust.com/reference/post_document-group-download-2.md
  - https://docs.evrotrust.com/reference/post_document-group-download-3-1.md
  - https://docs.evrotrust.com/reference/post_document-group-download-3.md
  - https://docs.evrotrust.com/reference/post_document-group-offline-activate-1.md
  - https://docs.evrotrust.com/reference/post_document-group-offline-activate-resend-1.md
  - https://docs.evrotrust.com/reference/post_document-group-status-1.md
  - https://docs.evrotrust.com/reference/post_document-group-status-2.md
  - https://docs.evrotrust.com/reference/post_document-group-status-3.md
  - https://docs.evrotrust.com/reference/post_document-group-status-4.md
  - https://docs.evrotrust.com/reference/post_document-group-status-5.md
  - https://docs.evrotrust.com/reference/post_document-offline-withdraw-1-1-1-1-1.md
  - https://docs.evrotrust.com/reference/post_document-offline-withdraw-1-1-1-1.md
  - https://docs.evrotrust.com/reference/post_document-offline-withdraw-1-1-1.md
  - https://docs.evrotrust.com/reference/post_document-offline-withdraw-1-1.md
  - https://docs.evrotrust.com/reference/post_document-offline-withdraw-1.md
  - https://docs.evrotrust.com/reference/post_document-status-1.md
  - https://docs.evrotrust.com/reference/post_document-status-2.md
  - https://docs.evrotrust.com/reference/post_document-status-3.md
  - https://docs.evrotrust.com/reference/post_document-status-4.md
  - https://docs.evrotrust.com/reference/post_document-status-5.md
  - https://docs.evrotrust.com/reference/post_hash-certificate-check-1.md
  - https://docs.evrotrust.com/reference/post_hash-certificate-get-1.md
  - https://docs.evrotrust.com/reference/post_hash-group-certificate-check-1.md
  - https://docs.evrotrust.com/reference/post_hash-group-certificate-get-1.md
  - https://docs.evrotrust.com/reference/post_hash-group-offline-activate-1.md
  - https://docs.evrotrust.com/reference/post_hash-group-offline-activate-resend-1.md
  - https://docs.evrotrust.com/reference/post_hash-group-offline-check-1.md
  - https://docs.evrotrust.com/reference/post_hash-group-offline-send-1.md
  - https://docs.evrotrust.com/reference/post_hash-offline-activate-1.md
  - https://docs.evrotrust.com/reference/post_hash-offline-activate-resend-1.md
  - https://docs.evrotrust.com/reference/post_hash-offline-check-1.md
  - https://docs.evrotrust.com/reference/post_hash-offline-download-1-1.md
  - https://docs.evrotrust.com/reference/post_hash-offline-download-1-2-1.md
  - https://docs.evrotrust.com/reference/post_hash-offline-download-1-2.md
  - https://docs.evrotrust.com/reference/post_hash-offline-download-1.md
  - https://docs.evrotrust.com/reference/post_hash-offline-download-2-1.md
  - https://docs.evrotrust.com/reference/post_hash-offline-download-2.md
  - https://docs.evrotrust.com/reference/post_hash-offline-send-1.md
  - https://docs.evrotrust.com/reference/readydocument.md
  - https://docs.evrotrust.com/reference/readydocumentoffline.md
  - https://docs.evrotrust.com/reference/readygroupdocument.md
  - https://docs.evrotrust.com/reference/readygroupofflinedocument.md
  - https://docs.evrotrust.com/reference/readyofflinehashcertificate.md
  - https://docs.evrotrust.com/reference/user-certificate-get.md
  - https://docs.evrotrust.com/reference/user-check-extended.md
  - https://docs.evrotrust.com/reference/user-identification-status.md
  merge:
    pages: 104
    deduped: 0
    conflicts_kept_first: 0