Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
100
💰 Paid API live JSON-RPC signature verified A2A 1.0 v1.0.0 x402 micropay

Emboss

api.getemboss.ai · Emboss

Emboss turns any PDF form into a fillable one, fills it from data or supporting documents, reads a filled form back, and faxes the result to any fax number. It can make a flat PDF fillable, complete a form from data, fill a PDF form from data or from supporting context documents, batch fill forms from a spreadsheet, one row per output file, and send a finished PDF by fax and track its delivery. Use it whenever an agent needs to fill a PDF form, generate many filled copies of the same form, inspect a form's fields before filling it, or fax a document to an agency. 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.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain api.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.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
92/100
grade A · 9 criteria
Uptime
100.0%
54 direct probes · 30d
~117 ms response
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
10 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

A
Conformance score: 92/100
A-grade: production-ready agent with verified compliance signals across the board.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~117 ms).
pass Protocol version 10/10
Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape).
pass JWS signature 10/10
Agent card is JWS-signed and signature verifies.
pass Uptime track record 15/15
54/54 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 16 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Emboss (https://getemboss.ai). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
partial Security declaration 2/5
Declares 2 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's 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 recorded

Nothing 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

10 snapshots drifted 9× Every change to agent-card.json
Captured Hash
2026-09-13 04:48:49 current d90985c94701… view →
2026-09-12 22:33:48 d90985c94701… view →
2026-09-12 15:51:26 d90985c94701… view →
2026-09-12 11:41:10 fe01588cff20… view →
2026-09-12 10:01:49 96ef44d00c28… view →
2026-09-12 03:50:30 96ef44d00c28… view →
2026-09-11 23:29:05 8a58d3fd2d0b… view →
2026-09-11 21:43:16 757267a12427… view →
2026-09-11 15:38:02 757267a12427… view →
2026-09-11 08:44:11 757267a12427… view →
Showing latest 10. Older snapshots available via GET /api/agents/api.getemboss.ai/snapshots.
Uptime
100.0%
54 direct probes · 30d
Response
131ms
last direct probe
Skills
16
declared
Streaming
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent…

Endpoints

Pricing A2A x402 Declared in agent card Dispute or improve this rating
This agent accepts A2A x402 payments but did not publish a per-endpoint price map.
Try it ↗ Opens the operator's playground / docs in a new tab.
Agent cardhttps://api.getemboss.ai/.well-known/agent-card.json
Providerhttps://getemboss.ai
Docshttps://getemboss.ai/docs/a2a
Discovered via
registry agentic_market cdp_discovery a2a_registry_org

Skills · 16 declared · mapped to canonical taxonomy

Make a PDF fillable

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…

canonical Document Summarization match 80%
document-processingform-schemaformsmake-fillablepdf
Fill a form from data

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…

canonical Text-to-3D match 80%
data-entryfill-pdfform-fillingformsjson
Fill a form from context documents

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`…

canonical Document Summarization match 82%
context-filldocument-extractiondocument-processingextractionfill-pdf
Prepare a form from documents

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…

canonical Document Summarization match 82%
agentsextractionformspdfreview
Batch fill forms from a spreadsheet

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…

canonical Tax Compliance and Filing match 79%
batchfill-pdfformsmail-mergepdf
Suggest a column-to-field mapping

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…

canonical Document Summarization match 81%
form-schemaformsmappingpdfspreadsheet
Find previously processed forms

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 …

canonical Get Article match 83%
pdfformssearch
Find a blank government form

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…

canonical Get Article match 81%
form-schemaformsgovernment-formslibrarypdf
Get a form's status and field inventory

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.

canonical Get Article match 82%
pdfformsinspection
Commit a proposal

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…

canonical Proposal and SOW Generation match 83%
agentsformspdf
Check a filled form

Check a filled form: required fields, allowed options, consistent choices, text that fits, empty signature boxes; returns complete, review required, incomplete …

canonical Agent Profiles match 82%
agentsformspdfverification
Read a filled form back

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…

canonical Tax Compliance and Filing match 81%
document-extractionextractionform-schemaformspdf
Attach a document to a proposal

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 …

canonical Proposal and SOW Generation match 81%
pdfformsagentsattachments
Get a price quote for filling a PDF form

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…

canonical Get Article match 82%
pdfformspricingquote
Run a previously quoted job

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…

canonical Proposal and SOW Generation match 82%
pdfformspricingquote
Send a PDF by fax

Send a PDF to a fax number and track delivery, priced per transmitted page. Send one or more PDFs to a fax number. The task stays working until the fax is deliv…

canonical Invoicing and Billing match 84%
deliveryfaxformspdftransmission

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-09-13 07:01:45 200 131ms
2026-09-13 07:01:45 200 131ms
2026-09-13 04:48:49 200 102ms
2026-09-13 00:52:50 200 119ms
2026-09-13 00:52:43 200 106ms
2026-09-12 22:33:48 200 95ms
2026-09-12 18:57:37 200 120ms
2026-09-12 18:57:30 200 96ms
2026-09-12 15:51:26 200 132ms
2026-09-12 11:41:17 200 186ms

Similar agents embedding-nearest

Emboss live
Emboss turns any PDF form into a fillable one, fills it from data or supporting documents, reads a filled form back, and faxes the result to
Emboss · q 100%
schemasure.com
Extract strict, JSON-Schema-valid typed JSON from a PNG, JPEG, or WebP document image. Failed extraction calls are not settled. Always-paid
schemasure.com · q 65%
api.doc2json.de
Parse any PDF (optimized for German business documents: invoices, contracts, official letters) into an arbitrary caller-defined JSON schema.
api.doc2json.de · q 45%
Cloud Document AI API
Extract structured data from PDFs, scans, and document images using OCR and ML. Handles invoices, receipts, forms, contracts, tax documents,
documentai.google.gateway-402.com · q 65%
pdf-extract-api.pdfextractapi.workers.dev
Extract structured JSON data from a PDF document.
pdf-extract-api.pdfextractapi.workers.dev · q 65%
api.pixo.tools
Extract structured JSON from a PDF using a caller-supplied schema, via Google Gemini — priced per page (sends content to a third party)
api.pixo.tools · q 45%

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.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/api.getemboss.ai.svg)](https://agenstry.com/agents/api.getemboss.ai)
[![Verified Business](https://agenstry.com/badge/api.getemboss.ai/identity.svg)](https://agenstry.com/agents/api.getemboss.ai)
[![Uptime](https://agenstry.com/badge/api.getemboss.ai/uptime.svg)](https://agenstry.com/agents/api.getemboss.ai)
[![A2A version](https://agenstry.com/badge/api.getemboss.ai/protocol.svg)](https://agenstry.com/agents/api.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.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Emboss",
  "description": "Emboss turns any PDF form into a fillable one, fills it from data or supporting documents, reads a filled form back, and faxes the result to any fax number. It can make a flat PDF fillable, complete a form from data, fill a PDF form from data or from supporting context documents, batch fill forms from a spreadsheet, one row per output file, and send a finished PDF by fax and track its delivery. Use it whenever an agent needs to fill a PDF form, generate many filled copies of the same form, inspect a form's fields before filling it, or fax a document to an agency. 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 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"
      ]
    },
    {
      "id": "send_fax",
      "name": "Send a PDF by fax",
      "description": "Send a PDF to a fax number and track delivery, priced per transmitted page. Send one or more PDFs to a fax number. The task stays working until the fax is delivered or fails. Also: fax a PDF; send a document by fax; fax this form to an agency; transmit a PDF to a fax line; outbound fax from an agent.",
      "tags": [
        "delivery",
        "fax",
        "forms",
        "pdf",
        "transmission"
      ],
      "examples": [
        "fax this signed form to the agency's fax line",
        "send this cover letter and filled form by fax",
        "fax this one-page notice to +15025551212"
      ],
      "inputModes": [
        "application/pdf",
        "text/csv",
        "application/json"
      ],
      "outputModes": [
        "application/pdf",
        "application/json"
      ]
    }
  ],
  "provider": {
    "organization": "Emboss",
    "url": "https://getemboss.ai"
  },
  "signatures": [
    {
      "protected": "eyJhbGciOiJFZERTQSIsImprdSI6Imh0dHBzOi8vYXBpLmdldGVtYm9zcy5haS8ud2VsbC1rbm93bi9hMmEtandrcy5qc29uIiwia2lkIjoiZW1ib3NzLWEyYS0xIiwidHlwIjoiSk9TRSJ9",
      "signature": "RBQFy7migtGPy2hVEHUaQBDRNonVtX9PwxpYKLKpejD1kLc2d7EGIVcUvaGZIEfe4KEG_-CS--njxvKm77qNAw"
    }
  ]
}