DevelopersDocs › What's supported

What's supported

What the API can and can’t do, which plan includes it, browser-run marketplaces, testing, and building for other sellers.

What the API does today, what it doesn't, and the practical limits: plans, browser-run marketplaces, sandbox, and building for other sellers. Everything on this page is live. Anything not live is labelled Not available. We don't list roadmap items as features.

Capabilities

You want to…StatusHow
List the marketplace accounts you can publish toSupportedGET /accounts
Publish an existing product to one or more marketplacesSupportedPOST /items
Change a listing's price without repostingSupportedPOST /items with price on that target
Take listings down on chosen marketplacesSupportedDELETE /items
Mark an item sold and take it down everywhereSupportedPOST /items/{vid}/mark-sold. Returns a success or failure per channel
Delete a productSupportedDELETE /items/{vid}
Read listing state, URLs and sale infoSupportedGET /items, GET /items/{vid}
Get told when something sells, lists, fails or is delistedSupportedWebhooks
Get told when a buyer sends a messageSupported on Depop and Vinted onlymessage.received webhook, carrying the text, buyer and item
Create a product from your own photos and detailsSupportedPOST /products. AI fills in anything you leave out
Create products in bulk from a CSV or Excel fileSupportedPOST /products/import, then poll GET /products/import/{id}
Edit a product's title, description, photos, price or attributesSupportedPATCH /items/{vid}. Live listings are updated too
Read a conversation thread or reply to a buyerNot availableReplies are sent from the FLUF Inbox
Test in a sandboxNot availableSee Testing

Where products come from

POST /items publishes a product that already exists, identified by its vid. A product can get into FLUF in three ways:

  • Created through the API with POST /products (one product) or POST /products/import (a spreadsheet). These get a fluf_… vid.
  • From a connected source store, such as Shopify. Pass that product's vid (e.g. shopify_8123456789012_0) and FLUF imports it on the first publish.
  • Created in FLUF Connect, on the web or in the mobile app.

So the full flow for your own catalogue is: create with POST /products, then publish with POST /items.

Editing content

PATCH /items/{vid} changes the product itself: title, description, photos, price, attributes and stock. FLUF then applies the change to every listing that's up, on marketplaces that allow listings to be edited. Vestiaire Collective, for example, only accepts price reductions after listing. Per-listing results arrive as listing.updated or listing.error webhooks.

POST /items with a price is different: it sets a price for one marketplace account and leaves the product's own price alone.

Messages

Buyer messages reach you through the message.received webhook, on Depop and Vinted only. That is the same channel coverage as the FLUF Inbox. You can't list threads or send replies through the API. Messages on other marketplaces don't reach FLUF at all yet.

Marketplaces that run in the seller's browser

Some marketplaces block server-to-server traffic, so FLUF carries out the work in the seller's own signed-in browser session. GET /accounts flags these accounts with "runs_in_browser": true.

What that means for an integration:

  • The API call itself works from anywhere, including from a phone. FLUF accepts the write straight away and returns outcome: "queued".
  • The marketplace change only happens once a signed-in session picks it up. That means the FLUF Chrome extension on a desktop. For Vinted, Facebook Marketplace, Whatnot and Grailed, the FLUF mobile app can also do it. If neither is open and signed in to that marketplace, the work waits in the queue rather than failing.
  • Confirm the result instead of assuming it. Poll GET /items/{vid} until the listing leaves pending, or wait for listing.live, listing.rejected or listing.delisted.

Accounts with "runs_in_browser": false are handled entirely by FLUF's servers. No browser needs to be running.

Plans and fees

API access comes with the FLUF plan. There's no per-call fee and no separate developer tier. The plan decides what a token may do:

PlanAPI access
StarterNone
SellerRead-only. The GET endpoints. Registering a webhook counts as a write
Pro, Super SellerRead and write. Everything on this site, webhooks included

A write that the plan doesn't include returns 403 with code: "api_read_only". A plan with no API access returns 403 with code: "api_not_in_plan". Both name the plan that lifts the limit. A lapsed subscription returns 403 with code: "no_active_subscription", not 401. The token is still valid, so there's no need to create a new one.

Each product you create with POST /products or POST /products/import counts towards your plan's monthly AI product creations, the same as creating one in the app. A create over the limit is refused with the reason.

Current prices are on the pricing page.

Testing

There's no sandbox. Every call acts on real marketplace accounts. To test safely:

  1. Create one inexpensive test product and publish it to a single account.
  2. Check it with GET /items/{vid}.
  3. Take it down with DELETE /items, or remove it completely with DELETE /items/{vid}.

Reads (GET /accounts, GET /items) never change anything. The OpenAPI documents are public, so you can build and generate a client before you have a token.

Building for other sellers

A token belongs to one seller account and acts as that seller. There's no OAuth app flow for third parties. To serve several independent sellers, each seller:

  1. Holds their own FLUF plan and connects their own marketplace accounts in FLUF.
  2. Creates a token under More → Developers and gives it to your product.

Store each token server-side, against the seller it belongs to, and let the seller revoke it. Tokens carry the full access of that seller's plan.

If you are building a product for many sellers, email [email protected] before you start. We agree multi-seller arrangements case by case.

Something missing? Email [email protected] — we prioritise by what people actually ask for.

Scroll to Top