COLOSSEUM_COPILOT_API_BASE (default: https://copilot.colosseum.com/api/v1).
All requests require a Bearer token:
Rate limits
All limits are per-user (keyed by your Colosseum account). Exceeding a limit returns429 with a Retry-After header.
When rate limited (429), honor the
Retry-After header. Most agent runtimes handle this automatically.
Endpoints
GET /colosseum_copilot/status
Auth pre-flight check. Call this first to verify your token is valid before making other API calls.GET /colosseum_copilot/filters
Fetch available filters and canonical hackathon chronology. Use to translate hackathon or track names into valid slugs/keys before searching, and to getstartDate values for chronology-sensitive answers.
tracks[]:{ key, name, hackathonSlug, projectCount }hackathons[]:{ slug, name, startDate, projectCount, winnerCount }— ordered chronologically (oldest first)acceleratorBatches[]:{ key, name, companyCount }prizeTypes[]: prize category namesprizePlacements[]: placement ranksproblemTags[]:{ tag, count }(top 25 by frequency)solutionTags[]:{ tag, count }(top 25 by frequency)primitives[]:{ tag, count }(top 25 by frequency)techStack[]:{ tag, count }(top 25 by frequency)targetUsers[]:{ tag, count }(top 25 by frequency)clusters[]:{ key, label, projectCount }(key formatv<N>-c<N>)archiveSources[]:{ key, label, documentCount? }(documentCountis optional)
POST /colosseum_copilot/search/projects
Primary similarity search for hackathon projects.limit 8–12, includeFacets false.
Request parameters:
Filter parameters (
filters object):
Discover valid filter values via
GET /filters.
Facet parameters:
Response:
Result object (
results[]):
Facet bucket shape:
{ key, label, count, sampleProjectSlugs[] }
Diagnostics object (when includeDiagnostics=true):
Score interpretation: Scores reflect hybrid RRF fusion across vector, text, and semantic tag channels. Use relative ranking within a result set rather than absolute thresholds.
POST /colosseum_copilot/search/archives
Search archival documents for conceptual precedents. Auto-cascades through tiers (vector → chunk text → document text) when a tier returns no results.limit 4–6, maxChunksPerDoc 2, minSimilarity 0.2.
Request parameters:
Response:
Result object (
results[]):
Score interpretation: Similarity above 0.4 is a strong topical match. 0.2–0.4 is worth reading but verify relevance. Below 0.2 is usually tangential. These thresholds apply to
vector tier results. For chunk_text and doc_text tiers, prioritize snippet relevance over score magnitude.
Query tips:
- Keep to 3–6 focused keywords. Too short is vague; too long dilutes embedding similarity.
- If results are all pre-2010 for a modern query, re-query with ecosystem-specific terms.
- If empty, try conceptual synonyms (e.g.,
"prediction markets"→"futarchy").
GET /colosseum_copilot/archives/:documentId
Fetch a paged archive document slice.
Use
offset + maxChars to page through long documents. Check hasMore and use nextOffset for the next page.
Response:
GET /colosseum_copilot/projects/by-slug/:slug
Fetch full project details by slug.Cohort definition
The/analyze and /compare endpoints accept a shared cohort definition to scope which projects are included:
All fields are optional. An empty cohort
{} includes all projects.
POST /colosseum_copilot/analyze
Summarize tag/track distributions for a cohort.
Response:
POST /colosseum_copilot/compare
Compare two cohorts across the same dimensions.
Response:
Comparison item shape:
GET /colosseum_copilot/clusters/:key
Fetch cluster details.POST /colosseum_copilot/source-suggestions
Suggest a new source for the archive corpus.
Response:
201 Created
POST /colosseum_copilot/feedback
Report errors, quality issues, or suggestions to help improve Copilot.
Response:
201 Created
Error handling
All errors return:requestId field for log correlation when reporting issues.
Some 5xx responses may use a more specific
code derived from the server-side error class instead of INTERNAL_ERROR. Treat any 5xx with retryable: true as transient and include the requestId when reporting issues.
For 429: check the Retry-After header for seconds to wait.