canonical: https://jentic.com/apis/doqs.dev/doqs

# doqs.dev | PDF filling API

doqs.dev provides a programmatic PDF filling and generation service that lets developers populate template PDFs with structured data and render new documents from HTML or templates. The API exposes endpoints to list available templates, fill a template by id, render PDFs from arbitrary input, and retrieve previously generated submissions. Authentication is via an x-api-key header so server-side jobs and agents can issue document generation calls without an OAuth dance.

## For AI agents

Fill PDF templates with structured field data and render generated PDFs through doqs.dev so an agent can produce ready-to-send documents.

## Scope

Does not handle e-signature collection, PDF OCR, or document storage as a CMS - use for filling and rendering PDFs only.

## Capabilities

- Fill a stored PDF template by id with structured field values via `/pdf-filling/templates/{id}/fill`
- List available PDF templates uploaded to doqs.dev for selection by the calling agent
- Render an arbitrary PDF document from supplied input via `/pdf-generator/render`
- Retrieve previously generated PDF submissions for audit or re-download
- Authenticate every request with an x-api-key header so headless workers can issue document jobs

## Use cases

### Templated Document Filling

Fill stored PDF templates such as contracts, NDAs, or onboarding forms with structured data extracted from a CRM or form submission. The agent calls `/pdf-filling/templates/{id}/fill` with the template id and a payload of field values, and receives a filled PDF in response. This avoids maintaining custom PDF rendering code and keeps the template surface in one place.

Example prompt: Fill template id 42 via POST `/pdf-filling/templates/42/fill` with the customer name, address, and signature date, and return the resulting PDF binary.

### On-Demand PDF Rendering

Render PDFs on demand from arbitrary input through `/pdf-generator/render` - useful when the document layout is generated dynamically rather than from a saved template. Agents can submit the rendering payload and stream back the produced file for delivery, signing, or storage. Integration is a single call, with results retrievable later via `/pdf-generator/submissions.`

Example prompt: Render a one-off PDF receipt via POST `/pdf-generator/render` with the receipt payload, then retrieve the submission record via GET `/pdf-generator/submissions.`

### Audit and Re-download of Generated Documents

List previously rendered PDF submissions to audit which documents were produced and when, and re-download specific outputs without regenerating them. Compliance teams use this to confirm that a contract was issued, while support agents use it to resend a copy of a generated form. The `/pdf-generator/submissions` endpoint provides the listing in one call.

Example prompt: List recent submissions via GET `/pdf-generator/submissions` and identify the most recent rendered receipt for customer id 1234.

### AI Agent Document Generation

Through Jentic, an AI agent can interpret 'generate a filled NDA PDF for Acme Corp' and resolve it to the doqs.dev fill operation without browsing docs. Jentic injects the API key from the vault and validates the field payload against the operation schema. End-to-end setup is under an hour from sign-up.

Example prompt: Use Jentic search for 'fill a PDF template with doqs', load the template fill operation, and execute it for template id 42 with structured field data.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/pdf-filling/templates` | List PDF templates |
| POST | `/pdf-filling/templates/{id}/fill` | Fill a PDF template by id |
| POST | `/pdf-generator/render` | Render a PDF from supplied input |
| GET | `/pdf-generator/submissions` | List generated PDF submissions |

## Key resources

- **PDF Templates** — List and fill stored PDF templates with structured field data.
- **PDF Generator** — Render PDFs on demand and retrieve generated submissions.

## Why Jentic

- **Setup:** Wiring the doqs.dev PDF filling API by hand means placing your key in the x-api-key header and matching the right template before a fill or render call succeeds. Through Jentic you install once, import the doqs.dev PDF filling API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** doqs.dev puts the template id in the URL path (`/pdf-filling/templates/{id}/fill`), so a rule can pin your agent to one template for filling. You choose the operations it may call, so it can list templates and fill or render the templates you allow and nothing more.
- **Credential handling:** Your doqs.dev API key is stored once, encrypted, by your own Jentic One instance and injected at execution time as the x-api-key header. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'fill a PDF template with doqs', and Jentic returns the `/pdf-filling/templates/{id}/fill` operation with its input schema so the agent calls the right endpoint without reading the docs.

## Related APIs

- **PDFMonkey API** — Both render PDFs from templates; PDFMonkey emphasises HTML-to-PDF templating while doqs.dev emphasises form-style PDF filling.
- **PDF.co API** — PDF.co offers a broader PDF toolset (OCR, splitting, conversion); doqs.dev focuses narrowly on filling and rendering.
- **Jotform API** — Jotform collects the form data; doqs.dev renders the filled PDF from it.

## FAQ

### What authentication does the doqs.dev API use?

doqs.dev uses an API key passed in the x-api-key request header. Through Jentic, that key is stored encrypted in the vault and injected at execution time, so it never enters the agent's prompt or response context.

### Can I fill an existing PDF template with the doqs.dev API?

Yes. POST `/pdf-filling/templates/{id}/fill` accepts a structured payload of field values for a template you have uploaded to doqs.dev and returns the filled PDF. List available templates via GET `/pdf-filling/templates` first to discover their ids.

### Can I generate a PDF from arbitrary input rather than a saved template?

Yes. POST `/pdf-generator/render` accepts a render payload and returns the produced PDF. Use GET `/pdf-generator/submissions` afterwards to retrieve previously rendered outputs.

### How do I fill a PDF template with doqs.dev through Jentic?

Run pip install jentic, search for 'fill a PDF template with doqs', load the `/pdf-filling/templates/{id}/fill` operation, and execute it with your template id and field values. Jentic returns the input schema so the agent assembles a valid payload without reading the docs.

### What are the rate limits for the doqs.dev API?

The published spec does not declare explicit per-endpoint limits. Implement client-side backoff and treat 429 responses as the signal to slow down. Contact doqs.dev directly for high-volume rendering quotas.

### Can I retrieve a list of previously generated PDFs?

Yes. GET `/pdf-generator/submissions` returns the history of renders associated with your account, useful for audit, compliance, or re-downloading a previously produced document.

### Can I limit what my agent is allowed to do with the doqs.dev API?

Yes. Because you run Jentic One yourself, your own rules decide which doqs.dev operations the agent may call, so you can allow it to list templates and fill or render only the templates you permit and nothing else. Since the template id sits in the URL path at `/pdf-filling/templates/{id}/fill`, a rule can pin the agent to a single template rather than every template in your account. Your doqs.dev API key is held by your own instance and injected as the x-api-key header at execution time, so the agent never sees the credential.
