{"id":1217,"date":"2026-03-01T20:12:21","date_gmt":"2026-03-01T20:12:21","guid":{"rendered":"http:\/\/localhost:8881\/api-marketplace\/"},"modified":"2026-03-01T20:12:21","modified_gmt":"2026-03-01T20:12:21","slug":"api-marketplace","status":"publish","type":"page","link":"https:\/\/flamenet.io\/api-marketplace\/","title":{"rendered":"Flamenet API \u2014 Marketplace"},"content":{"rendered":"<nav class=\"api-nav\"><span class=\"api-nav-brand\">&#9670; Flamenet API<\/span><a href=\"https:\/\/flamenet.io\/api-docs\/\">Overview<\/a><a href=\"https:\/\/flamenet.io\/api-forum\/\">Forum<\/a><a href=\"https:\/\/flamenet.io\/api-answers\/\">Answers<\/a><a href=\"https:\/\/flamenet.io\/api-shop\/\">Shop<\/a><a href=\"https:\/\/flamenet.io\/api-marketplace\/\" class=\"active\">Marketplace<\/a><a href=\"https:\/\/flamenet.io\/api-files\/\">Files<\/a><a href=\"https:\/\/flamenet.io\/api-videos\/\">Video<\/a><\/nav><div class=\"api-wrap\">        <h1>Marketplace API<\/h1>\n        <p>Browse storefronts, products, and retrieve your order history from the Flamenet peer-to-peer marketplace.<\/p>\n        <p><strong>Base path:<\/strong> <code>\/api\/flamenet\/v1\/marketplace<\/code><\/p>\n        <div class=\"api-note\">The Marketplace API covers user-owned storefronts (Flamenet Shopping). For the curated catalog, see the <a href=\"https:\/\/flamenet.io\/api-shop\/\">Shop API<\/a>.<\/div>\n\n        <div class=\"endpoint\">\n          <div class=\"endpoint-header\">\n            <span class=\"method method-get\">GET<\/span>\n            <span class=\"endpoint-path\">\/marketplace\/stores<\/span>\n          <\/div>\n          <div class=\"endpoint-body\">\n            <p class=\"endpoint-desc\">Returns a list of active seller storefronts.<\/p>\n            <h3>Query parameters<\/h3>\n            <table>\n              <thead><tr><th>Parameter<\/th><th>Type<\/th><th>Default<\/th><th>Description<\/th><\/tr><\/thead>\n              <tbody>\n                <tr><td><code>page<\/code><\/td><td>integer<\/td><td>1<\/td><td>Page number.<\/td><\/tr>\n                <tr><td><code>per_page<\/code><\/td><td>integer<\/td><td>20<\/td><td>Stores per page (max 100).<\/td><\/tr>\n              <\/tbody>\n            <\/table>\n            <h3>Example request<\/h3>\n            <pre>curl \"https:\/\/flamenet.io\/api\/flamenet\/v1\/marketplace\/stores\"<\/pre>\n            <h3>Example response<\/h3>\n            <pre>{\n  \"<span class=\"key\">stores<\/span>\": [\n    {\n      \"<span class=\"key\">id<\/span>\":            <span class=\"num\">3<\/span>,\n      \"<span class=\"key\">name<\/span>\":          \"<span class=\"str\">RetroTech Surplus<\/span>\",\n      \"<span class=\"key\">slug<\/span>\":          \"<span class=\"str\">retrotech-surplus<\/span>\",\n      \"<span class=\"key\">status<\/span>\":        \"<span class=\"str\">active<\/span>\",\n      \"<span class=\"key\">description<\/span>\":   \"<span class=\"str\">Vintage computing gear from the 90s and 00s.<\/span>\",\n      \"<span class=\"key\">product_count<\/span>\": <span class=\"num\">18<\/span>\n    }\n  ],\n  \"<span class=\"key\">page<\/span>\": <span class=\"num\">1<\/span>\n}<\/pre>\n            <div class=\"api-note\">Stripe account IDs and internal financial data are never exposed in this response.<\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"endpoint\">\n          <div class=\"endpoint-header\">\n            <span class=\"method method-get\">GET<\/span>\n            <span class=\"endpoint-path\">\/marketplace\/stores\/{slug}<\/span>\n          <\/div>\n          <div class=\"endpoint-body\">\n            <p class=\"endpoint-desc\">Returns storefront details and the store's active product listing.<\/p>\n            <h3>Query parameters<\/h3>\n            <table>\n              <thead><tr><th>Parameter<\/th><th>Type<\/th><th>Default<\/th><th>Description<\/th><\/tr><\/thead>\n              <tbody>\n                <tr><td><code>page<\/code><\/td><td>integer<\/td><td>1<\/td><td>Product page number.<\/td><\/tr>\n                <tr><td><code>per_page<\/code><\/td><td>integer<\/td><td>20<\/td><td>Products per page (max 100).<\/td><\/tr>\n              <\/tbody>\n            <\/table>\n            <h3>Example request<\/h3>\n            <pre>curl \"https:\/\/flamenet.io\/api\/flamenet\/v1\/marketplace\/stores\/retrotech-surplus\"<\/pre>\n            <h3>Example response<\/h3>\n            <pre>{\n  \"<span class=\"key\">store<\/span>\": {\n    \"<span class=\"key\">id<\/span>\": <span class=\"num\">3<\/span>, \"<span class=\"key\">name<\/span>\": \"<span class=\"str\">RetroTech Surplus<\/span>\", \"<span class=\"key\">slug<\/span>\": \"<span class=\"str\">retrotech-surplus<\/span>\",\n    \"<span class=\"key\">status<\/span>\": \"<span class=\"str\">active<\/span>\", \"<span class=\"key\">product_count<\/span>\": <span class=\"num\">18<\/span>\n  },\n  \"<span class=\"key\">products<\/span>\": [\n    {\n      \"<span class=\"key\">id<\/span>\":        <span class=\"num\">7<\/span>,\n      \"<span class=\"key\">title<\/span>\":     \"<span class=\"str\">Compaq Presario Keyboard<\/span>\",\n      \"<span class=\"key\">price<\/span>\":     <span class=\"num\">12.00<\/span>,\n      \"<span class=\"key\">stock<\/span>\":     <span class=\"num\">4<\/span>,\n      \"<span class=\"key\">in_stock<\/span>\":  <span class=\"num\">true<\/span>,\n      \"<span class=\"key\">status<\/span>\":    \"<span class=\"str\">active<\/span>\",\n      \"<span class=\"key\">category<\/span>\":  \"<span class=\"str\">Peripherals<\/span>\",\n      \"<span class=\"key\">image_url<\/span>\": \"<span class=\"str\">https:\/\/flamenet.io\/wp-content\/uploads\/kb.jpg<\/span>\",\n      \"<span class=\"key\">store_id<\/span>\":  <span class=\"num\">3<\/span>\n    }\n  ],\n  \"<span class=\"key\">page<\/span>\": <span class=\"num\">1<\/span>\n}<\/pre>\n          <\/div>\n        <\/div>\n\n        <div class=\"endpoint\">\n          <div class=\"endpoint-header\">\n            <span class=\"method method-get\">GET<\/span>\n            <span class=\"endpoint-path\">\/marketplace\/products<\/span>\n          <\/div>\n          <div class=\"endpoint-body\">\n            <p class=\"endpoint-desc\">Returns a paginated list of active products across all stores.<\/p>\n            <h3>Query parameters<\/h3>\n            <table>\n              <thead><tr><th>Parameter<\/th><th>Type<\/th><th>Default<\/th><th>Description<\/th><\/tr><\/thead>\n              <tbody>\n                <tr><td><code>page<\/code><\/td><td>integer<\/td><td>1<\/td><td>Page number.<\/td><\/tr>\n                <tr><td><code>per_page<\/code><\/td><td>integer<\/td><td>20<\/td><td>Results per page (max 100).<\/td><\/tr>\n                <tr><td><code>store_id<\/code><\/td><td>integer<\/td><td>\u2014<\/td><td>Filter by store ID.<\/td><\/tr>\n                <tr><td><code>category<\/code><\/td><td>string<\/td><td>\u2014<\/td><td>Filter by category name.<\/td><\/tr>\n                <tr><td><code>search<\/code><\/td><td>string<\/td><td>\u2014<\/td><td>Search by product title.<\/td><\/tr>\n                <tr><td><code>sort<\/code><\/td><td>string<\/td><td><code>newest<\/code><\/td><td>Sort order: <code>newest<\/code>, <code>price_asc<\/code>, <code>price_desc<\/code>.<\/td><\/tr>\n              <\/tbody>\n            <\/table>\n            <h3>Example request<\/h3>\n            <pre>curl \"https:\/\/flamenet.io\/api\/flamenet\/v1\/marketplace\/products?search=keyboard&amp;sort=price_asc\"<\/pre>\n            <h3>Example response<\/h3>\n            <pre>{\n  \"<span class=\"key\">products<\/span>\": [ { \"<span class=\"key\">id<\/span>\": <span class=\"num\">7<\/span>, \"<span class=\"key\">title<\/span>\": \"<span class=\"str\">Compaq Presario Keyboard<\/span>\", \"<span class=\"key\">price<\/span>\": <span class=\"num\">12.00<\/span>, ... } ],\n  \"<span class=\"key\">page<\/span>\": <span class=\"num\">1<\/span>\n}<\/pre>\n          <\/div>\n        <\/div>\n\n        <div class=\"endpoint\">\n          <div class=\"endpoint-header\">\n            <span class=\"method method-get\">GET<\/span>\n            <span class=\"endpoint-path\">\/marketplace\/products\/{id}<\/span>\n          <\/div>\n          <div class=\"endpoint-body\">\n            <p class=\"endpoint-desc\">Returns full details for a single marketplace product, including store info.<\/p>\n            <h3>Example request<\/h3>\n            <pre>curl https:\/\/flamenet.io\/api\/flamenet\/v1\/marketplace\/products\/7<\/pre>\n            <h3>Example response<\/h3>\n            <pre>{\n  \"<span class=\"key\">id<\/span>\":        <span class=\"num\">7<\/span>,\n  \"<span class=\"key\">title<\/span>\":     \"<span class=\"str\">Compaq Presario Keyboard<\/span>\",\n  \"<span class=\"key\">price<\/span>\":     <span class=\"num\">12.00<\/span>,\n  \"<span class=\"key\">stock<\/span>\":     <span class=\"num\">4<\/span>,\n  \"<span class=\"key\">in_stock<\/span>\":  <span class=\"num\">true<\/span>,\n  \"<span class=\"key\">status<\/span>\":    \"<span class=\"str\">active<\/span>\",\n  \"<span class=\"key\">category<\/span>\":  \"<span class=\"str\">Peripherals<\/span>\",\n  \"<span class=\"key\">image_url<\/span>\": \"<span class=\"str\">https:\/\/flamenet.io\/wp-content\/uploads\/kb.jpg<\/span>\",\n  \"<span class=\"key\">store_id<\/span>\":  <span class=\"num\">3<\/span>,\n  \"<span class=\"key\">store<\/span>\": {\n    \"<span class=\"key\">id<\/span>\": <span class=\"num\">3<\/span>, \"<span class=\"key\">name<\/span>\": \"<span class=\"str\">RetroTech Surplus<\/span>\", \"<span class=\"key\">slug<\/span>\": \"<span class=\"str\">retrotech-surplus<\/span>\",\n    \"<span class=\"key\">status<\/span>\": \"<span class=\"str\">active<\/span>\", \"<span class=\"key\">product_count<\/span>\": <span class=\"num\">18<\/span>\n  }\n}<\/pre>\n          <\/div>\n        <\/div>\n\n        <div class=\"endpoint\">\n          <div class=\"endpoint-header\">\n            <span class=\"method method-post\">POST<\/span>\n            <span class=\"endpoint-path\">\/marketplace\/products<\/span>\n            <span class=\"auth-badge\">AUTH REQUIRED<\/span>\n          <\/div>\n          <div class=\"endpoint-body\">\n            <p class=\"endpoint-desc\">Creates a new product in the authenticated user's store. The user must have an active storefront.<\/p>\n            <h3>Request body (JSON)<\/h3>\n            <table>\n              <thead><tr><th>Field<\/th><th>Type<\/th><th>Required<\/th><th>Description<\/th><\/tr><\/thead>\n              <tbody>\n                <tr><td><code>title<\/code><\/td><td>string<\/td><td>Yes<\/td><td>Product title.<\/td><\/tr>\n                <tr><td><code>price<\/code><\/td><td>number<\/td><td>Yes<\/td><td>Price in USD (must be &gt; 0).<\/td><\/tr>\n                <tr><td><code>description<\/code><\/td><td>string<\/td><td>No<\/td><td>Product description.<\/td><\/tr>\n                <tr><td><code>stock<\/code><\/td><td>integer<\/td><td>No<\/td><td>Available quantity. Omit or pass <code>-1<\/code> for unlimited.<\/td><\/tr>\n                <tr><td><code>category<\/code><\/td><td>string<\/td><td>No<\/td><td>Category name.<\/td><\/tr>\n                <tr><td><code>image_url<\/code><\/td><td>string<\/td><td>No<\/td><td>Public URL of the product image.<\/td><\/tr>\n              <\/tbody>\n            <\/table>\n            <h3>Example request<\/h3>\n            <pre>curl -X POST https:\/\/flamenet.io\/api\/flamenet\/v1\/marketplace\/products \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application\/json\" \\\n  -d '{\"title\":\"IBM Model M Keyboard\",\"price\":45.00,\"stock\":2,\"category\":\"Peripherals\"}'<\/pre>\n            <h3>Example response \u2014 201 Created<\/h3>\n            <pre>{\n  \"<span class=\"key\">id<\/span>\":        <span class=\"num\">19<\/span>,\n  \"<span class=\"key\">title<\/span>\":     \"<span class=\"str\">IBM Model M Keyboard<\/span>\",\n  \"<span class=\"key\">price<\/span>\":     <span class=\"num\">45.00<\/span>,\n  \"<span class=\"key\">stock<\/span>\":     <span class=\"num\">2<\/span>,\n  \"<span class=\"key\">in_stock<\/span>\":  <span class=\"num\">true<\/span>,\n  \"<span class=\"key\">status<\/span>\":    \"<span class=\"str\">active<\/span>\",\n  \"<span class=\"key\">store_id<\/span>\":  <span class=\"num\">3<\/span>\n}<\/pre>\n            <p>Returns <code>403<\/code> if the user has no active store. Returns <code>422<\/code> if <code>title<\/code> is missing or <code>price<\/code> is zero or negative.<\/p>\n          <\/div>\n        <\/div>\n\n        <div class=\"endpoint\">\n          <div class=\"endpoint-header\">\n            <span class=\"method method-get\">GET<\/span>\n            <span class=\"endpoint-path\">\/marketplace\/orders<\/span>\n            <span class=\"auth-badge\">AUTH REQUIRED<\/span>\n          <\/div>\n          <div class=\"endpoint-body\">\n            <p class=\"endpoint-desc\">Returns the authenticated user's full marketplace order history, including per-store line items.<\/p>\n            <h3>Example request<\/h3>\n            <pre>curl https:\/\/flamenet.io\/api\/flamenet\/v1\/marketplace\/orders \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"<\/pre>\n            <h3>Example response<\/h3>\n            <pre>{\n  \"<span class=\"key\">orders<\/span>\": [\n    {\n      \"<span class=\"key\">id<\/span>\":     <span class=\"num\">55<\/span>,\n      \"<span class=\"key\">total<\/span>\":  <span class=\"num\">24.00<\/span>,\n      \"<span class=\"key\">status<\/span>\": \"<span class=\"str\">paid<\/span>\",\n      \"<span class=\"key\">items<\/span>\":  [\n        {\n          \"<span class=\"key\">product_id<\/span>\": <span class=\"num\">7<\/span>,\n          \"<span class=\"key\">title<\/span>\":      \"<span class=\"str\">Compaq Presario Keyboard<\/span>\",\n          \"<span class=\"key\">price<\/span>\":      <span class=\"num\">12.00<\/span>,\n          \"<span class=\"key\">quantity<\/span>\":   <span class=\"num\">2<\/span>,\n          \"<span class=\"key\">store_id<\/span>\":   <span class=\"num\">3<\/span>,\n          \"<span class=\"key\">store_name<\/span>\": \"<span class=\"str\">RetroTech Surplus<\/span>\"\n        }\n      ],\n      \"<span class=\"key\">created_at<\/span>\": \"<span class=\"str\">2026-03-01 09:30:00<\/span>\"\n    }\n  ],\n  \"<span class=\"key\">total<\/span>\": <span class=\"num\">1<\/span>\n}<\/pre>\n            <p>Order <code>status<\/code> values: <code>pending<\/code>, <code>paid<\/code>, <code>completed<\/code>, <code>refunded<\/code>, <code>disputed<\/code>.<\/p>\n          <\/div>\n        <\/div>\n        <div class=\"api-footer\">Flamenet API v1.0 &mdash; <a href=\"https:\/\/flamenet.io\/api-docs\/\">API Overview<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1217","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/flamenet.io\/api\/wp\/v2\/pages\/1217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flamenet.io\/api\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/flamenet.io\/api\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/flamenet.io\/api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flamenet.io\/api\/wp\/v2\/comments?post=1217"}],"version-history":[{"count":0,"href":"https:\/\/flamenet.io\/api\/wp\/v2\/pages\/1217\/revisions"}],"wp:attachment":[{"href":"https:\/\/flamenet.io\/api\/wp\/v2\/media?parent=1217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}