Welcome to the Molku.ai API — a simple way to automate document processing using workflows you've created on the Molku platform.
<aside> ⚠️ Google Drive or indirect links are not supported and will result in errors. The API supports the following file types. Please ensure your files meet the format and size requirements listed below:
</aside>
| Category | Supported Formats | Max File Size |
|---|---|---|
.pdf |
32 MB | |
| Text Documents | .doc, .docx, .txt |
2 MB |
| Spreadsheets | .csv, .xls, .xlsx |
2 MB |
| Presentations | .ppt, .pptx |
60 MB |
| Images | .jpg, .jpeg, .png, .tiff |
10 MB |
All endpoints require authentication via Bearer Token.
Settings → Copy your personal API Key.Authorization: Bearer YOUR_API_KEY
<https://molku.ai/api/1.1/wf>
Rate-limited requests will return a "rate_limited" error code (HTTP response status 429). The rate limit for incoming requests per integration is an average of 100 requests per minute.
<aside> ❗ Rate limits may change
In the future, we plan to adjust rate limits to balance for demand and reliability.
</aside>
Represents a user-created document processing workflow. Workflows must be created through the Molku.ai interface and have a "Ready to Run" status before they can be triggered via API.
Where to get it:
/list_workflows endpointEach workflow in Molku.ai goes through several stages before it can be used via the API. Understanding these statuses is key to working with the list_workflows and run_workflow endpoints.
| Status | Description |
|---|---|
| Pending Configuration | The workflow is being set up by the user inside the Molku.ai editor (Steps 1–3). Configuration is not yet complete. |
| Pending Final Testing | The workflow has reached the final step in the editor (Step 4 — Testing). The user must complete testing before it becomes eligible for execution via API. |
| Ready to Run | The workflow has been fully tested and is ready to be executed using the /run_workflow API endpoint. Only workflows with this status can be triggered via API. |
{
"id": "T58gByNEfszMAGDlV2",
"name": "Workflow 1",
"created_date": 1744719296704,
"workflow_status": "Ready to Run"
}
| Property | Type | Description | Example value |
|---|---|---|---|
id |
string |
Workflow ID. Used when calling /run_workflow |
"T58gByNEfszMAGDlV2" |
name |
string |
User-defined name of the workflow | "Workflow 1" |
created_date |
number (timestamp) |
UNIX timestamp when the file was created | "1744719296704" |
workflow_status |
string |
Status of the workflow (Pending Configuration, Pending Final Testing, Ready to Run) | "Ready to Run" |
Represents a processed output file generated by a workflow.
Where to get it:
/list_output_history endpoint/get_output_fileThe status field of a File (Output) object indicates the current processing state of the document during the workflow lifecycle.
| Status | Description |
|---|---|
| Created | The file has been created right after the /run_workflow call. No processing has started yet. |
| Extracting | The system is currently extracting fields from the uploaded PDF file. |
| Processing | Extracted fields are being inserted into the workflow template. |
| Error | An error occurred during one of the workflow stages. See error types in /run_workflow documentation. You can retry processing from the Output History tab or re-trigger /run_workflow. |
| Success | The output file was successfully generated and is available for download. |
{
"status": "success",
"response": {
"name": "File Name",
"id": "file-name-1746090604-sgc6fblj",
"url": "<https://6187d7d7a63c5765272ae3e08bdc6eac.cdn.bubble.io/file_name.pdf>",
"status": "Success",
"credits": 1,
"created_date": 1744722248210,
"is_public?": "yes"
}
}
| Field | Type | Description | Example value |
|---|---|---|---|
name |
string |
Name of the output file | “File Name” |
id |
string |
Unique ID of the output file | "file-name-1746090604-sgc6fblj" |
url |
string |
Direct download link | "<https://6187d7d7a63c5765272ae3e08bdc6eac.cdn.bubble.io/file_name.pdf>" |
status |
string |
Processing status (Created, Extracting, Processing, Error, Success ) |
"Success" |
credits |
number |
Number of credits spent to generate the output file | 1 |
created_date |
number (timestamp) |
UNIX timestamp when the file was created | 1744722248210 |
is_public? |
string (yes / no) |
Indicates whether the file is publicly accessible. If yes, the file can be shared with others via its URL from preview page. |
“yes” |