Capture Agent Signup Attribution
POST /agent/onboarding/attribution
Record first-touch attribution - UTM tags, ad click ids, landing page.
FIRST WRITER WINS on every key, so this is safe to call once per session and safe to retry. Nothing already captured is overwritten.
Every field is optional, which means an empty body is legal and does
nothing. The response reports each destination separately
(organization_persisted, contact_persisted, …) because attribution
lands in more than one place and a partial write is worth knowing about -
complete is the single field that says all of them took.
Authorizations
Parameters
Header Parameters
Request Body required
Mirror of CaptureAttributionRequest.
Every field is optional and every length cap is the app’s, so a value this contract accepts is one the handler accepts too.
object
Responses
200
Successful Response
object
An open envelope for an onboarding or discovery result.
Open on purpose. Discovery state carries a per-field coverage matrix whose field set is the product’s own onboarding questionnaire - it changes as the questionnaire does, and a pinned mirror would silently DROP a field the customer had answered. On a surface whose whole job is “what do we still not know about you”, a dropped field reads as an answered question.
object
object
Whether there are more pages
Items per page
Current page number (1-indexed)
Total number of items
422
Validation Error