Flow Dealers API

A REST API for the Flow Dealers wholesale marketplace. Search listings from other verified dealers, create and update your own listings, and read your offers and orders. The API is part of the Pro and Enterprise plans.

Quick start

  1. Put your organization on the Pro or Enterprise plan.
  2. As an owner or admin, create a key in Settings, API keys. Copy it; it is shown once.
  3. Send it as a bearer token:
curl "https://api.flowauctions.com/dealers/v1/listings?q=morgan&limit=5" \
  -H "Authorization: Bearer fd_live_..."

Authentication

Every request needs Authorization: Bearer <key>. Keys start with fd_live_ and belong to your organization. A key acts as the owner or admin who created it, so it stops working if that person leaves or is no longer an owner or admin. Revoke a key from the settings page at any time. Keep keys on your server; do not put them in a web page or mobile app.

Requests and limits

  • Base URL: https://api.flowauctions.com/dealers/v1
  • Each key allows 120 requests per 60 seconds. Over the limit, the API returns 429 with a Retry-After header.
  • Send JSON bodies with Content-Type: application/json.
  • Money is in integer cents (USD). Timestamps are ISO 8601 in UTC.
  • Lists take page and limit (1 to 100) and return hasMore.

Errors

Errors return { code, message }, plus issues for validation errors.

StatusCodeMeaning
400BAD_REQUESTThe request failed validation. `issues` lists each field.
401UNAUTHORIZEDThe key is missing, unknown, expired, or revoked.
403FORBIDDENThe plan no longer includes the API, or the key's creator is no longer an owner or admin.
404NOT_FOUNDNo such resource, or it belongs to another organization.
429TOO_MANY_REQUESTSRate limit reached. Wait for the seconds in `Retry-After`.
500INTERNAL_SERVER_ERRORSomething failed on our side. Retry, or email us.

Endpoints

The full machine-readable reference is the OpenAPI 3.1 document. Load it into Postman, Insomnia, or a code generator.

Account

get/me

Check your API key

Returns the organization and key that the request is authenticated as.

Returns object.

Listings

get/listings

Search the marketplace

Listings that other verified dealers can buy now: unsold, not delisted, and in stock.

Parameters

FieldTypeNotes
qstring
categoryIduuid
sellerIduuid
gradingServicestring
gradestring
minPriceInCentsinteger
maxPriceInCentsinteger
sort"newest" | "oldest" | "price_asc" | "price_desc"Default "newest".
pageintegerPage number, starting at 1. Default 1.
limitintegerResults per page, 1 to 100. Default 20.

Returns a page of Listing[].

get/listings/{id}

Get a marketplace listing

Parameters

FieldTypeNotes
{id}*uuid

Returns Listing.

Your listings

get/me/listings

List your listings

Your organization's listings, including cost and sold or delisted ones.

Parameters

FieldTypeNotes
qstring
status"active" | "sold" | "all"Default "all".
sort"newest" | "oldest" | "price_asc" | "price_desc"Default "newest".
pageintegerPage number, starting at 1. Default 1.
limitintegerResults per page, 1 to 100. Default 20.

Returns a page of OwnListing[].

post/me/listings

Create a listing

Lists a coin on the marketplace. Your organization must be a verified dealer. Photos are added in the Flow Dealers app.

JSON body

FieldTypeNotes
title*string
descriptionstringPlain text. Each line becomes a paragraph.
priceInCentsinteger
costInCentsinteger
quantityintegerDefault 1.
skustring
numberstring
categoryIduuid
gradingServicestring
gradestring
certificateNumberstring
attributesobject
shippingMethod"flat_rate" | "free" | "calculated" | "pickup_only"Default "flat_rate".
shippingCostInCentsinteger
freeShippingThresholdInCentsinteger
allowLocalPickupbooleanDefault false.
shippingNotesstring

Returns OwnListing.

get/me/listings/{id}

Get one of your listings

Parameters

FieldTypeNotes
{id}*uuid

Returns OwnListing.

patch/me/listings/{id}

Update a listing

Changes only the fields you send.

Parameters

FieldTypeNotes
{id}*uuid

JSON body

FieldTypeNotes
titlestring
descriptionstringPlain text. Each line becomes a paragraph.
priceInCentsinteger
costInCentsinteger
quantityintegerDefault 1.
skustring
numberstring
categoryIduuid
gradingServicestring
gradestring
certificateNumberstring
attributesobject
shippingMethod"flat_rate" | "free" | "calculated" | "pickup_only"Default "flat_rate".
shippingCostInCentsinteger
freeShippingThresholdInCentsinteger
allowLocalPickupbooleanDefault false.
shippingNotesstring

Returns OwnListing.

delete/me/listings/{id}

Delete a listing

Parameters

FieldTypeNotes
{id}*uuid

Returns object.

Offers

get/me/offers

List your offers

Offers your organization sent or received, newest first.

Parameters

FieldTypeNotes
direction"sent" | "received"
status"pending" | "accepted" | "rejected" | "countered" | "expired" | "withdrawn"
open"true" | "false"
listingIduuid
pageintegerPage number, starting at 1. Default 1.
limitintegerResults per page, 1 to 100. Default 20.

Returns a page of Offer[].

post/me/offers

Make an offer

Offers a price for one unit of another dealer's listing. You can have one open offer per listing. Your organization must be a verified dealer.

JSON body

FieldTypeNotes
listingId*uuid
amountInCents*integerYour price for one unit.
quantityintegerDefault 1.
messagestring
expiresInHoursintegerHours the other side has to answer. Defaults to 48.

Returns Offer.

get/me/offers/{id}

Get an offer

Parameters

FieldTypeNotes
{id}*uuid

Returns Offer.

post/me/offers/{id}/counter

Counter an offer

Names a new price when the offer waits for you. A seller counters a pending offer. A buyer counters a countered offer.

Parameters

FieldTypeNotes
{id}*uuid

JSON body

FieldTypeNotes
amountInCents*integerYour new price for one unit.
messagestring
expiresInHoursintegerHours the other side has to answer. Defaults to 48.

Returns Offer.

post/me/offers/{id}/accept

Accept an offer

Accepts the price on the table when the offer waits for you. This makes an order that holds the stock for 48 hours while the buyer pays. Open offers the remaining stock cannot fill are declined.

Parameters

FieldTypeNotes
{id}*uuid

Returns Offer.

post/me/offers/{id}/decline

Decline an offer

Declines the offer when it waits for you. A buyer that wants to stop at any time can withdraw.

Parameters

FieldTypeNotes
{id}*uuid

JSON body

FieldTypeNotes
messagestring

Returns Offer.

post/me/offers/{id}/withdraw

Withdraw your offer

Takes back an open offer you sent.

Parameters

FieldTypeNotes
{id}*uuid

Returns Offer.

Orders

get/me/orders

List your orders

Orders your organization bought (role=buyer) or sold (role=seller), newest first.

Parameters

FieldTypeNotes
role*"buyer" | "seller"Orders you bought, or orders you sold.
status"pending" | "confirmed" | "shipped" | "delivered" | "cancelled"
pageintegerPage number, starting at 1. Default 1.
limitintegerResults per page, 1 to 100. Default 20.

Returns a page of Order[].

get/me/orders/{id}

Get an order

Parameters

FieldTypeNotes
{id}*uuid

Returns Order.

Help

Questions about the API: email support@flowauctions.com.