The Hypatos API is organized around REST. The majority of the endpoints provide CRUD functionality for resources. The API is also exposing Intent Resources which mimic user intents or actions.
The Hypatos API uses OAuth 2.0 Client Credential Grant to authenticate requests. Before making any requests to any endpoint a client must authenticate with the authorization server and requests an access token from the token endpoint.
POST /auth/token HTTP/1.1
Host: api.cloud.hypatos.ai
Content-Type: application/x-www-form-urlencoded
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
grant_type=client_credentials
Authorization
header contains client_id:client_secret
encoded as explained in RFC Client Password section.
If the authorization server authenticated the client successfully, an access token is issued. Here is an example successful response:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token": "mF_9.B5f-4.1JqM",
"expires_in": 86400,
"scope": "enrichment.write files.read",
"token_type": "Bearer",
}
This token can be used to authenticate the requests to API endpoints by sending a Bearer token
in the Authorization
HTTP header. The following example demonstrates how to use the access token
to retrieve a list of documents.
GET /v2/documents HTTP/1.1
Host: api.cloud.hypatos.ai
Authorization: Bearer mF_9.B5f-4.1JqM
Changes to this API are released regularly. We use Semantic Versioning 2.0.0 scheme for versioning so that the clients can identify any backward-incompatible changes easily. Briefly summarized one can say, if the MAJOR version of the new API version didn't change you can expect the new version to be backward-compatible.
In order to maximise the stability of our API, we institue rate limits for all of API endpoints. Clients who send too many requests over a given period of time will see error responses that show up as status code 429 Too Many Requests.
When you see error responses with status code 429, it means you exhausted your current quota and need to withhold from sending further requests until the quota is reset. We encourage you not to wait until you get a 429 error but to monitor your quota in each request. In each response you receive from the API, you will find HTTP headers providing the details about your current quota. Here is the list of the HTTP headers:
x-ratelimit-limit
: Indicates the quota associated to the client in the
current time-window followed by the description of the quota policy.x-ratelimit-remaining
: Indicates the number of remaining requests in the current
time-windowx-ratelimit-reset
: Indicates the number of seconds until quota reset of the current
time-windowPlease note that IETF is currently in the process of publishing a standard for these headers. Please explore the draft for more details.
A basic technique to gracefully handle rate limits is watch for your quota permanently and increase the time between your request as the quota is decreasing. To recover from a 429 error you need a retry mechanism following an exponential backoff schedule.
Endpoints for handling the OAuth 2.0 Client Credentials Grant flow.
Request an access token using your client credentials
Access token provided
Invalid Client Credentials
Rate limit exceeded
grant_type=client_credentials
{- "access_token": "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3",
- "expires_in": 3600,
- "token_type": "Bearer",
- "scope": "documents.write projects.write"
}
This endpoint allows a client to upload a binary file. The id
returned in the reponse is representing the file in Hypatos systems. It can be used in other endpoints, for example to initiate a processing of the file to create document holding captured data.
Document uploaded
Content type is not supported
Rate limit exceeded
{- "id": "6040dc9680b782b365ea77d5"
}
Download the content of a file with the given identifier.
Binary content of a file
No file with given identifier exist
Rate limit exceeded
{- "detail": "File with given identifier does not exist",
- "status": 404,
- "title": "File not found"
}
Retrieve a list of documents.
List of documents
Bad request
Rate limit exceeded
{- "data": [
- {
- "id": "6040dc9680b782b365ea77d5",
- "completedAt": "1990-12-31T15:59:60-08:00",
- "completedBy": "string",
- "createdAt": "1990-12-31T15:59:60-08:00",
- "createdBy": "string",
- "fileId": "5349b4ddd2781d08c09890f4",
- "entities": {
- "currency": "EUR",
- "items": [
- {
- "name": "High quality cement for rabbit hole sealing",
- "qty": 1
}
], - "number": "2018-DE-0011122351",
- "qty": 2
}, - "externalId": "doc-0001",
- "externalData": {
- "internalSystemId": "sap-01"
}, - "projectId": "6040dc9680b782b365ea77d5",
- "state": "done",
- "title": "scan-doc-1.jpg",
- "updatedAt": "1990-12-31T15:59:60-08:00",
- "updatedBy": "string"
}
], - "limit": 20,
- "offset": 0,
- "totalCount": 1000
}
Request a processing of a file that was previously uploaded.
The fileId
in the request body is representing the identifier of the file that was returned by the upload endpoint.
As a result of this request a document will be created and its identifier will be returned in the response.
The projectId
in the request body is an identifier of the project to create the document in.
Payload for processing the given file
Processing accepted
Error occured while processing request
Error occured while processing request
Rate limit exceeded
{- "fileId": "5349b4ddd2781d08c09890f4",
- "projectId": "00000020f51bb4362eee2a4d",
- "externalId": "doc-0001",
- "externalData": {
- "key1": "value1",
- "key2": "value2"
}
}
{- "documentId": "6040dc9680b782b365ea77d5",
- "fileId": "5349b4ddd2781d08c09890f4",
- "projectId": "00000020f51bb4362eee2a4d"
}
Retrieve a document by id
Document retrieved.
Error occured while processing request
Rate limit exceeded
{- "id": "6040dc9680b782b365ea77d5",
- "completedAt": "1990-12-31T15:59:60-08:00",
- "completedBy": "string",
- "createdAt": "1990-12-31T15:59:60-08:00",
- "createdBy": "string",
- "fileId": "5349b4ddd2781d08c09890f4",
- "entities": {
- "currency": "EUR",
- "items": [
- {
- "name": "High quality cement for rabbit hole sealing",
- "qty": 1
}
], - "number": "2018-DE-0011122351",
- "qty": 2
}, - "externalId": "doc-0001",
- "externalData": {
- "internalSystemId": "sap-01"
}, - "projectId": "6040dc9680b782b365ea77d5",
- "state": "done",
- "title": "scan-doc-1.jpg",
- "updatedAt": "1990-12-31T15:59:60-08:00",
- "updatedBy": "string"
}
Update information about the transfer for the given document
Payload about the transfer
Document transfer infor accepted
Error occured while processing request
Error occured while processing request
Rate limit exceeded
{- "successful": true
}
{- "detail": "The document with given identifier does not exist",
- "status": 404,
- "title": "Document does not exist"
}
Update the external data for a document with given identifier. The external data are provided as a flat JSON object. The payload of this requests completley overrides the existing external data of a document. To remove the data, justsend empty JSON object {}
in the payload.
Please note that the maximum lenght of an key is 50 characters. Any value with a longer key will be omitted. The maximum amount of key-value pairs is limited to 20.
External data provided for the document accepted.
Error occured while processing request
Error occured while processing request
Rate limit exceeded
{- "key1": "value1",
- "key2": "value2"
}
{- "detail": "The document with given identifier does not exist",
- "status": 404,
- "title": "Document does not exist"
}
Provide an external identifier for a document with given id
External ID provided for the document accepted.
Error occured while processing request
Error occured while processing request
Rate limit exceeded
{- "detail": "The document with given identifier does not exist",
- "status": 404,
- "title": "Document does not exist"
}
Provide a title for a document with given id.
Document title provided for the document accepted.
Error occured while processing request
Error occured while processing request
Rate limit exceeded
{- "detail": "The document with given identifier does not exist",
- "status": 404,
- "title": "Document does not exist"
}
Provides a list of states the given document passed through. If the document is still in processing, the number of states returend must not be considered as final. Subsequent calls to this endpoint might get more states as the document is progressing the processing pipeline.
Document states.
Error occured while processing request
Rate limit exceeded
[- {
- "state": "done",
- "updatedAt": "1990-12-31T15:59:60-08:00"
}
]
Successfully inserted
Validation error
Rate limit exceeded
{- "externalId": "SUPPLIER_INVOICE-3-1",
- "documentId": "63cac12c37bb02accb396cae",
- "documents": [
- {
- "id": "63cac12c37bb02accb396cae",
- "type": "invoice"
}
], - "supplierInvoiceNumber": "10000001",
- "invoiceNumber": "12345",
- "externalCompanyId": "DE01",
- "externalSupplierId": "0000100000",
- "externalBankAccountId": "12341234",
- "fiscalYearLabel": "2023",
- "issuedDate": "2000-12-31",
- "receivedDate": "2000-12-31",
- "postingDate": "2000-12-31",
- "isCanceled": false,
- "relatedInvoice": "SUPPLIER_INVOICE-3-2",
- "currency": "EUR",
- "totalNetAmount": 81,
- "totalFreightCharges": 9,
- "totalOtherCharges": 10,
- "totalTaxAmount": 19,
- "totalGrossAmount": 119,
- "paymentTerms": {
- "paymentTermKey": "T10",
- "descriptions": [
- {
- "text": "Please pay us",
- "language": "en"
}
]
}, - "externalApproverId": "UserID#1234",
- "customFields": {
- "property1": "string",
- "property2": "string"
}, - "headerText": "doc header text",
- "type": "FI",
- "invoiceLines": [
- {
- "externalId": "00000001",
- "externalCompanyId": "DE01",
- "accountAssignments": [
- {
- "externalGlAccountId": "0000100GL1",
- "externalCostCenterId": "0000100CO1",
- "glAccountCode": "GL1",
- "costCenterCode": "CO1",
- "quantity": 2,
- "externalProjectId": "EPI1",
- "externalOrderId": "EOI1"
}
], - "type": "Service",
- "quantity": 2,
- "netAmount": 1.23,
- "totalTaxAmount": 1.23,
- "grossAmount": 100.01,
- "unitOfMeasure": "kg",
- "unitPrice": 19.0123,
- "taxCode": {
- "code": "DEU_Standard",
- "description": "DEU - Standard (19%)"
}, - "taxJurisdictionCode": "PA0000000",
- "itemText": "Virtual Event ABC",
- "externalPurchaseOrderId": "4500016221",
- "purchaseOrderLineNumber": "00010",
- "centralBankIndicator": "123",
- "customFields": {
- "property1": "string",
- "property2": "string"
}
}
], - "withholdingTax": [
- {
- "key": "WHT-432",
- "baseAmount": 632.78,
- "amount": 21.39,
- "currency": "EUR"
}
], - "documentType": "supplier invoice"
}
{- "id": "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38"
}
Successfully inserted
Validation error
Rate limit exceeded
{- "externalId": "DE01",
- "name": "Acmne Corp.",
- "nameAlternative1": "Acmne Corp.",
- "nameAlternative2": "Acmne Corp.",
- "nameAlternative3": "Acmne Corp.",
- "nameAlternative4": "Acmne Corp.",
- "street": "Hauptstr. 1",
- "addressAdditional": "Eingang B",
- "postcode": "10001",
- "city": "Berlin",
- "state": "Berlin",
- "countryCode": "DE",
- "vatIds": [
- {
- "id": "DE123456789",
- "countryCode": "DE"
}
], - "taxIds": [
- {
- "id": "123-456-789",
- "type": "TIN"
}
], - "customFields": {
- "property1": "string",
- "property2": "string"
}
}
{- "id": "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38"
}
Successfully inserted
Validation error
Rate limit exceeded
{- "defaultAccountAssignment": {
- "glAccountCode": "0000100GL1",
- "costCenterCode": "0000100CC1",
- "externalApproverId": "MMUSTERMANN",
- "externalProjectId": "PROJ1234",
- "externalOrderId": "ORDER1234"
}, - "externalId": "0000100000",
- "name": "Acmne Corp.",
- "nameAlternative1": "Acmne Corp.",
- "nameAlternative2": "Acmne Corp.",
- "nameAlternative3": "Acmne Corp.",
- "nameAlternative4": "Acmne Corp.",
- "street": "Hauptstr. 1",
- "addressAdditional": "Eingang B",
- "postcode": "10001",
- "city": "Berlin",
- "state": "Berlin",
- "countryCode": "DE",
- "vatIds": [
- {
- "id": "DE123456789",
- "countryCode": "DE"
}
], - "taxIds": [
- {
- "id": "123-456-789",
- "type": "TIN"
}
], - "blockedForPosting": false,
- "blockedForPayment": false,
- "supplierSubsidiaries": [
- {
- "defaultAccountAssignment": {
- "glAccountCode": "0000100GL1",
- "costCenterCode": "0000100CC1",
- "externalApproverId": "MMUSTERMANN",
- "externalProjectId": "PROJ1234",
- "externalOrderId": "ORDER1234"
}, - "externalCompanyId": "DE01",
- "paymentTerms": {
- "paymentTermKey": "T10",
- "descriptions": [
- {
- "text": "Please pay us",
- "language": "en"
}
]
}, - "blockedForPosting": false,
- "blockedForPayment": false,
- "enabledForAutoPosting": true,
- "withholdingTaxInfo": [
- {
- "key": "WHT-432",
- "descriptions": [
- {
- "text": "Some very deep description of the type of withholding tax",
- "language": "en"
}
]
}
]
}
], - "supplierBankAccounts": [
- {
- "externalId": "12341234",
- "countryCode": "DE",
- "bankAccountNumber": "78090",
- "bankAccountHolder": "Maximilian Mustermann",
- "iban": "DE91100000000123456789",
- "bic": "CHASUS33XXX",
- "bankName": "Deutsche Bank",
- "bankStreet": "Hauptstr. 1",
- "bankPostcode": "10001",
- "bankCity": "Berlin",
- "isActive": true,
- "type": "SAVINGS",
- "bankKey": "60-16-13"
}
], - "customFields": {
- "property1": "string",
- "property2": "string"
}
}
{- "id": "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38"
}
Successfully inserted
Validation error
Rate limit exceeded
{- "externalId": "4500016221",
- "createdDate": "2000-12-31",
- "fiscalYearLabel": "2023",
- "language": "string",
- "externalCompanyId": "DE01",
- "type": "Service",
- "externalSupplierId": "0000100000",
- "status": "OPEN",
- "currency": "EUR",
- "totalNetAmount": 81,
- "totalFreightCharges": 9,
- "totalOtherCharges": 10,
- "totalTaxAmount": 19,
- "totalGrossAmount": 119,
- "paymentTerms": {
- "paymentTermKey": "T10",
- "descriptions": [
- {
- "text": "Please pay us",
- "language": "en"
}
]
}, - "customFields": {
- "property1": "string",
- "property2": "string"
}, - "purchaseOrderLines": [
- {
- "purchaseOrderLineNumber": "00010",
- "externalCompanyId": "DE01",
- "accountAssignments": [
- {
- "externalGlAccountId": "0000100GL1",
- "externalCostCenterId": "0000100CO1",
- "glAccountCode": "GL1",
- "costCenterCode": "CO1",
- "quantity": 2,
- "externalProjectId": "EPI1",
- "externalOrderId": "EOI1"
}
], - "type": "Service",
- "subType": "Extra Qualifier",
- "quantity": 2,
- "status": "OPEN",
- "netAmount": 1.23,
- "totalTaxAmount": 1.23,
- "grossAmount": 100.01,
- "unitOfMeasure": "kg",
- "unitPrice": 19.0123,
- "taxCode": {
- "code": "DEU_Standard",
- "description": "DEU - Standard (19%)"
}, - "itemText": "Dell Laptop Latitude D630",
- "material": {
- "externalId": "2a6300181f08402e710ea3f180214bc1",
- "supplierNumber": "123456789",
- "type": "Operating Supplies",
- "group": "Electronics",
- "description": "Dell Laptop Latitude D630",
- "manufacturer": "Acme Corporation",
- "manufacturerNumber": "ACME-12345",
- "unspsc": "43211508"
}, - "plant": "PLANT-001",
- "delivered": true,
- "completelyInvoiced": true,
- "approved": true,
- "customFields": {
- "property1": "string",
- "property2": "string"
}
}
]
}
{- "id": "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38"
}
Successfully inserted
Validation error
Rate limit exceeded
{- "externalId": "0000100GL1",
- "code": "GL1",
- "companyAssignment": [
- "DE01",
- "US01"
], - "type": {
- "value": "OE",
- "labels": [
- {
- "text": "Fish & Chips",
- "language": "en"
}
]
}, - "category": {
- "value": "OE",
- "labels": [
- {
- "text": "Fish & Chips",
- "language": "en"
}
]
}, - "label": [
- {
- "text": "Entertainment Expenses",
- "language": "en"
}
], - "shortLabel": [
- {
- "text": "Entertainment Exp.",
- "language": "en"
}
]
}
{- "id": "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38"
}
Successfully inserted
Validation error
Rate limit exceeded
{- "externalId": "0000100CO1",
- "code": "CO1",
- "companyAssignment": [
- "DE01",
- "US01"
], - "type": {
- "value": "OE",
- "labels": [
- {
- "text": "Fish & Chips",
- "language": "en"
}
]
}, - "category": {
- "value": "OE",
- "labels": [
- {
- "text": "Fish & Chips",
- "language": "en"
}
]
}, - "label": [
- {
- "text": "Sales Engineers",
- "language": "en"
}
], - "shortLabel": [
- {
- "text": "Sales Eng.",
- "language": "en"
}
]
}
{- "id": "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38"
}
Successfully inserted
Validation error
Rate limit exceeded
{- "externalId": "UserID#1234",
- "companyAssignment": [
- "DE01",
- "US01"
], - "isActive": true,
- "firstName": "Koala",
- "lastName": "Hinze",
- "email": "accountant@sap.com",
- "phoneNumber": 491001234567891
}
{- "id": "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38"
}
Successfully inserted
Validation error
Rate limit exceeded
{- "externalId": "0000100000",
- "name": "Acmne Corp.",
- "nameAlternative1": "Acmne Corp.",
- "nameAlternative2": "Acmne Corp.",
- "nameAlternative3": "Acmne Corp.",
- "nameAlternative4": "Acmne Corp.",
- "street": "Hauptstr. 1",
- "addressAdditional": "Eingang B",
- "postcode": "10001",
- "city": "Berlin",
- "countryCode": "DE",
- "vatIds": [
- {
- "id": "DE123456789",
- "countryCode": "DE"
}
], - "taxIds": [
- {
- "id": "123-456-789",
- "type": "TIN"
}
], - "blockedForPosting": false,
- "blockedForPayment": false,
- "customerSubsidiaries": [
- {
- "defaultAccountAssignment": {
- "glAccountCode": "0000100GL1",
- "costCenterCode": "0000100CC1",
- "externalApproverId": "MMUSTERMANN",
- "externalProjectId": "PROJ1234",
- "externalOrderId": "ORDER1234"
}, - "externalCompanyId": "DE01",
- "paymentTerms": {
- "paymentTermKey": "T10",
- "descriptions": [
- {
- "text": "Please pay us",
- "language": "en"
}
]
}, - "blockedForPosting": false,
- "blockedForPayment": false,
- "enabledForAutoPosting": true,
- "withholdingTaxInfo": [
- {
- "key": "WHT-432",
- "descriptions": [
- {
- "text": "Some very deep description of the type of withholding tax",
- "language": "en"
}
]
}
]
}
], - "customerBankAccounts": [
- {
- "externalId": "12341234",
- "countryCode": "DE",
- "bankAccountNumber": "78090",
- "bankAccountHolder": "Maximilian Mustermann",
- "iban": "DE91100000000123456789",
- "bic": "CHASUS33XXX",
- "bankName": "Deutsche Bank",
- "bankStreet": "Hauptstr. 1",
- "bankPostcode": "10001",
- "bankCity": "Berlin",
- "isActive": true,
- "type": "SAVINGS",
- "bankKey": "60-16-13"
}
], - "customFields": {
- "property1": "string",
- "property2": "string"
}
}
{- "id": "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38"
}
Successful Response
Bad Request
Unauthorized
Forbidden
Not Found
Validation Error
Rate limit exceeded
Internal Server Error
{- "name": "Companies Name Inc.",
- "id": "63e6663823b4c1f5287398bb",
- "active": true,
- "createdAt": "1990-12-31T15:46:19.384990Z"
}
Note: For now pagination is not implemented
Successful Response
Validation Error
Rate limit exceeded
{- "data": [
- {
- "name": "Companies Name Inc.",
- "id": "63e6663823b4c1f5287398bb",
- "active": true,
- "createdAt": "1990-12-31T15:46:19.384990Z"
}
], - "limit": 20,
- "offset": 0,
- "totalCount": 1000
}
Creates a project based on the request
Project data
Project created
Response when client request is wrong
Unauthorized
Forbidden
Response when resource was not found
Validation error
{- "name": "My Project",
- "note": "My project description note",
- "ocr": {
- "engine": "abbyy",
- "features": [
- "barcodes"
], - "languages": [
- "German",
- "English"
]
}, - "extractionModelId": "63e6663823b4c1f5287398bb",
- "completion": "manual",
- "duplicates": "allow",
- "members": {
- "allow": "all"
}, - "schema": {
- "version": 1,
- "dataPoints": [
- {
- "internalName": "type",
- "displayName": "Type",
- "type": "string",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}, - {
- "internalName": "number",
- "displayName": "Number",
- "type": "string",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}, - {
- "internalName": "issuedAt",
- "displayName": "Issued At",
- "type": "date",
- "preferDayOfMonth": "last",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}, - {
- "internalName": "deliveredAt",
- "displayName": "Delivered At",
- "type": "date",
- "preferDayOfMonth": "last",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}, - {
- "internalName": "currency",
- "displayName": "Currency",
- "type": "string",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}
], - "features": {
- "derivation": false
}, - "enrichment": { },
- "normalization": { },
- "validation": { }
}, - "retentionDays": 180
}
{- "id": "63e6663823b4c1f5287398bb",
- "createdAt": "1990-12-31T15:46:19.384990Z",
- "createdBy": "63e6663823b4c1f5287398bb",
- "updatedAt": "1990-12-31T15:46:19.384990Z",
- "updatedBy": "63e6663823b4c1f5287398bb",
- "name": "My Project",
- "note": "My project description note",
- "extractionModelId": "63e6663823b4c1f5287398bb",
- "ocr": {
- "engine": "abbyy",
- "features": [
- "barcodes"
], - "languages": [
- "German",
- "English"
]
}, - "completion": "manual",
- "duplicates": "allow",
- "members": {
- "allow": "all"
}, - "retentionDays": 180
}
Projects list retrieved
Unauthorized
Forbidden
Validation error
Internal Server Error
{- "data": [
- {
- "id": "63e6663823b4c1f5287398bb",
- "createdAt": "1990-12-31T15:46:19.384990Z",
- "createdBy": "63e6663823b4c1f5287398bb",
- "updatedAt": "1990-12-31T15:46:19.384990Z",
- "updatedBy": "63e6663823b4c1f5287398bb",
- "name": "My Project",
- "note": "My project description note",
- "extractionModelId": "63e6663823b4c1f5287398bb",
- "ocr": {
- "engine": "abbyy",
- "features": [
- "barcodes"
], - "languages": [
- "German",
- "English"
]
}, - "completion": "manual",
- "duplicates": "allow",
- "members": {
- "allow": "all"
}, - "retentionDays": 180
}
], - "limit": 20,
- "offset": 0,
- "totalCount": 1
}
Retrieve a project by id
Project by id
Unauthorized
Forbidden
Response when resource was not found
{- "id": "63e6663823b4c1f5287398bb",
- "createdAt": "1990-12-31T15:46:19.384990Z",
- "createdBy": "63e6663823b4c1f5287398bb",
- "updatedAt": "1990-12-31T15:46:19.384990Z",
- "updatedBy": "63e6663823b4c1f5287398bb",
- "name": "My Project",
- "note": "My project description note",
- "extractionModelId": "63e6663823b4c1f5287398bb",
- "ocr": {
- "engine": "abbyy",
- "features": [
- "barcodes"
], - "languages": [
- "German",
- "English"
]
}, - "completion": "manual",
- "duplicates": "allow",
- "members": {
- "allow": "all"
}, - "retentionDays": 180
}
Retrieve a schema by project id
Schema retrieved
Response when client request is wrong
Unauthorized
Forbidden
Response when resource was not found
{- "version": 1,
- "dataPoints": [
- {
- "internalName": "type",
- "displayName": "Type",
- "type": "string",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}, - {
- "internalName": "number",
- "displayName": "Number",
- "type": "string",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}, - {
- "internalName": "issuedAt",
- "displayName": "Issued At",
- "type": "date",
- "preferDayOfMonth": "last",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}, - {
- "internalName": "deliveredAt",
- "displayName": "Delivered At",
- "type": "date",
- "preferDayOfMonth": "last",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}, - {
- "internalName": "currency",
- "displayName": "Currency",
- "type": "string",
- "source": {
- "type": "extractor"
}, - "normalization": [ ],
- "rules": { }
}
], - "features": {
- "derivation": false
}, - "enrichment": { },
- "normalization": { },
- "validation": { }
}
Provides a binary file of a document PDF preview for e-invoices
Binary content of a file
Not Found
Rate limit exceeded
{- "detail": "The document with given identifier does not exist",
- "status": 404,
- "title": "Document does not exist"
}
Successful Response
Unauthorized
Forbidden
Not Found
Internal Server Error
{- "status": 401,
- "title": "Invalid token",
- "detail": "Error details"
}