Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the iFillPDF API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fifillpdf.com%2Fifillpdf" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fifillpdf.com%2Fifillpdf" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with iFillPDF API.
Upload a PDF by file, pdf_url, or pending_upload_id and start AI field detection on it
Analyse a PDF synchronously with POST /api/v1/documents/analyze when the caller needs fields back at once
Fill an analysed document with values and get the PDF back, or a signed URL with format=url
Save an analysed document as a template and clone it into a new working document without debiting page quota
GET STARTED
Search documents by name and filter by status such as completed, filling, or analysis_failed
Store an ID or financial document in the per-user vault so it can pre-fill later forms
Patterns agents use iFillPDF API for, with concrete tasks.
★ AI agent completing PDF forms through Jentic
A developer wants their agent to complete administrative PDF forms from data it already has. Through Jentic the agent searches for 'fill a PDF form', loads the iFillPDF document creation operation with its input schema, uploads the form, waits for analysis to finish, and then calls the fill operation with the values, all with the API key injected at call time. The agent returns a signed URL to the filled PDF.
POST /api/v1/documents with a pdf_url, poll GET /api/v1/documents/{document_id} until analysis completes, then POST /api/v1/documents/{document_id}/fill with values and format=url
Reusable form templates
Teams that file the same form repeatedly analyse it once and reuse it. POST /api/v1/templates creates a template from a source_document_id, and POST /api/v1/templates/{template_id}/use clones it into a new working document pre-filled with its frozen defaults. The spec notes the clone does not re-run analysis and does not debit the page quota.
POST /api/v1/templates with source_document_id and a name, then POST /api/v1/templates/{template_id}/use and fill the new document
Document status review
Operations staff track which uploaded forms are ready and which need attention. GET /api/v1/documents lists the team's documents newest first, with q to search by name, status to filter by states such as completed or analysis_failed, and cursor pagination. A failed document can be retried with the reanalyze operation.
Call GET /api/v1/documents with status=analysis_failed, then POST /api/v1/documents/{document_id}/reanalyze for each result
18 endpoints — the ifillpdf api uploads pdf forms, runs ai field detection on them, stores the values a user enters, and generates the filled pdf.
METHOD
PATH
DESCRIPTION
/api/v1/documents
Create and analyse a document asynchronously
/api/v1/documents/analyze
Create and analyse a document synchronously
/api/v1/documents/{document_id}
Get a document
/api/v1/documents/{document_id}/fill
Fill a document
/api/v1/documents
List documents
/api/v1/templates
Create a template from a document
/api/v1/templates/{template_id}/use
Instantiate a template
/api/v1/documents
Create and analyse a document asynchronously
/api/v1/documents/analyze
Create and analyse a document synchronously
/api/v1/documents/{document_id}
Get a document
/api/v1/documents/{document_id}/fill
Fill a document
/api/v1/documents
List documents
/api/v1/templates
Create a template from a document
/api/v1/templates/{template_id}/use
Instantiate a template
What agents get from Jentic-routed access to this vendor.
Setup
Wiring iFillPDF by hand means sending a bearer API key, choosing between multipart, pdf_url, and signed-upload paths, and polling an asynchronous analysis before you can fill. Through Jentic you install once, import iFillPDF from the API Directory, store the key once, and your agent calls it.
Permission scoping
iFillPDF puts the document id in the URL path (/api/v1/documents/{document_id}/...), so a rule can pin your agent to one document and the operations you pick for it. You choose the operations it may call, so destructive ones like document or template deletion are not included unless you add them.
Credential isolation
Your iFillPDF API key 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.
Intent-based discovery
Agents search Jentic by intent such as 'fill a PDF form' or 'create a template from a document', and Jentic returns the matching iFillPDF operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using iFillPDF API through Jentic.
What authentication does the iFillPDF API use?
The iFillPDF API authenticates with an API key sent as a bearer token in the Authorization header, per its OpenAPI spec. Two operations are declared with no auth requirement: creating a pending upload and resolving a public template by slug. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time.
Can I get the filled PDF as a link instead of a file with the iFillPDF API?
Yes. POST /api/v1/documents/{document_id}/fill takes the values and returns the filled PDF by default. Pass format=url to get a signed URL instead; the spec also says a signed URL is returned when the PDF is too large for a direct response. An optional watermark field rides in the same body.
What are the rate limits for the iFillPDF API?
The OpenAPI spec does not specify rate limits, though it notes that creating a document debits your page quota. Check https://www.ifillpdf.com for current limits and quota by plan.
Is there an iFillPDF MCP server?
You don't need an MCP server to give your agent iFillPDF. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the upload, analysis, and fill operations it needs, discovered on demand.
Can I limit what my agent is allowed to do with the iFillPDF API?
Yes. As a worked example, allow GET and the fill operation only under /api/v1/documents/{document_id} for one document id, and the agent can read that form and produce its filled PDF but cannot delete documents, change templates, or write to the vault. Every call it makes is logged.
How do I fill a PDF form through Jentic?
Search Jentic for 'fill a PDF form', load the document creation operation, and upload the form or pass a pdf_url. Poll GET /api/v1/documents/{document_id} until analysis completes, then call the fill operation with values. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Upload a PDF form, let iFillPDF detect its fields, write values into them, and download the filled PDF or reuse it as a template.
Use for: Fill out this PDF form with my details, I want to upload a PDF and detect its form fields, Get the filled PDF as a download link, List all documents that failed analysis
Not supported: Does not collect e-signatures, convert office files, or edit PDF page layout. Use for detecting and filling PDF form fields only.
The iFillPDF API uploads PDF forms, runs AI field detection on them, stores the values a user enters, and generates the filled PDF. A document can be created from a multipart upload, a pdf_url, or a pending_upload_id, analysed asynchronously or synchronously, then filled with POST /api/v1/documents/{document_id}/fill, which returns the PDF directly or a signed URL when format=url. Analysed documents can be saved as reusable templates and cloned into new working documents without re-running analysis, and a per-user vault holds ID or financial documents for later pre-filling.
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.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>