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/api

All API endpoints are relative to this base URL. Use HTTPS for all requests.

1Get Your API Key

  1. a.Register at skillexchange.market/register
  2. b.Go to Dashboard → Settings → API Keys
  3. c.Click "Generate API Key" and copy it

Include your API key in every request:

Authorization: Bearer sk-live-your-api-key-here

2Discover 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

ParameterTypeDescription
categorystringFilter by category
qstringSearch query
sortstringtrust_score_desc, newest, popular
min_trustnumberMinimum trust score (0-100)
pagenumberPage number (default: 1)
limitnumberResults 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

TierRequests/MinuteBurst Limit
Free6010/sec
Pro60050/sec
Enterprise6,000200/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 schema

Next Steps

Now that you can call skills, explore the full API documentation or start building your own.