Demo sessions
A demo session is a temporary sandbox with a short-lived test API key, for trying the API before you build on it. POST /v1/demo-sessions takes no credential, and the secret key it returns is shown once, at creation and for a short idempotent retry window.
One demo sandbox can be active per client at a time. Creating another while one is active returns 409 ALREADY_EXISTS with the active session in details[0].current_resource. To get a new key, send that session's resource_id to POST /v1/demo-sessions/{demo_session_id}/reset.
Demo keys run on much lower request budgets than other keys, and creating a session has its own limits. Demo sandbox limits lists both. The daily cap on new sessions returns 409 LIMIT_REACHED with reason daily_demo_sessions, limit, and resets_at. For anything sustained, create your own sandbox.
Create demo session#
/v1/demo-sessionsIdempotentNo API key required
Rate limit: demo session limits
Creates a temporary demo sandbox and returns a short-lived test API key. The secret key is displayed only at creation time and for a short idempotent retry window. Omit template to use quickstart; an explicit empty or unsupported value is invalid.
Request body
templateenumOmit to use quickstart. An explicit empty or unsupported template is invalid.
quickstart
Response · 201
The created demo session and temporary API key.
dataobjectRequiredResource, collection, or operation result returned by this request.
api_keyobjectRequiredThe API key issued for a demo session, with its `secret_key` and the scopes it grants.
demo_session_idstringRequiredUnique identifier for this demo session, prefixed `demo_`.
expires_atstringRequiredRFC3339 timestamp.
sandbox_idstringRequiredID of the sandbox this resource belongs to.
metaobjectAdditional information about this response.
api_versionstringAPI version used to produce this response.
idempotency_replayedbooleanWhether this response replays a stored result for the supplied Idempotency-Key.
trace_idstringTrace identifier to include when contacting Flint about this request.
warningsarray of objectConditions that need attention even though the request succeeded.
request_idstringRequiredIdentifier of this API request, used to correlate logs and support requests.
curl -X POST https://api.withflintpay.com/v1/demo-sessions \
-H "Flint-Version: 2026-09-07" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: a-unique-key" \
-d '{
"template": "quickstart"
}'Reset demo session#
/v1/demo-sessions/{demo_session_id}/resetIdempotentNo API key required
Rate limit: demo session limits
Ends the active or provisioning demo session identified by demo_session_id for this client and provisions a fresh one. A client that lost its create response gets the current session ID from current_resource.resource_id on ALREADY_EXISTS. A retry with the same idempotency key and body replays the replacement before checking the current session, including its secret during the secret delivery window. After that window, the retry returns ALREADY_EXISTS with the current session reference. The daily cap applies only to fresh executions. Omit template to use quickstart; an explicit empty or unsupported value is invalid.
Path parameters
demo_session_idstringRequiredThe active or provisioning demo session to reset for this client.
Request body
templateenumOmit to use quickstart. An explicit empty or unsupported template is invalid.
quickstart
Response · 201
The freshly provisioned demo session and temporary API key.
Same response as Create demo session.
curl -X POST https://api.withflintpay.com/v1/demo-sessions/demo_01KEZF7C001S0675NAS5BPBS0V/reset \
-H "Flint-Version: 2026-09-07" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: a-unique-key" \
-d '{
"template": "quickstart"
}'Was this helpful?
