Skip to content

Request an instant quote

POSThttps://sandbox-api.tryflume.ai/partner/v1/request-instant-quote

Returns the delivered price of one product for a quantity and a US ZIP code.

  • The response lists one price per shipping option, cheapest first. Freight and sales tax are included.
  • search_session_uuid must be the search that returned the product.
  • The call can take up to 60 seconds. Set your HTTP read timeout to 75 seconds.
  • READY: quote holds the prices, valid until valid_until.
  • FAILED: read failure_reason. TEMPORARILY_UNAVAILABLE can mean the quote is still pricing. Poll GET /quotes/{quote_uuid}.
  • A shipping option is priced only when the quantity reaches its minimum_order_sqft.
  • Daily limit: 200 instant quotes per partner.

Guide: Get an instant quote

Request

Headers

HeaderRequiredDescription
X-Flume-Partner-KeyYesYour partner key. See Authentication and keys.
X-Flume-User-TokenYesThe access token of the user you call for. See Users and verification.
Idempotency-KeyNoOne value per user action, 1 to 255 characters. A UUID works well. 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.

  • sku_uuidstring (UUID)Required

    The product to price.

  • quantity_sqftintegerRequired

    The quantity, as a whole number of square feet.

    • 1 to 10,000,000
  • destination_zipstringRequired

    The US delivery ZIP code, as 5 digits.

    • 5 digits
  • search_session_uuidstring (UUID)Required

    The search that returned this product. Use the id from the page that listed it. Searches do not expire, so a later quote can send the same id.

Returns

200 with these fields. Every field is always present. A field with no value is null.

  • statusenum

    READY or FAILED.

  • failure_reasonenum or null

    With FAILED: why there are no prices. TEMPORARILY_UNAVAILABLE can mean the quote is still pricing.

    One of
    • NOT_QUOTABLE
    • TEMPORARILY_UNAVAILABLE
    • REGION_RESTRICTED
    • INCORRECT_DESTINATION
  • quote_uuidstring (UUID) or null

    The id to poll with. Send it to GET /quotes/{quote_uuid} while the quote is still pricing. Every response has it.

  • quoteobject or null

    The prices, with READY. Otherwise null.

    ShowHide the 8 fields of quote
    • quote_uuidstring (UUID)

      The quote's id in the user's Flume account.

    • The quote's number, as the user sees it in Flume.

    • sku_uuidstring (UUID)

      The product priced.

    • The delivery ZIP code.

    • currencystring

      Always USD.

      • Default "USD"
    • When the quote was priced, in UTC.

    • The prices hold until this time, in UTC.

    • optionsarray of objects

      One entry per shipping option, cheapest total first.

      ShowHide the 9 fields of options
      • sourceenum

        How this option ships: US_WAREHOUSE or OVERSEAS_DIRECT.

      • ships_from_countrystring or null

        The 2-letter code of the country the option ships from, or null.

      • The shortest delivery time, in days.

      • The longest delivery time, in days.

      • The quantity priced, in square feet.

      • The delivered price per square foot, before tax.

      • subtotalstring

        The delivered price, before tax.

      • sales_taxstring or null

        The sales tax, or null.

      • totalstring

        The delivered price, including sales tax.

Errors

Every error uses one envelope. Branch on error.code.

StatusCodeMeaning
400BELOW_MINIMUM_ORDERThe quantity is under the product's minimum order. The message states the minimum.
400IDEMPOTENCY_KEY_REQUIREDThe Idempotency-Key header is missing.
400NOT_INSTANTLY_QUOTABLEFlume's sales team prices this product. There is no instant quote.
401EMBED_TOKEN_INVALIDYou sent an Authorization header and no X-Flume-Partner-Key. Flume read the call as one from its own iframe.
401PARTNER_KEY_INVALIDThe partner key is missing, unknown, revoked, expired, or from the other environment. On live, also a platform Flume has not enabled yet.
401USER_TOKEN_INVALIDThe user access token is unknown, revoked, another partner's, or replaced by a later verification. A verification in the iframe replaces it too.
403USER_ACCOUNT_CLOSEDThe user's email belongs to a Flume account that Flume has closed.
403USER_NOT_CONNECTEDNo X-Flume-User-Token header was sent.
404NOT_FOUNDThe thing does not exist, or is not this user's. A search id that is not a UUID also returns this code.
404SESSION_NOT_FOUNDThe search does not exist, or is another user's.
409IDEMPOTENCY_IN_PROGRESSThe first call with this key is still running.
422IDEMPOTENCY_KEY_REUSEDThe key was already used with a different body.
422SKU_NOT_IN_SEARCHThe product was not a result of the search you named.
422VALIDATION_FAILEDA 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.
429DAILY_LIMIT_REACHEDThis user's own daily limit of searches or instant quotes is used up. Flume sets this limit per partner account, and it is off by default. details holds kind, limit, reset_at and retry_after_s.
429RATE_LIMITEDToday's limit for this call is used up. Retry-After is the number of seconds until 00:00 UTC.
500INTERNALSomething failed on Flume's side.