Skip to main content
Developer Platform v1

UEFN Marketplace API & MCP

A single developer token unlocks both the REST API (for custom tools and automation) and the MCP server (for AI assistants like Claude, Cursor, and VS Code Copilot).

Quick start (2 minutes)

1. Generate a token

Go to Dashboard → Developer and click New Token. Copy it — it starts with smcp_ and is shown once.

2. Use the REST API

Pass your token as Authorization: Bearer smcp_... to any /api/v1/ endpoint.

3. Use the MCP server

Set UEFN_API_TOKEN=smcp_... in your AI assistant config. The same token works for both.

Authentication

Developer token (recommended)

Authorization: Bearer smcp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Generated in Dashboard → Developer. Scoped access, revocable anytime.

Example curl call

curl https://uefnmarketplace.com/api/v1/me \
  -H "Authorization: Bearer smcp_xxxxxxxx"

Token scopes

New tokens are granted the default scope set. You can use a broader token and restrict it later.

profile:readRead your profile
profile:writeUpdate your profile
assets:readList and read your assets
assets:writeCreate, update, delete, and submit assets
tokens:readList your tokens via the API
tokens:revokeRevoke tokens via the API

REST API — Endpoints

Base URL: https://uefnmarketplace.com/api/v1

Platform

GET
https://uefnmarketplace.com/api/v1/health

Public health check — no auth required.

Profile

GET
https://uefnmarketplace.com/api/v1/me

Read your profile (username, bio, seller status, social links, etc.)

profile:read
PATCH
https://uefnmarketplace.com/api/v1/me

Update editable profile fields.

profile:write

Assets — listing management

GET
https://uefnmarketplace.com/api/v1/assets

List your asset listings. Filter by status, paginate with limit/offset.

assets:read
POST
https://uefnmarketplace.com/api/v1/assets

Create a new draft asset listing.

assets:write
POST
https://uefnmarketplace.com/api/v1/assets/batch

Batch create up to 25 draft assets in one call. Returns per-item success/failure.

assets:write
GET
https://uefnmarketplace.com/api/v1/assets/:id

Get full asset details including images and tags.

assets:read
PATCH
https://uefnmarketplace.com/api/v1/assets/:id

Update asset metadata, pricing, visibility, or tags.

assets:write
DELETE
https://uefnmarketplace.com/api/v1/assets/:id

Delete a draft asset (only drafts may be deleted).

assets:write

Assets — upload lifecycle

Full workflow: upload-url → PUT binary → confirm-file → submit

POST
https://uefnmarketplace.com/api/v1/assets/:id/upload-url

Generate a signed URL to upload the asset file (ZIP, etc.).

assets:write
POST
https://uefnmarketplace.com/api/v1/assets/:id/confirm-file

Record the uploaded file path on the asset.

assets:write
POST
https://uefnmarketplace.com/api/v1/assets/:id/images/upload-url

Generate a signed URL to upload a gallery image.

assets:write
POST
https://uefnmarketplace.com/api/v1/assets/:id/confirm-image

Register the uploaded image in the asset gallery.

assets:write
POST
https://uefnmarketplace.com/api/v1/assets/:id/submit

Submit a draft (or rejected) asset for moderation review.

assets:write

Token management

GET
https://uefnmarketplace.com/api/v1/tokens

List all your developer tokens (names, scopes, last used).

tokens:read
DELETE
https://uefnmarketplace.com/api/v1/tokens?id=:uuid

Revoke a specific token by ID.

tokens:revoke

Example: batch upload workflow

The typical developer workflow for uploading a new asset pack:

Step 1 — Create the draft

POST /api/v1/assets
{
  "title": "Epic Forest Pack",
  "slug": "epic-forest-pack",
  "pricing_type": "fixed",
  "price": 9.99,
  "tags": ["nature", "forest", "UEFN"]
}

Step 2 — Get a signed upload URL

POST /api/v1/assets/:id/upload-url
{ "filename": "epic-forest-pack-v1.zip" }

# Response:
{ "signed_url": "https://...", "storage_path": "..." }

Step 3 — PUT the file binary

curl -X PUT "<signed_url>" \
  --upload-file epic-forest-pack-v1.zip \
  -H "Content-Type: application/zip"

Step 4 — Confirm + submit

POST /api/v1/assets/:id/confirm-file
{ "storage_path": "...", "file_size": 4294967 }

POST /api/v1/assets/:id/submit
# → status transitions to "pending" for review

MCP Server — AI assistant integration

The same developer token powers the Studio MCP server. Your AI assistant can create projects, write Verse scripts, manage Kanban boards, batch-upload assets, and more — all from chat.

Claude Desktop

{
  "mcpServers": {
    "uefn-studio": {
      "command": "npx",
      "args": ["-y", "@uefnmarketplace/studio-mcp-server"],
      "env": {
        "UEFN_API_TOKEN": "smcp_YOUR_TOKEN"
      }
    }
  }
}

Cursor / VS Code

{
  "mcp": {
    "servers": {
      "uefn-studio": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@uefnmarketplace/studio-mcp-server"],
        "env": {
          "UEFN_API_TOKEN": "smcp_YOUR_TOKEN"
        }
      }
    }
  }
}

Error codes

401 UNAUTHORIZEDMissing, invalid, expired, or revoked token.
403 FORBIDDENToken does not have the required scope.
404 NOT_FOUNDResource does not exist or does not belong to you.
409 CONFLICTSlug already exists (create) or status prevents the action (delete/submit).
422 NO_FILETried to submit an asset with no uploaded file.
500Internal server error — try again or contact support.