👨💻 Parsio Public API
Postman Collection
You can quickly start testing the Parsio API by importing our Postman collection with the most important API endpoints.
To add it to Postman:
Download the JSON collection file from the Attachments section at the end of this article.
Open Postman, click File → Import.
Select the downloaded JSON file.
Set your variables such as
apiKey,mailboxId,docId, etc.
Once imported, you can immediately test the Parsio API endpoints from Postman.
API Base
All API endpoints described in this article are relative to the following base URL:
https://api.parsio.io
Authentication
To access the API, you will need the API key that you will find in your account:

This API key should be included in the X-API-Key HTTP header.
Unauthenticated responses return HTTP 401 Unauthorized.
Example request using cURL:
curl -X GET https://api.parsio.io/mailboxes/ -H "X-API-Key: <YOUR_API_KEY>"
Choose the Right Import Endpoint
For most API integrations, we recommend the synchronous endpoints because they return parsed data directly in the same HTTP response whenever parsing finishes within the timeout.
Use the asynchronous endpoints if you prefer webhooks, need ZIP upload support, work with larger or slower files, or simply do not want the request to wait for parsing.
If you already have text or HTML
Recommended:
POST /mailboxes/<mailbox_id>/doc-syncAsynchronous alternative:
POST /mailboxes/<mailbox_id>/doc
Use these endpoints when your application already has the document content as plain text or HTML and you want Parsio to parse it.
If you have a file
Recommended:
POST /mailboxes/<mailbox_id>/upload-syncAsynchronous alternative:
POST /mailboxes/<mailbox_id>/upload
Use these endpoints when your source document is a PDF, scanned PDF, image, DOCX, CSV, XML, or another supported file format.
When to choose asynchronous import
You already use webhooks and do not need the parsed result immediately
You want the fastest possible upload response
You need ZIP upload support
You are importing larger or slower-to-parse files
Manage Mailboxes
List mailboxes
GET /mailboxes
Returns all mailboxes available to the authenticated user.
Get a mailbox
GET /mailboxes/<mailbox_id>
Returns mailbox settings and configuration.
Create a mailbox
POST /mailboxes/create
Parameters:
name (string): Mailbox name
preset (string): Parser type or preset
ml_model (string): OCR or AI model, depending on mailbox type
has_raw_data (boolean)
parse_sig (boolean)
Update a mailbox
POST /mailboxes/<mailbox_id>
Updates mailbox settings.
Common parameters:
name (string)
email_prefix (string)
process_attachments (boolean): Store or ignore email attachments
collect_emails (boolean): Collect email addresses automatically
alert_email_h (number): Email alert frequency in hours
receive_email (boolean)
preset (string)
ml_model (string)
Delete a mailbox
DELETE /mailboxes/<mailbox_id>
List table fields in the mailbox
GET /mailboxes/<mailbox_id>/tableFields
Manage Documents
Create HTML and text documents (recommended: synchronous)
POST /mailboxes/<mailbox_id>/doc-sync
Creates a document from plain text or HTML and waits for the parsed result in the same response.
Supported only for:
Template-based parser
GPT-powered parser
Use /doc instead if you prefer asynchronous processing.
Create HTML and text documents (asynchronous)
POST /mailboxes/<mailbox_id>/doc
Creates a document from plain text or HTML and starts parsing asynchronously.
Upload files (recommended: synchronous)
POST /mailboxes/<mailbox_id>/upload-sync
Uploads one file and waits for the parsed result in the same response.
This endpoint works with all Parsio parser types, as long as the uploaded file type is supported by that mailbox type.
Sync upload limits:
One file per request
ZIP files are not supported
Max. file size: 20MB
Upload files asynchronously
POST /mailboxes/<mailbox_id>/upload
Uploads one file and starts parsing asynchronously.
Async upload limits:
One file per request
ZIP files supported
Max. file size: 50MB
List documents
GET /mailboxes/<mailbox_id>/docs
Returns paginated documents for the mailbox.
Query parameters:
page (number)
per_page (number): Max. 500
from (string): Start date in
YYYY-MM-DDformatto (string): End date in
YYYY-MM-DDformatq (string): Search by document name
status (array of strings): Filter by document status
Get a document
GET /docs/<document_id>
Returns the parsed document as JSON. This is the same JSON payload style used by Parsio webhooks.
Use this endpoint when:
You used an asynchronous import endpoint and want to fetch the result later
Your synchronous request returned
parsing_in_progress: true
Parse a document again
POST /docs/<document_id>/parse
Queues the document for reprocessing.
Skip many documents
POST /mailboxes/<mailbox_id>/docs/skip
Parameters:
ids (array of strings): Document IDs to skip
Manage Templates
List templates
GET /mailboxes/<mailbox_id>/templates
Parameters:
page (number)
Get a template
GET /templates/<template_id>
Enable templates
POST /templates/enable_many
Parameters:
ids (array of strings)
Disable templates
POST /templates/disable_many
Parameters:
ids (array of strings)
Clone templates
POST /templates/clone_many
Parameters:
ids (array of strings): Template IDs to clone
mailbox_id (string): Target mailbox ID
Delete templates
DELETE /templates
Parameters:
ids (array of strings)
Manage Webhooks
List webhooks
GET /webhooks/mb/<mailbox_id>
Get a webhook
GET /webhooks/<webhook_id>
Create a webhook
POST /webhooks/<mailbox_id>
Parameters:
name (string)
url (string): Webhook URL
event (string): Accepted values include
doc.parsed,doc.parsed.flat,doc.fail,doc.received,table.parsedenabled (boolean)
table_id (string): Required only for
table.parsed
Update a webhook
POST /webhooks
Parameters:
_id (string): Webhook ID
name (string)
url (string): Webhook URL
event (string)
enabled (boolean)
table_id (string): Required only for
table.parsed
Delete webhooks
DELETE /webhooks
Parameters:
ids (array of strings): Webhook IDs to delete
Manage Parsed Data
Get parsed data for a mailbox
GET /mailboxes/<mailbox_id>/parsed
Returns parsed data for documents in the mailbox.
Parameters:
page (number)
from (string): Start date in
YYYY-MM-DDformatto (string): End date in
YYYY-MM-DDformat
List collected emails
GET /mailboxes/<mailbox_id>/emails
Returns collected email addresses for the mailbox.
Did we miss something? Let us know!