Marketplace API
Browse storefronts, products, and retrieve your order history from the Flamenet peer-to-peer marketplace.
Base path: /api/flamenet/v1/marketplace
Returns a list of active seller storefronts.
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number. |
per_page | integer | 20 | Stores 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
}
Returns storefront details and the store's active product listing.
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Product page number. |
per_page | integer | 20 | Products 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
}
Returns a paginated list of active products across all stores.
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number. |
per_page | integer | 20 | Results per page (max 100). |
store_id | integer | — | Filter by store ID. |
category | string | — | Filter by category name. |
search | string | — | Search by product title. |
sort | string | newest | Sort 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
}
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
}
}
Creates a new product in the authenticated user's store. The user must have an active storefront.
Request body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Product title. |
price | number | Yes | Price in USD (must be > 0). |
description | string | No | Product description. |
stock | integer | No | Available quantity. Omit or pass -1 for unlimited. |
category | string | No | Category name. |
image_url | string | No | Public 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.
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.