Beta

Zapier and Make

Koutei has no Zapier or Make app yet. Their generic HTTP steps can call the API all the same: this page lists what to put in each field.

Before you start

  • Create an API key in Settings. A Preview only key makes previews only and can never use a credit: a good key to build with.
  • Both recipes ask for the JSON form of the answer, so the totals, the document's id and the PDF arrive as fields the next step can use. The PDF is in base64.
  • To check a row first, send the same step to https://kouteisystems.com/api/v1/documents/validate: nothing is made, no credit is used, and the answer still holds the totals.

Zapier

Add a step with the app Webhooks by Zapier and the action event Custom Request. Fill it in like this:

Fields of the Zapier step
FieldValue
MethodPOST
URLhttps://kouteisystems.com/api/v1/documents
Data Pass-Through?No
DataThe JSON body below, with your own values mapped into it
UnflattenNo
Basic AuthLeave it empty: the key goes in a header
HeadersThe five headers below, each as a name and a value
Return Raw ResponseNo, so Zapier reads the JSON answer into fields

Zapier sends Data exactly as you type it, so it must be valid JSON once the mapped values are in: keep the quotes around each text value.

Make

Add the HTTP app's module Make a request. Fill it in like this:

Fields of the Make module
FieldValue
Authentication typeAPI key, sending the header Authorization with the value Bearer, a space, and your key (or No authentication, with the key in Headers)
URLhttps://kouteisystems.com/api/v1/documents
MethodPOST
HeadersThe headers below (Authorization only if it is not in the credentials)
Body content typeapplication/JSON
Body input methodJSON string
Body contentThe JSON body below, with your own values mapped into it
Parse responseYes, so the answer’s values can be mapped
Return error if HTTP request failsYes (an advanced setting), so a refused request stops the scenario

Make keeps a key in the module's credentials out of the request settings, which is why it suggests the API key authentication type over a header you type in.

To save the PDF with a later module (Google Drive, Dropbox, email), map its file name to filename and its data to toBinary(file_base64; base64), with file_base64 mapped from this module's answer. Make's toBinary turns the base64 text back into the file.

What comes back

Both tools send the same headers:

Headers of the HTTP step
HeaderValueWhy
AuthorizationBearer kt_live_…Bearer, a space, and your whole key.
Content-Typeapplication/jsonThe body is JSON.
Acceptapplication/jsonThe answer comes back as JSON, so each value is a field you can map.
Koutei-Version2026-10-01The API version the step was built against.
Idempotency-KeyINV-0042-r1Your own key for this document, such as its number and a revision. The same key and request again within 24 hours return the same document, free.

And the same body, here in preview mode (watermarked, free):

{
  "template": "invoice",
  "mode": "preview",
  "reference": "JOB-0017",
  "fields": {
    "seller_name": "Aiko Tanaka Design",
    "client_name": "Northwind Pty Ltd",
    "invoice_number": "INV-0042",
    "date": "2026-10-12",
    "currency": "ZAR",
    "items": [
      {
        "description": "Brand workshop",
        "quantity": 1,
        "unit_price": "6000.00"
      },
      {
        "description": "Design hours",
        "quantity": "7.5",
        "unit_price": "850.00"
      }
    ]
  }
}
  • Set mode to final for the real document (1 credit), and give each new document its own Idempotency-Key: running the same step again within 24 hours then returns the same document for free, and an edited request under an old key is refused with 422 idempotency_key_reused instead of making a second document.
  • totals holds the figures the document prints, such as totals.total and totals.balance_due, as text with a . decimal point: write them back to your sheet rather than working them out again. document.id, filename and credit_used are there too.
  • file_base64 is the PDF in base64. Zapier's documentation does not describe turning base64 text into a file for a later step, so if your Zap needs the PDF as an attachment, Make (above) or n8n can take it directly.
  • A refused request stops the step with the API's message and a code (in Make, with Return error if HTTP request fails set to Yes, as above); Errors explains each one. The API reference lists every field of every template.

Checked against

The field names on this page are the tools' own, as their documentation gave them on 4 October 2026: for Zapier, the Custom Request action's field list on zapier.com, and Zapier's help article on sending webhooks in Zaps (updated 10 August 2026); for Make, Make's HTTP app page (updated 2 October 2026; Return error if HTTP request fails is among its advanced settings), and its text and binary functions page for toBinary (updated 4 June 2026). The tools can rename a field; if one has moved, the values above still apply. Keep your key out of anything you share, such as a shared Zap or a scenario blueprint: it starts with kt_live_.