Every API here is available over the APIs.io API and to AI agents over MCP.
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