Developer Documentation
API Quick Start Guide
Get started with the SkillExchange API in under 5 minutes. Discover skills, invoke them from your agent, and handle responses.
Base URL
https://skillexchange.market/apiAll API endpoints are relative to this base URL. Use HTTPS for all requests.
1Get Your API Key
- a.Register at skillexchange.market/register
- b.Go to Dashboard → Settings → API Keys
- c.Click "Generate API Key" and copy it
Include your API key in every request:
Authorization: Bearer sk-live-your-api-key-here2Discover Skills
GET /api/skills?category=automation&sort=trust_score_desc
Response:
{
"skills": [
{
"id": "skill_abc123",
"name": "Email Sender",
"description": "Send emails via SMTP",
"category": "automation",
"trustScore": 94,
"pricing": {
"model": "per_invocation",
"price": 0.01,
"currency": "USD"
},
"inputSchema": { ... }
}
],
"total": 156,
"page": 1
}Query Parameters
| Parameter | Type | Description |
|---|---|---|
| category | string | Filter by category |
| q | string | Search query |
| sort | string | trust_score_desc, newest, popular |
| min_trust | number | Minimum trust score (0-100) |
| page | number | Page number (default: 1) |
| limit | number | Results per page (max: 50) |
3Invoke a Skill
POST /api/skills/{skill_id}/execute
Content-Type: application/json
Authorization: Bearer sk-live-your-api-key-here
{
"input": {
"to": "user@example.com",
"subject": "Hello from SkillExchange",
"body": "This email was sent by an AI agent."
}
}
Response:
{
"success": true,
"output": {
"message_id": "msg_abc123",
"status": "sent"
},
"metadata": {
"latency_ms": 342,
"cost": "$0.01",
"tokens_used": 45
}
}4Set Up Webhooks
POST /api/webhooks/register
Authorization: Bearer sk-live-your-api-key-here
{
"url": "https://your-agent.com/webhook",
"events": ["skill.completed", "skill.failed", "payment.processed"]
}
Response:
{
"id": "whk_abc123",
"url": "https://your-agent.com/webhook",
"events": ["skill.completed", "skill.failed", "payment.processed"],
"secret": "whsec_..."
}Use the webhook secret to verify incoming payloads. Every webhook includes a X-Signature header.
SDK Quick Start
TypeScript / Node.js
npm install @skillexchange/sdk
import { SkillExchange } from '@skillexchange/sdk';
const client = new SkillExchange({
apiKey: process.env.SKX_API_KEY,
});
// Discover skills
const skills = await client.skills.list({
category: 'automation',
minTrust: 80,
});
// Invoke a skill
const result = await client.skills.execute(
'skill_abc123',
{
to: 'user@example.com',
subject: 'Hello',
body: 'Sent via SDK!',
}
);
console.log(result.output);Python
pip install skillexchange
from skillexchange import SkillExchange
client = SkillExchange(
api_key=os.environ["SKX_API_KEY"]
)
# Discover skills
skills = client.skills.list(
category="automation",
min_trust=80
)
# Invoke a skill
result = client.skills.execute(
"skill_abc123",
input={
"to": "user@example.com",
"subject": "Hello",
"body": "Sent via SDK!"
}
)
print(result.output)MCP Integration
SkillExchange is MCP-native. Connect your agent via the Model Context Protocol for standardized tool discovery and invocation.
# MCP Manifest endpoint
GET /api/mcp/manifest
# List available tools
POST /api/mcp/tools/list
{
"method": "tools/list"
}
# Call a tool
POST /api/mcp/tools/call
{
"method": "tools/call",
"params": {
"name": "send-email",
"arguments": {
"to": "user@example.com",
"subject": "Hello",
"body": "Sent via MCP!"
}
}
}Rate Limits
| Tier | Requests/Minute | Burst Limit |
|---|---|---|
| Free | 60 | 10/sec |
| Pro | 600 | 50/sec |
| Enterprise | 6,000 | 200/sec |
Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
Error Handling
// Error response format
{
"error": {
"code": "SKILL_EXECUTION_FAILED",
"message": "The email could not be sent: invalid recipient address",
"details": {
"field": "input.to",
"suggestion": "Provide a valid email address"
}
}
}
// Common error codes:
// AUTHENTICATION_FAILED — Invalid API key
// SKILL_NOT_FOUND — Skill ID doesn't exist
// SKILL_EXECUTION_FAILED — Skill ran but encountered an error
// INSUFFICIENT_FUNDS — Not enough balance for this invocation
// RATE_LIMIT_EXCEEDED — Too many requests, slow down
// VALIDATION_ERROR — Input doesn't match schemaNext Steps
Now that you can call skills, explore the full API documentation or start building your own.