Applications

Create an application (client_secret returned once)

Accepts the management key (the body tenant_id selects the tenant) or a tenant-scoped API key (the app is always created in the key's own tenant; any body tenant_id is ignored).

Send "sandbox": true to make a test mode application: a place to run the widget, the API and webhooks end to end before you have a real customer domain. It connects only reserved .test names (the first label picks the outcome: conflict.acme.test stays pending with domain_already_connected, timeout.acme.test fails after about a minute with propagation_timeout, any other name goes live after about 15 seconds), uses the manual rail only, and counts for nothing: no free domain, no quota, no billing, no metering and no reporting. Webhook events from it carry "sandbox": true. A workspace can hold up to 3 test mode applications, each up to 100 connections (sandbox_limit). A test mode application is always a development application, so leave environment out. A live application never connects a .test name (sandbox_domain_reserved), and a test mode one never connects a real name (sandbox_domain_required).

post/applications

Request

  • Base URL: https://api.customdomain.ai/v1
  • URL: https://api.customdomain.ai/v1/applications
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Request body

tenant_idstring required
namestring required
environment'production' | 'staging' | 'development'
sandboxboolean

Create a test mode application (see above). Fixed for the life of the application.

Response

Created (client_secret present only here)

idstring required
tenant_idstring
namestring required
environment'production' | 'staging' | 'development'
default_originstring
sandboxboolean

true for a test mode application, made with "sandbox": true on POST /applications. It runs the whole connect flow end to end (the widget, the API, webhooks) against simulated DNS, on reserved .test names only, and never touches a real domain, the free domain, the quota or billing. Fixed when the application is created. Omitted (treated as false) on a live application.

created_atstring date-time
client_secretstring

mints widget JWTs; shown once

Changes

No recorded changes to this operation across all 1 revision of this API.