canonical: https://jentic.com/apis/doqlo.com/doqlo

# Doqlo Bulk Fill Public API

The Doqlo Bulk Fill API turns a source PDF, a reusable configuration package exported from the Bulk Fill editor, and a row-data input into a batch of filled documents through an export job. You submit the job with either inline rows or a CSV file and a required failure threshold, then poll the job until it finishes and redeem a download handle for the output. It is built for producing many filled PDFs from one template in a single asynchronous run.

## For AI agents

Create bulk PDF fill export jobs from a template and row data, track their progress, and download the finished documents when the job completes.

## Scope

Does not sign documents, host a document library, or send email. Use for bulk PDF fill and export jobs only.

## Capabilities

- Submit a bulk fill export job from a source PDF, a configuration package, and inline rows or a CSV file
- Set a failure threshold so a job stops when too many rows fail to fill
- Poll an export job for its current state while it runs
- Download the completed output once the export job finishes

## Use cases

### Agent-driven bulk document fill

An AI agent connected through Jentic submits a Bulk Fill export job from a stored template and a CSV of rows, polls the job until it completes, and retrieves the download handle, producing a batch of filled PDFs without a human stepping through a UI. The agent sets the failure threshold so a bad batch stops early rather than producing broken output.

Example prompt: Create an export job from a stored template and a CSV of rows, poll until it completes, and return the download handle

### Mail-merge style document batches

Operations teams generate personalized document batches, such as certificates or statements, by filling one PDF template with each row in a dataset. Doqlo runs the fill as a single asynchronous export job and enforces a maximum failed-row percentage so a partial dataset does not silently produce an incomplete batch.

Example prompt: Submit an export job that fills a certificate template for 200 rows and reject it if more than 2 percent of rows fail

### Export job status polling

An integration that kicks off a long-running fill needs to know when the output is ready. The Doqlo API returns an export job's current state on each read, so a workflow can poll until the job completes and then redeem the download handle for the finished documents.

Example prompt: Read the state of an export job and, once it reports complete, redeem the download handle

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/bulkfill/export-jobs` | Create a Bulk Fill export job |
| GET | `/v1/bulkfill/export-jobs/{job_id}` | Read the current state of an export job |
| GET | `/v1/bulkfill/export-jobs/{job_id}/download` | Download a completed export job's output |

## Key resources

- **Export jobs** — Create a bulk fill job, read its state, and download its completed output

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 68 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 90 / 100
  - Developer Experience & Jentic Compatibility: 69 / 100
  - AI-Readiness & Agent Experience: 49 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 71 / 100
- **View full report:** https://jentic.com/apis/doqlo.com/doqlo/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Doqlo by hand means handling its Bearer auth, attaching the Idempotency-Key header on job creation, assembling the multipart upload of the PDF, config package, and CSV, and polling the job to completion yourself. Through Jentic you install once, import Doqlo from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Doqlo carries the job id in the URL path on the read and download operations, so a rule can pin your agent to creating and reading export jobs. You choose the operations it may call, so the agent only touches the export-job surface you grant.
- **Credential handling:** Your Doqlo token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a bulk fill export job' or 'download a completed export', and Jentic returns the matching Doqlo operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **CraftMyPDF** — Template-based PDF generation from JSON data, an alternative to Doqlo's PDF-template bulk fill.
- **PDFMonkey** — HTML-template document generation, versus Doqlo filling a source PDF from row data.

## FAQ

### What authentication does the Doqlo Bulk Fill API use?

The Doqlo Bulk Fill API authenticates with a Bearer token per its OpenAPI spec, sent in the Authorization header on every request, and job creation also requires an Idempotency-Key header. Through Jentic the token is stored once and injected at call time so it never enters the agent's prompt.

### Can I fill one PDF template with many rows at once with the Doqlo API?

Yes. You submit a source PDF, a configuration package, and either inline rows or a CSV file to the create-export-job endpoint, set a maximum failed-row percentage, then poll the job and download the batch of filled documents when it completes.

### What are the rate limits for the Doqlo Bulk Fill API?

The spec defines dedicated rate-limited and create-cooldown error responses but does not publish fixed numeric limits. Check the Doqlo documentation for the current per-plan limits and handle the cooldown response when creating jobs in quick succession.

### Is there a Doqlo API MCP server?

You don't need an MCP server to give your agent the Doqlo Bulk Fill API. Jentic connects it directly from the API Directory: import it, store your token once, and your agent creates, polls, and downloads export jobs on demand without loading another server's tool definitions into its context.

### Can I limit what my agent is allowed to do with the Doqlo API?

Yes. Write a rule that allows only the create-job and read-job operations, so the agent can submit fills and check their status but cannot reach anything outside the export-job surface, and every call it makes is logged.

### How do I generate a batch of filled PDFs with the Doqlo API through Jentic?

Search Jentic for 'create a bulk fill export job', add the Doqlo API from the directory, and store your token once; your agent can then submit a job, poll it to completion, and redeem the download handle. To run it on your own infrastructure, install Jentic One from its GitHub repo.
