My Account Subscribe Help About
Sign In | Register FREE
Saturday, March 14, 2026
First image emerges of Andrew, Mandelson and Epstein togetherPetrol retailers in row with government over 'rip off' accusationsSheriff in Nancy Guthrie case believes they know kidnapper's motiveTwo more horses die on final day of CheltenhamPink Floyd guitar sold for record-breaking $14.6mTrial starts in case of explosives sent to UK and PolandF1 races in Middle East to be cancelled because of war in IranAustrian glaciers disintegrating due to climate change, say scientistsPlanters demoralised as council mows down 30,000 bulbsHarry Styles breaks his own sales record as new album hits number oneUnder drone fire, exiled Kurds wait to confront Iranian regimeAs hopes of regime change in Iran fade, Netanyahu faces political testAll six crew members killed after US refuelling plane crashes in IraqWhy has Trump eased sanctions on Russian oil - and will it help Putin?'I don't even think it was his message': Iranians on new supreme leader's first addressFrom Mr Nobody to Oscar nominee: How one man took on PutinMorrissey 'too tired' to perform, and 12 other excuses for cancelled concertsDharshini David: The UK's economy was on shaky ground even before Iran warWoman found out she had terminal brain cancer after suitcase fell on her headWeekly quiz: This dog was Best in Show at Crufts - what other prize did he win?Britons should not take photos of strikes in UAE, embassy warnsEthics adviser rejects Tory call for inquiry into PM over Mandelson appointmentHusband who killed wife and buried her in the garden jailed for lifeTowie star's plea for mandatory ice skating gloves rejectedUkraine and allies fear easing Russian sanctions will prolong warMichigan synagogue attack was 'hate, plain and simple', says governorGlasgow Central Station closed until next week during demolition workBBC News appTaking Back Control: Why ‘Agency’ Could Be The Next Big Idea In PoliticsThe Week: Jeremy Bowen On The Iran War

Marketplace API

Browse storefronts, products, and retrieve your order history from the Flamenet peer-to-peer marketplace.

Base path: /api/flamenet/v1/marketplace

The Marketplace API covers user-owned storefronts (Flamenet Shopping). For the curated catalog, see the Shop API.
GET /marketplace/stores

Returns a list of active seller storefronts.

Query parameters

ParameterTypeDefaultDescription
pageinteger1Page number.
per_pageinteger20Stores per page (max 100).

Example request

curl "https://flamenet.io/api/flamenet/v1/marketplace/stores"

Example response

{
  "stores": [
    {
      "id":            3,
      "name":          "RetroTech Surplus",
      "slug":          "retrotech-surplus",
      "status":        "active",
      "description":   "Vintage computing gear from the 90s and 00s.",
      "product_count": 18
    }
  ],
  "page": 1
}
Stripe account IDs and internal financial data are never exposed in this response.
GET /marketplace/stores/{slug}

Returns storefront details and the store's active product listing.

Query parameters

ParameterTypeDefaultDescription
pageinteger1Product page number.
per_pageinteger20Products per page (max 100).

Example request

curl "https://flamenet.io/api/flamenet/v1/marketplace/stores/retrotech-surplus"

Example response

{
  "store": {
    "id": 3, "name": "RetroTech Surplus", "slug": "retrotech-surplus",
    "status": "active", "product_count": 18
  },
  "products": [
    {
      "id":        7,
      "title":     "Compaq Presario Keyboard",
      "price":     12.00,
      "stock":     4,
      "in_stock":  true,
      "status":    "active",
      "category":  "Peripherals",
      "image_url": "https://flamenet.io/wp-content/uploads/kb.jpg",
      "store_id":  3
    }
  ],
  "page": 1
}
GET /marketplace/products

Returns a paginated list of active products across all stores.

Query parameters

ParameterTypeDefaultDescription
pageinteger1Page number.
per_pageinteger20Results per page (max 100).
store_idintegerFilter by store ID.
categorystringFilter by category name.
searchstringSearch by product title.
sortstringnewestSort order: newest, price_asc, price_desc.

Example request

curl "https://flamenet.io/api/flamenet/v1/marketplace/products?search=keyboard&sort=price_asc"

Example response

{
  "products": [ { "id": 7, "title": "Compaq Presario Keyboard", "price": 12.00, ... } ],
  "page": 1
}
GET /marketplace/products/{id}

Returns full details for a single marketplace product, including store info.

Example request

curl https://flamenet.io/api/flamenet/v1/marketplace/products/7

Example response

{
  "id":        7,
  "title":     "Compaq Presario Keyboard",
  "price":     12.00,
  "stock":     4,
  "in_stock":  true,
  "status":    "active",
  "category":  "Peripherals",
  "image_url": "https://flamenet.io/wp-content/uploads/kb.jpg",
  "store_id":  3,
  "store": {
    "id": 3, "name": "RetroTech Surplus", "slug": "retrotech-surplus",
    "status": "active", "product_count": 18
  }
}
POST /marketplace/products AUTH REQUIRED

Creates a new product in the authenticated user's store. The user must have an active storefront.

Request body (JSON)

FieldTypeRequiredDescription
titlestringYesProduct title.
pricenumberYesPrice in USD (must be > 0).
descriptionstringNoProduct description.
stockintegerNoAvailable quantity. Omit or pass -1 for unlimited.
categorystringNoCategory name.
image_urlstringNoPublic URL of the product image.

Example request

curl -X POST https://flamenet.io/api/flamenet/v1/marketplace/products \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"IBM Model M Keyboard","price":45.00,"stock":2,"category":"Peripherals"}'

Example response — 201 Created

{
  "id":        19,
  "title":     "IBM Model M Keyboard",
  "price":     45.00,
  "stock":     2,
  "in_stock":  true,
  "status":    "active",
  "store_id":  3
}

Returns 403 if the user has no active store. Returns 422 if title is missing or price is zero or negative.

GET /marketplace/orders AUTH REQUIRED

Returns the authenticated user's full marketplace order history, including per-store line items.

Example request

curl https://flamenet.io/api/flamenet/v1/marketplace/orders \
  -H "Authorization: Bearer YOUR_API_KEY"

Example response

{
  "orders": [
    {
      "id":     55,
      "total":  24.00,
      "status": "paid",
      "items":  [
        {
          "product_id": 7,
          "title":      "Compaq Presario Keyboard",
          "price":      12.00,
          "quantity":   2,
          "store_id":   3,
          "store_name": "RetroTech Surplus"
        }
      ],
      "created_at": "2026-03-01 09:30:00"
    }
  ],
  "total": 1
}

Order status values: pending, paid, completed, refunded, disputed.