{"uid":"cap_lVBYllFItv5gbsi5Xajxj","slug":"tanod-docs-pdf-form-fill-5d44ba91","name":"Tanod Docs PDF Form Fill","description":"Documents: DOCX template fill, Office to PDF, any file to Markdown, PDF to Word, OCR, PDF pipeline.","url":"https://docs.tanod.dev/v1/pdf/fill-form?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"anyOf":[{"type":"string","maxLength":2048,"minLength":1},{"type":"null"}],"default":null,"description":"Public http(s) URL of the PDF (at most 20 MB; private, internal and IP-literal hosts are refused); or use pdf_base64."},"fields":{"type":"object","description":"Field name -> value, the names as listed by form-fields (at most 500 fields). Text fields: a string (or a number); checkbox: true / false (or its on value); radio group: one of its options; choice field: one of its values or labels (a list of them for a multi-select list box); null clears a field. A name the form does not have, a read-only or non-fillable field, or a value that does not fit is a 422.","maxProperties":500,"minProperties":1,"propertyNames":{"maxLength":500,"minLength":1},"additionalProperties":{"anyOf":[{"type":"string","maxLength":10000},{"type":"boolean"},{"type":"integer"},{"type":"number"},{"type":"array","items":{"type":"string","maxLength":500},"maxItems":100},{"type":"null"}]}},"output":{"enum":["base64","url"],"type":"string","default":"base64","description":"base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window."},"flatten":{"type":"boolean","default":false,"description":"Bake the values into the pages and remove the form (default false: the form stays fillable)."},"pdf_base64":{"anyOf":[{"type":"string","maxLength":13398872,"minLength":1},{"type":"null"}],"default":null,"description":"The PDF as base64 (at most 10 MB decoded per request); or use url."}}},"responseSchema":{"type":"json","example":{"file":{"name":"filled.pdf","bytes":5160,"pages":1,"data_base64":"JVBERi0xLjMKJb/3... (trimmed: 6,880 base64 characters in the reply)","content_type":"application/pdf"},"warnings":[],"flattened":false,"operation":"fill-form","input_bytes":4057,"input_pages":1,"filled_count":5,"output_bytes":5160,"filled_fields":["country","email","full_name","plan","subscribe"],"need_appearances":false,"appearances_drawn":3,"untrusted_content":true,"active_content_removed":{}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_PoBObu5l6YYOVIKI3Amrm","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fills PDF form fields (text, checkbox, radio, choice) with provided values and returns the filled PDF as base64 or a download URL.","exampleAgentPrompt":"Take this PDF form at https://example.com/application.pdf and fill in full_name with 'Jane Smith', email with 'jane@example.com', country with 'US', plan with 'pro', and check the subscribe checkbox — give me back the filled PDF as a base64 string.","exampleUseCases":[{"title":"Auto-fill job application PDF","prompt":"I have a job application form at https://hr.example.com/apply.pdf — fill in full_name as 'Marcus Lee', email as 'marcus@email.com', position as 'Software Engineer', and start_date as '2025-09-01', then return the filled PDF as a download link."},{"title":"Generate pre-filled insurance form","prompt":"Take this insurance PDF (I'll send it as base64) and fill in policyholder_name with 'Sarah Connor', policy_number with 'INS-9921', coverage_type with 'comprehensive', and check the authorized_signature checkbox — then flatten the form so no one can edit the fields, and return it as base64."},{"title":"Batch-style contract data entry","prompt":"I've got a vendor contract PDF at https://legal.mycompany.com/vendor_agreement.pdf — please fill in vendor_name with 'Acme Corp', effective_date with '2025-08-01', contract_value with '50000', and set jurisdiction to 'California', then give me a download link that expires in 24 hours."}],"resultDescription":"Returns a JSON object containing the filled PDF (as base64 data or a temporary download URL valid for 24 hours), metadata about the fill operation including which fields were filled, how many fields were updated, total input and output byte sizes, page counts, whether the form was flattened, and any warnings (e.g. unsupported field types or skipped fields).","failureModes":["422 if a field name does not exist in the PDF form","422 if a field is read-only or non-fillable","422 if a value does not match a field's allowed options","PDF URL exceeds 20 MB size limit returns an error","base64 PDF exceeds 10 MB decoded limit returns an error","Private, internal, or IP-literal host URLs are refused","Malformed or non-PDF file at the provided URL causes an error","More than 500 fields specified returns a validation error"],"whenToPreferThis":"Use this endpoint when you need to programmatically fill an existing PDF form's named fields with specific values — especially for legal, government, HR, or insurance forms. Prefer it over DOCX-template filling when the source document is already a PDF with interactive form fields. Choose the 'url' output mode for large PDFs to avoid bloating the LLM context window, and use flatten=true when you need a tamper-proof final document.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-13T12:45:37.988Z","isFirstParty":false,"canonicalSlug":"tanod-docs-pdf-form-fill-5d44ba91"}