Skip to main content
Reference for the Marketplace REST endpoints that require a Swarms API key.

Authentication

Send your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Every endpoint below requires a valid key (returns 401 otherwise). Endpoints marked (API key or session) also accept a logged-in session cookie, but the API key path is always available.

Common status codes

CodeMeaning
200Success
207Multi-status (partial success — batch token launch)
400Bad request / validation error
401Missing or invalid API key
403Forbidden (e.g. paid content without access)
404Not found
405Method not allowed
409Conflict (e.g. already reviewed)
429Rate limit exceeded
500Internal server error

Products & Fees

GET /api/product/list

List every product the authenticated user has posted (agents, prompts, tools, bundles).
  • Query: typeagent | prompt | tool | bundle | all (default all)
  • Returns: user_id, total, counts { agents, prompts, tools, bundles }, products[] { id, type, name, description, created_at, url } (newest-first)

Full reference

List Products API — request/response details and code examples

GET /api/product/fees

Creator fees (via the Jupiter partner API) generated by one of your tokenized products, in SOL.
  • Query (one of): ticker · id (UUID) · url (full Swarms URL) · product (auto-detects which of the three)
  • Returns: name, uuid, claimedFees, unclaimedFees, totalFees, timestamp
  • Notes: Only tokenized agents/prompts have fees. If no fee data exists yet, amounts return 0.

Full reference

Product Fees API — request/response details and code examples

POST /api/user-products

Authenticated user’s products across prompts/agents/tools with business-model + summary stats. (API key or session)
  • Body: page, limit, product_typeall | prompts | agents | tools
  • Returns: prompts[], agents[], tools[], pagination, summary
  • Notes: Superseded by GET /api/product/list (which also covers bundles + created_at).

GET|POST /api/get-tokenized-products

Authenticated user’s tokenized agents/prompts (those with a token_address). (API key or session)
  • Params (query or body): typeall | agent | prompt; page, limit
  • Returns: data[] { id, name, type, token_address, listing_url }, counts, pagination

Agents

POST /api/add-agent

Create a marketplace agent listing; optionally tokenize it and upload an image. (API key or session)
  • Body (core): name, agent (code, nullable), description, useCases[], requirements[], language, tags, is_free, price_usd, category, status, image_url / image_base64 / file_path, links[], seller_wallet_address, x402_url, mcp_url
  • Body (tokenization): tokenized_on, ticker, creator_wallet, private_key, fee_selection (frenzy | market), quote_mint (SOL | USDC), vault_mode
  • Returns: success, id, listing_url, tokenized, token_address, pool_address
  • Limits: Daily submission limit + fraud/quality validation.

POST /api/edit-agent

Update an agent you own (scoped by user_id). (API key or session)
  • Body: id (required) + any editable agent fields (name, agent, description, pricing, category, status, image, links, etc.)
  • Returns: success, id, listing_url, updated_data

GET /api/get-agents/[id]/full

Full agent content. 403 unless free / owner / purchased.
  • Returns: full agent data + access_granted, access_reason

GET /api/get-agents/fetch-agent-count

Count of the authenticated user’s agents.

Prompts

POST /api/add-prompt

Create a marketplace prompt; optional tokenization + image. (API key or session)
  • Body: name, prompt, description, useCases[], tags, is_free, price_usd, category, status, tokenized_on, ticker, image_url / image_base64 / file_path, links[], seller_wallet_address, creator_wallet, private_key, fee_selection, vault_mode
  • Returns: success, id, listing_url, tokenized, token_address, pool_address

POST /api/edit-prompt

Update a prompt you own. (API key or session)
  • Body: id (required) + editable prompt fields
  • Returns: success, id, listing_url, updated_data

GET /api/get-prompts/[id]/full

Full prompt content. 403 unless free / owner / purchased. Lookup by UUID or name.

GET /api/get-prompts/fetch-prompt-count

Count of the authenticated user’s prompts.

Token Launch

POST /api/token/launch

Launch a single tokenized agent (creates the agent + Solana token). Forwards your Authorization header to add-agent.
  • Content types: JSON or multipart/form-data (image upload)
  • Body: name, description, ticker, private_key, image (url / base64 / file), fee_selection (frenzy | market), quote_mint (SOL | USDC), vault_mode
  • Returns: success, id, listing_url, tokenized, token_address, pool_address
  • Notes: Requires ≥ ~0.04 SOL in the creator wallet.

POST /api/token/launch/batch

Launch up to 50 tokenized agents in parallel. JSON only.
  • Body: private_key (default, optional) + tokens[] { name, description, ticker, private_key?, image?, fee_selection? }
  • Returns: success, total, succeeded, failed, results[], failures[] (207 on partial success)

Reviews

POST /api/reviews

Submit a review for an agent / prompt / tool (one per user per item).
  • Body: model_id, model_type (agent | prompt | tool), rating (1–5), comment
  • Returns: success, review (409 if already reviewed)

Endpoints at a glance

MethodPathResource
GET/api/product/listProducts
GET/api/product/feesProducts
POST/api/user-productsProducts
GET/POST/api/get-tokenized-productsProducts
POST/api/add-agentAgents
POST/api/edit-agentAgents
GET/api/get-agents/[id]/fullAgents
GET/api/get-agents/fetch-agent-countAgents
POST/api/add-promptPrompts
POST/api/edit-promptPrompts
GET/api/get-prompts/[id]/fullPrompts
GET/api/get-prompts/fetch-prompt-countPrompts
POST/api/token/launchToken Launch
POST/api/token/launch/batchToken Launch
POST/api/reviewsReviews