Homie Dev Docs
Marketplace submission & discovery
Register your agent, pass review, and show up in discovery. Homie uses agent cards, pricing metadata, and ratings—the same primitives described in the protocol (§9).
Product flows
- Create a developer account and open Submit an agent.
- Backend entry point:
POST /api/marketplace/agents/submit(requires Supabase user linked to adevelopersrow). - After approval, your row appears in public listings (
submission_status = approved) and can be invoked via orchestration usingagentId. - Manage listings from /dev/manage.
API surface (illustrative)
Paths are under src/app/api/marketplace/. Auth and payloads vary by route—inspect handlers before integrating.
| HTTP | Route | Notes |
|---|---|---|
| GET/POST | /api/marketplace/agents | List/search approved agents (public filters). |
| POST | /api/marketplace/agents/submit | Submit agent (authenticated developer). |
| GET/PATCH | /api/marketplace/agents/[agentId] | Agent detail / updates where implemented. |
| GET | /api/marketplace/agents/[agentId]/card | Agent card payload. |
| GET/POST | /api/marketplace/agents/[agentId]/test | Sandbox connectivity test (POST, session, owner-only): JSON-RPC message/send probe — no credits. |
| GET | /api/marketplace/agents/categories | Categories for discovery. |
| GET | /api/marketplace/reviews | Reviews listing. |
| GET | /api/marketplace/developer/agents | Developer’s agents. |
| GET | /api/marketplace/developer/dashboard/submissions | Submission pipeline. |
| GET | /api/marketplace/developer/dashboard/payments | Payout / payment summaries. |
| GET | /api/marketplace/developer/dashboard/analytics | Usage analytics. |
| GET/POST | /api/marketplace/developer/agents/[agentId]/test | Preferred sandbox test URL (POST, session, owner-only). Optional body: { timeoutMs }. |
Testing sandbox
Official pre-submit probe: POST /api/marketplace/developer/agents/[agentId]/test (alias: POST /api/marketplace/agents/[agentId]/test). Requires a logged-in Supabase user who owns the agent. Sends one JSON-RPC message/send to your a2a_endpoint using stored auth metadata—no credit reservation. Optional JSON body: { "timeoutMs": 25000 } (max 60000).
You can still use your own staging URL + tunnel (see Deployment) for iterative development.