- Create it when the user clicks, and open it at once. It works once, within 7 days.
search_session_uuidis required. Addsku_uuidto open a product from that search.- A replay of the same
Idempotency-Keyreturnsurl: null.
- Docs
- API reference
- Deep links
- Create a deep link
Create a deep link
Code samples show live values. Live is in early access and not yet open to new partners: see Environments.
https://sandbox-api.tryflume.ai/partner/v1/deep-linksCreates a one-time link that opens the Flume app with the user signed in.
Guide: Open Flume signed in
Request
Headers
| Header | Required | Description |
|---|---|---|
X-Flume-Partner-Key | Yes | Your partner key. See Authentication and keys. |
X-Flume-User-Token | Yes | The access token of the user you call for. See Users and verification. |
Idempotency-Key | No | One value per user action, 1 to 255 characters. A retry with the same value returns the first response. |
Body
Send application/json. A field the API does not list returns a 422 that names it.
One of the user's searches. Without
sku_uuid, the link opens its results.A product to open. It must be a result of that search.
An instant quote to open, with
sku_uuid. It must beREADYand belong to the user.What the link opens:
product,searchorquote. Optional. Without it, the link opens the most specific id you send:quote_uuid, thensku_uuid, then the search. When set, it wins:productwith aquote_uuidopens the product.quoteneedsquote_uuid, andproductneedssku_uuid. Every id you send is checked, whatevertargetsays.A name for the button that asked, for your own reporting.
- Max 64 characters
Where Flume sends the user back to. It must be an
httpsURL on a redirect host agreed with Flume.- Max 2,048 characters
Returns
201 with these fields. Every field is always present. A field with no value is null.
urlstring or nullThe link. It works once, within 7 days.
nullwhen you replay anIdempotency-Key.expires_atstringWhen the link stops working, in UTC.
Errors
Every error uses one envelope. Branch on error.code.
| Status | Code | Meaning |
|---|---|---|
| 401 | EMBED_TOKEN_INVALID | You sent an Authorization header and no X-Flume-Partner-Key. Flume read the call as one from its own iframe. |
| 401 | PARTNER_KEY_INVALID | The partner key is missing, unknown, revoked, expired, or from the other environment. On live, also a platform Flume has not enabled yet. |
| 401 | USER_TOKEN_INVALID | The user access token is unknown, revoked, another partner's, or replaced by a later verification. A verification in the iframe replaces it too. |
| 403 | USER_ACCOUNT_CLOSED | The user's email belongs to a Flume account that Flume has closed. |
| 403 | USER_NOT_CONNECTED | No X-Flume-User-Token header was sent. |
| 404 | NOT_FOUND | The thing does not exist, or is not this user's. A search id that is not a UUID also returns this code. |
| 404 | SESSION_NOT_FOUND | The search does not exist, or is another user's. |
| 409 | IDEMPOTENCY_IN_PROGRESS | The first call with this key is still running. |
| 422 | IDEMPOTENCY_KEY_REUSED | The key was already used with a different body. |
| 422 | QUOTE_NOT_READY | The quote is not READY. On POST /save-item it also covers a quote that expired, is not this user's, lacks the option you named, or is under that option's minimum order. |
| 422 | SKU_NOT_IN_SEARCH | The product was not a result of the search you named. |
| 422 | VALIDATION_FAILED | A field is missing, unknown or has an unusable value. field names it as a dotted path. Some refusals carry the detail in details and leave field empty. |
| 429 | RATE_LIMITED | Today's limit for this call is used up. Retry-After is the number of seconds until 00:00 UTC. |
| 500 | INTERNAL | Something failed on Flume's side. |