Api Endpoint

Tanod pdfpeek

pdfpeek (Tanod) Word template fill: {{placeholders}} in a DOCX replaced from JSON data, returned as DOCX. Use when an agent must fill a Word template's {{placeholders}} with data and return a DOCX or PDF.

Open interactive test console

Offering

Provider
tanod.dev
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Business And Commerce
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://tanod.dev/v1/docs/fill-template
MIME type
application/json
First seen
2026-10-16T01:51:02.144Z
Last seen
Tags
docx-template, template-fill, document-generation, word, pdfpeek, docs, fill, template, pdf

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.005 USDC
Atomic price: 5000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.005 USDC
Atomic price: 5000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Payment option 3
0.005 USDC
Atomic price: 5000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Payment option 4
0.005 USDC
Atomic price: 5000000000000000 · Network: eip155:56 · Asset: USDC · Scheme: exact
Payment option 5
0.005 USDC
Atomic price: 5000 · Network: eip155:42161 · Asset: USDC · Scheme: exact
Payment option 6
0.005 USDC
Atomic price: 5000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 7
0.005 USDC
Atomic price: 5000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "5000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "5000",
    "payTo": "RMk9k3VC8dr4hhjgFh88rGhjAbzfBzHxJJ5n2fTcqus"
  },
  {
    "scheme": "exact",
    "network": "eip155:56",
    "asset": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
    "amount": "5000000000000000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "5000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "5000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  }
]

Observed health

Status
Healthy
Latest latency
306 ms
Average latency
653 ms
HTTP status
204
Last checked
Reachability
100% over 13 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST"
      ]
    },
    "bodyType": {
      "type": "string",
      "enum": [
        "json",
        "form-data",
        "text"
      ]
    },
    "body": {
      "additionalProperties": false,
      "properties": {
        "url": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Public http(s) URL of the DOCX template (at most 20 MB; private, internal and IP-literal hosts are refused); or use file_base64."
        },
        "file_base64": {
          "anyOf": [
            {
              "maxLength": 13398872,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The DOCX template as base64 (at most 10 MB decoded); or use url."
        },
        "data": {
          "additionalProperties": true,
          "description": "The values, a JSON object (at most 1 MB, 12 levels deep). {{name}} reads data[\"name\"], {{customer.name}} data[\"customer\"][\"name\"], {{items.0}} the first element of a list. A table row holding {{#items}} and {{/items}} is repeated for each element of the list items; inside it {{field}} reads the element first, then data, and {{.}} is the element itself.",
          "type": "object"
        },
        "output": {
          "default": "docx",
          "description": "docx (default) or pdf (the filled file rendered by LibreOffice; priced higher).",
          "enum": [
            "docx",
            "pdf"
          ],
          "type": "string"
        },
        "delivery": {
          "default": "base64",
          "description": "base64 (default): inline. url: stored for 24 hours; link, metadata.",
          "enum": [
            "base64",
            "url"
          ],
          "type": "string"
        }
      },
      "required": [
        "data"
      ],
      "type": "object"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "data": {
              "additionalProperties": true,
              "description": "The values, a JSON object (at most 1 MB, 12 levels deep). {{name}} reads data[\"name\"], {{customer.name}} data[\"customer\"][\"name\"], {{items.0}} the first element of a list. A table row holding {{#items}} and {{/items}} is repeated for each element of the list items; inside it {{field}} reads the element first, then data, and {{.}} is the element itself.",
              "type": "object"
            },
            "file_base64": {
              "anyOf": [
                {
                  "maxLength": 13398872,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "The DOCX template as base64 (at most 10 MB decoded); or use url."
            },
            "output": {
              "default": "docx",
              "description": "docx (default) or pdf (the filled file rendered by LibreOffice; priced higher).",
              "enum": [
                "docx",
                "pdf"
              ],
              "type": "string"
            },
            "url": {
              "anyOf": [
                {
                  "maxLength": 2048,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Public http(s) URL of the DOCX template (at most 20 MB; private, internal and IP-literal hosts are refused); or use file_base64."
            }
          },
          "required": [
            "data"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "fidelity_note": {
              "type": "string"
            },
            "file": {
              "properties": {
                "bytes": {
                  "type": "integer"
                },
                "content_type": {
                  "type": "string"
                },
                "data_base64": {
                  "type": "string"
                },
                "dpi": {
                  "type": "integer"
                },
                "first_page": {
                  "type": "integer"
                },
                "height": {
                  "type": "integer"
                },
                "last_page": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "page": {
                  "type": "integer"
                },
                "pages": {
                  "type": "integer"
                },
                "width": {
                  "type": "integer"
                }
              },
              "required": [
                "name",
                "content_type",
                "bytes",
                "data_base64"
              ],
              "type": "object"
            },
            "input_bytes": {
              "type": "integer"
            },
            "missing": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "operation": {
              "type": "string"
            },
            "output": {
              "enum": [
                "docx",
                "pdf"
              ],
              "type": "string"
            },
            "output_bytes": {
              "type": "integer"
            },
            "pages": {
              "type": "integer"
            },
            "placeholders_filled": {
              "type": "integer"
            },
            "unmatched_loop_tags": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "untrusted_content": {
              "type": "boolean"
            }
          },
          "required": [
            "operation",
            "input_bytes",
            "output",
            "placeholders_filled",
            "missing",
            "unmatched_loop_tags",
            "file",
            "output_bytes",
            "untrusted_content"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}