HTTP API
The API is intended to be self-describing, each response contains information about relevant related resources. Interaction with the service usually begins by creating a session.
JSON results will have a links
key that is a mapping of relationships to URLs. For example self
will be a URL to the current (or newly redirected to) resource, while perform
will be a URL to which an action can be POST
-ed.
Create a session
POST /sessions
(application/json
)
Create a new session. Takes no parameters. Will redirect to the newly created session.
Links
self
: URL for the newly created session.perform
:POST
to this resource to perform an action.store-content
:POST
to this resource to store new content, such as uploading a document to process.
Perform an action
POST /<session_resource>/perform
(application/json
)
Perform an action within a session. Action inputs and outputs are specific to each action being performed. See Actions.
All input and output documents are specified as URIs.
Parameters
{
"action": "action-name",
"parameters": {
"specific": "parameters"
}
}
Links
The links for action results vary from action to action.
Store content
POST /<session_resource>/contents
(Specify Content-Type
)
Store new session content. Takes no parameters. Will redirect to the newly created content.
Links
self
: URL for the newly created content.
Fetching content
GET /<session_resource>/contents/<content_id>
Fetch the content of an output. Takes no parameters.
Deleting a session.
DELETE /<session_resource>
Delete a session and clean up all associated storage. Takes no parameters.
Prometheus metrics.
GET /metrics
Endpoint for Prometheus to poll for metrics.