Resolution order
Endstate resolves the destination for each tap from most specific to least specific, and uses the first one that is set:
A unit redirect overrides its collection’s redirect; a collection redirect overrides the organization default. Set the level that matches how broadly you want the destination to apply.
The tap response (
POST /v1/taps) also returns a field named redirect_url -
that one is different: it is the canonical verify-page URL on your verified
domain, not the tap redirect configured here. See Chips &
verification.Continuing the flow on your destination
When Endstate redirects to your URL, it appends the tapped chip’s id and one-time credential as query parameters, so your page has everything it needs to verify the tap:string
The
chip_id of the tapped chip.string
The one-time tap credential (the
e value) for this tap.https://brand.example/p sends the user to:
endstate_chip_id and send it as chip_id:
POST /v1/taps, either way round - the endpoint takes either credential:
- With a backend - forward the two values to your server, which calls
POST /v1/tapswith your API key. See Verify a unit. - Without one - the page calls
POST /v1/tapsitself with your publishable key, then reads the unit with the session token it gets back. See Host your own verify page.
Setting a redirect
A redirect URL must be a valid absolute URL (surrounding whitespace is trimmed). Every write requires an API key (end_sk_...) and is scoped to your organization. Send null to clear a redirect.
On a unit
Set it at creation, or update it later. The value is returned when you read the unit.On a collection
Applies to every unit in the collection that does not set its ownredirect_url.
Organization default
The fallback for every tap that has no unit or collection redirect. Read the current value withGET /v1/settings; set or clear it with PATCH /v1/settings. See Organization settings for the rest of that response.
Response
Response
default_chain_id and allowed_chain_ids - which controls what collections are created on. Only default_redirect_url is editable here.)
Clearing a redirect
Sendnull to remove a redirect at any level. Resolution then falls through to the next level down.
Endpoints
redirect_url is also accepted on POST /v1/units and POST /v1/collections, and returned on read. See the API reference for full schemas.
Next steps
Verify a unit
Complete verification server-side after a tap lands on your destination.
Units
Where a unit-level redirect lives, alongside the rest of the unit record.

