ParseDocumentation
DashboardGet Started

Getting Started

  • Introduction
  • Quickstart
  • Authentication

API Reference

  • POST /v1/extract
  • Schemas
  • Usage & Limits

Examples

  • Invoice Extraction
  • Receipt Parsing
  • Form Processing

Schemas

Schemas define the structure of data you want to extract from documents. Create reusable schemas to ensure consistent extraction across multiple documents.

Schema Object

A schema defines the fields and their types for extraction.

{
"id": "sch_abc123",
"name": "invoice",
"description": "Standard invoice extraction schema",
"fields": [
{
"name": "vendor_name",
"type": "string",
"description": "Name of the vendor or supplier"
},
{
"name": "invoice_number",
"type": "string",
"description": "Invoice reference number"
},
{
"name": "date",
"type": "date",
"description": "Invoice date"
},
{
"name": "total",
"type": "number",
"description": "Total amount due"
},
{
"name": "line_items",
"type": "array",
"description": "List of line items",
"items": {
"type": "object",
"fields": [
{ "name": "description", "type": "string" },
{ "name": "quantity", "type": "number" },
{ "name": "unit_price", "type": "number" },
{ "name": "amount", "type": "number" }
]
}
}
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}

Field Types

TypeDescriptionExample
stringText value"Acme Corp"
numberNumeric value (integer or float)1500.00
dateDate in ISO 8601 format"2024-01-15"
booleanTrue or falsetrue
arrayList of items (requires items definition)["item1", "item2"]
objectNested object (requires fields definition){"key": "value"}
POST

/v1/schemas

Create a new extraction schema.

Request Body

ParameterTypeRequiredDescription
nameStringYesUnique name for the schema
descriptionStringNoDescription of what this schema extracts
fieldsArrayYesArray of field definitions

Example

curl -X POST https://api-parse.conversiontools.io/v1/schemas \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "invoice",
"description": "Standard invoice schema",
"fields": [
{ "name": "vendor_name", "type": "string", "description": "Vendor name" },
{ "name": "total", "type": "number", "description": "Total amount" },
{ "name": "date", "type": "date", "description": "Invoice date" }
]
}'

Response

{
"success": true,
"schema": {
"id": "sch_abc123",
"name": "invoice",
"description": "Standard invoice schema",
"fields": [
{ "name": "vendor_name", "type": "string", "description": "Vendor name" },
{ "name": "total", "type": "number", "description": "Total amount" },
{ "name": "date", "type": "date", "description": "Invoice date" }
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
}
GET

/v1/schemas

List all schemas for your account.

Example

curl https://api-parse.conversiontools.io/v1/schemas \
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
"success": true,
"schemas": [
{
"id": "sch_abc123",
"name": "invoice",
"description": "Standard invoice schema",
"fields": [...],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
]
}
GET

/v1/schemas/:id

Retrieve a single schema by its ID.

Example

curl https://api-parse.conversiontools.io/v1/schemas/sch_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"
PUT

/v1/schemas/:id

Update an existing schema. All fields are replaced.

Example

curl -X PUT https://api-parse.conversiontools.io/v1/schemas/sch_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "invoice_v2",
"description": "Updated invoice schema",
"fields": [
{ "name": "vendor_name", "type": "string", "description": "Vendor name" },
{ "name": "total", "type": "number", "description": "Total amount" },
{ "name": "date", "type": "date", "description": "Invoice date" },
{ "name": "currency", "type": "string", "description": "Currency code" }
]
}'
DELETE

/v1/schemas/:id

Delete a schema. This action cannot be undone.

Example

curl -X DELETE https://api-parse.conversiontools.io/v1/schemas/sch_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"

Response

{
"success": true,
"message": "Schema deleted"
}