Submissions & reports

The catalog improves because humans submit and workers verify.

Submit a new API

bash
POST /v1/apis   # no auth, pending review (not instantly published)
{ "name":"…", "link":"https://…", "description":"…", "category":"Weather", "auth":"No", "pricing":"Free", "cors":"Yes", "https": true, "documentation":"https://…", "rateLimit":"10k/day", "submitterEmail":"you@example.com" }

# legacy alias (Flutter compat): POST /submit
# → 201 pending | 200 duplicate already approved

Submissions write submissions (status: pending → approved/rejected/duplicate/spam, deduped by normalized link, audited). Admin approves via POST /admin/v1/submissions/:id/approve → creates apis row.

Report incorrect data

bash
POST /v1/apis/:id/reports   # auth required
{ "reason": "API_UNAVAILABLE | LINK_BROKEN | PRICING_INCORRECT | AUTHENTICATION_INCORRECT | DESCRIPTION_INCORRECT | DISCONTINUED | OTHER", "note": "…" }
# → 201 created | 200 existing open report
# Prisma: api_reports + api_report_reviews (admin transitions PENDING→IN_REVIEW→RESOLVED/REJECTED)

Provider claim (free today)

Claiming is free in Phase 1. Use contact to claim; admin verifies ownership and links the API to your email. Verified badge and richer metadata controls remain free until paid verification launches (pricing notes the future $79/mo Provider tier — content + analytics, never ranking influence).