Parsio Public API
Related articles:
API Base
All the API endpoints described in this article are relative to the 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 will return in a HTTP 401 Unauthorized
code.
Here's a request example using cURL:
curl -X GET https://api.parsio.io/mailboxes/ -H "X-API-Key: <YOUR_API_KEY>"
Manage Mailboxes
List mailboxes
GET /mailboxes
Get a mailbox
GET /mailboxes/<mailbox_id>
Create a mailbox
POST /mailboxes/create
Parameters:
- name (string): Mailbox name
Update a mailbox
POST /mailboxes/<mailbox_id>
Parameters:
- name (string)
- email_prefix (string)
-
process_attachments (boolean): store or ignore email attachments
-
collect_emails (boolean): collect or not email addresses automatically
- alert_email_h (number): Email alerts frequency (in hours)
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
POST https://api.parsio.io/mailboxes/<mailbox_id>/doc
JSON parameters:
- name (string): Document's name (or Subject for emails)
- html (string): HTML content
- text (string): Text content
- from (string): 'From' email address (optional)
- to (string): 'To' email address (optional)
If both provided, the HTML content has priority over TEXT content. At least one must be provided.
Related article: Parse HTML and text documents using API
Upload PDF and other files
POST /mailboxes/<mailbox_id>/upload
Upload and parse one file. Supported formats: PDF, HTML, CSV, TXT, DOCX, RTF or XML.
Max. file size: 2MB.
Parameters:
- file (File object)
Related article: Parse PDF and files using API
List documents
GET /mailboxes/<mailbox_id>/docs
Parameters:
- page (number)
- from (string): 'from' date. Format: YYYY-MM-DD
- to (string): 'to' date. Format: YYYY-MM-DD
- q (string): search query
- status (array of strings): Document statuses. Accepted values: parsed, fail, skipped, new, quota, parsing, exception.
Get a document
GET /docs/<document_id>
This endpoint allows to retrieve the parsed data as JSON but we highly recommend using webhooks for real-time data sending instead.
Parse a document
POST /docs/<document_id>/parse
Skip many documents
POST /mailboxes/<mailbox_id>/docs/skip
Parameters:
- ids (array of strings): Document IDs to skip
Manage Templates
List templates
GET /mailboxes/:mb_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)
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:
- url (string): webhook URL
- event (string): trigger event. Accepted values: doc.parsed, doc.parsed.flat, doc.fail, doc.received, table.parsed
- enabled (boolean)
- table_id (string): Table ID, only for the 'table.parsed' event.
Update a webhook
POST /webhooks
Parameters:
- _id (string): webhook ID
- url (string): webhook URL
- event (string): trigger event. Accepted values: doc.parsed, doc.parsed.flat, doc.fail, doc.received, table.parsed
- enabled (boolean)
- table_id (string): Table ID, only for the 'table.parsed' event.
Delete webhooks
DELETE /webhooks
Parameters:
- ids (array of strings): Webhook IDs to delete
Manage Parsed Data
Get parsed data
GET /mailboxes/<mailbox_id>/parsed
Parameters:
- page (number)
- from (string): 'from' date. Format: YYYY-MM-DD
- to (string): 'to' date. Format: YYYY-MM-DD
List collected emails
GET /mailboxes/<mailbox_id>/emails