Quick Start
Get up and running with Axelered in minutes.
This guide walks you through the complete lifecycle of a document processing task: from setting up your secure environment to extracting structured data from multiple files.
┌──────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌───────────────────┐
│ Authenticate │ ───► │ Create Workspace │ ───► │ Register Config │ ───► │ Process Files │
│ (API Key) │ │ (Project Sandbox)│ │ (LLM Blueprint) │ │ (Upload & Extract)│
└──────────────┘ └──────────────────┘ └──────────────────┘ └───────────────────┘Step 1: Create a Workspace
A workspace is a secure sandbox. All your configurations, documents, and processing runs are isolated within this boundary.
curl -X POST "https://api.axelered.com/v1/w" \
-H "Authorization: Bearer <your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Environment"
}'Note the id in the response (e.g., 018f8e02-4b2a...); you will use it as {workspace_id} in all subsequent calls.
Step 2: Register an LLM Configuration
Instead of sending your API keys on every request, register a Blueprint. This template stores your model preferences and credentials securely.
curl -X POST "https://api.axelered.com/v1/w/{workspace_id}/config/models" \
-H "Authorization: Bearer <your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "My GPT-4o Engine",
"config": {
"provider": "openai",
"model": "gpt-4o",
"apiKey": "sk-proj-...",
"temperature": 0.0
}
}'Note the id returned here; you will reference it as llmId during processing.
Step 3: Upload & Extract Data
Now, trigger a stateless batch run. We will upload two invoice files and extract their totals using the configuration we just created.
curl -X POST "https://api.axelered.com/v1/w/{workspace_id}/process" \
-H "Authorization: Bearer <your_api_key>" \
-F "files=@/path/to/invoice_a.pdf" \
-F "files=@/path/to/invoice_b.pdf" \
-F "config={
\"extractionConfig\": {
\"llmId\": \"{your_llm_config_id}\",
\"jsonSchema\": {
\"type\": \"object\",
\"properties\": {
\"totalAmount\": { \"type\": \"number\" },
\"vendorName\": { \"type\": \"string\" }
},
\"required\": [\"totalAmount\"]
}
}
}"