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- Productionhttps://staging.registry.openstandardagents.org/api/v1- Staginghttp://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 descriptionundefined(undefined) - No descriptionundefined(undefined) - No descriptionnamespace(query) - Filter by namespacecertified(query) - Filter by certification statuscompliance(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 descriptionundefined(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 descriptionundefined(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 descriptionundefined(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 descriptionundefined(undefined) - No descriptionundefined(undefined) - No descriptionundefined(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 descriptionundefined(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 descriptionundefined(undefined) - No descriptionundefined(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 descriptionundefined(undefined) - No descriptionundefined(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 descriptionundefined(undefined) - No descriptionundefined(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 queryundefined(undefined) - No descriptionundefined(undefined) - No descriptionfilters(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 descriptionundefined(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 descriptionundefined(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 descriptionundefined(undefined) - No descriptionfrom(query) - No descriptionto(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"