# DoConure > DoConure turns structured data into finished documents and sends them for electronic signature, over a plain JSON HTTP API. You upload a Word, Excel or HTML template with placeholders in it, then POST your data; a PDF comes back. There is no SDK to install and no OAuth flow: authentication is a Bearer key per organisation, scoped and expiring. ## Products - **Composer Fly** (`/api/v1/compose/*`): Document composition. DOCX, XLSX or HTML template in, PDF out. - **Signer Fly** (`/api/v1/sign/*`): Simple electronic signature (SES) of a document composed here or of a PDF you upload once and name by fileId (POST /api/v1/sign/files). The signer signs on a page hosted by DoConure at a secure public URL; embedded or iframe signing does not exist and is not promised. The qualified seal (2 credits, 6 with the qualified timestamp) is available to every non-test organisation: it says the file came from DoConure and is unaltered, not who signed, and what it cost comes back when it cannot be applied. AES and QES are coming soon: until then they are deliberately refused (SIGNATURE_LEVEL_UNAVAILABLE, before anything is charged) rather than approximated. - **Document Fly** (`/api/v1/flow/*`): Both of the above in one call: compose the document and put it out for signature, with one charge decision and one response. ## Start here - [Machine-readable contract](https://app.doconure.com/llms-full.txt): every endpoint, every setting and every outcome code, in one file. Read this before writing any code against the API. - [Integrating with an AI agent](https://app.doconure.com/docs/ai): what to paste into Claude Code, Codex or Cursor, and the rules an agent should follow. - [Pricing](https://app.doconure.com/legal/prezzi): the published price list. - [Sign up](https://app.doconure.com/signup): a free allowance, no card; registration may need our approval. ## Pricing - Prepaid credit, EUR 0.10 a credit, VAT excluded; credit does not expire. No subscription required. - One composed document 2 credits (EUR 0.20); one envelope sent for signature 10 credits (EUR 1.00); both in one flow call 12 credits (EUR 1.20); one SMS one-time code 2 credits; email free. - Qualified seal 2 credits (EUR 0.20), 6 credits with its qualified timestamp (EUR 0.60), for every non-test organisation. The seal attests the file's origin and integrity, not who signed. Paid first: if the envelope is cancelled, expires or is declined, or the seal cannot be applied, it is returned to the credit it came from (the signature is not). - A top-up is EUR 10 to EUR 1,000, VAT excluded. - Free on signup: 50 credits (25 documents), no card. `isTest` calls are free and carry no legal value. - Yearly plans, when the price list shows one: signatures, SMS and documents for a year at a fixed price paid in advance (renewals cost the same), used before the credit. Cancel at any time (it runs to its end); upgrade at any time paying the price difference; other changes in the last 30 days. ## Documentation ### Quick Start - [Questions and answers](https://app.doconure.com/docs/faq): Short answers to what people ask first - keys, test calls, credit, signing, errors and limits - each linking to the page that says the rest. - [How do I make my first call?](https://app.doconure.com/docs/quickstart-document): From a new account to a PDF on disk in one request: the starter key, the Hello World template and one cURL, with what comes back and the first-call errors. - [How do I make a test call?](https://app.doconure.com/docs/howto-test): Add isTest to settings: the same request, nothing charged, the document marked TEST. Ready requests for a document, a signature and a flow, the daily test pool and what a test call cannot do. - [Ready examples: cURL, Python, JavaScript](https://app.doconure.com/docs/examples): Compose a document, send it for signature, or do both in one call - in cURL, Python and JavaScript, ready to copy, with the test variant of each one line away. - [How do I sign a document?](https://app.doconure.com/docs/quickstart-signature): Draft a signing envelope, send it, and watch it complete. Two calls, and the second one is the billable moment. - [How do I get an API key?](https://app.doconure.com/docs/authentication): A Bearer key per organisation, scoped and expiring. How to issue one, what it may be used for, how to revoke it, and why there is no OAuth dance to implement. - [Example payloads](https://app.doconure.com/docs/payload-examples): Five ready payloads - an invoice, a quote, a delivery note, a monthly report, an agreement - each with a minimal template that reads it: lists, a list inside a list, a part that appears only when it applies. - [How do I let an AI agent write the integration?](https://app.doconure.com/docs/ai): Point Claude Code, Codex or Cursor at /llms-full.txt and let it write the integration. The five rules an agent should follow, and why the generated prompt never contains your API key. ### How To - [How do I compose and send for signature in one call?](https://app.doconure.com/docs/howto-flow): POST /api/v1/flow composes the document and puts it out for signature in a single request, so you hold no state between two. - [How do I ask for signatures in a specific order?](https://app.doconure.com/docs/howto-order): Sequential signing: each signer is notified only once the person before them has finished. One flag and a number per signer. - [How do I keep someone informed without asking them to sign?](https://app.doconure.com/docs/howto-cc-bcc): Cc and bcc on an envelope, and choosing whether they hear about every step or only about the completed document. - [How do I choose how a signer proves it's them?](https://app.doconure.com/docs/howto-validation): Slide-to-confirm, a code by email, or a code by SMS. What each one proves, what each one costs, and when to reach for which. - [How do I remind a signer, or resend a lost link?](https://app.doconure.com/docs/howto-remind): Automatic reminders on a schedule you set, and reissuing one signer's link when it never arrived. Neither charges again. - [How do I know when something finished?](https://app.doconure.com/docs/howto-poll): Poll output.status or take a signed webhook callback. What each costs you in calls, and why you should not branch on a status string. - [How do I make our callbacks authenticate at my system?](https://app.doconure.com/docs/howto-callback-environments): Environments: name a callback base URL and how we authenticate there (Bearer token, API key or OAuth2 client credentials, as Salesforce wants), then send only the environment and the path in each call. - [How do I put my brand on what signers see?](https://app.doconure.com/docs/howto-branding): Branding in the console: your logo and colours, your own wording of the mails a signer receives (with placeholders, a test mail and the built-in text to start from) and a few lines on the signing pages, all checked before it is saved. - [How do I check a signed file later?](https://app.doconure.com/docs/howto-verify): Verify a signed PDF months afterwards: the hash, the evidence bundle, and what an auditor would be shown. ### Detailed reference - [Generating a document](https://app.doconure.com/docs/generate): The full reference for POST /api/v1/compose/documents/generate: every setting, PDF/A and PDF/UA, watermarks, passwords, and the JSON response envelope. - [Validate before you send](https://app.doconure.com/docs/validate): POST /api/v1/compose/documents/validate runs every check a generate call would run, with the page count and an estimate of the credits it would cost, and charges nothing. - [Files, charts and download links](https://app.doconure.com/docs/files-and-links): Upload an image or a PDF once and use it by fileId, append PDFs to a document, compress the result, and hand a document to someone with no key through a signed, expiring, revocable link. - [Bulk composition and signing](https://app.doconure.com/docs/bulk): Compose many documents, or send many envelopes for signature, in a single request: submit inline or by an uploaded JSONL or CSV file, poll the job or take a completion webhook, download a ZIP of the results, retry what failed and see exactly what was charged. Only what was delivered costs credit. - [Versions](https://app.doconure.com/docs/versions): Upload a new version without breaking the integration that pinned the old one. Uploading is not publishing. - [Compose and sign, in one call](https://app.doconure.com/docs/flow): The full reference for POST /api/v1/flow: the request, the three output sections, idempotency, and what it refuses before it charges you. - [Signing on its own](https://app.doconure.com/docs/signing-envelopes): The signature API when the document already exists: signers, settings, the response envelope, and delegation. - [Cc and bcc on an envelope](https://app.doconure.com/docs/signing-cc-bcc): Who else receives what, and when. Including the archive address your organisation can add to every envelope. - [Where the signature goes on the page](https://app.doconure.com/docs/signing-fields): Place a signature with a tag in the document ({{ signature.A }}) or by page and fractional coordinates; read x and y off a PDF; fields across one document or several. - [What the signer sees](https://app.doconure.com/docs/signing-evidence): The signing page, the legal qualification printed on it, and the certificate of completion appended to the finished PDF. - [Signature levels: SES, AES, QES](https://app.doconure.com/docs/signature-levels): What we produce (SES, optionally sealed and timestamped), what we refuse and why, and what eIDAS actually requires for each level. - [Qualified seal and qualified timestamp](https://app.doconure.com/docs/trust-services): Ask for a qualified electronic seal or a qualified timestamp on any document, on any of the three APIs. What each one proves, what it costs and what comes back when an envelope is cancelled or the seal fails, what happens when your organisation has not bought it, and why a failure withholds the document rather than returning it unsealed. - [Managing templates from a script](https://app.doconure.com/docs/templates-api): Create, version, activate and deactivate templates over the API, so a deploy can ship a template the way it ships code. - [Tracing a call, and watching your usage](https://app.doconure.com/docs/observability): The request id on every response, the ordered event timeline of a flow, the one-call usage endpoint, the event id that makes a retried webhook safe to ignore, and where to fetch the OpenAPI spec. Five things you would otherwise build yourself. - [Tracking, consent and the ad platforms](https://app.doconure.com/docs/tracking): How the public site asks for consent and measures campaigns: the banner, the cookies, Google Analytics, Google Ads, Meta, LinkedIn and OpenAI, the server-side events, and how to set it up, test it in DebugView and exclude your own browser. - [Outcomes and error codes](https://app.doconure.com/docs/errors): Every failure and every warning, with its stable code and its four-digit number. Branch on the code, never on the message. - [Missing and extra fields](https://app.doconure.com/docs/leniency): What happens when the payload does not match the template: which fields render empty, which are refused, and the warning that names them. - [Writing a template](https://app.doconure.com/docs/template-writing): The placeholder syntax, in Word, Excel and HTML. Everything a document designer needs and nothing a programmer does. - [Lists and repeating rows](https://app.doconure.com/docs/template-lists): Repeating a table row per item, including the one attribute that keeps the column headers on page two. - [Conditional parts](https://app.doconure.com/docs/template-conditionals): Showing a paragraph, a row or a whole section only when the data says so. - [Making a value fit the space you left for it](https://app.doconure.com/docs/template-formatting): The formatting suffixes: truncation, padding, alignment and case, applied in the template rather than in your code. - [Common mistakes](https://app.doconure.com/docs/template-mistakes): The handful of things that go wrong in real templates, starting with the placeholder Word silently split in half. - [Fonts in your Word template](https://app.doconure.com/docs/template-fonts): Which fonts print exactly as in Word, which are replaced by a close free font and which change the look, so you can choose a font that keeps the PDF faithful. - [What each format can do](https://app.doconure.com/docs/template-capabilities): Word, Excel and HTML side by side: what each supports, how fast each renders, and which one to choose. - [Salesforce (Apex)](https://app.doconure.com/docs/salesforce): A working Apex example: call the API from a Flow or a trigger and attach the PDF to the record. - [Python](https://app.doconure.com/docs/python): A working Python example, with the error handling you actually want around it. - [Signing in, and getting back in](https://app.doconure.com/docs/account-recovery): What a second factor is, why recovery codes exist, and what to do the day the email address on the account stops working. - [The audit trail](https://app.doconure.com/docs/audit-trail): Every action and every sign-in, chained so a change cannot pass unnoticed — how to read it, filter it, export it and check it. - [Credit, prices and VAT](https://app.doconure.com/docs/credit-and-vat): What a credit is worth, what each operation costs, how buying works and the most one purchase may cost, which VAT applies to you — 22% in Italy, 0% abroad, or the regime we set — where your VAT number stands, what locks after your first invoice, how a VAT correction works, what happens to your credit if you stop using the account, and the card saved for a plan: what we keep and how to delete it. - [Versions of the API](https://app.doconure.com/docs/api-versioning): What /api/v1 promises, what never changes (codes, numbers, the answer's shape), how a deprecated address says so in every answer, and the six months before anything is removed. - [Current limits](https://app.doconure.com/docs/limits): The honest list: what is enforced, what is not built yet, and what you have to do for yourself. ## Optional - [Guide home](https://app.doconure.com/docs/): Turn JSON into a finished PDF with one HTTP call, and send it for electronic signature with another. Word, Excel or HTML templates in, PDF out, no SDK to install.