API Reference

APIs powering the Template Catalog. Use these endpoints to integrate templates and tool assignment into your applications.

Authentication

Read operations (GET) are public and don't require authentication. Write operations (POST, PUT, DELETE) require an API key passed in the X-Api-Key header.

curl -X POST https://api.example.com/api/templates \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: your-api-key" \
  -d '{"name": "My Template", ...}'

Templates API

CRUD operations for managing templates in the catalog.

GET /api/templates

List all published templates

Query Parameters

Parameter Type Description
includeDrafts boolean Include draft templates (requires auth)

Response

[
  {
    "slug": "social-media-manager",
    "name": "Social Media Manager",
    "description": "...",
    "category": "marketing",
    "toolCount": 5,
    "status": "published",
    "gatewayUrl": "https://mcp.arcade.dev/..."
  }
]
GET /api/templates/:slug

Get a specific template by slug

Response

{
  "slug": "social-media-manager",
  "name": "Social Media Manager",
  "description": "...",
  "category": "marketing",
  "systemPrompt": "...",
  "tools": [...],
  "status": "published",
  "gatewayUrl": "..."
}
POST /api/templates Auth Required

Create a new template

Request Body

{
  "name": "My Template",
  "description": "...",
  "category": "productivity",
  "systemPrompt": "...",
  "examplePrompts": ["..."]
}

Response

{
  "slug": "my-template",
  "name": "My Template",
  ...
}
POST /api/templates/create-with-gateway Auth Required

Create template with auto tool assignment

Request Body

{
  "name": "My Template",
  "description": "...",
  "category": "productivity", 
  "systemPrompt": "..."
}

Response

{
  "template": {...},
  "gatewayUrl": "https://mcp.arcade.dev/...",
  "tools": [...]
}
PUT /api/templates/:slug Auth Required

Update an existing template

Request Body

{
  "name": "Updated Name",
  "description": "...",
  ...
}

Response

{
  "slug": "my-template",
  ...
}
DELETE /api/templates/:slug Auth Required

Delete a template

Response

{ "success": true }
PUT /api/templates/:slug/publish Auth Required

Publish a template to the catalog

Response

{ "status": "published", ... }
PUT /api/templates/:slug/unpublish Auth Required

Unpublish a template (set to draft)

Response

{ "status": "draft", ... }

Tool Assignment API

AI-powered tool suggestion and assignment based on semantic analysis of your prompts.

POST /api/suggest

Get AI-powered tool suggestions based on a prompt

Request Body

{
  "prompt": "You are a social media manager...",
  "limit": 10
}

Response

{
  "suggestions": [
    {
      "toolkit": "Google",
      "name": "SearchGoogle",
      "qualifiedName": "Google.SearchGoogle",
      "description": "...",
      "score": 0.89
    },
    ...
  ]
}
GET /api/tools

List all available tools

Query Parameters

Parameter Type Description
toolkit string Filter by toolkit name

Response

{
  "tools": [
    {
      "toolkit": "Google",
      "name": "SearchGoogle",
      "qualifiedName": "Google.SearchGoogle",
      "description": "..."
    },
    ...
  ]
}
GET /api/toolkits

List all available toolkits

Response

{
  "toolkits": [
    {
      "name": "Google",
      "toolCount": 12,
      "description": "..."
    },
    ...
  ]
}

Base URLs

All APIs: /api