API
Every ce.rodeo page gets its data from a public JSON API at https://api.ce.rodeo.
No key required for reads. All endpoints are stable within a major version.
Read endpoints
Service health. Returns db latency and the deployed commit SHA.
List CE projects from v_project_index.
- limit
- int, default 100, max 500
- q
- string — substring match on slug or display_name
- tag
- namespace:value — e.g. role:oltp, alt:salesforce
- category
- string — one of databases, web-proxy, messaging, …
curl 'https://api.ce.rodeo/v1/projects?tag=role:crm&limit=5'
One project by slug. Includes is_ce + ce_successor_slug + ce_note for license-flipped and proprietary projects.
curl 'https://api.ce.rodeo/v1/projects/valkey'
Publisher leaderboard — the data behind the Purveyors page. Ranked by 3·A + B grade count.
- limit
- int, default 25, max 100
curl 'https://api.ce.rodeo/v1/publishers?limit=10'
Grade history for an image — up to 180 of the most recent scout_snapshots rows. Each row includes rubric_breakdown (the arithmetic that produced the grade).
Full Grype matches array for the latest scan of this image: CVE id, severity, CVSS, fix availability, affected package.
Comments on a project / release / image. Kind is one of project | release | image.
Write endpoints (require the ce_rodeo_id cookie)
Your identity. Lazy-creates on first request and sets the cookie.
Set your bio + tech_stack_philosophy.
Send a magic link to pin your identity to an email.
- string
Issue a hashcash PoW challenge (required at tier 1 for comment submits).
Toggle upvote on a target.
- target_kind
- project | release | image | comment
- target_id
- uuid
Toggle favorite on a target.
- target_kind
- project | release | image
- target_id
- uuid
- note
- string, optional, max 240 chars
Post a comment. Tier 1 identities must include a solved PoW.
- target_kind
- project | release | image
- target_id
- uuid
- body
- string, 1..2500 chars
- parent_id
- uuid, optional
- is_review
- bool, optional
- pow
- {challenge_id, nonce} if tier 1
Rate limits
| OPERATION | TIER 1 | TIER 2 | TIER 3 |
|---|---|---|---|
| Comment | 5/hr | 20/hr | 100/hr |
| Upvote | 60/hr | 120/hr | 300/hr |
| Fave | 60/hr | 120/hr | 300/hr |
Tier 1 is the fresh-visitor default; tier 2 unlocks on email pin via /v1/me/pin/email; tier 3 is OPERATOR status, promoted after 50+ upvoted comments with zero mod strikes.