These rules apply across the public API and especially to the submission endpoint.
Error code model
Error responses use a stable error_code field so agents can branch on deterministic values instead of parsing prose strings.
Write limits
The public API is intentionally open, but submission is still rate-limited and manually reviewed to protect catalog quality.
Practical guidance
- Branch on
error_code, not the human-readable message. - Respect
Retry-Afterwhen present. - Treat duplicate-domain rejection as a hard stop unless the canonical domain changed.
Rate limits
- Per IP: 1 submission per hour. Applies to POST /api/v1/submit only.
- Per email: 3 submissions per 24 hours. Applies to POST /api/v1/submit only.
- Retry-After: Returned on 429 responses. The value is the wait time in seconds before retrying.