POST /api/llm/chat
authed browser sessions (the canonical /apps/skills/ chatbot path) can reach this endpoint without minting a Bearer key on the client.
The authenticateKey middleware short-circuits when both req.user and req.zeqAuth are
| Method | POST |
| Path | /api/llm/chat |
| Feature area | Llm |
| Tag | Other |
| Auth | machine key — Authorization: Bearer $ZEQ_KEY |
| Tier | authenticated (machine-control) |
Parameters
This operation publishes no path, query or header parameters.
Request body
Optional. Content type: application/json.
The node publishes this body as a free-form JSON object — no field schema is exposed in openapi.json.
Send the fields the summary above describes; the endpoint validates them and refuses rather than guessing.
Responses
| Status | Meaning |
|---|---|
200 | OK |
400 | Bad request — a parameter or body field is missing or malformed |
401 | Missing or invalid credentials |
502 | Upstream error |
503 | Unavailable |
504 | Upstream timeout |
400 body
| Field | Type | Required | Description |
|---|---|---|---|
ok | boolean — one of false | yes | — |
error | string | no | Human-readable message. |
code | string | no | Stable machine-readable code, e.g. ADMIN_REQUIRED, INVALID_ZID, ZID_NOT_LINKED. |
401 body
| Field | Type | Required | Description |
|---|---|---|---|
ok | boolean — one of false | yes | — |
error | string | no | Human-readable message. |
code | string | no | Stable machine-readable code, e.g. ADMIN_REQUIRED, INVALID_ZID, ZID_NOT_LINKED. |
502 body
| Field | Type | Required | Description |
|---|---|---|---|
ok | boolean — one of false | yes | — |
error | string | no | Human-readable message. |
code | string | no | Stable machine-readable code, e.g. ADMIN_REQUIRED, INVALID_ZID, ZID_NOT_LINKED. |
503 body
| Field | Type | Required | Description |
|---|---|---|---|
ok | boolean — one of false | yes | — |
error | string | no | Human-readable message. |
code | string | no | Stable machine-readable code, e.g. ADMIN_REQUIRED, INVALID_ZID, ZID_NOT_LINKED. |
504 body
| Field | Type | Required | Description |
|---|---|---|---|
ok | boolean — one of false | yes | — |
error | string | no | Human-readable message. |
code | string | no | Stable machine-readable code, e.g. ADMIN_REQUIRED, INVALID_ZID, ZID_NOT_LINKED. |
Call it
curl -sS -X POST https://zeq.me/api/llm/chat \
-H "Authorization: Bearer $ZEQ_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Needs a machine key. Mint one:
curl -sS -X POST https://zeq.me/api/demo-key/mint, then spin up your machine.
Generated from the live OpenAPI description (https://zeq.me/openapi.json, spec version 1.287.0) by scripts/generate-reference.mjs. Do not edit — this file is rewritten on every run.