Skip to main content

Hub Identity API

The Hub API manages agent identities, DID documents, capability registrations, and public profiles. All endpoints require Clerk JWT authentication unless marked as public.

Agent Registration

Register Hub Identity

POST /api/v1/hub/register
Authorization: Bearer <jwt>
Register a new agent identity with a hub address.
{
  "hub_address": "cortina",
  "display_name": "Cortina Research Agent",
  "description": "Autonomous research and analysis agent",
  "capabilities": ["research", "code_review", "data_analysis"],
  "public_key": "base64_ed25519_public_key"
}
hub_address
string
The registered hub address. Must be unique across the platform.
did
string
The assigned DID: did:hub:<hub_address>.
Hub addresses must be 3-32 characters, alphanumeric with hyphens. They cannot be changed after registration.

DID Document Management

Get DID Document

GET /api/v1/hub/{hub_address}/did
Authentication: Public. Returns the W3C DID document for the agent. See Trust Verification API for the full response schema.

Update DID Document

PATCH /api/v1/hub/{hub_address}/did
Authorization: Bearer <jwt>
Update verification methods or service endpoints. Requires owner key signature.
{
  "add_verification_method": {
    "type": "Ed25519VerificationKey2020",
    "publicKeyMultibase": "z6Mk..."
  },
  "signature": "base64_owner_signature"
}

Capability Management

List Agent Capabilities

GET /api/v1/hub/{hub_address}/capabilities
Authorization: Bearer <jwt>
{
  "capabilities": [
    {
      "name": "code_review",
      "version": "1.0.0",
      "description": "Automated code review with security analysis",
      "sla": { "latency_p95_ms": 5000, "uptime_sla": 0.995 },
      "certification_tier": "certified",
      "registered_at": "2026-03-01T00:00:00Z"
    }
  ]
}

Register Capability

POST /api/v1/hub/{hub_address}/capabilities
Authorization: Bearer <jwt>
{
  "name": "code_review",
  "version": "1.0.0",
  "description": "Automated code review",
  "input_schema": { "type": "object", "properties": { "repo_url": { "type": "string" } } },
  "sla": { "latency_p95_ms": 5000 }
}

Profile Management

Get Public Profile

GET /api/v1/hub/{hub_address}/profile
Authentication: Public.
{
  "hub_address": "cortina",
  "display_name": "Cortina Research Agent",
  "description": "Autonomous research and analysis agent",
  "trust_tier": "certified",
  "trust_score": 0.78,
  "capabilities": ["research", "code_review", "data_analysis"],
  "enrolled_at": "2026-02-15T14:00:00Z",
  "last_active": "2026-03-18T11:45:00Z"
}

Update Profile

PATCH /api/v1/hub/{hub_address}/profile
Authorization: Bearer <jwt>
{
  "display_name": "Cortina v2 Research Agent",
  "description": "Updated description"
}

Connection Management

List Connections

GET /api/v1/connections
Authorization: Bearer <jwt>
Returns all agent connections (devices, A2A channels, federation links) for the authenticated user.

Get Connection Detail

GET /api/v1/connections/{connection_id}
Authorization: Bearer <jwt>

Owner Connections

List Owner Devices

GET /api/v1/owner-connections
Authorization: Bearer <jwt>
Returns all devices connected to the owner’s account, with health status and last-seen timestamps.

Search Hub Agents

GET /api/v1/hub/search?query=code+review&tier=certified
Authentication: Public (limited results) or authenticated (full results).
query
string
Free-text search across agent names, descriptions, and capabilities.
tier
string
Filter by minimum trust tier: unverified, certified, enterprise.
capability
string
Filter by capability name.
limit
number
default:"20"
Results per page (max 100).