Skip to content

Websites, DNS and invoices via the API.

Through the KENJTEC API, build and publish websites, manage DNS, write invoices and upload media — with the same rules as in the tools.

VideoWebsites
On this page

What you can do — and by which rules

Through the API you create, change and publish what you otherwise do in the tools. The same rules apply: your plan limits, your AI bar, a complete brand before publishing, gapless invoice numbers and the check of every uploaded image. What a tool does not allow, the API does not allow either.

If something is refused, type carries a fixed English code your program can act on — such as plan_limit_reached, brand_incomplete or ai_quota_exhausted — and detail carries the sentence the tool would show you.

Refused: the brand is not complete
{
  "error": {
    "type": "brand_incomplete",
    "message": "The brand needs a name, an address and an email or phone number before anything is published.",
    "detail": "Bevor diese Website online geht, muss klar sein, wer dahintersteht. Es fehlt: …"
  }
}

The scopes

Each area has one scope to read and one to write: sites:read and sites:write for websites, domains:read and dns:write for domains and DNS records, invoices:read and invoices:write for customers, invoices and quotes, media:read and media:write for MediaStudio, brand:read for your brands. Choose them when you create the key under “What may this key do?”.

Websites

POST /v1/sites builds a whole website from one sentence — as a draft. It usually takes 20 to 60 seconds and uses AI credit, as in WebSiteBuilder. POST /v1/sites/{id}/edit changes one page of the draft as instructed. Nothing goes online until POST /v1/sites/{id}/publish; POST /v1/sites/{id}/unpublish takes the website offline again without losing anything.

brand_id names the brand whose logo and company details the website shows. If you have only one brand, every website follows it on its own — brand_id holds its number and brand_assigned is false. With several brands, a website shows the logo and company details only of the brand you assigned it to; without an assignment, brand_id is null.

In the terminal: the call POST /v1/sites with the sentence about Café Lumen, the response with “published”: false — then the same website as a draft in WebSiteBuilder.
A website from one sentence
curl https://api.kenjtec.com/v1/sites \
  -H "Authorization: Bearer kt_api_…" \
  -H "Idempotency-Key: cafe-lumen-2026-10" \
  -H "Content-Type: application/json" \
  -d '{"brief": "Café Lumen in Lisbon: breakfast, our own coffee beans, tables to reserve."}'

Send an Idempotency-Key with the AI endpoints. If the connection drops, retry with the same key and you get the website that was already built — without paying twice.

DNS records

GET /v1/domains lists your domains whose DNS is at KENJTEC. Below them you create records (A, AAAA, CNAME, MX, TXT, NS), replace them with PATCH and delete them — with the same checks as in DomainStudio.

Records KENJTEC set for one of your works carry managed: true. The API does not change them; you do that in DomainStudio, where the consequences are shown.

Invoices and quotes

POST /v1/customers creates a customer, POST /v1/invoices a draft — an invoice or a quote. KENJTEC calculates the totals; you send quantity, unit price in cents and tax rate per line.

POST /v1/invoices/{id}/issue issues it: the document gets the next number without a gap and is fixed from then on. Correcting means cancelling — POST /v1/invoices/{id}/cancel creates a cancellation invoice with its own number. Nothing is deleted.

Uploading media

Uploading takes two steps, as in MediaStudio. POST /v1/media/uploads gives you an address and the headers; send the file there with PUT. Then POST /v1/media/{id}/confirm checks what arrived, and only then is the file reachable at its address.

JPEG, PNG, WebP, GIF, PDF, MP4 and WebM are allowed. An image that fails the content check is refused with 422.

Reading your brand

GET /v1/brands returns your brands from BrandStudio: name, logo, colours, fonts, company details and channels. Your own programs can build in the same look as your KENJTEC works.

Related guides and next steps

Help us improve KENJTEC

Google Analytics helps us improve the website. Google receives usage and device data; this may be processed in the USA.

Optional. Your choice lasts 180 days and can be changed at any time in the cookie settings.

Privacy policy