Skip to content
Back to api.getemboss.ai

Card snapshot

api.getemboss.ai · 2026-09-07 00:54:02 UTC · 88ffff63e38cf3a5682e2d60f815f748e3af2085ae9953af68802473cb879c49

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "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. 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 or PDF file, 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 field's answer with its source, what is missing, and where documents disagree, before anything is written. 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": "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. 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) and an optional policy (safe or strict). Output: a job_id; when the task completes, the verification result, a receipt link, and the filled PDF. 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": "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": "fl0jcf2Eo5_D0n3HkzkBoCSGp4gg2kTkUZobBk_UnYXo1joW0QWoPvYc1L8bw5F-1WcC5cUPv0h-xn-5u1I9CQ"
    }
  ]
}