Skip to main content
When a user taps a chip and lands on Endstate’s hosted verification flow, you can send them straight to a destination you choose — a product page, a campaign, or your own verification experience. You configure that destination through the API at three levels. The most specific level wins, and if none is set, the user stays on Endstate’s hosted verify page.

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 verify response (POST /v1/chips/{chip_id}) 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: For example, a redirect URL of https://brand.example/p sends the user to:
Your page forwards these to your server, which verifies the tap with POST /v1/chips/{chip_id} using your API key. See Verify a unit for the full server-side flow — this lets you host the entire post-tap experience on your own domain.
The endstate_e value is a single-use credential with a short validity window. Forward it to your server and verify promptly; do not log it or store it at rest.

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 own redirect_url.

Organization default

The fallback for every tap that has no unit or collection redirect. Read the current value with GET /v1/settings; set or clear it with PATCH /v1/settings.
(The settings response also carries your organization’s read-only network configuration — default_chain_id and allowed_chain_ids — which controls what collections are created on. Only default_redirect_url is editable here.)

Clearing a redirect

Send null 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.