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.
/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/..."
}
] /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": "..."
} /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",
...
} /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": [...]
} /api/templates/:slug Auth Required Update an existing template
Request Body
{
"name": "Updated Name",
"description": "...",
...
} Response
{
"slug": "my-template",
...
} /api/templates/:slug Auth Required Delete a template
Response
{ "success": true } /api/templates/:slug/publish Auth Required Publish a template to the catalog
Response
{ "status": "published", ... } /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.
/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
},
...
]
} /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": "..."
},
...
]
} /api/toolkits List all available toolkits
Response
{
"toolkits": [
{
"name": "Google",
"toolCount": 12,
"description": "..."
},
...
]
} Base URLs
/api