openapi: 3.1.0 info: title: Emboss version: 1.1.0 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. Operations: make fillable, fill from values, fill from documents, read a filled form back, send by fax. Pay per operation over plain HTTP with x402 or MPP, no account needed. Account, MCP and A2A doors are described at the links in x-service-info.' x-guidance: '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. Paid operations, each a POST with the PDF as JSON (pdf_url or pdf_base64) or as a multipart file field: POST /pay/make-fillable turns a flat PDF into a fillable one; POST /pay/fill fills a PDF from a JSON object of field values (`values`: an object in the JSON body, or a JSON string in the `values` form field); POST /pay/fill-with-context fills a PDF from supporting documents (`context_base64` or `context` files, `context_text`, or `context_urls`); POST /pay/read reads a filled PDF back into labelled values; POST /pay/fax faxes the PDF to a destination number (`to`, E.164 form such as +15025551212), priced per transmitted page, cards with a 0.50 USD minimum and stablecoins at the exact price. Send the request with no payment first: the server answers 402 with a WWW-Authenticate: Payment challenge (methods: tempo stablecoin USDC.e at the exact price, or stripe card via Shared Payment Tokens with a 0.50 USD minimum). Pay it, resend the identical request with the Authorization: Payment credential, and receive 202 with job_id, status_url and quote_id plus a Payment-Receipt header. Poll status_url until the job is ready and download the result from it. Prices scale with page count; the 402 challenge always carries the exact amount. Free: POST /pay/quote with the PDF returns the page count and the exact price of each operation before you pay. Capabilities: Turn a flat or scanned PDF form into a fillable PDF with detected fields; Fill a PDF form from structured data such as JSON or key-value answers; Fill a PDF form using facts found in supporting documents; Read the values out of a filled PDF form, labelled by field, with a completeness verdict when the form is known; Send a PDF to a fax number and track delivery, priced per transmitted page. Every 402 offers two ways to pay: MPP (Tempo USDC.e or a card, WWW-Authenticate: Payment) and x402 (USDC on Base, PAYMENT-REQUIRED header); pay either and resend the same request. The x402 accepts list also carries one gasless entry per Circle Gateway chain (extra.name GatewayWalletBatched); pay any entry.' contact: name: Emboss url: https://getemboss.ai email: contact@getemboss.ai servers: - url: https://api.getemboss.ai externalDocs: url: https://getemboss.ai/docs/pay-per-call/mpp description: 'Pay-per-call guide: the 402 handshake, both rails, and worked examples.' paths: /pay/make-fillable: post: operationId: pay_make_fillable summary: Turn a flat or scanned PDF form into a fillable PDF with detected fields. description: 'Turn a flat or scanned PDF form into a fillable PDF with detected fields. 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; XFA forms; Adobe LiveCycle forms; Adobe dynamic forms. Input: a PDF file. Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.' tags: - forms security: [] requestBody: required: true content: application/json: schema: type: object properties: pdf_url: type: string format: uri description: Public https URL of the PDF form; Emboss downloads it (10 MB limit). pdf_base64: type: string contentEncoding: base64 description: The PDF form as standard base64 (10 MB decoded limit). oneOf: - required: - pdf_url - required: - pdf_base64 multipart/form-data: schema: type: object properties: file: type: string format: binary description: The PDF form. required: - file responses: '402': description: Payment Required '202': description: Paid and accepted. The Payment-Receipt header carries the MPP receipt. Poll status_url for the result. content: application/json: schema: type: object properties: job_id: type: string status_url: type: string format: uri quote_id: type: string artifact_id: type: string description: The result artifact's id, when the op produced one. artifact_token: type: string description: Bearer token for artifact_id (anonymous callers only). artifacts: type: array items: type: object description: 'Every artifact the op produced: [{artifact_id, role, mime_type}].' required: - job_id - status_url - quote_id '400': description: Not a readable PDF, or a required input is missing. '413': description: Too many pages or too much context. x-payment-info: price: mode: dynamic currency: USD amount: '0.05' min: '0.05' max: '1.00' protocols: - mpp: method: tempo intent: charge currency: '0x20c000000000000000000000b9537d11c60e8b50' - mpp: method: stripe intent: charge currency: usd - x402: scheme: exact network: eip155:8453 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bda02913' - x402: scheme: exact network: eip155:1 asset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' facilitator: circle-gateway - x402: scheme: exact network: eip155:8453 asset: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913' facilitator: circle-gateway - x402: scheme: exact network: eip155:43114 asset: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' facilitator: circle-gateway - x402: scheme: exact network: eip155:42161 asset: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' facilitator: circle-gateway - x402: scheme: exact network: eip155:10 asset: '0x0b2c639c533813f4aa9d7837caf62653d097ff85' facilitator: circle-gateway - x402: scheme: exact network: eip155:137 asset: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359' facilitator: circle-gateway - x402: scheme: exact network: eip155:130 asset: '0x078d782b760474a361dda0af3839290b0ef57ad6' facilitator: circle-gateway - x402: scheme: exact network: eip155:146 asset: '0x29219dd400f2bf60e5a23d13be72b486d4038894' facilitator: circle-gateway - x402: scheme: exact network: eip155:480 asset: '0x79a02482a880bce3f13e09da970dc34db4cd24d1' facilitator: circle-gateway - x402: scheme: exact network: eip155:1329 asset: '0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392' facilitator: circle-gateway - x402: scheme: exact network: eip155:999 asset: '0xb88339cb7199b77e23db6e890353e22632ba630f' facilitator: circle-gateway - x402: scheme: exact network: eip155:5042 asset: '0x3600000000000000000000000000000000000000' facilitator: circle-gateway amount: '50000' unitType: request description: 'Turn a flat or scanned PDF form into a fillable PDF with detected fields. Input: a PDF file.' priceNote: Price scales with page count between min and max; the exact amount for your request is in the 402 challenge. /pay/fill-with-context: post: operationId: pay_fill_with_context summary: Fill a PDF form using facts found in supporting documents. description: 'Fill a PDF form using facts found in supporting documents. 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. Input: a PDF file plus one or more context files and/or context_text/context_urls. Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.' tags: - forms security: [] requestBody: required: true content: application/json: schema: type: object properties: pdf_url: type: string format: uri description: Public https URL of the PDF form; Emboss downloads it (10 MB limit). pdf_base64: type: string contentEncoding: base64 description: The PDF form as standard base64 (10 MB decoded limit). context_base64: type: array maxItems: 5 items: type: object required: - name - base64 properties: name: type: string description: Filename, used to tell documents apart. base64: type: string contentEncoding: base64 description: The document as standard base64. description: Up to 5 supporting documents (PDF, text, images) as base64. context_text: type: string maxLength: 200000 description: Supporting text, up to 200,000 characters. context_urls: type: array items: type: string format: uri maxItems: 5 description: Up to 5 public https URLs of supporting documents. policy: type: string enum: - safe - strict description: 'How sure Emboss must be before writing a value: safe (default) writes high and medium confidence, strict writes high only.' mode: type: string enum: - one_call - two_call description: one_call (default) returns the finished PDF; two_call returns a proposal and a commit token so the caller can resolve open items before anything is written. package: type: boolean description: 'mode=two_call only: also produce one submission package at commit, holding the filled form, the attachments uploaded against the proposal, and the receipt. Priced into this quote.' oneOf: - required: - pdf_url - required: - pdf_base64 multipart/form-data: schema: type: object properties: file: type: string format: binary description: The PDF form. context: type: array items: type: string format: binary description: Supporting documents (PDF, text, images). context_text: type: string maxLength: 200000 description: Supporting text, up to 200,000 characters. context_urls: type: array items: type: string format: uri maxItems: 5 description: Up to 5 public https URLs of supporting documents. policy: type: string enum: - safe - strict description: 'How sure Emboss must be before writing a value: safe (default) writes high and medium confidence, strict writes high only.' mode: type: string enum: - one_call - two_call description: one_call (default) returns the finished PDF; two_call returns a proposal and a commit token so the caller can resolve open items before anything is written. package: type: boolean description: 'mode=two_call only: also produce one submission package at commit, holding the filled form, the attachments uploaded against the proposal, and the receipt. Priced into this quote.' required: - file responses: '402': description: Payment Required '202': description: Paid and accepted. The Payment-Receipt header carries the MPP receipt. Poll status_url for the result. With mode=two_call the body also carries proposal_id, commit_token and proposal_url. content: application/json: schema: type: object properties: job_id: type: string status_url: type: string format: uri quote_id: type: string artifact_id: type: string description: The result artifact's id, when the op produced one. artifact_token: type: string description: Bearer token for artifact_id (anonymous callers only). artifacts: type: array items: type: object description: 'Every artifact the op produced: [{artifact_id, role, mime_type}].' proposal_id: type: string description: 'two_call only: the proposal to read and commit.' commit_token: type: string description: 'two_call only: send as X-Proposal-Token on the proposal routes; lives 45 minutes.' proposal_url: type: string format: uri description: 'two_call only: GET the proposal, token included.' required: - job_id - status_url - quote_id '400': description: Not a readable PDF, or a required input is missing. '413': description: Too many pages or too much context. x-payment-info: price: mode: dynamic currency: USD amount: '0.08' min: '0.08' max: '12.93' protocols: - mpp: method: tempo intent: charge currency: '0x20c000000000000000000000b9537d11c60e8b50' - mpp: method: stripe intent: charge currency: usd - x402: scheme: exact network: eip155:8453 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bda02913' - x402: scheme: exact network: eip155:1 asset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' facilitator: circle-gateway - x402: scheme: exact network: eip155:8453 asset: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913' facilitator: circle-gateway - x402: scheme: exact network: eip155:43114 asset: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' facilitator: circle-gateway - x402: scheme: exact network: eip155:42161 asset: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' facilitator: circle-gateway - x402: scheme: exact network: eip155:10 asset: '0x0b2c639c533813f4aa9d7837caf62653d097ff85' facilitator: circle-gateway - x402: scheme: exact network: eip155:137 asset: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359' facilitator: circle-gateway - x402: scheme: exact network: eip155:130 asset: '0x078d782b760474a361dda0af3839290b0ef57ad6' facilitator: circle-gateway - x402: scheme: exact network: eip155:146 asset: '0x29219dd400f2bf60e5a23d13be72b486d4038894' facilitator: circle-gateway - x402: scheme: exact network: eip155:480 asset: '0x79a02482a880bce3f13e09da970dc34db4cd24d1' facilitator: circle-gateway - x402: scheme: exact network: eip155:1329 asset: '0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392' facilitator: circle-gateway - x402: scheme: exact network: eip155:999 asset: '0xb88339cb7199b77e23db6e890353e22632ba630f' facilitator: circle-gateway - x402: scheme: exact network: eip155:5042 asset: '0x3600000000000000000000000000000000000000' facilitator: circle-gateway amount: '80000' unitType: request description: 'Fill a PDF form using facts found in supporting documents. Input: a PDF file plus one or more context files and/or context_text/context_urls.' priceNote: Price scales with page count between min and max; the exact amount for your request is in the 402 challenge. /pay/fill: post: operationId: pay_fill summary: Fill a PDF form from structured data such as JSON or key-value answers. description: 'Fill a PDF form from structured data such as JSON or key-value answers. Also: fill a PDF form from JSON; populate form fields from data; complete a PDF application from known values; write answers into a form. Input: a PDF file plus a values JSON object mapping field names to answers. Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.' tags: - forms security: [] requestBody: required: true content: application/json: schema: type: object properties: pdf_url: type: string format: uri description: Public https URL of the PDF form; Emboss downloads it (10 MB limit). pdf_base64: type: string contentEncoding: base64 description: The PDF form as standard base64 (10 MB decoded limit). values: type: object additionalProperties: true description: A JSON object mapping field names to answers. oneOf: - required: - pdf_url - required: - pdf_base64 multipart/form-data: schema: type: object properties: file: type: string format: binary description: The PDF form. values: type: string description: A JSON object (as a string) mapping field names to answers. required: - file responses: '402': description: Payment Required '202': description: Paid and accepted. The Payment-Receipt header carries the MPP receipt. Poll status_url for the result. content: application/json: schema: type: object properties: job_id: type: string status_url: type: string format: uri quote_id: type: string artifact_id: type: string description: The result artifact's id, when the op produced one. artifact_token: type: string description: Bearer token for artifact_id (anonymous callers only). artifacts: type: array items: type: object description: 'Every artifact the op produced: [{artifact_id, role, mime_type}].' required: - job_id - status_url - quote_id '400': description: Not a readable PDF, or a required input is missing. '413': description: Too many pages or too much context. x-payment-info: price: mode: dynamic currency: USD amount: '0.07' min: '0.07' max: '1.02' protocols: - mpp: method: tempo intent: charge currency: '0x20c000000000000000000000b9537d11c60e8b50' - mpp: method: stripe intent: charge currency: usd - x402: scheme: exact network: eip155:8453 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bda02913' - x402: scheme: exact network: eip155:1 asset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' facilitator: circle-gateway - x402: scheme: exact network: eip155:8453 asset: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913' facilitator: circle-gateway - x402: scheme: exact network: eip155:43114 asset: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' facilitator: circle-gateway - x402: scheme: exact network: eip155:42161 asset: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' facilitator: circle-gateway - x402: scheme: exact network: eip155:10 asset: '0x0b2c639c533813f4aa9d7837caf62653d097ff85' facilitator: circle-gateway - x402: scheme: exact network: eip155:137 asset: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359' facilitator: circle-gateway - x402: scheme: exact network: eip155:130 asset: '0x078d782b760474a361dda0af3839290b0ef57ad6' facilitator: circle-gateway - x402: scheme: exact network: eip155:146 asset: '0x29219dd400f2bf60e5a23d13be72b486d4038894' facilitator: circle-gateway - x402: scheme: exact network: eip155:480 asset: '0x79a02482a880bce3f13e09da970dc34db4cd24d1' facilitator: circle-gateway - x402: scheme: exact network: eip155:1329 asset: '0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392' facilitator: circle-gateway - x402: scheme: exact network: eip155:999 asset: '0xb88339cb7199b77e23db6e890353e22632ba630f' facilitator: circle-gateway - x402: scheme: exact network: eip155:5042 asset: '0x3600000000000000000000000000000000000000' facilitator: circle-gateway amount: '70000' unitType: request description: 'Fill a PDF form from structured data such as JSON or key-value answers. Input: a PDF file plus a values JSON object mapping field names to answers.' priceNote: Price scales with page count between min and max; the exact amount for your request is in the 402 challenge. /pay/read: post: operationId: pay_read summary: Read the values out of a filled PDF form, labelled by field, with a completeness verdict when the form is known. description: 'Read the values out of a filled PDF form, labelled by field, with a completeness verdict when the form is known. 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. Input: a filled PDF file. Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.' tags: - forms security: [] requestBody: required: true content: application/json: schema: type: object properties: pdf_url: type: string format: uri description: Public https URL of the PDF form; Emboss downloads it (10 MB limit). pdf_base64: type: string contentEncoding: base64 description: The PDF form as standard base64 (10 MB decoded limit). oneOf: - required: - pdf_url - required: - pdf_base64 multipart/form-data: schema: type: object properties: file: type: string format: binary description: The PDF form. required: - file responses: '402': description: Payment Required '202': description: Paid and accepted. The Payment-Receipt header carries the MPP receipt. Poll status_url for the result. content: application/json: schema: type: object properties: job_id: type: string status_url: type: string format: uri quote_id: type: string artifact_id: type: string description: The result artifact's id, when the op produced one. artifact_token: type: string description: Bearer token for artifact_id (anonymous callers only). artifacts: type: array items: type: object description: 'Every artifact the op produced: [{artifact_id, role, mime_type}].' required: - job_id - status_url - quote_id '400': description: Not a readable PDF, or a required input is missing. '413': description: Too many pages or too much context. x-payment-info: price: mode: dynamic currency: USD amount: '0.01' min: '0.01' max: '0.01' protocols: - mpp: method: tempo intent: charge currency: '0x20c000000000000000000000b9537d11c60e8b50' - mpp: method: stripe intent: charge currency: usd - x402: scheme: exact network: eip155:8453 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bda02913' - x402: scheme: exact network: eip155:1 asset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' facilitator: circle-gateway - x402: scheme: exact network: eip155:8453 asset: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913' facilitator: circle-gateway - x402: scheme: exact network: eip155:43114 asset: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' facilitator: circle-gateway - x402: scheme: exact network: eip155:42161 asset: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' facilitator: circle-gateway - x402: scheme: exact network: eip155:10 asset: '0x0b2c639c533813f4aa9d7837caf62653d097ff85' facilitator: circle-gateway - x402: scheme: exact network: eip155:137 asset: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359' facilitator: circle-gateway - x402: scheme: exact network: eip155:130 asset: '0x078d782b760474a361dda0af3839290b0ef57ad6' facilitator: circle-gateway - x402: scheme: exact network: eip155:146 asset: '0x29219dd400f2bf60e5a23d13be72b486d4038894' facilitator: circle-gateway - x402: scheme: exact network: eip155:480 asset: '0x79a02482a880bce3f13e09da970dc34db4cd24d1' facilitator: circle-gateway - x402: scheme: exact network: eip155:1329 asset: '0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392' facilitator: circle-gateway - x402: scheme: exact network: eip155:999 asset: '0xb88339cb7199b77e23db6e890353e22632ba630f' facilitator: circle-gateway - x402: scheme: exact network: eip155:5042 asset: '0x3600000000000000000000000000000000000000' facilitator: circle-gateway amount: '10000' unitType: request description: 'Read the values out of a filled PDF form, labelled by field, with a completeness verdict when the form is known. Input: a filled PDF file.' priceNote: Price scales with page count between min and max; the exact amount for your request is in the 402 challenge. /pay/fax: post: operationId: pay_fax summary: Send a PDF to a fax number and track delivery, priced per transmitted page. description: 'Send a PDF to a fax number and track delivery, priced per transmitted page. 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. Input: a PDF file and a destination fax number in E.164 form. Card payments have a 0.50 minimum, stablecoins pay the exact price. Ephemeral processing: source and output documents are deleted 60 to 70 minutes after the last activity on a form.' tags: - forms security: [] requestBody: required: true content: application/json: schema: type: object properties: pdf_url: type: string format: uri description: Public https URL of the PDF form; Emboss downloads it (10 MB limit). pdf_base64: type: string contentEncoding: base64 description: The PDF form as standard base64 (10 MB decoded limit). to: type: string description: Destination fax number in E.164 form, e.g. +15025551212. artifact_id: type: string description: 'JSON body only: the id of a previously registered artifact to fax, in place of a fresh PDF. Exactly one of the multipart file, pdf_url, pdf_base64, or artifact_id is required.' artifact_token: type: string description: 'JSON body only: the bearer token for artifact_id, required when the artifact has no owner account.' sources: type: array maxItems: 20 description: 'JSON body only: a list of prior artifacts, faxed together as one packet, in place of a fresh PDF. Exactly one of the multipart file, pdf_url, pdf_base64, artifact_id, or sources is required.' items: type: object properties: artifact_id: type: string description: A prior artifact's id. artifact_token: type: string description: The bearer token for an anonymous artifact_id. pages: type: string description: An optional page range, such as 1-3,7. required: - artifact_id oneOf: - required: - pdf_url - required: - pdf_base64 - required: - artifact_id - required: - sources multipart/form-data: schema: type: object properties: file: type: string format: binary description: The PDF form. to: type: string description: Destination fax number in E.164 form, e.g. +15025551212. required: - file responses: '402': description: Payment Required '202': description: Paid and accepted. The Payment-Receipt header carries the MPP receipt. Poll status_url for the result. content: application/json: schema: type: object properties: job_id: type: string status_url: type: string format: uri quote_id: type: string artifact_id: type: string description: The result artifact's id, when the op produced one. artifact_token: type: string description: Bearer token for artifact_id (anonymous callers only). artifacts: type: array items: type: object description: 'Every artifact the op produced: [{artifact_id, role, mime_type}].' required: - job_id - status_url - quote_id '400': description: Not a readable PDF, or a required input is missing. '413': description: Too many pages or too much context. x-payment-info: price: mode: dynamic currency: USD amount: '0.03' min: '0.03' max: '3.00' protocols: - mpp: method: tempo intent: charge currency: '0x20c000000000000000000000b9537d11c60e8b50' - mpp: method: stripe intent: charge currency: usd - x402: scheme: exact network: eip155:8453 asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bda02913' - x402: scheme: exact network: eip155:1 asset: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' facilitator: circle-gateway - x402: scheme: exact network: eip155:8453 asset: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913' facilitator: circle-gateway - x402: scheme: exact network: eip155:43114 asset: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e' facilitator: circle-gateway - x402: scheme: exact network: eip155:42161 asset: '0xaf88d065e77c8cc2239327c5edb3a432268e5831' facilitator: circle-gateway - x402: scheme: exact network: eip155:10 asset: '0x0b2c639c533813f4aa9d7837caf62653d097ff85' facilitator: circle-gateway - x402: scheme: exact network: eip155:137 asset: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359' facilitator: circle-gateway - x402: scheme: exact network: eip155:130 asset: '0x078d782b760474a361dda0af3839290b0ef57ad6' facilitator: circle-gateway - x402: scheme: exact network: eip155:146 asset: '0x29219dd400f2bf60e5a23d13be72b486d4038894' facilitator: circle-gateway - x402: scheme: exact network: eip155:480 asset: '0x79a02482a880bce3f13e09da970dc34db4cd24d1' facilitator: circle-gateway - x402: scheme: exact network: eip155:1329 asset: '0xe15fc38f6d8c56af07bbcbe3baf5708a2bf42392' facilitator: circle-gateway - x402: scheme: exact network: eip155:999 asset: '0xb88339cb7199b77e23db6e890353e22632ba630f' facilitator: circle-gateway - x402: scheme: exact network: eip155:5042 asset: '0x3600000000000000000000000000000000000000' facilitator: circle-gateway amount: '30000' unitType: request description: 'Send a PDF to a fax number and track delivery, priced per transmitted page. Input: a PDF file and a destination fax number in E.164 form. Card payments have a 0.50 minimum, stablecoins pay the exact price.' priceNote: Price scales with page count between min and max; the exact amount for your request is in the 402 challenge. /pay/quote: post: operationId: pay_quote summary: Free price check for a PDF description: 'Free and stateless: returns the page count, whether the PDF already has form fields, and the exact price of every operation for this PDF. Call it before paying.' tags: - forms security: [] requestBody: required: true content: application/json: schema: type: object properties: pdf_url: type: string format: uri description: Public https URL of the PDF form; Emboss downloads it (10 MB limit). pdf_base64: type: string contentEncoding: base64 description: The PDF form as standard base64 (10 MB decoded limit). context_base64: type: array maxItems: 5 items: type: object required: - name - base64 properties: name: type: string description: Filename, used to tell documents apart. base64: type: string contentEncoding: base64 description: The document as standard base64. description: Up to 5 supporting documents (PDF, text, images) as base64. context_text: type: string maxLength: 200000 description: Supporting text, up to 200,000 characters. context_urls: type: array items: type: string format: uri maxItems: 5 description: Up to 5 public https URLs of supporting documents. policy: type: string enum: - safe - strict description: 'How sure Emboss must be before writing a value: safe (default) writes high and medium confidence, strict writes high only.' mode: type: string enum: - one_call - two_call description: one_call (default) returns the finished PDF; two_call returns a proposal and a commit token so the caller can resolve open items before anything is written. oneOf: - required: - pdf_url - required: - pdf_base64 multipart/form-data: schema: type: object properties: file: type: string format: binary description: The PDF form. context: type: array items: type: string format: binary description: Supporting documents (PDF, text, images). context_text: type: string maxLength: 200000 description: Supporting text, up to 200,000 characters. context_urls: type: array items: type: string format: uri maxItems: 5 description: Up to 5 public https URLs of supporting documents. policy: type: string enum: - safe - strict description: 'How sure Emboss must be before writing a value: safe (default) writes high and medium confidence, strict writes high only.' mode: type: string enum: - one_call - two_call description: one_call (default) returns the finished PDF; two_call returns a proposal and a commit token so the caller can resolve open items before anything is written. required: - file responses: '200': description: Free price check for this PDF. content: application/json: schema: type: object properties: pages: type: integer already_fillable: type: boolean context_pages: type: integer prices: type: object additionalProperties: type: object properties: cents: type: integer usd: type: string atomic: type: string methods: type: array items: type: string card_minimum_usd: type: string next: type: string required: - pages - already_fillable - context_pages - prices - methods - card_minimum_usd - next '400': description: Not a readable PDF, or a required input is missing. '413': description: Too many pages or too much context. '429': description: Too many quote requests from this client. x-service-info: realm: api.getemboss.ai docs: https://getemboss.ai/docs/pay-per-call/mpp llmsTxt: https://api.getemboss.ai/pay/llms.txt pricing: https://getemboss.ai/pricing accountApi: https://api.getemboss.ai/internal/openapi.json accountApiDocs: https://api.getemboss.ai/docs mcp: https://api.getemboss.ai/.well-known/mcp.json a2a: https://api.getemboss.ai/.well-known/agent-card.json ard: https://api.getemboss.ai/.well-known/ard.json aiCatalog: https://api.getemboss.ai/.well-known/ai-catalog.json llmsTxtRoot: https://api.getemboss.ai/llms.txt signup: https://getemboss.ai/signup