ForHosting KIT · Documents & PDF

Create a quote PDF

The Quote & Estimate PDF API takes the numbers your sales tool already has — items, prices, a validity window — and turns them into a polished PDF a prospect can open and sign off on, without anyone opening a design template. It exists for the moment a deal is close enough to need paper, not a screenshot of a spreadsheet.

● StablePer request + per document$0.040
Use it from WebAPIEmailApp soonTelegram soon

Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.

The gap between a price and a document

A prospect asking for a quote wants something they can forward to a boss, print, or attach to a purchase order — not a chat message with numbers in it. Most tools that compute pricing stop at the number itself, leaving someone to copy it into a template by hand before it looks like a real offer. The quote generator api closes that gap: it accepts the same structured data your pricing logic already produces and returns a finished, presentable document.

What the request looks like

You send JSON with the items or services being quoted, quantities, unit prices, any discounts, and a validity date after which the offer expires — plus your branding, so the recipient sees your logo and colors rather than a neutral placeholder. The service lays these out as a proper estimate: itemized rows, a clear total, and the expiration date visible up top where a buyer expects to see it, since a quote without a deadline reads as a price list, not an offer.

From request to delivered PDF

Calling POST /pdf/quote returns a task_id right away — there is no open connection to hold while the document renders. Generation happens asynchronously on our global edge, and completion is signaled by a signed webhook, which is what a CRM or sales tool wants so it can attach the quote to an email the moment it's ready, or by a signed link valid 24 hours for someone who just needs to grab one file.

Where it belongs in a sales workflow

This fits naturally behind a 'Send Quote' button in a CRM, a configurator that prices a custom order, or a support tool that turns a chat conversation into a formal offer. Because each call is a single async request tied to a task_id, a sales team can generate ten quotes as easily as one — a rep exploring pricing options for a single client, or a platform quoting every lead that fills out a form, without either case needing a different code path.

Pricing and reliability

The endpoint costs $0.040 per request plus $0.001 per document, a rate that's published, not metered in invented units. A quote that fails to generate is never billed; the system retries three times before surfacing a clear error, so a rendering hiccup never quietly costs money. Using it requires prepaid balance, with no free tier or trial period, which keeps throughput predictable and the endpoint free of abuse; without balance, requests return 402. Quote data is purged after the retention period and is never used to train anything.

CRM 'Send Quote' button

A sales rep clicks Send Quote in the CRM and a branded PDF with the negotiated line items and a 30-day validity window lands in the prospect's inbox minutes later.

Product configurator estimates

A custom-manufacturing configurator prices a buyer's specific options and immediately produces a formal quote PDF instead of just showing a number on screen.

Support-to-sales handoff

A support agent converts an in-chat pricing discussion into a proper quote document the customer can forward internally for approval.

Batch quoting for inbound leads

A B2B platform automatically quotes every lead that completes a pricing form, generating each PDF as an independent async request without a person involved.

How do I generate a quote PDF with an API?

Send JSON with line items, prices, and a validity date to POST /pdf/quote and you get a task_id back immediately. The quote generator api builds the PDF asynchronously and delivers it by signed webhook or a signed link valid 24 hours.

Is the quote PDF API free?

There's no free tier — free tiers get abused and slow everyone down. Access runs on a prepaid ForHosting KIT balance: top up from $10.00 (it never expires) and each request is charged at its published price, so a call with no balance returns HTTP 402. No subscription, no tokens, no invented credits, and a failed task is never charged.

Can the quote include my logo and branding?

Yes. You pass your branding elements in the request and the generated PDF carries your logo and colors instead of a generic layout.

Does the PDF show an expiration or validity date?

Yes, you set a validity date in the request and it's displayed prominently on the document, since a quote without a deadline reads as a plain price list rather than an offer.

Can I generate quotes for many leads at once?

Yes. Each call is an independent async request returning its own task_id, so generating quotes in bulk for a batch of leads is just calling the endpoint repeatedly.

What happens if a quote fails to generate?

It's never charged. The service retries three times automatically, and if it still can't build the document you receive a clear error instead of a silent failure.

How is the finished quote delivered?

By a signed webhook the instant it's ready, which most sales tools prefer, or by a signed link that stays valid for 24 hours if you just need to fetch the file manually.

What happens to my quote data afterward?

It's deleted once the retention window passes and is never used to train models, so pricing details stay confidential to your account.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/pdf/quote

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, and soon from our app, email and Telegram.

curl -X POST https://api.kit.forhosting.com/pdf/quote \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pdf":"https://ejemplo.com/documento.pdf"}'
{
  "pdf": "https://ejemplo.com/documento.pdf"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.quote",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.040
Per document$0.001

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb25
max_pages200
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.
422task_failedThe task failed after 3 retries. You are never charged for it.

Read the full KIT documentation →