Appearance
Public API
1 operation. Paths are relative to the API host (http://localhost:5080 in local development). Every operation accepts an OIDC bearer token (Authorization: Bearer …) or a workspace API key (X-Api-Key: keel_live_…); errors are RFC 9457 Problem Details with a code (error codes). Permissions: matrix.
| Method | Path | Summary |
|---|---|---|
| POST | /api/public/v1/demo-requests | Marketing site demo request (anonymous, F17). 202 when accepted; 400 field errors or Turnstile failure; 429 rate limited. |
SubmitDemoRequest
http
POST /api/public/v1/demo-requestsMarketing site demo request (anonymous, F17). 202 when accepted; 400 field errors or Turnstile failure; 429 rate limited.
Request body (application/json): DemoRequestBody
| Field | Type | Notes |
|---|---|---|
company | string? | |
consent | boolean | |
consentTextVersion | string? | Version of the consent text shown next to the checkbox (e.g. 2026-09). |
databases | string[]? | |
firstName | string? | |
lastName | string? | |
message | string? | |
referrer | string? | |
role | string? | |
turnstileToken | string? | The Cloudflare Turnstile token (cf-turnstile-response). |
utmCampaign | string? | |
utmContent | string? | |
utmMedium | string? | |
utmSource | string? | |
utmTerm | string? | |
website | string? | Honeypot: a field hidden from people. Leave it empty. |
workEmail | string? |
| Status | Description | Body |
|---|---|---|
| 202 | Accepted | — |
| 400 | Bad Request | ProblemDetails |
| 429 | Too Many Requests | ProblemDetails |