openapi: 3.1.0
info:
title: Parseur async Parser API
description: ''
version: 1.0.0
servers:
- url: https://api.parseur.com
description: Parseur API
security:
- TokenAuth: []
tags:
- name: Parser
paths:
/parser/{id}/document_set:
get:
summary: List documents in a mailbox
deprecated: false
description: ''
tags:
- Parser
parameters:
- name: id
in: path
description: ''
required: true
example: '{{PARSER_ID}}'
schema:
type: string
- name: page
in: query
description: Page number for pagination (default is 1)
required: false
schema:
type: integer
minimum: 1
- name: page_size
in: query
description: Number of results per page (default is 25)
required: false
schema:
type: integer
minimum: 1
- name: search
in: query
description: Case-insensitive partial match search
required: false
schema:
type: string
- name: ordering
in: query
description: Field name to order by (use -prefix for descending)
required: false
schema:
type: string
enum:
- name
- -name
- created
- -created
- processed
- -processed
- status
- -status
- name: received_after
in: query
description: Filter documents received after this date (yyyy-mm-dd)
required: false
schema:
type: string
format: date
- name: received_before
in: query
description: Filter documents received before this date (yyyy-mm-dd)
required: false
schema:
type: string
format: date
- name: status
in: query
description: Filter documents by status
required: false
schema:
$ref: '#/components/schemas/DocumentStatusEnum'
- name: tz
in: query
description: Timezone for date filters (e.g. Asia%2FSingapore). Defaults to UTC.
required: false
schema:
type: string
- name: with_result
in: query
description: Include parsed result string with each document
required: false
schema:
type: boolean
responses:
'200':
description: List of documents (paginated)
content:
application/json:
schema:
type: object
properties:
count:
type: integer
readOnly: true
current:
type: integer
readOnly: true
total:
type: integer
readOnly: true
results:
type: array
items:
properties:
attached_to:
type: 'null'
id:
type: integer
match_master_template:
type: boolean
name:
type: string
ocr_ready_url:
type: string
original_document_url:
type: string
parser:
type: integer
processed:
type: string
received:
type: string
sample_set:
type: array
items:
type: string
status_source:
type: string
status:
type: string
template:
type: 'null'
credits_used:
type: integer
conventional_credits_used:
type: integer
ai_credits_used:
type: integer
is_ai_ready:
type: boolean
is_ocr_ready:
type: boolean
is_processable:
type: boolean
is_splittable:
type: boolean
is_split:
type: boolean
json_download_url:
type: string
csv_download_url:
type: string
xls_download_url:
type: string
required:
- attached_to
- id
- match_master_template
- name
- ocr_ready_url
- original_document_url
- parser
- processed
- received
- sample_set
- status_source
- status
- template
- credits_used
- conventional_credits_used
- ai_credits_used
- is_ai_ready
- is_ocr_ready
- is_processable
- is_splittable
- is_split
- json_download_url
- csv_download_url
- xls_download_url
$ref: '#/components/schemas/DocumentDiet'
readOnly: true
required:
- count
- current
- total
- results
example:
count: 2
current: 1
total: 1
results:
- attached_to: 12345680
id: 12345679
match_master_template: false
name: document_1.pdf
ocr_ready_url: https://api.parseur.com/document/ABC12345XYZ67890/ocr_ready/document_1.pdf
original_document_url: https://api.parseur.com/document/ABC12345XYZ67890/document_1.pdf
parser: 98765
processed: '2025-08-06T12:09:59.608371Z'
received: '2025-08-06T12:09:52.063182Z'
sample_set: []
status_source: AI
status: PARSEDOK
template: null
credits_used: 1
conventional_credits_used: 0
ai_credits_used: 1
is_ai_ready: true
is_ocr_ready: true
is_processable: true
is_splittable: false
is_split: false
json_download_url: https://api.parseur.com/document/ABC12345XYZ67890/result/document_1.json
csv_download_url: https://api.parseur.com/document/ABC12345XYZ67890/result/document_1.csv
xls_download_url: https://api.parseur.com/document/ABC12345XYZ67890/result/document_1.xlsx
- attached_to: null
id: 12345680
match_master_template: false
name: message_2.eml
ocr_ready_url: null
original_document_url: https://api.parseur.com/document/DEF98765UVW43210/message_2.eml
parser: 98765
processed: '2025-08-06T12:09:55.150511Z'
received: '2025-08-06T12:09:49.901419Z'
sample_set: []
status_source: METADATA
status: PARSEDOK
template: null
credits_used: 1
conventional_credits_used: 1
ai_credits_used: 0
is_ai_ready: true
is_ocr_ready: false
is_processable: true
is_splittable: false
is_split: false
json_download_url: https://api.parseur.com/document/DEF98765UVW43210/result/message_2.json
csv_download_url: https://api.parseur.com/document/DEF98765UVW43210/result/message_2.csv
xls_download_url: https://api.parseur.com/document/DEF98765UVW43210/result/message_2.xlsx
headers: {}
'403':
$ref: '#/components/responses/Authentication Error'
description: ''
'404':
description: ''
content:
application/json:
schema:
type: object
properties:
non_field_errors:
type: string
required:
- non_field_errors
example:
non_field_errors: Parser 123456 not found
headers: {}
security:
- TokenAuth: []
/parser:
get:
summary: List mailboxes
deprecated: false
description: Optional query parameters for pagination and filtering
tags:
- Parser
parameters:
- name: page
in: query
description: Page number for pagination (default is 1)
required: false
schema:
type: integer
minimum: 1
- name: page_size
in: query
description: Number of results per page (default is 25)
required: false
schema:
type: integer
minimum: 1
- name: search
in: query
description: Case-insensitive partial match search
required: false
schema:
type: string
- name: ordering
in: query
description: Field name to order by (use -prefix for descending)
required: false
schema:
type:
- string
- 'null'
enum:
- name
- -name
- document_count
- -document_count
- template_count
- -template_count
- PARSEDOK_count
- -PARSEDOK_count
- PARSEDKO_count
- -PARSEDKO_count
- QUOTAEXC_count
- -QUOTAEXC_count
- EXPORTKO_count
- -EXPORTKO_count
- TRANSKO_count
- -TRANSKO_count
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
count:
type: integer
readOnly: true
current:
type: integer
readOnly: true
total:
type: integer
readOnly: true
results:
type: array
items:
properties:
account_uuid:
type: string
ai_engine:
type: string
attachments_only:
type: boolean
attachments_only_override:
type: 'null'
can_transform:
type: boolean
disable_deskew:
type: boolean
enable_layouted_text:
type: boolean
enable_image_ocr:
type: boolean
document_count:
type: integer
document_per_status_count:
type: object
properties:
INCOMING:
type: integer
ANALYZING:
type: integer
PROGRESS:
type: integer
PARSEDOK:
type: integer
PARSEDKO:
type: integer
QUOTAEXC:
type: integer
SKIPPED:
type: integer
SPLIT:
type: integer
DELETED:
type: integer
EXPORTKO:
type: integer
TRANSKO:
type: integer
INVALID:
type: integer
required:
- INCOMING
- ANALYZING
- PROGRESS
- PARSEDOK
- PARSEDKO
- QUOTAEXC
- SKIPPED
- SPLIT
- DELETED
- EXPORTKO
- TRANSKO
- INVALID
email_prefix:
type: string
even_pages:
type: boolean
force_ocr:
type: boolean
id:
type: integer
is_master:
type: boolean
last_activity:
type: string
name:
type: string
odd_pages:
type: boolean
page_range_set:
type: array
items:
type: string
parser_object_count:
type: integer
parser_object_set_last_modified:
type: 'null'
process_attachments:
type: boolean
retention_policy:
type: integer
split_keywords:
type: 'null'
split_page:
type: 'null'
split_page_range_set:
type: array
items:
type: string
template_count:
type: integer
webhook_count:
type: integer
attachments_field:
type: boolean
original_document_field:
type: boolean
searchable_pdf_field:
type: boolean
headers_field:
type: boolean
received_field:
type: boolean
received_date_field:
type: boolean
received_time_field:
type: boolean
processed_field:
type: boolean
processed_date_field:
type: boolean
processed_time_field:
type: boolean
sender_field:
type: boolean
sender_name_field:
type: boolean
split_page_range_field:
type: boolean
recipient_field:
type: boolean
to_field:
type: boolean
cc_field:
type: boolean
bcc_field:
type: boolean
reply_to_field:
type: boolean
recipient_suffix_field:
type: boolean
original_recipient_field:
type: boolean
subject_field:
type: boolean
template_field:
type: boolean
html_document_field:
type: boolean
text_document_field:
type: boolean
content_field:
type: boolean
last_reply_field:
type: boolean
document_id_field:
type: boolean
parent_id_field:
type: boolean
document_url_field:
type: boolean
public_document_url_field:
type: boolean
page_count_field:
type: boolean
credit_count_field:
type: boolean
mailbox_id_field:
type: boolean
parsing_engine_field:
type: boolean
available_webhook_set:
type: array
items:
type: string
webhook_set:
type: array
items:
type: string
table_set:
type: array
items:
type: string
$ref: '#/components/schemas/ParserDiet'
readOnly: true
required:
- count
- current
- total
- results
examples:
'1':
summary: Success
value: "{\n \"count\": 2,\n \"current\": 1,\n \"total\": 1,\n \"results\": [\n {\n \"account_uuid\": \"acc_1234561ef2f5467db594234a0f4ef1af\",\n \"ai_engine\": \"GCP_AI_1\",\n \"attachments_only\": false,\n \"attachments_only_override\": false,\n \"can_transform\": false,\n \"disable_deskew\": false,\n \"enable_layouted_text\": true,\n \"enable_image_ocr\": true,\n \"document_count\": 6,\n \"document_per_status_count\": {\n \"INCOMING\": 0,\n \"ANALYZING\": 0,\n \"PROGRESS\": 0,\n \"PARSEDOK\": 4,\n \"PARSEDKO\": 0,\n \"QUOTAEXC\": 2,\n \"SKIPPED\": 0,\n \"SPLIT\": 0,\n \"DELETED\": 0,\n \"EXPORTKO\": 0,\n \"TRANSKO\": 0,\n \"INVALID\": 0\n },\n \"email_prefix\": \"test.mailbox\",\n \"even_pages\": true,\n \"force_ocr\": false,\n \"id\": 123456,\n \"is_master\": false,\n \"last_activity\": \"2025-08-08T09:48:45.578235Z\",\n \"master_parser_name\": \"Invoices\",\n \"master_parser_slug\": \"invoices\",\n \"name\": \"Test Mailbox\",\n \"odd_pages\": true,\n \"page_range_set\": [],\n \"parser_object_count\": 39,\n \"parser_object_set_last_modified\": \"2025-08-08T08:55:30.740946Z\",\n \"process_attachments\": true,\n \"retention_policy\": 90,\n \"split_keywords\": null,\n \"split_page\": null,\n \"split_page_range_set\": [],\n \"template_count\": 1,\n \"webhook_count\": 1,\n \"attachments_field\": true,\n \"original_document_field\": true,\n \"searchable_pdf_field\": false,\n \"headers_field\": true,\n \"received_field\": false,\n \"received_date_field\": false,\n \"received_time_field\": false,\n \"processed_field\": false,\n \"processed_date_field\": false,\n \"processed_time_field\": false,\n \"sender_field\": false,\n \"sender_name_field\": false,\n \"split_page_range_field\": false,\n \"recipient_field\": false,\n \"to_field\": false,\n \"cc_field\": false,\n \"bcc_field\": false,\n \"reply_to_field\": false,\n \"recipient_suffix_field\": false,\n \"original_recipient_field\": false,\n \"subject_field\": false,\n \"template_field\": false,\n \"html_document_field\": true,\n \"text_document_field\": false,\n \"content_field\": true,\n \"last_reply_field\": false,\n \"document_id_field\": true,\n \"parent_id_field\": false,\n \"document_url_field\": false,\n \"public_document_url_field\": false,\n \"page_count_field\": false,\n \"credit_count_field\": false,\n \"mailbox_id_field\": false,\n \"parsing_engine_field\": false,\n \"available_webhook_set\": [\n {\n \"id\": 14,\n \"event\": \"document.processed\",\n \"target\": \"https://test.webhooks/test\",\n \"name\": \"My Webhooks\",\n \"headers\": {\n \"X-Test\": \"yes\"\n },\n \"category\": \"CUSTOM\",\n \"parser_field_set\": []\n },\n {\n \"id\": 15,\n \"event\": \"table.processed\",\n \"target\": \"https://another.webhook/test\",\n \"name\": \"\",\n \"headers\": null,\n \"category\": \"CUSTOM\",\n \"parser_field_set\": [\n \"PF1504082\"\n ]\n }\n ],\n \"webhook_set\": [\n {\n \"id\": 15,\n \"event\": \"table.processed\",\n \"target\": \"https://another.webhook/test\",\n \"name\": \"\",\n \"headers\": null,\n \"category\": \"CUSTOM\",\n \"parser_field_set\": [\n \"PF1504082\"\n ]\n }\n ],\n \"table_set\": [\n {\n \"id\": \"PF1504099\",\n \"name\": \"Items\"\n },\n {\n \"id\": \"PF1504082\",\n \"name\": \"fees\"\n },\n {\n \"id\": \"Attachments\",\n \"name\": \"Attachments\"\n }\n ]\n },\n {\n \"account_uuid\": \"acc_1234561ef2f5467db594234a0f4ef1af\",\n \"ai_engine\": \"DISABLED\",\n // rest removed for brevity\n }\n ]\n}"
'2':
summary: Not authenticated
value:
non_field_errors: Not authenticated
headers: {}
'403':
$ref: '#/components/responses/Authentication Error'
description: ''
security:
- TokenAuth: []
post:
summary: Create a mailbox
deprecated: false
description: ''
tags:
- Parser
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Parser'
example:
ai_engine: GCP_AI_1
identification_status: REQUESTED
responses:
'201':
description: Mailbox created
content:
application/json:
schema:
$ref: '#/components/schemas/Parser'
example:
account_uuid: acc_9876541ef2f5467db594234a0f4ef1af
ai_engine: GCP_AI_1
attachments_only: false
attachments_only_override: null
can_transform: false
disable_deskew: false
enable_layouted_text: true
enable_image_ocr: true
document_count: 0
document_per_status_count:
INCOMING: 0
ANALYZING: 0
PROGRESS: 0
PARSEDOK: 0
PARSEDKO: 0
QUOTAEXC: 0
SKIPPED: 0
SPLIT: 0
DELETED: 0
EXPORTKO: 0
TRANSKO: 0
INVALID: 0
email_prefix: steadfast.tender.tamarin
even_pages: true
force_ocr: false
id: 321654
is_master: false
last_activity: '2025-08-08T12:00:39.796530Z'
name: Steadfast Tender Tamarin
odd_pages: true
page_range_set: []
parser_object_count: 0
parser_object_set_last_modified: null
process_attachments: true
retention_policy: 90
split_keywords: null
split_page: null
split_page_range_set: []
template_count: 0
webhook_count: 0
attachments_field: false
original_document_field: false
searchable_pdf_field: false
headers_field: false
received_field: false
received_date_field: false
received_time_field: false
processed_field: false
processed_date_field: false
processed_time_field: false
sender_field: false
sender_name_field: false
split_page_range_field: false
recipient_field: false
to_field: false
cc_field: false
bcc_field: false
reply_to_field: false
recipient_suffix_field: false
original_recipient_field: false
subject_field: false
template_field: false
html_document_field: false
text_document_field: false
content_field: false
last_reply_field: false
document_id_field: false
parent_id_field: false
document_url_field: false
public_document_url_field: false
page_count_field: false
credit_count_field: false
mailbox_id_field: false
parsing_engine_field: false
csv_download: /parser/<secret>.tender.tamarin.csv
decimal_separator: null
default_timezone: null
disable_document_links: false
expand_result: false
extract_xml_from_comment: false
input_date_format: null
identification_status: REQUESTED
is_transform_enabled: false
json_download: /parser/<secret>.tender.tamarin.json
parser_object_set: []
pdf_conversion_format: TXT_LAYOUT
secret: <secret>
transform: null
unzip_attachments: true
use_whitelist_instead_of_blacklist: false
template_set_last_modified: null
webhook_set: []
xls_download: /parser/<secret>.tender.tamarin.xlsx
zip_attachments: false
available_webhook_set: []
table_set: []
emails_or_domains: []
headers: {}
'400':
description: Invalid input
headers: {}
'403':
$ref: '#/components/responses/Authentication Error'
description: ''
'404':
$ref: '#/components/responses/Not Found'
description: ''
security:
- TokenAuth: []
/parser/{id}:
get:
summary: Get a mailbox
deprecated: false
description: ''
tags:
- Parser
parameters:
- name: id
in: path
description: ''
required: true
example: '{{PARSER_ID}}'
schema:
type: integer
responses:
'200':
description: Mailbox retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/Parser'
example:
account_uuid: acc_1234561ef2f5467db594234a0f4ef1af
ai_engine: GCP_AI_1
attachments_only: false
attachments_only_override: false
can_transform: false
disable_deskew: false
enable_layouted_text: true
enable_image_ocr: true
document_count: 2
document_per_status_count:
INCOMING: 0
ANALYZING: 0
PROGRESS: 0
PARSEDOK: 2
PARSEDKO: 0
QUOTAEXC: 0
SKIPPED: 0
SPLIT: 0
DELETED: 0
EXPORTKO: 0
TRANSKO: 0
INVALID: 0
email_prefix: test.mailbox
even_pages: true
force_ocr: false
id: 123456
is_master: false
last_activity: '2025-08-06T13:24:49.287169Z'
master_parser_name: Invoices
master_parser_slug: invoices
name: Test Mailbox
odd_pages: true
page_range_set: []
parser_object_count: 39
parser_object_set_last_modified: '2025-08-06T13:24:49.373497Z'
process_attachments: true
retention_policy: 90
split_keywords: null
split_page: null
split_page_range_set: []
template_count: 1
webhook_count: 0
attachments_field: true
original_document_field: true
searchable_pdf_field: false
headers_field: true
received_field: false
received_date_field: false
received_time_field: false
processed_field: false
processed_date_field: false
processed_time_field: false
sender_field: false
sender_name_field: false
split_page_range_field: false
recipient_field: false
to_field: false
cc_field: false
bcc_field: false
reply_to_field: false
recipient_suffix_field: false
original_recipient_field: false
subject_field: false
template_field: false
html_document_field: true
text_document_field: false
content_field: true
last_reply_field: false
document_id_field: false
parent_id_field: false
document_url_field: false
public_document_url_field: false
page_count_field: false
credit_count_field: false
mailbox_id_field: false
parsing_engine_field: false
csv_download: /parser/<secret>/download/test.mailbox.csv
decimal_separator: ','
default_timezone: Africa/Banjul
# --- truncated at 32 KB (100 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/parseur/refs/heads/main/openapi/parseur-parser-api-openapi.yml