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:
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


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.

Bundles

POST /api/v1/publish/bundle

Publish a bundle — a curated collection of marketplace agents/prompts (by URL) and/or custom inline prompts.
  • Body: name, description, items[] (1–50, each either { url } or { name, description, content }), tags, image_url / image_base64, links[], business_model
  • Returns: success, id, listing_url, item_count
  • Notes: Bundles are free to publish. Rate limit: 20 bundles/day per user. Duplicate names (same user) return 409.

Full reference

Bundles API — request/response details and code examples

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