POST
/
extract_async
curl --request POST \
  --url https://api.runpulse.com/extract_async \
  --header 'Content-Type: <content-type>' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "file-url": "PRESIGNED_URL",
  "return_table": true,
  "experimental_return_table": true,
  "chunking": "<chunking_string>",
  "schema": {},
  "thinking": false,
  "custom_prompt": "",
  "pages": ""
}'
{
  "job_id": "JOB_ID",
  "status": "pending"
}

Large Document Response Structure

For documents exceeding 70 pages, the completed job result includes a URL structure:

{
  "created_at": "timestamp",
  "job_id": "job-id",
  "result": {
    "is_url": true,
    "url": "https://pulse-studio-api.s3.region.amazonaws.com/results/...",
    "plan-info": {
      "pages_used": 0,
      "tier": "foundation"
    }
  },
  "status": "completed",
  "updated_at": "timestamp"
}

Key Points:

  • Documents over 70 pages return a URL containing the complete response
  • URLs automatically expire after 24 hours
  • No changes required to your API request structure
  • For documents under 70 pages, the API continues to return results directly in the result field

Implementation Tips:

  1. Check if result contains "is_url": true
  2. If true, fetch the complete document data from the provided URL
  3. Store URLs securely as they contain your processed results

Authorizations

x-api-key
string
header
required

API key for authentication

Headers

x-api-key
string
required

API key for authorization

Content-Type
enum<string>
required
Available options:
application/json

Body

application/json
file-url
string
required
Example:

"PRESIGNED_URL"

schema
object
required

JSON schema for processing

Example:
{}
return_table
boolean
Example:

true

experimental_return_table
boolean
Example:

true

chunking
string
Example:

"<chunking_string>"

thinking
boolean

When true, enables enhanced reasoning for higher accuracy with slightly increased processing time but superior extraction quality

Example:

false

custom_prompt
string

Custom instructions, notes, or specifications for domain-specific extraction needs

Example:

""

pages
string

Precise page selection for targeted extraction. Supports single pages (1,3,5), page ranges (1-5,7-9), or combinations (1,3-5,7,9-11)

Example:

""

Response

202 - application/json
Job accepted and processing started
job_id
string
required
Example:

"JOB_ID"

status
enum<string>
required
Available options:
pending,
cancelled,
failed,
completed
Example:

"pending"