Public configuration & contact

Read public availability flags and submit a website inquiry without customer or project credentials. Processing APIs remain authenticated.

On this page

Read availability

Public configuration
curl --fail-with-body "$IMAZEO_API_ORIGIN/v1/site/config"

The success envelope contains siteName, supportEmail, registrationEnabled, loginEnabled, supportTicketsEnabled, contactFormEnabled, maintenanceMode, maintenanceMessage, captchaEnabled and captchaSiteKey. No CAPTCHA secret is public. Read configuration before enabling a form; backend enforcement remains authoritative.

Configuration is available during maintenance. Most customer routes, including Contact, return MAINTENANCE (503); refresh/logout are exceptions. A rendered Main page remaining visible does not imply API availability.

Submit an inquiry

FieldType / valuesContract
namestringRequired. Up to 100 characters.
emailstringRequired. Up to 254 characters.
companystringOptional. Up to 100 characters.
inquiryTypegeneral | sales | enterprise | partnership | otherRequired.
subjectstringRequired. Up to 200 characters.
messagestringRequired. Up to 5000 characters.
captchaTokenstringOptional. Up to 2048 characters. Fresh Cloudflare Turnstile token when TURNSTILE_ENABLED=true on the API. Single-use; expires after five minutes.

POST /v1/contact accepts JSON without authentication. Name, email, company, subject and message are trimmed; email is lowercased. Empty company is omitted. CAPTCHA token is required when enabled, and is bounded to 4096 characters. Unknown fields are rejected.

Accepted response · HTTP 202
{
  "success": true,
  "data": {
    "message": "Thank you. Your inquiry has been received."
  },
  "meta": {
    "requestId": "illustrative-request-id"
  }
}

There is no public inquiry ID, read endpoint or editing route. A 202 confirms receipt, not email delivery or a response time. Optional operator notification failure does not undo acceptance; no visitor acknowledgement email is sent.

Submission failures

The route is limited to 10 requests per minute per IP. FEATURE_DISABLED (403), MAINTENANCE (503), CAPTCHA_FAILED (400), validation errors and 429 responses must be handled. Do not automatically retry POST after timeout: the inquiry may already have been saved.

Use credential-free requests from an allowed CORS origin. Main loads Cloudflare Turnstile only when configured, gets a fresh token on submission, and never persists inquiry details. Production keys must match the configured Managed widget and hostnames. Tokens are single-use, expire after five minutes and have a 2048-character limit.

Documentation reviewed 2026-10-03 against development backend e298ec7. Verify your deployment’s API origin and limits before integrating.