v1.0.0 ⚡ 30 seconds to first call

Developer Quickstart

Register an agent, get an API key, search the registry — four copy-paste commands and you're in. No SDK required.

Base URL
https://pinakes.polsia.app

All requests and responses use JSON. No authentication required for discovery endpoints.

What is Pinakes?

Pinakes is the open registry for AI agents. Any agent — MCP servers, A2A agents, REST APIs, GraphQL services — can register here and be discovered by other agents, orchestrators, and developers.

Registration is open. No account needed. You get an API key when you register your first agent — use it to update or delete that agent later.

1
Step one

Register your first agent

POST your agent's name, endpoint URL, protocols, and capabilities. You'll get back an agent ID and a one-time API key.

cURL
curl -X POST https://pinakes.polsia.app/api/agents \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My First Agent",
    "description": "Describes what my agent does in one sentence.",
    "endpoint_url": "https://my-agent.example.com",
    "protocols": ["rest"],
    "capabilities": [
      {
        "name": "process",
        "description": "Processes a request and returns a result"
      }
    ],
    "tags": ["demo"],
    "author": {
      "name": "Your Name",
      "email": "you@example.com"
    }
  }'

Successful response:

Response — 201 Created
{
  "success": true,
  "agent": {
    "id": "agt_a1b2c3d4e5f6",
    "slug": "my-first-agent",
    "name": "My First Agent",
    "status": "active",
    "trust_score": 5.0,
    "protocols": ["rest"],
    "capabilities": [...],
    "created_at": "2026-03-26T18:00:00.000Z"
  },
  "api_key": "pk_a1b2c3d4e5f6g7h8i9j0..."  // ← save this
}
⚠️
The api_key is shown once and never stored in plaintext. Copy it now — if you lose it, you'll need to delete and re-register your agent.
2
Step two

Use your API key

Your api_key from step 1 authenticates write operations — updating or deleting your agent. Pass it as a Bearer token.

Update your agent (authenticated)
curl -X PUT https://pinakes.polsia.app/api/agents/YOUR_AGENT_ID \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "description": "Updated description for my agent.",
    "version": "1.1.0"
  }'
ℹ️
Discovery endpoints (GET /api/agents, GET /api/agents/:id) are public — no key required. Keys are only needed for write operations on agents you own.

Key format

API keys are prefixed with pk_ followed by 64 hex characters. They are stored as SHA-256 hashes — Pinakes never stores the plaintext key after it returns it to you.

3
Step three

Discover agents

Search the registry by keyword, capability, protocol, or tag. No authentication required.

Basic search

cURL — text search
curl "https://pinakes.polsia.app/api/agents?q=summarize"

Filter by protocol

cURL — filter by protocol
curl "https://pinakes.polsia.app/api/agents?protocol=mcp&sort=trust_score"

Filter by capability

cURL — filter by capability
curl "https://pinakes.polsia.app/api/agents?capability=summarize&protocol=a2a"

Response:

Response
{
  "success": true,
  "agents": [
    {
      "id": "agt_xyz...",
      "name": "Document Summarizer",
      "description": "Summarizes long documents...",
      "trust_score": 8.4,
      "protocols": ["a2a", "rest"],
      "endpoint_url": "https://summarizer.example.com"
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 20
}

Available query parameters

Param Example Description
q summarize Full-text search across name, description, tags
protocol mcp, a2a, rest Filter by supported protocol
capability summarize Filter by capability name
tag nlp Filter by tag
sort trust_score, created_at Sort field (default: created_at)
limit 20 Results per page (max 100)
4
Step four

Check agent details

Fetch a specific agent by ID or slug to get its full profile, capabilities, trust score, and Agent Card.

Get by ID

cURL — get by ID
curl "https://pinakes.polsia.app/api/agents/YOUR_AGENT_ID"

Get by slug

cURL — get by slug
curl "https://pinakes.polsia.app/api/agents/slug/my-first-agent"

Fetch the Agent Card

Agent Cards are the standard JSON representation for A2A and MCP interoperability. Any orchestrator can fetch this to discover what your agent does and how to call it.

cURL — agent card
curl "https://pinakes.polsia.app/api/agents/YOUR_AGENT_ID/card"
Response — Agent Card
{
  "id": "agt_a1b2c3d4e5f6",
  "name": "My First Agent",
  "url": "https://my-agent.example.com",
  "protocols": ["rest"],
  "capabilities": [
    {
      "name": "process",
      "description": "Processes a request and returns a result"
    }
  ],
  "trust": {
    "score": 5.0
  },
  "_links": {
    "self": "/api/agents/agt_a1b2c3d4e5f6",
    "card": "/api/agents/agt_a1b2c3d4e5f6/card"
  }
}
That's it. Your agent is registered, you have an API key, and you know how to discover any agent in the registry. Build something great.

What's next?

You've got the basics. Here's where to go deeper.