Annotation
An annotation object contains all extracted and verified data related to a document. Every document belongs to a queue and is related to the schema object, that defines datapoint types and overall shape of the extracted data.
Commonly you need to use the upload endpoint to create annotation instances.
Sideloading
The annotations API supports efficient data fetching through sideloading. Add the sideload query parameter to include
related objects in the response. This parameter accepts comma-separated list of keywords. The response is then enriched
by the requested keys, which contain lists of the sideloaded objects.
GET /annotations?sideload=content,relations,assignees,labelsAvailable sideload options:
assignees- Users assigned to the annotationautomation_blockers- Automation blockers associated with the annotationconfirmed_bys- Users who confirmed the annotationcontent- Annotation data (datapoints). Required: Must filter bycontent.schema_id=<id>creators- Users who created the annotationdeleted_bys- Users who deleted the annotationdocuments- Document detailsemails- Email objectsexported_bys- Users who exported the annotationlabels- Applied labelsmodifiers- Users who last modified the annotationorganizations- Organization objectspages- Page objectspurged_bys- Users who purged the annotationqueues- Queue objectsrejected_bys- Users who rejected the annotationrelated_emails- Related email objectsrelations- Related annotations (parent/child from splits)child_relations- Child relations for split annotationsschemas- Schema objectssuggested_edits- Suggested edits for the annotationworkflow_runs- Workflow detailsworkspaces- Workspace objects
Sideloaded content can be filtered by schema_id to obtain only a subset of datapoints in content part of response,
but is a deprecated feature and will be removed in the future. Filter on content can be specified using query
parameter content.schema_id that accepts comma-separated list of required schema_ids.
Example with filtering:
GET /annotations?sideload=content&content.schema_id=123&status=to_reviewQuery Field Filtering
Filter annotations by specific field values using query parameters:
GET /annotations?queue=<queue_url>&status=to_review&modifier=<user_url>Common filters:
queue- Filter by queue URLstatus- Filter by status (can specify multiple:status=to_review,reviewing)modifier- Filter by user who last modifieddocument__arrived_at_before/document__arrived_at_after- Date range filteringordering- Sort results (e.g.,-created_atfor descending)
Key Relationships
- Document: Every annotation is linked to exactly one document containing the original file and pages
- Queue: Defines the workflow, schema, and processing rules for the annotation
- Schema: Defines the structure and datapoint types for extracted data
- Content (DataPoints): The actual extracted and validated data values
- Relations: Links to parent/child annotations (for split documents) or related annotations
- Assignees: Users assigned to review the annotation
- Labels: Tags for categorization and filtering
Annotation
ID of the annotation.
URL of the annotation.
Status of the document, see Annotation Lifecycle for more details.
List of relations that annotation belongs to.
User that created the object.
Timestamp of object's creation.
User that last modified the annotation.
User that last modified the object.
Timestamp of last modification.
Timestamp of last assignment to a user or when the annotation was started being annotated.
Timestamp when the annotation was moved to status confirmed.
Timestamp when the annotation was moved to status deleted.
Timestamp of finished export.
Timestamp of failed export.
Timestamp when was annotation purged.
Timestamp when the annotation was moved to status rejected.
User that confirmed the annotation.
User that deleted the annotation.
User that exported the annotation.
User that purged the annotation.
User that rejected the annotation.
Internal identifier used by Rossum.
List of messages from the connector (save).
Default:[]Total time spent while validating the annotation.
Default:0Client data. May be used to store e.g. external system object IDs. See Metadata for more details.
Default:{}Related email that the annotation was imported by (for annotations imported by email).
Related email thread contains more than one incoming email.
Related email thread contains an unread incoming email.
Organization URL.
Indicates whether the annotation was rejected automatically.
Internal prediction data including engine version info.
List of assigned users.
Access to annotation is restricted.
Default:falseFlag signalling whether the annotation should be used in the training of the instant learning component.
Default:trueList annotations
Retrieve all annotation objects.
curl -X GET "https://example.rossum.app/api/v1/annotations"{
"pagination": {
"next": null,
"previous": null
},
"results": [
{
"id": 314528,
"url": "https://example.rossum.app/api/v1/annotations/314159",
"status": "to_review",
"document": "string",
"queue": "string",
"schema": "https://example.rossum.app/api/v1/schemas/31336",
"relations": [],
"pages": [
"https://example.rossum.app/api/v1/pages/558598"
],
"creator": "https://example.rossum.app/api/v1/users/10775",
"created_at": "2021-04-26T10:08:03.856648Z",
"modifier": null,
"modified_by": "https://example.rossum.app/api/v1/users/10775",
"modified_at": "2021-04-26T10:08:03.856648Z",
"assigned_at": null,
"confirmed_at": null,
"deleted_at": null,
"exported_at": null,
"export_failed_at": null,
"purged_at": null,
"rejected_at": null,
"confirmed_by": null,
"deleted_by": null,
"exported_by": null,
"purged_by": null,
"rejected_by": null,
"rir_poll_id": "54f6b9ecfa751789f71ddf12",
"messages": null,
"content": "https://example.rossum.app/api/v1/annotations/314159",
"suggested_edit": null,
"time_spent": 0,
"metadata": {
"some_key": "some_value"
},
"automated": false,
"related_emails": [],
"email": "https://example.rossum.app/api/v1/emails/1234",
"automation_blocker": null,
"email_thread": "https://example.rossum.app/api/v1/email_threads/456",
"has_email_thread_with_replies": true,
"has_email_thread_with_new_replies": false,
"organization": "string",
"automatically_rejected": false,
"prediction": null,
"assignees": [
"https://example.rossum.app/api/v1/users/1",
"https://example.rossum.app/api/v1/users/2"
],
"labels": [],
"restricted_access": false,
"training_enabled": true
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
OK
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Create annotation
Create an annotation object.
Normally you create annotations via the upload endpoint.
This endpoint could be used for creating annotation instances including their content and with status set to an
explicitly requested value. Currently only created is supported which is not touched by the rest of the platform
and is not visible via the Rossum UI. This allows for subsequent updates before switching the status to importing
so that it is passed through the rest of the upload pipeline.
The use-case for this is the upload.created hook event where new
annotations could be created and the platform runtime then switches all such annotations' status to importing.
curl -X POST "https://example.rossum.app/api/v1/annotations" \ -H "Content-Type: application/json" \ -d '{ "status": "to_review", "document": "string", "queue": "string" }'{
"id": 314528,
"url": "https://example.rossum.app/api/v1/annotations/314159",
"status": "to_review",
"document": "string",
"queue": "string",
"schema": "https://example.rossum.app/api/v1/schemas/31336",
"relations": [],
"pages": [
"https://example.rossum.app/api/v1/pages/558598"
],
"creator": "https://example.rossum.app/api/v1/users/10775",
"created_at": "2021-04-26T10:08:03.856648Z",
"modifier": null,
"modified_by": "https://example.rossum.app/api/v1/users/10775",
"modified_at": "2021-04-26T10:08:03.856648Z",
"assigned_at": null,
"confirmed_at": null,
"deleted_at": null,
"exported_at": null,
"export_failed_at": null,
"purged_at": null,
"rejected_at": null,
"confirmed_by": null,
"deleted_by": null,
"exported_by": null,
"purged_by": null,
"rejected_by": null,
"rir_poll_id": "54f6b9ecfa751789f71ddf12",
"messages": null,
"content": "https://example.rossum.app/api/v1/annotations/314159",
"suggested_edit": null,
"time_spent": 0,
"metadata": {
"some_key": "some_value"
},
"automated": false,
"related_emails": [],
"email": "https://example.rossum.app/api/v1/emails/1234",
"automation_blocker": null,
"email_thread": "https://example.rossum.app/api/v1/email_threads/456",
"has_email_thread_with_replies": true,
"has_email_thread_with_new_replies": false,
"organization": "string",
"automatically_rejected": false,
"prediction": null,
"assignees": [
"https://example.rossum.app/api/v1/users/1",
"https://example.rossum.app/api/v1/users/2"
],
"labels": [],
"restricted_access": false,
"training_enabled": true
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Status of the document, see Annotation Lifecycle for more details.
List of relations that annotation belongs to.
User that last modified the annotation.
Internal identifier used by Rossum.
List of messages from the connector (save).
Default:[]Total time spent while validating the annotation.
Default:0Client data. May be used to store e.g. external system object IDs. See Metadata for more details.
Default:{}Organization URL.
Flag signalling whether the annotation should be used in the training of the instant learning component.
Default:trueResponse
Created
ID of the annotation.
URL of the annotation.
Status of the document, see Annotation Lifecycle for more details.
List of relations that annotation belongs to.
User that created the object.
Timestamp of object's creation.
User that last modified the annotation.
User that last modified the object.
Timestamp of last modification.
Timestamp of last assignment to a user or when the annotation was started being annotated.
Timestamp when the annotation was moved to status confirmed.
Timestamp when the annotation was moved to status deleted.
Timestamp of finished export.
Timestamp of failed export.
Timestamp when was annotation purged.
Timestamp when the annotation was moved to status rejected.
User that confirmed the annotation.
User that deleted the annotation.
User that exported the annotation.
User that purged the annotation.
User that rejected the annotation.
Internal identifier used by Rossum.
List of messages from the connector (save).
Default:[]Total time spent while validating the annotation.
Default:0Client data. May be used to store e.g. external system object IDs. See Metadata for more details.
Default:{}Related email that the annotation was imported by (for annotations imported by email).
Related email thread contains more than one incoming email.
Related email thread contains an unread incoming email.
Organization URL.
Indicates whether the annotation was rejected automatically.
Internal prediction data including engine version info.
List of assigned users.
Access to annotation is restricted.
Default:falseFlag signalling whether the annotation should be used in the training of the instant learning component.
Default:trueInvalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Retrieve annotation
Get an annotation object.
curl -X GET "https://example.rossum.app/api/v1/annotations/0"{
"id": 314528,
"url": "https://example.rossum.app/api/v1/annotations/314159",
"status": "to_review",
"document": "string",
"queue": "string",
"schema": "https://example.rossum.app/api/v1/schemas/31336",
"relations": [],
"pages": [
"https://example.rossum.app/api/v1/pages/558598"
],
"creator": "https://example.rossum.app/api/v1/users/10775",
"created_at": "2021-04-26T10:08:03.856648Z",
"modifier": null,
"modified_by": "https://example.rossum.app/api/v1/users/10775",
"modified_at": "2021-04-26T10:08:03.856648Z",
"assigned_at": null,
"confirmed_at": null,
"deleted_at": null,
"exported_at": null,
"export_failed_at": null,
"purged_at": null,
"rejected_at": null,
"confirmed_by": null,
"deleted_by": null,
"exported_by": null,
"purged_by": null,
"rejected_by": null,
"rir_poll_id": "54f6b9ecfa751789f71ddf12",
"messages": null,
"content": "https://example.rossum.app/api/v1/annotations/314159",
"suggested_edit": null,
"time_spent": 0,
"metadata": {
"some_key": "some_value"
},
"automated": false,
"related_emails": [],
"email": "https://example.rossum.app/api/v1/emails/1234",
"automation_blocker": null,
"email_thread": "https://example.rossum.app/api/v1/email_threads/456",
"has_email_thread_with_replies": true,
"has_email_thread_with_new_replies": false,
"organization": "string",
"automatically_rejected": false,
"prediction": null,
"assignees": [
"https://example.rossum.app/api/v1/users/1",
"https://example.rossum.app/api/v1/users/2"
],
"labels": [],
"restricted_access": false,
"training_enabled": true
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
OK
ID of the annotation.
URL of the annotation.
Status of the document, see Annotation Lifecycle for more details.
List of relations that annotation belongs to.
User that created the object.
Timestamp of object's creation.
User that last modified the annotation.
User that last modified the object.
Timestamp of last modification.
Timestamp of last assignment to a user or when the annotation was started being annotated.
Timestamp when the annotation was moved to status confirmed.
Timestamp when the annotation was moved to status deleted.
Timestamp of finished export.
Timestamp of failed export.
Timestamp when was annotation purged.
Timestamp when the annotation was moved to status rejected.
User that confirmed the annotation.
User that deleted the annotation.
User that exported the annotation.
User that purged the annotation.
User that rejected the annotation.
Internal identifier used by Rossum.
List of messages from the connector (save).
Default:[]Total time spent while validating the annotation.
Default:0Client data. May be used to store e.g. external system object IDs. See Metadata for more details.
Default:{}Related email that the annotation was imported by (for annotations imported by email).
Related email thread contains more than one incoming email.
Related email thread contains an unread incoming email.
Organization URL.
Indicates whether the annotation was rejected automatically.
Internal prediction data including engine version info.
List of assigned users.
Access to annotation is restricted.
Default:falseFlag signalling whether the annotation should be used in the training of the instant learning component.
Default:trueInvalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Partial update annotation
Update part of annotation object.
One can be tempted by patching the status of the annotation to the confirmed or exported
state. However, patching status skips key annotation metadata updates which negatively affects the Dedicated AI
Engine training. Use the confirm endpoint for switching annotation
to the confirmed or exported state.
Please be aware that annotation status cannot be manually set to purged. Use the
purge deleted endpoint. Also note, that once annotation
has purged status, it cannot be changed anymore.
curl -X PATCH "https://example.rossum.app/api/v1/annotations/0" \ -H "Content-Type: application/json" \ -d '{}'{
"id": 314528,
"url": "https://example.rossum.app/api/v1/annotations/314159",
"status": "to_review",
"document": "string",
"queue": "string",
"schema": "https://example.rossum.app/api/v1/schemas/31336",
"relations": [],
"pages": [
"https://example.rossum.app/api/v1/pages/558598"
],
"creator": "https://example.rossum.app/api/v1/users/10775",
"created_at": "2021-04-26T10:08:03.856648Z",
"modifier": null,
"modified_by": "https://example.rossum.app/api/v1/users/10775",
"modified_at": "2021-04-26T10:08:03.856648Z",
"assigned_at": null,
"confirmed_at": null,
"deleted_at": null,
"exported_at": null,
"export_failed_at": null,
"purged_at": null,
"rejected_at": null,
"confirmed_by": null,
"deleted_by": null,
"exported_by": null,
"purged_by": null,
"rejected_by": null,
"rir_poll_id": "54f6b9ecfa751789f71ddf12",
"messages": null,
"content": "https://example.rossum.app/api/v1/annotations/314159",
"suggested_edit": null,
"time_spent": 0,
"metadata": {
"some_key": "some_value"
},
"automated": false,
"related_emails": [],
"email": "https://example.rossum.app/api/v1/emails/1234",
"automation_blocker": null,
"email_thread": "https://example.rossum.app/api/v1/email_threads/456",
"has_email_thread_with_replies": true,
"has_email_thread_with_new_replies": false,
"organization": "string",
"automatically_rejected": false,
"prediction": null,
"assignees": [
"https://example.rossum.app/api/v1/users/1",
"https://example.rossum.app/api/v1/users/2"
],
"labels": [],
"restricted_access": false,
"training_enabled": true
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Status of the document, see Annotation Lifecycle for more details.
List of relations that annotation belongs to.
User that last modified the annotation.
Internal identifier used by Rossum.
List of messages from the connector (save).
Default:[]Total time spent while validating the annotation.
Default:0Client data. May be used to store e.g. external system object IDs. See Metadata for more details.
Default:{}Organization URL.
Flag signalling whether the annotation should be used in the training of the instant learning component.
Default:trueResponse
OK
ID of the annotation.
URL of the annotation.
Status of the document, see Annotation Lifecycle for more details.
List of relations that annotation belongs to.
User that created the object.
Timestamp of object's creation.
User that last modified the annotation.
User that last modified the object.
Timestamp of last modification.
Timestamp of last assignment to a user or when the annotation was started being annotated.
Timestamp when the annotation was moved to status confirmed.
Timestamp when the annotation was moved to status deleted.
Timestamp of finished export.
Timestamp of failed export.
Timestamp when was annotation purged.
Timestamp when the annotation was moved to status rejected.
User that confirmed the annotation.
User that deleted the annotation.
User that exported the annotation.
User that purged the annotation.
User that rejected the annotation.
Internal identifier used by Rossum.
List of messages from the connector (save).
Default:[]Total time spent while validating the annotation.
Default:0Client data. May be used to store e.g. external system object IDs. See Metadata for more details.
Default:{}Related email that the annotation was imported by (for annotations imported by email).
Related email thread contains more than one incoming email.
Related email thread contains an unread incoming email.
Organization URL.
Indicates whether the annotation was rejected automatically.
Internal prediction data including engine version info.
List of assigned users.
Access to annotation is restricted.
Default:falseFlag signalling whether the annotation should be used in the training of the instant learning component.
Default:trueInvalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Update annotation
Update annotation object.
curl -X PUT "https://example.rossum.app/api/v1/annotations/0" \ -H "Content-Type: application/json" \ -d '{ "document": "string", "queue": "string" }'{
"id": 314528,
"url": "https://example.rossum.app/api/v1/annotations/314159",
"status": "to_review",
"document": "string",
"queue": "string",
"schema": "https://example.rossum.app/api/v1/schemas/31336",
"relations": [],
"pages": [
"https://example.rossum.app/api/v1/pages/558598"
],
"creator": "https://example.rossum.app/api/v1/users/10775",
"created_at": "2021-04-26T10:08:03.856648Z",
"modifier": null,
"modified_by": "https://example.rossum.app/api/v1/users/10775",
"modified_at": "2021-04-26T10:08:03.856648Z",
"assigned_at": null,
"confirmed_at": null,
"deleted_at": null,
"exported_at": null,
"export_failed_at": null,
"purged_at": null,
"rejected_at": null,
"confirmed_by": null,
"deleted_by": null,
"exported_by": null,
"purged_by": null,
"rejected_by": null,
"rir_poll_id": "54f6b9ecfa751789f71ddf12",
"messages": null,
"content": "https://example.rossum.app/api/v1/annotations/314159",
"suggested_edit": null,
"time_spent": 0,
"metadata": {
"some_key": "some_value"
},
"automated": false,
"related_emails": [],
"email": "https://example.rossum.app/api/v1/emails/1234",
"automation_blocker": null,
"email_thread": "https://example.rossum.app/api/v1/email_threads/456",
"has_email_thread_with_replies": true,
"has_email_thread_with_new_replies": false,
"organization": "string",
"automatically_rejected": false,
"prediction": null,
"assignees": [
"https://example.rossum.app/api/v1/users/1",
"https://example.rossum.app/api/v1/users/2"
],
"labels": [],
"restricted_access": false,
"training_enabled": true
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Status of the document, see Annotation Lifecycle for more details.
List of relations that annotation belongs to.
User that last modified the annotation.
Internal identifier used by Rossum.
List of messages from the connector (save).
Default:[]Total time spent while validating the annotation.
Default:0Client data. May be used to store e.g. external system object IDs. See Metadata for more details.
Default:{}Organization URL.
Flag signalling whether the annotation should be used in the training of the instant learning component.
Default:trueResponse
OK
ID of the annotation.
URL of the annotation.
Status of the document, see Annotation Lifecycle for more details.
List of relations that annotation belongs to.
User that created the object.
Timestamp of object's creation.
User that last modified the annotation.
User that last modified the object.
Timestamp of last modification.
Timestamp of last assignment to a user or when the annotation was started being annotated.
Timestamp when the annotation was moved to status confirmed.
Timestamp when the annotation was moved to status deleted.
Timestamp of finished export.
Timestamp of failed export.
Timestamp when was annotation purged.
Timestamp when the annotation was moved to status rejected.
User that confirmed the annotation.
User that deleted the annotation.
User that exported the annotation.
User that purged the annotation.
User that rejected the annotation.
Internal identifier used by Rossum.
List of messages from the connector (save).
Default:[]Total time spent while validating the annotation.
Default:0Client data. May be used to store e.g. external system object IDs. See Metadata for more details.
Default:{}Related email that the annotation was imported by (for annotations imported by email).
Related email thread contains more than one incoming email.
Related email thread contains an unread incoming email.
Organization URL.
Indicates whether the annotation was rejected automatically.
Internal prediction data including engine version info.
List of assigned users.
Access to annotation is restricted.
Default:falseFlag signalling whether the annotation should be used in the training of the instant learning component.
Default:trueInvalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Approve annotation
Approve annotation, switch its status to exporting or confirmed, or it stays in in_workflow, depending on the evaluation of the current workflow step
Approving is allowed only for documents in states: in_workflow. See Annotation Lifecycle for more information about states.
Only admin, organization group admin, or an assigned user with approver role can approve annotation in this state. A workflow activity record object will be created.
Talk with a Rossum representative about enabling this feature. Read more about workflows
curl -X POST "https://example.rossum.app/api/v1/annotations/0/approve" \ -H "Content-Type: application/json" \ -d '{}'{
"status": "confirmed"
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
bodyobjectResponse
OK
New status of the annotation.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Change assignees of the annotation.
admin and organization_group_admin user roles can assign to arbitrary set of users. The rest of the roles can only swap themselves for a different user (without changing the others).
curl -X POST "https://example.rossum.app/api/v1/annotations/assign" \ -H "Content-Type: application/json" \ -d '{ "annotations": [ "https://example.rossum.app/api/v1/annotations/319668" ], "assignees": [ "https://example.rossum.app/api/v1/users/1", "https://example.rossum.app/api/v1/users/2" ] }'{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
List of annotations to change the assignees of (currently we support only one annotation at a time).
List of users to be added as annotation assignees.
Content of the note that will be added to the workflow activity of action reassign (only applicable for annotation in in_workflow state).
""Response
No Content
No response body.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Cancel edit pages session
Cancels an edit pages session, stopping review on specified child annotations and optionally the parent.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/edit_pages/cancel" \ -H "Content-Type: application/json" \ -d '{}'{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Child annotations to cancel (stop reviewing). Must be in the reviewing state.
Whether to also cancel the parent annotation
Default:trueResponse
Edit pages session cancelled successfully
No response body.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Cancel validation
Cancel annotation, switch its status back to to_review or postponed.
Annotation with the status exporting or exported cannot be cancelled. To send an exported annotation
back to any previous status, update the annotation status appropriately instead or enable the confirmed state
for the particular queue in your workflow instead.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/cancel"{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
No Content
No response body.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Switch to deleted
Switch annotation status to deleted. Annotation with status deleted is still available in Rossum UI.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/delete"{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
No Content
No response body.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Confirm validation
Confirm annotation, switch status to exported (or exporting). If the confirmed state is enabled,
this call moves the annotation to the confirmed status.
The confirm call is the right choice when confirming correctly captured data and switching the annotations
to confirmed or exported state. One can be tempted by patching the status of the annotation to the confirmed
or exported state. However, patching status skips key annotation metadata updates which negatively affects
the Dedicated AI Engine training.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/confirm" \ -H "Content-Type: application/json" \ -d '{}'{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Whether to skip workflows evaluation. Read more about workflows here
The bypass_workflows_allowed must be set to true in workflows queue settings in order to use this feature.
falseResponse
No Content
No response body.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Copy annotation
Make a copy of annotation in another queue. All data and metadata are copied.
If you want to directly reimport the copied annotation, you can use reimport=true query parameter (such annotation will be billed).
curl -X POST "https://example.rossum.app/api/v1/annotations/0/copy" \ -H "Content-Type: application/json" \ -d '{ "target_queue": "https://example.rossum.app/api/v1/queues/8236" }'{
"annotation": "https://example.rossum.app/api/v1/annotations/320332"
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Response
OK
URL of the new annotation object.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Create embedded URL
Similar to start embedded annotation endpoint but can be called for annotations with all statuses and does not switch status.
Embedded annotation cannot be started by users with admin or organization group admin roles. We strongly recommend
creating embedded URLs by users with annotator_embedded user role and permissions for the given
queue only to limit the scope of actions that user is able to perform to required minimum.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/create_embedded_url" \ -H "Content-Type: application/json" \ -d '{}'{
"url": "https://example.rossum.app/embedded/document/12345#authToken=db313f24f5738c8e04635e036ec8a45cdd6d6b03",
"status": "to_review"
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
URL to redirect to after annotation is confirmed
maxLength: 2048URL to redirect to when annotation is cancelled
maxLength: 2048URL to redirect to when annotation is deleted
maxLength: 2048URL to redirect to when annotation is postponed
maxLength: 2048Duration (in seconds) for which the token will be valid. The default is the queue's session_timeout).
Response
Embedded URL created successfully
URL to be used in the browser iframe/popup window. URL includes a token that is valid for this document only for a limited period of time.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Edit annotation (legacy split)
Legacy endpoint for splitting annotations. Creates new annotations from the original annotation's pages.
This is a legacy endpoint. For new implementations, use the split endpoint instead, which provides the same functionality with a clearer name.
If used on an annotation in a way that after the editing only one document remains, the original annotation will
be edited. If multiple documents are to be created after the call, status of the original annotation is switched
to split, status of the newly created annotations is importing and the extraction phase begins over again.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/edit" \ -H "Content-Type: application/json" \ -d '{ "documents": [ { "pages": [ { "page": "https://example.rossum.app/api/v1/pages/12345" } ] } ] }'{
"results": [
{
"annotation": "https://example.rossum.app/api/v1/annotations/67890",
"document": "string"
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Response
Annotation edited successfully
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Edit pages (split and reorganize)
Edit document pages, split and re-split already split document.
When using this endpoint, status of the original annotation (when not editing existing split) is switched to split,
status of the newly created annotations is importing and the extraction phase begins over again.
This endpoint can be used for splitting annotations also from webhook listening to annotation_content.initialize
event and action.
Operations:
- edit: Create new annotations from parent pages with optional rotation and values
- move: Move existing child annotations — or the annotation itself — to different queues
- delete: Delete child annotations — or the annotation itself
- stop_reviewing: Stop review on child annotations without deleting
When move or delete targets the annotation itself, no other operations
(edit, additional move/delete entries) are allowed in the same request.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/edit_pages" \ -H "Content-Type: application/json" \ -d '{}'{
"results": [
{
"annotation": "https://example.rossum.app/api/v1/annotations/67890",
"document": "string"
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Annotations to delete. May contain child annotations, or the annotation itself (in that case, no other operations are allowed in the request).
Child annotations to stop reviewing. Must be in reviewing state.
Whether to stop reviewing the parent annotation
Default:trueResponse
Edit pages operation completed successfully
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Edit pages in place
Edits pages of an annotation in place by reordering, rotating, or removing pages without creating new annotations.
Unlike the edit_pages endpoint which creates new child annotations, this endpoint modifies the existing annotation directly.
This endpoint can be used for the embedded mode.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/edit_pages/in_place" \ -H "Content-Type: application/json" \ -d '{ "parent_pages": [ { "page": "https://example.rossum.app/api/v1/pages/12345" } ] }'{
"results": [
{
"annotation": "https://example.rossum.app/api/v1/annotations/67890",
"document": "string"
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Target queue URL. When not provided, the annotation stays in its current queue.
Response
Pages edited successfully
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Purge deleted annotations
Start the asynchronous process of purging customer's data related to selected annotations with deleted status. The following operations will happen:
- delete annotation content
- delete pages
- remove content and file names of documents
- remove annotations from relations of type
duplicate - preserve annotations objects, move them to
purgedstatus
This is an asynchronous endpoint, status of annotations is changed to purged and related objects are gradually being deleted.
At least one of annotations, queue fields must be filled in. The resulting set of annotations is the disjunction of queue and annotations filter.
curl -X POST "https://example.rossum.app/api/v1/annotations/purge_deleted" \ -H "Content-Type: application/json" \ -d '{}'{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
List of annotations to be purged.
Queue of which the annotations should be purged.
Response
Accepted
No response body.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Reject annotation
Reject annotation, switch its status to rejected.
Rejection is allowed only for documents in states: to_review, reviewing, postponed, in_workflow, exported.
See Document Lifecycle for more information about states.
If rejecting in in_workflow state, the annotation.workflow_run.workflow_status will also be set to rejected
and a workflow activity record object will be created. Only admin, organization group
admin, or an assigned user can approve annotation in this state.
Talk with a Rossum representative about enabling this feature. Read more about workflows here
curl -X POST "https://example.rossum.app/api/v1/annotations/0/reject" \ -H "Content-Type: application/json" \ -d '{}'{
"status": "rejected",
"note": "https://example.rossum.app/api/v1/notes/3"
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Rejection note.
Default:""Designates whether annotation is displayed as automatically rejected in the statistics.
Default:falseResponse
OK
New status of the annotation (rejected).
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Retrieve page spatial data
Get text content for every page, including position coordinates, considering granularity options like lines, words, characters, or complete page text content.
curl -X GET "https://example.rossum.app/api/v1/annotations/0/page_data?granularity=words"{
"results": [
{
"page_number": 1,
"granularity": "words",
"items": [
{
"text": "Invoice",
"position": [
100,
50,
150,
20
],
"type": "string"
}
]
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
Spatial data retrieved successfully
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Export annotations (cross-queue, GET)
Export annotations across multiple queues in XML, CSV, JSON or XLSX format.
Output format is negotiated by Accept header or format parameter.
Supported formats are: csv, xml, xlsx and json.
A hard limit of 500 annotations is imposed.
Annotations to export must be specified via the id query parameter (comma-separated annotation IDs).
For queue-based export, refer to the queue export endpoint.
curl -X GET "https://example.rossum.app/api/v1/annotations/export"{}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
OK
responseobjectInvalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Export annotations (cross-queue, POST)
Export annotations across multiple queues in XML, CSV, JSON or XLSX format.
Supported formats are: csv, xml, xlsx and json.
A hard limit of 500 annotations is imposed.
Annotations to export should be provided either via the id query parameter (comma-separated annotation IDs) or
in the request body as a list of annotation URLs.
For queue-based export, refer to the queue export endpoint.
curl -X POST "https://example.rossum.app/api/v1/annotations/export" \ -H "Content-Type: application/json" \ -d '{}'{}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
List of URLs of annotations to export.
Response
OK
responseobjectInvalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Retrieve suggested email recipients
Retrieves annotations suggested email recipients depending on Queue suggested recipients settings.
curl -X POST "https://example.rossum.app/api/v1/annotations/suggested_recipients" \ -H "Content-Type: application/json" \ -d '{ "annotations": [ "https://example.rossum.app/api/v1/annotations/314528", "https://example.rossum.app/api/v1/annotations/314529" ] }'{
"results": [
{
"source": "email_header",
"email": "user@example.com",
"name": "Don Joe"
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
List of annotation URLs.
Response
OK
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Rotate annotation
Rotate a document.
Status of the annotation is switched to importing and the extraction phase begins over again.
After the new extraction, the value from rotation_deg field is copied to pages rotation field rotation_deg.
The original pages in the annotation are replaced by new pages after the extraction phase is done.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/rotate" \ -H "Content-Type: application/json" \ -d '{ "rotation_deg": 0 }'{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
States degrees by which the document shall be rotated.
Response
No Content
No response body.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Search annotations
Search for annotations matching a complex filter.
Please beware that updates of the annotation search data are done asynchronously and are eventually consistent. Search endpoint may return inconsistent results temporarily (for a few seconds).
Please note that only objects of category datapoint are returned when sideloading for content is active. Objects of other categories are ignored.
Sideloading content for this endpoint is deprecated and will be removed in the near future.
Search Query
A subset of MongoDB Query Language. Query expressions should be defined as a list under a $and key. The following
can be used:
<meta_field>- Matches against annotation attributes according to the<meta_field>- see options below.field.<schema_id>.<type>- Matches against annotation content value according to<schema_id>treating it as a<type>. Possible types:string | number | date(in ISO 8601 format). Max. 256 characters long strings are allowed.
The meta_field can be one of:
| Meta Field | Type |
|---|---|
annotation | URL |
arrived_at | date |
assigned_at | date |
assignees | URL |
automated | bool |
automatically_rejected | bool |
confirmed_at | date |
confirmed_by__username | string |
confirmed_by | URL |
created_at | date |
creator__username | string |
creator | URL |
deleted_at | date |
deleted_by__username | string |
deleted_by | URL |
document | URL |
exported_at | date |
exported_by__username | string |
exported_by | URL |
has_email_thread_with_new_replies | bool |
has_email_thread_with_replies | bool |
has_note | bool |
labels | URL |
messages | string |
modified_at | date |
modifier__username | string |
modifier | URL |
original_file_name | string |
purged_at | date |
purged_by__username | string |
purged_by | URL |
queue | URL |
rejected_at | date |
rejected_by__username | string |
rejected_by | URL |
relations__key | string |
relations__parent | URL |
relations__type | string |
restricted_access | bool |
rir_poll_id | string |
status | string |
workspace | URL |
email_thread | URL |
email_sender | string |
Search Query Objects
| Key | Type | Description |
|---|---|---|
$startsWith | string | Matches the start of a value. Must be at least 2 characters long. |
$anyTokenStartsWith | string | Matches the start of each token within a string. Must be at least 2 characters long. |
$containsPrefixes | string | Same as $anyTokenStartsWith but query is split into tokens (words). Must be at least 2 characters long. Example query quick brown matches quick brown fox but also brown quick dog or quickiest brown fox, but not quick dog. |
$emptyOrMissing | bool | Matches values that are empty or missing. When false, matches existing non-empty values. |
$eq | $ne | number | string | date | URL | Default MQL behavior |
$gt | $lt | $gte | $lte | number | string | date | Default MQL behavior |
$in | $nin | list[number | string | URL] | Default MQL behavior |
curl -X POST "https://example.rossum.app/api/v1/annotations/search" \ -H "Content-Type: application/json" \ -d '{}'{
"pagination": {
"total": 1,
"total_pages": 1,
"next": null,
"previous": null
},
"results": [
{
"id": 314528,
"url": "https://example.rossum.app/api/v1/annotations/314159",
"status": "to_review",
"document": "string",
"queue": "string",
"schema": "https://example.rossum.app/api/v1/schemas/31336",
"relations": [],
"pages": [
"https://example.rossum.app/api/v1/pages/558598"
],
"creator": "https://example.rossum.app/api/v1/users/10775",
"created_at": "2021-04-26T10:08:03.856648Z",
"modifier": null,
"modified_by": "https://example.rossum.app/api/v1/users/10775",
"modified_at": "2021-04-26T10:08:03.856648Z",
"assigned_at": null,
"confirmed_at": null,
"deleted_at": null,
"exported_at": null,
"export_failed_at": null,
"purged_at": null,
"rejected_at": null,
"confirmed_by": null,
"deleted_by": null,
"exported_by": null,
"purged_by": null,
"rejected_by": null,
"rir_poll_id": "54f6b9ecfa751789f71ddf12",
"messages": null,
"content": "https://example.rossum.app/api/v1/annotations/314159",
"suggested_edit": null,
"time_spent": 0,
"metadata": {
"some_key": "some_value"
},
"automated": false,
"related_emails": [],
"email": "https://example.rossum.app/api/v1/emails/1234",
"automation_blocker": null,
"email_thread": "https://example.rossum.app/api/v1/email_threads/456",
"has_email_thread_with_replies": true,
"has_email_thread_with_new_replies": false,
"organization": "string",
"automatically_rejected": false,
"prediction": null,
"assignees": [
"https://example.rossum.app/api/v1/users/1",
"https://example.rossum.app/api/v1/users/2"
],
"labels": [],
"restricted_access": false,
"training_enabled": true,
"has_note": false
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Response
OK
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Gone - Value of search_after is not valid anymore. Retry the search with a different value.
No response body.
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Search text
Search for a phrase in the document.
curl -X GET "https://example.rossum.app/api/v1/annotations/0/search?phrase=string"{
"results": [
{
"rectangle": [
67.15157010915198,
545.9286363906203,
87.99106633081445,
563.4617583852776
],
"page": 1
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
OK
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Split annotation
Splits an annotation into multiple separate annotations by reorganizing and possibly also rotating its pages. Each resulting annotation will have its own document with the specified pages.
When using this endpoint, status of the original annotation is switched to split, status of the newly created
annotations is importing and the extraction phase begins over again.
This endpoint can be used for splitting annotations also from webhook listening to annotation_content.initialize
event and action.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/split" \ -H "Content-Type: application/json" \ -d '{ "documents": [ { "pages": [ { "page": "https://example.rossum.app/api/v1/pages/12345" } ] } ] }'{
"results": [
{
"annotation": "https://example.rossum.app/api/v1/annotations/67890",
"document": "https://example.rossum.app/api/v1/documents/54321"
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Response
Annotation split successfully
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Start edit pages session
Starts editing the annotation and all its child documents (the documents into which the original document was split).
The parent annotation must be in the to_review, split or reviewing state (for the calling user). This call
will "lock" the parent and child annotations from being edited.
It returns some basic information about the parent annotation and a list of its children. Children to which the current user does not have rights contains only limited information.
If the parent annotation cannot be "locked", an error is returned. If the child annotation cannot be locked, it is
skipped and sent in a response with value started=False.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/edit_pages/start"{
"parent_annotation": "https://example.rossum.app/api/v1/annotations/12345",
"children": [
{
"parent_pages": [
{
"page": "https://example.rossum.app/api/v1/pages/12345",
"rotation_deg": 90,
"deleted": false
}
],
"queue": "https://example.rossum.app/api/v1/queues/8198",
"status": "to_review",
"url": "https://example.rossum.app/api/v1/annotations/67890",
"original_file_name": "large_document.pdf",
"values": {},
"started": true
}
],
"session_timeout": "01:00:00"
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
Edit pages session started successfully
URL of the parent annotation
Session timeout duration format "HH:MM:SS"
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Start validation
Start reviewing annotation by the calling user. Can be called with statuses payload to specify allowed statuses for starting annotation.
Returns 409 Conflict if annotation fails to be in one of the specified states.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/start" \ -H "Content-Type: application/json" \ -d '{}'{
"annotation": "https://example.rossum.app/api/v1/annotations/12345",
"session_timeout": "01:00:00"
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
List of allowed states for the starting annotation to be in.
Default:["to_review","reviewing","postponed","confirmed"]Response
OK
URL of annotation.
Session timeout in format HH:MM:SS.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Start validation for embedded use
Start embedded annotation.
Embedded annotation cannot be started by users with admin or organization group admin roles. We strongly recommend
starting embedded annotations by users with annotator_embedded user role and permissions
for the given queue only to limit the scope of actions that user is able to perform to required minimum.
Returns object with url that specifies URL to be used in the browser iframe/popup window. URL includes a token that is valid for this document only for a limited period of time.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/start_embedded" \ -H "Content-Type: application/json" \ -d '{}'{
"url": "https://example.rossum.app/embedded/document/12345#authToken=db313f24f5738c8e04635e036ec8a45cdd6d6b03"
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
URL to redirect to after annotation is confirmed
maxLength: 2048URL to redirect to when annotation is cancelled
maxLength: 2048URL to redirect to when annotation is deleted
maxLength: 2048URL to redirect to when annotation is postponed
maxLength: 2048Duration (in seconds) for which the token will be valid. Default is the queue's
session_timeout.
Response
Embedded URL created successfully
Embedded URL with authentication token
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Switch to postponed
Switch annotation status to postpone.
curl -X POST "https://example.rossum.app/api/v1/annotations/0/postpone"{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Conflict.",
"code": "conflict_status"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Response
No Content
No response body.
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Conflict
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error
Translate page spatial data
Get translation for all lines on a page, including position coordinates. Source language of the page is automatically detected. Translated text of a page in a particular language is cached for 60 days.
Requirements:
- Document translations feature must be enabled for the organization
- User must have translate permissions
- Page must have OCR data available
Supported languages:
| Key | Description |
|---|---|
| af | Afrikaans |
| sq | Albanian |
| am | Amharic |
| ar | Arabic |
| hy | Armenian |
| az | Azerbaijani |
| bn | Bengali |
| bs | Bosnian |
| bg | Bulgarian |
| ca | Catalan |
| zh | Chinese (Simplified) |
| zh-TW | Chinese (Traditional) |
| hr | Croatian |
| cs | Czech |
| da | Danish |
| fa-AF | Dari |
| nl | Dutch |
| en | English |
| et | Estonian |
| fa | Farsi (Persian) |
| tl | Filipino, Tagalog |
| fi | Finnish |
| fr | French |
| fr-CA | French (Canada) |
| ka | Georgian |
| de | German |
| el | Greek |
| gu | Gujarati |
| ht | Haitian Creole |
| ha | Hausa |
| he | Hebrew |
| hi | Hindi |
| hu | Hungarian |
| is | Icelandic |
| id | Indonesian |
| ga | Irish |
| it | Italian |
| ja | Japanese |
| kn | Kannada |
| kk | Kazakh |
| ko | Korean |
| lv | Latvian |
| lt | Lithuanian |
| mk | Macedonian |
| ms | Malay |
| ml | Malayalam |
| mt | Maltese |
| mr | Marathi |
| mn | Mongolian |
| no | Norwegian (Bokmål) |
| ps | Pashto |
| pl | Polish |
| pt | Portuguese (Brazil) |
| pt-PT | Portuguese (Portugal) |
| pa | Punjabi |
| ro | Romanian |
| ru | Russian |
| sr | Serbian |
| si | Sinhala |
| sk | Slovak |
| sl | Slovenian |
| so | Somali |
| es | Spanish |
| es-MX | Spanish (Mexico) |
| sw | Swahili |
| sv | Swedish |
| ta | Tamil |
| te | Telugu |
| th | Thai |
| tr | Turkish |
| uk | Ukrainian |
| ur | Urdu |
| uz | Uzbek |
| vi | Vietnamese |
| cy | Welsh |
curl -X POST "https://example.rossum.app/api/v1/annotations/0/page_data/translate" \ -H "Content-Type: application/json" \ -d '{ "page_numbers": [ 1 ], "target_language": "es", "granularity": "lines" }'{
"results": [
{
"page_number": 1,
"granularity": "lines",
"items": [
{
"text": "Factura",
"position": [
100,
50,
150,
20
]
}
]
}
]
}{
"detail": "Bad Request.",
"code": "bad_request"
}{
"detail": "Invalid token.",
"code": "authentication_failed"
}{
"detail": "Access to the requested resource is forbidden.",
"code": "access_forbidden"
}{
"detail": "Not found.",
"code": "not_found"
}{
"detail": "Payload Too Large.",
"code": "payload_too_large"
}{
"detail": "Request was rate limited.",
"code": "rate_limited",
"url": "https://rossum.app/api/docs/openapi/guides/overview/#rate-limiting"
}{
"detail": "Server error.",
"code": "error"
}{
"detail": "Bad Gateway.",
"code": "bad_gateway"
}{
"detail": "Service Unavailable.",
"code": "service_unavailable"
}{
"detail": "Gateway timeout.",
"code": "gateway_timeout"
}Request Body
application/json
Single page number to translate (currently only one page at a time is supported)
Target language code. Either ISO 639-1 format or a combination of ISO 639-1 two-digit language code followed by an underscore followed by an ISO 3166 2-digit country code.
minLength: 2, maxLength: 5Level of text granularity
Response
Translation completed successfully (or retrieved from cache)
Invalid input data.
Detail of the error
Code of the error
The username/password is invalid or token is invalid (e.g. expired).
Detail of the error
Code of the error
Insufficient permission, missing authentication, invalid CSRF token and similar issue.
Detail of the error
Code of the error
The specified resource was not found.
Detail of the error
Code of the error
Payload too large (especially for files uploaded).
Detail of the error
Code of the error
Request rate is too high, wait before sending more requests. See Rate Limiting for more details.
Detail of the error
Code of the error
Link to the rate limiting documentation
Server failure while processing the request.
Detail of the error
Code of the error
Invalid response from the upstream server.
Detail of the error
Code of the error
We're temporarily offline for maintenance. Please try again later.
Detail of the error
Code of the error
Upstream server could not complete the request in time.
Detail of the error
Code of the error