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
smcp_ and is shown once.2. Use the REST API
Authorization: Bearer smcp_... to any /api/v1/ endpoint.3. Use the MCP server
UEFN_API_TOKEN=smcp_... in your AI assistant config. The same token works for both.Authentication
Developer token (recommended)
Authorization: Bearer smcp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGenerated 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 profileprofile:writeUpdate your profileassets:readList and read your assetsassets:writeCreate, update, delete, and submit assetstokens:readList your tokens via the APItokens:revokeRevoke tokens via the APIREST API — Endpoints
Base URL: https://uefnmarketplace.com/api/v1
Platform
https://uefnmarketplace.com/api/v1/healthPublic health check — no auth required.
Profile
https://uefnmarketplace.com/api/v1/meRead your profile (username, bio, seller status, social links, etc.)
https://uefnmarketplace.com/api/v1/meUpdate editable profile fields.
Assets — listing management
https://uefnmarketplace.com/api/v1/assetsList your asset listings. Filter by status, paginate with limit/offset.
https://uefnmarketplace.com/api/v1/assetsCreate a new draft asset listing.
https://uefnmarketplace.com/api/v1/assets/batchBatch create up to 25 draft assets in one call. Returns per-item success/failure.
https://uefnmarketplace.com/api/v1/assets/:idGet full asset details including images and tags.
https://uefnmarketplace.com/api/v1/assets/:idUpdate asset metadata, pricing, visibility, or tags.
https://uefnmarketplace.com/api/v1/assets/:idDelete a draft asset (only drafts may be deleted).
Assets — upload lifecycle
Full workflow: upload-url → PUT binary → confirm-file → submit
https://uefnmarketplace.com/api/v1/assets/:id/upload-urlGenerate a signed URL to upload the asset file (ZIP, etc.).
https://uefnmarketplace.com/api/v1/assets/:id/confirm-fileRecord the uploaded file path on the asset.
https://uefnmarketplace.com/api/v1/assets/:id/images/upload-urlGenerate a signed URL to upload a gallery image.
https://uefnmarketplace.com/api/v1/assets/:id/confirm-imageRegister the uploaded image in the asset gallery.
https://uefnmarketplace.com/api/v1/assets/:id/submitSubmit a draft (or rejected) asset for moderation review.
Token management
https://uefnmarketplace.com/api/v1/tokensList all your developer tokens (names, scopes, last used).
https://uefnmarketplace.com/api/v1/tokens?id=:uuidRevoke a specific token by ID.
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 reviewMCP 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.