Skip to main content

Ossa Registry Api

OSSA Agent Registry API

Version: 1.0.0

Central registry for OSSA-compliant AI agents.

Similar to Docker Hub for containers or npm for packages, the OSSA Registry provides:

  • Agent discovery and search
  • Version management
  • Compliance certification
  • Cryptographic signatures
  • Usage analytics

OpenAPI-First Architecture:

  • This spec drives all types and validation
  • Zod schemas generated from this spec
  • Complete CRUD operations
  • Type-safe throughout

Base URL

  • https://registry.openstandardagents.org/api/v1 - Production
  • https://staging.registry.openstandardagents.org/api/v1 - Staging
  • http://localhost:3100/api/v1 - Local development

Authentication

This API requires authentication. See Authentication Guide for details.

Endpoints

List all agents

GET /agents

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • namespace (query) - Filter by namespace
  • certified (query) - Filter by certification status
  • compliance (query) - Filter by compliance frameworks

Responses:

200: List of agents

{}

400: undefined

500: undefined

Example:

curl -X GET "https://api.ossa.dev/agents" \ -H "Authorization: Bearer YOUR_TOKEN"

Register new agent

POST /agents

Request Body:

{}

Responses:

201: Agent created

{}

400: undefined

401: undefined

409: undefined

500: undefined

Example:

curl -X POST "https://api.ossa.dev/agents" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d @request.json

Get agent details

GET /agents/{namespace}/{name}

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description

Responses:

200: Agent details

{}

404: undefined

500: undefined

Example:

curl -X GET "https://api.ossa.dev/agents/{namespace}/{name}" \ -H "Authorization: Bearer YOUR_TOKEN"

Update agent

PUT /agents/{namespace}/{name}

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description

Request Body:

{}

Responses:

200: Agent updated

{}

400: undefined

401: undefined

403: undefined

404: undefined

500: undefined

Example:

curl -X PUT "https://api.ossa.dev/agents/{namespace}/{name}" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d @request.json

Delete agent

DELETE /agents/{namespace}/{name}

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description

Responses:

204: Agent deleted

401: undefined

403: undefined

404: undefined

500: undefined

Example:

curl -X DELETE "https://api.ossa.dev/agents/{namespace}/{name}" \ -H "Authorization: Bearer YOUR_TOKEN"

List agent versions

GET /agents/{namespace}/{name}/versions

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • undefined (undefined) - No description

Responses:

200: List of versions

{}

404: undefined

500: undefined

Example:

curl -X GET "https://api.ossa.dev/agents/{namespace}/{name}/versions" \ -H "Authorization: Bearer YOUR_TOKEN"

Publish new version

POST /agents/{namespace}/{name}/versions

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description

Request Body:

Responses:

201: Version created

{}

400: undefined

401: undefined

403: undefined

409: undefined

500: undefined

Example:

curl -X POST "https://api.ossa.dev/agents/{namespace}/{name}/versions" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d @request.json

Get version details

GET /agents/{namespace}/{name}/versions/{version}

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • undefined (undefined) - No description

Responses:

200: Version details

{}

404: undefined

500: undefined

Example:

curl -X GET "https://api.ossa.dev/agents/{namespace}/{name}/versions/{version}" \ -H "Authorization: Bearer YOUR_TOKEN"

Unpublish version

DELETE /agents/{namespace}/{name}/versions/{version}

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • undefined (undefined) - No description

Responses:

204: Version deleted

401: undefined

403: undefined

404: undefined

500: undefined

Example:

curl -X DELETE "https://api.ossa.dev/agents/{namespace}/{name}/versions/{version}" \ -H "Authorization: Bearer YOUR_TOKEN"

Download manifest

GET /agents/{namespace}/{name}/versions/{version}/manifest

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • undefined (undefined) - No description

Responses:

200: OSSA manifest file

{}

404: undefined

500: undefined

Example:

curl -X GET "https://api.ossa.dev/agents/{namespace}/{name}/versions/{version}/manifest" \ -H "Authorization: Bearer YOUR_TOKEN"

Search agents

GET /search

Parameters:

  • q (query, required) - Search query
  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • filters (query) - No description

Responses:

200: Search results

{}

400: undefined

500: undefined

Example:

curl -X GET "https://api.ossa.dev/search" \ -H "Authorization: Bearer YOUR_TOKEN"

List all certifications

GET /certifications

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description

Responses:

200: List of certifications

{}

500: undefined

Example:

curl -X GET "https://api.ossa.dev/certifications" \ -H "Authorization: Bearer YOUR_TOKEN"

Request certification

POST /certifications/{namespace}/{name}/request

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description

Request Body:

{}

Responses:

201: Certification request created

{}

400: undefined

401: undefined

404: undefined

500: undefined

Example:

curl -X POST "https://api.ossa.dev/certifications/{namespace}/{name}/request" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d @request.json

Get agent analytics

GET /analytics/{namespace}/{name}

Parameters:

  • undefined (undefined) - No description
  • undefined (undefined) - No description
  • from (query) - No description
  • to (query) - No description

Responses:

200: Analytics data

{}

401: undefined

403: undefined

404: undefined

500: undefined

Example:

curl -X GET "https://api.ossa.dev/analytics/{namespace}/{name}" \ -H "Authorization: Bearer YOUR_TOKEN"