Launch a journey
Answers 202: the run row exists and its fan-out has started. It is not finished — poll GET /projects/{projectId}/journey-runs/{runId} until status leaves running.
SPENDS. A launch fans out into targets × sessionsPerTarget chat sessions, every one of which runs a model on your organization's account.
Two different 429s can come back and they mean different waits: the per-minute burst brake (retry in seconds) and your plan's daily launch cap (resets at UTC midnight). Both normally carry Retry-After — honor it when it is there, and back off on your own when it is not, rather than blocking on a header that may not come. A retried Idempotency-Key consumes NO quota.
Headers
Send one. A launch spends model credits, so a retry of a dropped response must not run the journey twice. Replaying a key returns the ORIGINAL run with deduped: true and starts no second runner.
Omitting the header is read as a request that declined to identify itself, and gets a FRESH run every time.
Request body
Response
The run was accepted and started.