This OpenAPI describes the API exposed by the contract.fit backend.
All endpoints are protected: you need to make authenticated calls. There are 3 authentication mechanisms:
By default you should have an account allowing you to bootstrap your tenant and create users and roles, using Basic Auth or after creating a Token - see /auth endpoints.
If you are missing credentials or permissions, please contact us.
The security system is RBAC based: users must be granted scoped roles, allowing them to access resources. Each role grants a defined set of permissions, which can be restricted to a given inbox or document - see /roles endpoints.
Below is a short description of common use cases of the API.
The easiest and simplest way to get started is to use POST /documents : it will make a synchronous upload of your file and wait for the result.
This is a simplified version of POST /documents/{inbox_id} with less arguments and settings; it may not be suitable for real workload as it offers less capabilities.
The favored endpoint to upload files is POST /documents/{inbox_id}: it is also highly recommended to make async call using sync=false.
Sync / Async
For convenience uploads can be synchronous: it will make the request blocks until the document is processed.
It is however discouraged to rely on sync requests, as our service is designed to process documents asynchronously. You might run into timeouts and unprocessed document depending on factors such as server load and number of pending documents.
Asynchronous calls will only schedule the processing and directly return the document ID without waiting: the document will be processed as soon as possible. You can then wait for the processed result using GET /documents/{document_id}.
You can reprocess a document using POST /documents/{document_id}/reprocess : it will schedule an async processing of the document (note: it is not possible to make a sync reprocessing)
Use this page to mock Contract.fit API in your testing and development.
Run our mock API sample using the open source WireMock library, or in the free edition of WireMock Cloud. You'll have a working API server simulating the behavior of Contract.fit API, which will allow you to keep building and testing even if the actual API you isn't currently available.