The REST API provides indexed, cached access to all registry data. The API server reads from the same PostgreSQL database populated by the blockchain event indexer.
All endpoints return JSON. Pagination uses limit (max 100-200) and offset parameters.
| Method | Endpoint | Description | Parameters |
| GET | /agents | Search and list agents | query, skills[], tags[], verified_only, active_only, limit, offset |
| GET | /agents/{agent_id} | Get agent details with skills and endpoints | — |
| GET | /agents/{agent_id}/skills | List agent skills | — |
| GET | /agents/{agent_id}/endpoints | List agent endpoints | — |
| POST | /agents/{agent_id}/sync | Trigger agent data sync from chain | — |
| GET | /validations/{agent_id} | List validations for an agent | status, limit, offset |
| GET | /validations/{agent_id}/stats | Get validation statistics | — |
| GET | /reputation/{agent_id} | Get reputation stats (sentiment counts) | — |
| GET | /reputation/{agent_id}/feedback | List feedback entries | sentiment, include_revoked, limit, offset |
| POST | /storage/upload | Upload data to IPFS | body: { data: object } |
| GET | /storage/fetch/{cid} | Fetch data from IPFS | — |
| GET | /stats | Global registry statistics | — |