Emboss
getemboss.ai
· Emboss
Emboss turns paperwork into a filled PDF. It can make a flat PDF fillable, complete a form from data, fill a PDF form from data or from supporting context documents, and batch fill forms from a spreadsheet, one row per output file. Use it whenever an agent needs to fill a PDF form, generate many filled copies of the same form, or inspect a form's fields before filling it. Get a price quote for filling a PDF form before any paid work runs, free and exact, then execute it once you have seen the price. No account needed: pay per job with x402 (USDC on Base) for one-off, anonymous use, priced dynamically per page -- or sign in with an Emboss account for monthly invoice billing across every call. A pay-per-call HTTP door is also available at https://api.getemboss.ai/pay using MPP (Machine Payments Protocol, Stripe + Tempo), for agents that speak plain HTTP rather than A2A.
getemboss.ai via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
C
Conformance score: 72/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-09-09 01:34:37 current | 757267a12427… |
view → |
Try it
Send a message to this agent live. Your prompt is proxied through Agenstry.
Endpoints
| Agent card | https://getemboss.ai/.well-known/agent-card.json |
| Provider | https://getemboss.ai |
| Docs | https://getemboss.ai/docs/a2a |
Skills · 15 declared · mapped to canonical taxonomy
Turn a flat or scanned PDF form into a fillable PDF with detected fields. Make a flat PDF fillable. Input: a flat (non-fillable) PDF file, or a `library` slug f…
Fill a PDF form from structured data such as JSON or key-value answers. Fill a PDF form from data. Input: a form_id (from make_fillable or find_forms) or a flat…
Fill a PDF form using facts found in supporting documents. Complete a form from data found in supporting documents. Input: a form_id, a PDF file, or a `library`…
Prepare a form from documents: a proposal of every answer with its source, what is missing, and where documents disagree, before writing, plus attachments for a…
Fill one copy of a PDF form for every row of a spreadsheet. Batch fill forms from a spreadsheet. Input: a form_id or PDF file, plus a CSV file (or rows) with on…
Propose which spreadsheet columns fill which PDF form fields. Suggest how spreadsheet columns map to form fields before a batch fill. Input: a form_id or PDF fi…
Find forms previously made fillable, by title search and state. Input: an optional query string, state filter (ready, processing, failed, or all), and a result …
Find a blank government form in the Emboss library by name or number, ready to fill. Find a blank US federal form in the Emboss library, by name, number or alia…
Get a form's current status and field inventory. Input: a form_id. Output: the form's state (ready, processing, or failed), title, page count, and field list.
Write the answers into the form, render it with text that fits, check it, and return the PDF with a report and a receipt, or one submission package. Commit a pr…
Check a filled form: required fields, allowed options, consistent choices, text that fits, empty signature boxes; returns complete, review required, incomplete …
Read the values out of a filled PDF form, labelled by field, with a completeness verdict when the form is known. Read the values out of a filled PDF. Input: the…
Attach one supporting document to a proposal from prepare, so the commit can hand back one submission package. Input: a proposal_id, the document as a FilePart …
Get a price quote for filling a PDF form before any paid work runs. Input: the target skill (make_fillable, fill_form, fill_from_context, suggest_mapping, or fi…
Run the job priced by a previous quote_job call, from its staged inputs, with no re-upload. Input: a quote_id. Output: the same result the quoted skill's own di…
Health · last 1 probes
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/getemboss.ai) [](https://agenstry.com/agents/getemboss.ai) [](https://agenstry.com/agents/getemboss.ai) [](https://agenstry.com/agents/getemboss.ai)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"name": "Emboss",
"description": "Emboss turns paperwork into a filled PDF. It can make a flat PDF fillable, complete a form from data, fill a PDF form from data or from supporting context documents, and batch fill forms from a spreadsheet, one row per output file. Use it whenever an agent needs to fill a PDF form, generate many filled copies of the same form, or inspect a form's fields before filling it. Get a price quote for filling a PDF form before any paid work runs, free and exact, then execute it once you have seen the price. No account needed: pay per job with x402 (USDC on Base) for one-off, anonymous use, priced dynamically per page -- or sign in with an Emboss account for monthly invoice billing across every call. A pay-per-call HTTP door is also available at https://api.getemboss.ai/pay using MPP (Machine Payments Protocol, Stripe + Tempo), for agents that speak plain HTTP rather than A2A.",
"supportedInterfaces": [
{
"url": "https://api.getemboss.ai/a2a",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"version": "1.0.0",
"documentationUrl": "https://getemboss.ai/docs/a2a",
"capabilities": {
"streaming": true,
"pushNotifications": false,
"extensions": [
{
"uri": "https://github.com/google-a2a/a2a-x402/v0.1",
"description": "Pay per job over A2A with x402 (USDC on Base), for anonymous callers with no Emboss account. See quote_job/execute_quote and the five paid skills' input-required payment flow.",
"required": false
}
]
},
"securitySchemes": {
"bearer": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "Emboss API key (sk_...)",
"description": "An Emboss API key. See https://getemboss.ai/docs/authentication."
},
"oauth2": {
"type": "oauth2",
"description": "Sign in with your Emboss account. See https://getemboss.ai/docs/authentication.",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://api.getemboss.ai/oauth/authorize",
"tokenUrl": "https://api.getemboss.ai/oauth/token",
"scopes": {
"forms:read": "Read your forms",
"forms:write": "Create and fill forms"
}
}
}
}
},
"securityRequirements": [
{
"bearer": [
"forms:read",
"forms:write"
]
},
{
"oauth2": [
"forms:read",
"forms:write"
]
}
],
"defaultInputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"defaultOutputModes": [
"application/pdf",
"application/json"
],
"skills": [
{
"id": "make_fillable",
"name": "Make a PDF fillable",
"description": "Turn a flat or scanned PDF form into a fillable PDF with detected fields. Make a flat PDF fillable. Input: a flat (non-fillable) PDF file, or a `library` slug from find_form to start from a blank government form Emboss already keeps. Output: a form_id and a field inventory (labels, types, positions) detected on the PDF, ready for fill_form or fill_from_context. Also: detect form fields in a PDF; add fillable fields to a document; extract a PDF form schema; make a government or business form fillable. Optional input: retention (ephemeral or account_default; the account's own setting by default). Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.",
"tags": [
"document-processing",
"form-schema",
"forms",
"make-fillable",
"pdf",
"pdf-form-fields"
],
"examples": [
"make this PDF fillable",
"turn this scanned PDF into a fillable form",
"add fillable fields to this document"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "fill_form",
"name": "Fill a form from data",
"description": "Fill a PDF form from structured data such as JSON or key-value answers. Fill a PDF form from data. Input: a form_id (from make_fillable or find_forms) or a flat PDF file, plus a values object mapping field names to answers. Output: a filled PDF file (flattened on request) and the form_id. Also: fill a PDF form from JSON; populate form fields from data; complete a PDF application from known values; write answers into a form. Optional input: retention (ephemeral or account_default; the account's own setting by default). Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.",
"tags": [
"data-entry",
"fill-pdf",
"form-filling",
"forms",
"json",
"pdf"
],
"examples": [
"fill a PDF form",
"fill in this form with these values",
"complete this application with my details"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "fill_from_context",
"name": "Fill a form from context documents",
"description": "Fill a PDF form using facts found in supporting documents. Complete a form from data found in supporting documents. Input: a form_id, a PDF file, or a `library` slug from find_form, plus one or more context files and/or freeform context text (a resume, a prior filing, notes) to extract answers from. Output: a filled PDF file, the form_id, and a report of which fields were filled with what confidence. Also: fill a PDF form from DOCX, spreadsheets, images, JSON, or other documents; pre-fill a government form from supporting paperwork; complete an application from a resume or company details; extract answers from context documents into a form. Optional input: retention (ephemeral or account_default; the account's own setting by default). Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.",
"tags": [
"context-fill",
"document-extraction",
"document-processing",
"extraction",
"fill-pdf",
"forms",
"pdf"
],
"examples": [
"fill out this W-9 from my company details",
"use my resume to fill out this application",
"complete this form from last year's tax return",
"fill this intake form from my notes"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "prepare",
"name": "Prepare a form from documents",
"description": "Prepare a form from documents: a proposal of every answer with its source, what is missing, and where documents disagree, before writing, plus attachments for a package. Prepare a form instead of filling it. Input: a form_id or PDF file, plus one or more context files and/or freeform context text, and an optional policy (safe or strict). Output: a proposal_id and the proposal itself, listing every field's proposed answer with the document it came from, the questions still open, and the signatures and attachments a person still has to supply. Nothing is written into the PDF until a later call commits it. Also: review a form before it is filled; see which answers came from which document; find the gaps in an application; check a form for conflicting information; propose answers for review instead of writing them. Optional input: retention (ephemeral or account_default; the account's own setting by default). Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.",
"tags": [
"agents",
"extraction",
"forms",
"pdf",
"review"
],
"examples": [
"what do I still need to fill in this form",
"which answers came from which document",
"prepare this application from these files",
"check this form before you fill it in"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "fill_batch",
"name": "Batch fill forms from a spreadsheet",
"description": "Fill one copy of a PDF form for every row of a spreadsheet. Batch fill forms from a spreadsheet. Input: a form_id or PDF file, plus a CSV file (or rows) with one row per filled copy, and an optional column-to-field mapping. Output: one filled PDF per row and the form_id. Also: batch fill PDF forms from a CSV or Excel file; mail-merge a PDF form; generate many filled forms from a table of records. Optional input: retention (ephemeral or account_default; the account's own setting by default). Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.",
"tags": [
"batch",
"fill-pdf",
"forms",
"mail-merge",
"pdf",
"spreadsheet"
],
"examples": [
"fill one copy of this form for each row in my CSV",
"batch fill forms from a spreadsheet",
"generate a filled form for every employee in this sheet"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "suggest_mapping",
"name": "Suggest a column-to-field mapping",
"description": "Propose which spreadsheet columns fill which PDF form fields. Suggest how spreadsheet columns map to form fields before a batch fill. Input: a form_id or PDF file, plus a CSV file or a list of column names. Output: a suggested mapping from columns to field names for review. Also: map CSV columns to form fields; match spreadsheet headers to a PDF form; plan a batch fill.",
"tags": [
"form-schema",
"forms",
"mapping",
"pdf",
"spreadsheet"
],
"examples": [
"which column goes in which field",
"match my spreadsheet columns to the form fields",
"check the column mapping before a batch fill"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "find_forms",
"name": "Find previously processed forms",
"description": "Find forms previously made fillable, by title search and state. Input: an optional query string, state filter (ready, processing, failed, or all), and a result limit. Output: a list of matching forms with their form_id, title, and state.",
"tags": [
"pdf",
"forms",
"search"
],
"examples": [
"find the lease form I made last week",
"show me the forms I've uploaded",
"search my forms for the W-9"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "find_form",
"name": "Find a blank government form",
"description": "Find a blank government form in the Emboss library by name or number, ready to fill. Find a blank US federal form in the Emboss library, by name, number or alias. Input: a query string such as 'W-9', 'i9' or 'taxpayer identification'. Output: each matching form's slug, title, agency, revision and page count. Pass a slug as `library` on make_fillable or fill_from_context to start from that form instead of uploading one. Also: look up a blank IRS or USCIS form; find a W-9 or an I-9 to fill in; get a blank federal form by its number; search a library of government forms.",
"tags": [
"form-schema",
"forms",
"government-forms",
"library",
"pdf",
"search"
],
"examples": [
"find me a blank W-9",
"do you have the I-9 form",
"which government forms can I fill in here"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "get_form",
"name": "Get a form's status and field inventory",
"description": "Get a form's current status and field inventory. Input: a form_id. Output: the form's state (ready, processing, or failed), title, page count, and field list.",
"tags": [
"pdf",
"forms",
"inspection"
],
"examples": [
"is my form ready yet",
"what fields are on this form",
"check the status of my form"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "commit",
"name": "Commit a proposal",
"description": "Write the answers into the form, render it with text that fits, check it, and return the PDF with a report and a receipt, or one submission package. Commit a proposal from prepare: write any remaining values, render the PDF with text that fits, check it, and return the filled PDF with a report and a receipt. Input: a proposal_id from prepare, plus any values still needed (field_id, value, and an optional note), an optional policy (safe or strict), and an optional package flag. With package the output is one submission package as well: the filled form, the proposal's attachments in the order the form asks for them, and the receipt embedded in the file. Output: a job_id; when the task completes, the verification result, a receipt link, the filled PDF, and the package when one was asked for. Also: commit a proposal to a filled PDF; render a prepared form; finalize a form after review; write the reviewed answers into the document.",
"tags": [
"agents",
"forms",
"pdf"
],
"examples": [
"write the answers into the form and check it",
"render this proposal into a filled PDF",
"finalize this form now that the answers are confirmed"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "verify",
"name": "Check a filled form",
"description": "Check a filled form: required fields, allowed options, consistent choices, text that fits, empty signature boxes; returns complete, review required, incomplete or failed. Check a filled PDF against a form's contract: required fields, allowed options, consistent choices, text that fits, empty signature boxes. Input: a form_id and the filled PDF (a FilePart or a url). Output: complete, review required, incomplete, or failed, plus the list of issues found. Also: verify a filled PDF form; check a completed form for missing or invalid fields; validate a filled-in document before submitting it.",
"tags": [
"agents",
"forms",
"pdf",
"verification"
],
"examples": [
"check whether this filled form is complete",
"what is still missing on this filled PDF",
"validate this completed form before I submit it"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "read_form",
"name": "Read a filled form back",
"description": "Read the values out of a filled PDF form, labelled by field, with a completeness verdict when the form is known. Read the values out of a filled PDF. Input: the filled PDF as a FilePart (url or inline bytes), and optionally a form_id when the form is already in the account. Output: every form box in the file with its value and whether it is filled, the labels and required flags when the form is recognised, and a completeness verdict. Nothing is stored. Also: extract form data; get values from a filled PDF; read a completed form back into data; pull the answers out of a filled application; turn a filled PDF into JSON.",
"tags": [
"document-extraction",
"extraction",
"form-schema",
"forms",
"pdf",
"read-back"
],
"examples": [
"read the values out of this filled PDF",
"what did someone write in this form",
"turn this completed form into data"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "attach",
"name": "Attach a document to a proposal",
"description": "Attach one supporting document to a proposal from prepare, so the commit can hand back one submission package. Input: a proposal_id, the document as a FilePart (PDF, PNG or JPEG), and optionally `for` in the message metadata naming one of the proposal's requirements. Output: the attachment's number, the requirement it satisfies, its size and its hash. Optional input: retention (ephemeral or account_default; the account's own setting by default). Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.",
"tags": [
"pdf",
"forms",
"agents",
"attachments"
],
"examples": [
"attach my passport to this form",
"add the bank statement this application needs",
"upload the proof of address for this proposal"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "quote_job",
"name": "Get a price quote for filling a PDF form",
"description": "Get a price quote for filling a PDF form before any paid work runs. Input: the target skill (make_fillable, fill_form, fill_from_context, suggest_mapping, or fill_batch) and its own input, exactly as a direct call to that skill would take. Output: a quote_id, price, and expiry, computed and locked in before anything runs.",
"tags": [
"pdf",
"forms",
"pricing",
"quote"
],
"examples": [
"get a price quote for filling a PDF form",
"how much would it cost to fill this form",
"quote me a price before you run this"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
},
{
"id": "execute_quote",
"name": "Run a previously quoted job",
"description": "Run the job priced by a previous quote_job call, from its staged inputs, with no re-upload. Input: a quote_id. Output: the same result the quoted skill's own direct call would return (a filled PDF, a fillable form, or a batch of filled copies).",
"tags": [
"pdf",
"forms",
"pricing",
"quote"
],
"examples": [
"run the quote I just got",
"execute that quoted job",
"go ahead and fill it now that I've seen the price"
],
"inputModes": [
"application/pdf",
"text/csv",
"application/json"
],
"outputModes": [
"application/pdf",
"application/json"
]
}
],
"provider": {
"organization": "Emboss",
"url": "https://getemboss.ai"
},
"signatures": [
{
"protected": "eyJhbGciOiJFZERTQSIsImprdSI6Imh0dHBzOi8vYXBpLmdldGVtYm9zcy5haS8ud2VsbC1rbm93bi9hMmEtandrcy5qc29uIiwia2lkIjoiZW1ib3NzLWEyYS0xIiwidHlwIjoiSk9TRSJ9",
"signature": "oKDQwz_fiiwmn0yfXdpNL7U0nmxTMzWFTfGu3knpSltbmm8XzII8hgB2vafANGZR0hrkhKAMeGOjcShMzxKbCA"
}
]
}