{"openapi":"3.1.0","info":{"title":"DogeCompass API","version":"1.0.0","summary":"Open registry data on the DogeOS and Dogecoin ecosystem: projects, operators, contract control, flags and news.","description":"Read-only and free: no key, CORS open to every origin. Responses are cached at the CDN for up to five minutes.\n\nEvery endpoint answers 400 to a query parameter it doesn't list or a value it doesn't allow, with the allowed values. Nothing is silently ignored.\n\nThe data is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Attribute it as \"DogeCompass (Swisscoast AG) — https://dogecompass.swisscoast.net\".\n\nAccountability levels A0–A4, contract-control levels C0–C4 and the flag catalogue are defined in the methodology (version 0.2). AI agents collect, check and publish the entries and news; most entries are unreviewed drafts. Flags are factual statements with evidence, not verdicts. Not investment advice.\n\nCorrections: office@swisscoast.ch.","contact":{"name":"DogeCompass (Swisscoast AG)","email":"office@swisscoast.ch","url":"https://dogecompass.swisscoast.net"},"license":{"name":"CC BY 4.0","identifier":"CC-BY-4.0"}},"externalDocs":{"description":"Methodology: the levels, flags and how the agents work","url":"https://dogecompass.swisscoast.net/methodology"},"servers":[{"url":"https://dogecompass.swisscoast.net"}],"tags":[{"name":"projects","description":"The registry"},{"name":"news","description":"Screened ecosystem news"},{"name":"meta","description":"This document"}],"paths":{"/api/v1/projects":{"get":{"tags":["projects"],"operationId":"listProjects","summary":"List projects","description":"Every listed project, apps first, then by name. Filters combine with AND.","parameters":[{"name":"q","in":"query","required":false,"description":"Search name, one-liner and sector as reported (case-insensitive).","schema":{"type":"string","maxLength":80}},{"name":"sector","in":"query","required":false,"description":"Primary sector; `unassigned` for projects without one.","schema":{"type":"string","enum":["payments_commerce","defi_trading","defi_lending_yield_stable","memecoins_launchpads","prediction_sportsfi","casino_gamblefi","gaming","nfts_collectibles","social_creator_community","ai_agents","rwa_enterprise","depin","infra_wallets_devtools","data_analytics_media","unassigned"]}},{"name":"positioning","in":"query","required":false,"description":"Audience position, confirmed or suggested.","schema":{"type":"string","enum":["degen","consumer","pro_trader","builder","enterprise"]}},{"name":"lifecycle","in":"query","required":false,"description":"Lifecycle stage.","schema":{"type":"string","enum":["announced","testnet","mainnet","inactive","deprecated"]}},{"name":"kind","in":"query","required":false,"description":"Apps, or infrastructure and service partners.","schema":{"type":"string","enum":["app","partner"]}},{"name":"official","in":"query","required":false,"description":"Listed on dogeos.com/ecosystem (`yes`) or not (`no`).","schema":{"type":"string","enum":["yes","no"]}},{"name":"level","in":"query","required":false,"description":"Operator accountability level A0–A4. For contract control use `control`.","schema":{"type":"string","enum":["A0","A1","A2","A3","A4"]}},{"name":"control","in":"query","required":false,"description":"Contract-control level C0–C4 (the weakest rated contract), or `unrated` for projects without a rated level.","schema":{"type":"string","enum":["C0","C1","C2","C3","C4","unrated"]}},{"name":"flagged","in":"query","required":false,"description":"`true`: projects with at least one open flag; `false`: projects with none.","schema":{"type":"string","enum":["true","false"]}}],"responses":{"200":{"description":"Matching projects.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectSummary"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/InvalidParameters"}}}},"/api/v1/projects/{slug}":{"get":{"tags":["projects"],"operationId":"getProject","summary":"One project with its operator, contracts, open flags, links, governance, audits and X profile","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]+$"}}],"responses":{"200":{"description":"The project.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ProjectDetail"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/InvalidParameters"},"404":{"description":"No listed project has this slug. Renamed projects redirect (301) to their new slug.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound"}}}}}}},"/api/v1/export":{"get":{"tags":["projects"],"operationId":"exportProjects","summary":"The whole project list as JSON or CSV","parameters":[{"name":"format","in":"query","required":false,"description":"`csv` downloads a spreadsheet of the project list; `json` returns it with `meta`.","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"JSON: as /api/v1/projects without filters. CSV: one row per project with the columns slug, name, kind, primarySector, sectorAsReported, positioning, positioningSuggested, lifecycle, onOfficialPage, listingStatus, claimStatus, website, accountabilityLevel, controlLevel, flagCount, updatedAt; the licence is in the `Link` header.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectSummary"}},"meta":{"$ref":"#/components/schemas/Meta"}}}},"text/csv":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/InvalidParameters"}}}},"/api/v1/news":{"get":{"tags":["news"],"operationId":"listNews","summary":"Published news, newest first","parameters":[{"name":"category","in":"query","required":false,"description":"Only stories in this category.","schema":{"type":"string","enum":["launch","release","partnership","funding","adoption","regulation","security","community"]}},{"name":"project","in":"query","required":false,"description":"Only stories about this project (its slug, as in /api/v1/projects).","schema":{"type":"string","maxLength":80}},{"name":"limit","in":"query","required":false,"description":"How many stories, newest first.","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}],"responses":{"200":{"description":"Published stories.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NewsItem"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/InvalidParameters"}}}},"/api/v1/openapi.json":{"get":{"tags":["meta"],"operationId":"getOpenApi","summary":"This document","responses":{"200":{"description":"OpenAPI 3.1 description of this API.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/InvalidParameters"}}}}},"components":{"schemas":{"Meta":{"type":"object","required":["methodology_version","generated_at","license","license_url","attribution","docs","note"],"properties":{"count":{"type":"integer","description":"Items in `data` (lists only)."},"methodology_version":{"type":"string","const":"0.2"},"generated_at":{"type":"string","format":"date-time"},"license":{"type":"string","const":"CC BY 4.0"},"license_url":{"type":"string","format":"uri","const":"https://creativecommons.org/licenses/by/4.0/"},"attribution":{"type":"string","const":"DogeCompass (Swisscoast AG) — https://dogecompass.swisscoast.net"},"docs":{"type":"string","format":"uri","description":"This document."},"note":{"type":"string"}}},"ProjectSummary":{"type":"object","description":"One project in a list. Every property is always present (null when unknown).","required":["slug","name","kind","oneLiner","primarySector","sectorAsReported","positioning","positioningSuggested","lifecycle","onOfficialPage","listingStatus","claimStatus","website","latestMention","accountabilityLevel","controlLevel","controlScope","contractCounts","flagCount","updatedAt"],"properties":{"slug":{"type":"string","description":"Stable identifier, used in /p/{slug} and /api/v1/projects/{slug}."},"name":{"type":"string"},"kind":{"type":"string","enum":["app","partner"],"description":"`app`, or `partner` for infrastructure and service providers."},"oneLiner":{"type":["string","null"],"description":"What it does, in one neutral sentence."},"primarySector":{"type":["string","null"],"enum":["payments_commerce","defi_trading","defi_lending_yield_stable","memecoins_launchpads","prediction_sportsfi","casino_gamblefi","gaming","nfts_collectibles","social_creator_community","ai_agents","rwa_enterprise","depin","infra_wallets_devtools","data_analytics_media",null],"description":"Sector assigned by DogeCompass; null if not classified yet."},"sectorAsReported":{"type":["string","null"],"description":"The project's own category wording, unclassified."},"positioning":{"type":["string","null"],"enum":["degen","consumer","pro_trader","builder","enterprise",null],"description":"Audience position confirmed by DogeCompass."},"positioningSuggested":{"type":["string","null"],"enum":["degen","consumer","pro_trader","builder","enterprise",null],"description":"Audience position suggested by the agents, shown until one is confirmed."},"lifecycle":{"type":"string","enum":["announced","testnet","mainnet","inactive","deprecated"]},"onOfficialPage":{"type":"string","enum":["yes","no","homepage"],"description":"Whether dogeos.com/ecosystem lists it (`homepage`: featured on the dogeos.com homepage)."},"listingStatus":{"type":"string","enum":["draft","published","inactive","delisted"],"description":"`draft` entries are unreviewed imports from public sources."},"claimStatus":{"type":"string","enum":["unclaimed","provisional","claimed"],"description":"Whether the team has claimed the entry."},"website":{"type":["string","null"],"description":"Official website; null for gambling-related sectors, whose outbound links are withheld."},"latestMention":{"type":["string","null"],"description":"The most recent public mention found, as text."},"accountabilityLevel":{"type":["string","null"],"enum":["A0","A1","A2","A3","A4",null],"description":"The operator's accountability level A0–A4; null if not assessed."},"controlLevel":{"type":["string","null"],"enum":["C0","C1","C2","C3","C4",null],"description":"Contract-control level C0–C4 of the weakest rated contract; null if none is rated."},"controlScope":{"type":["string","null"],"description":"Which contracts the level rests on, e.g. \"1 of 59 contracts, DogeOS testnet\"; null when no contract is listed."},"contractCounts":{"type":"object","description":"Contracts listed, scanned, rated (tied to the project), classified and single-key.","required":["total","scanned","rated","classified","singleKey"],"properties":{"total":{"type":"integer","minimum":0},"scanned":{"type":"integer","minimum":0},"rated":{"type":"integer","minimum":0},"classified":{"type":"integer","minimum":0},"singleKey":{"type":"integer","minimum":0}}},"flagCount":{"type":"integer","minimum":0,"description":"Open flags (factual statements with evidence)."},"updatedAt":{"type":"string","format":"date-time","description":"Last edit of the project row itself."}}},"ProjectDetail":{"type":"object","required":["project","gated","operator","declaration","replies","contracts","controlLevel","flags","links","governance","audits","social"],"properties":{"project":{"$ref":"#/components/schemas/Project"},"gated":{"type":"boolean","description":"Gambling-related sector: website, outbound links, audit report links and X profile are withheld."},"operator":{"anyOf":[{"$ref":"#/components/schemas/Operator"},{"type":"null"}]},"contracts":{"type":"array","items":{"$ref":"#/components/schemas/Contract"}},"controlLevel":{"type":["string","null"],"enum":["C0","C1","C2","C3","C4",null],"description":"The weakest rated contract's level; C0 stands even if some contracts are unrated."},"declaration":{"type":["object","null"],"required":["url","at"],"properties":{"url":{"type":"string","format":"uri"},"at":{"type":["string","null"],"format":"date-time"}},"description":"Where the operator was declared: the source page an agent read, and when; null if not recorded."},"replies":{"type":"array","description":"Replies from the team that claimed the page, published with the dispute they answer.","items":{"type":"object","required":["field","reply","status","at"],"properties":{"field":{"type":"string"},"reply":{"type":["string","null"]},"status":{"type":"string"},"at":{"type":["string","null"],"format":"date-time"}}}},"flags":{"type":"array","items":{"$ref":"#/components/schemas/Flag"},"description":"Open flags only."},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}},"governance":{"anyOf":[{"$ref":"#/components/schemas/Governance"},{"type":"null"}]},"audits":{"type":"array","items":{"$ref":"#/components/schemas/Audit"}},"social":{"type":"array","items":{"$ref":"#/components/schemas/SocialProfile"}}}},"Project":{"type":"object","required":["id","slug","name","kind","oneLiner","about","aboutSource","primarySector","sectorAsReported","tags","positioning","positioningSuggested","lifecycle","chains","onOfficialPage","latestMention","website","listingStatus","claimStatus","operatorRelated","enrichedAt","createdAt","updatedAt"],"properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string","description":"Stable identifier, used in /p/{slug} and /api/v1/projects/{slug}."},"name":{"type":"string"},"kind":{"type":"string","enum":["app","partner"],"description":"`app`, or `partner` for infrastructure and service providers."},"oneLiner":{"type":["string","null"],"description":"What it does, in one neutral sentence."},"about":{"type":["string","null"]},"aboutSource":{"type":["string","null"]},"primarySector":{"type":["string","null"],"enum":["payments_commerce","defi_trading","defi_lending_yield_stable","memecoins_launchpads","prediction_sportsfi","casino_gamblefi","gaming","nfts_collectibles","social_creator_community","ai_agents","rwa_enterprise","depin","infra_wallets_devtools","data_analytics_media",null],"description":"Sector assigned by DogeCompass; null if not classified yet."},"sectorAsReported":{"type":["string","null"],"description":"The project's own category wording, unclassified."},"tags":{"type":"array","items":{"type":"string"}},"positioning":{"type":["string","null"],"enum":["degen","consumer","pro_trader","builder","enterprise",null],"description":"Audience position confirmed by DogeCompass."},"positioningSuggested":{"type":["string","null"],"enum":["degen","consumer","pro_trader","builder","enterprise",null],"description":"Audience position suggested by the agents, shown until one is confirmed."},"lifecycle":{"type":"string","enum":["announced","testnet","mainnet","inactive","deprecated"]},"chains":{"type":"array","items":{"type":"string"}},"onOfficialPage":{"type":"string","enum":["yes","no","homepage"],"description":"Whether dogeos.com/ecosystem lists it (`homepage`: featured on the dogeos.com homepage)."},"latestMention":{"type":["string","null"],"description":"The most recent public mention found, as text."},"website":{"type":["string","null"],"description":"Official website; null for gambling-related sectors, whose outbound links are withheld."},"listingStatus":{"type":"string","enum":["draft","published","inactive","delisted"],"description":"`draft` entries are unreviewed imports from public sources."},"claimStatus":{"type":"string","enum":["unclaimed","provisional","claimed"],"description":"Whether the team has claimed the entry."},"operatorRelated":{"type":"boolean"},"enrichedAt":{"type":["string","null"],"format":"date-time","description":"Last time the agents read the project's site."},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time","description":"Last edit of the project row itself."}}},"Operator":{"type":"object","description":"The legal entity or DAO behind the project.","required":["id","slug","type","legalName","registrationNumber","jurisdiction","jurisdictionLabel","operatingBase","lei","registerUrl","legalWrapper","accountabilityLevel","verificationMethod","lastVerifiedAt","createdAt","updatedAt","licences"],"properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"type":{"type":"string","enum":["company","foundation","dao_wrapped","dao_unwrapped","individual","pseudonymous","undisclosed","not_verified"]},"legalName":{"type":["string","null"]},"registrationNumber":{"type":["string","null"]},"jurisdiction":{"type":["string","null"]},"jurisdictionLabel":{"type":["string","null"]},"operatingBase":{"type":["string","null"]},"lei":{"type":["string","null"]},"registerUrl":{"type":["string","null"]},"legalWrapper":{"type":["string","null"]},"accountabilityLevel":{"type":["string","null"],"enum":["A0","A1","A2","A3","A4",null],"description":"A0–A4, see the methodology."},"verificationMethod":{"type":["string","null"],"description":"How the level was established."},"lastVerifiedAt":{"type":["string","null"],"format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"licences":{"type":"array","items":{"$ref":"#/components/schemas/Licence"}}}},"Licence":{"type":"object","required":["id","operatorId","kind","regulator","number","registerUrl","status","verifiedAt"],"properties":{"id":{"type":"string","format":"uuid"},"operatorId":{"type":"string","format":"uuid"},"kind":{"type":"string"},"regulator":{"type":["string","null"]},"number":{"type":["string","null"]},"registerUrl":{"type":["string","null"]},"status":{"type":["string","null"]},"verifiedAt":{"type":["string","null"],"format":"date-time"}}},"Contract":{"type":"object","required":["id","projectId","chain","address","role","sourceVerified","isProxy","adminKind","adminAddress","threshold","timelockSeconds","controlLevel","attribution","attributionSource","scanDetail","lastScannedAt","rated"],"properties":{"id":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"},"chain":{"type":"string"},"address":{"type":"string"},"role":{"type":["string","null"]},"sourceVerified":{"type":["boolean","null"]},"isProxy":{"type":["boolean","null"]},"adminKind":{"type":["string","null"]},"adminAddress":{"type":["string","null"]},"threshold":{"type":["string","null"]},"timelockSeconds":{"type":["integer","null"]},"controlLevel":{"type":["string","null"],"enum":["C0","C1","C2","C3","C4",null]},"attribution":{"type":["string","null"],"description":"How the contract is tied to the project: `published`, `deployer` or `name`; only the first two are rated."},"attributionSource":{"type":["string","null"]},"scanDetail":{},"lastScannedAt":{"type":["string","null"],"format":"date-time"},"rated":{"type":"boolean","description":"Whether the project's control level rests on this contract."}}},"Flag":{"type":"object","required":["id","projectId","code","severity","statement","evidenceId","origin","firstSeenAt","resolvedAt","disputedSince","evidence"],"properties":{"id":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"},"code":{"type":"string"},"severity":{"type":"string","enum":["ok","info","caution","critical"]},"statement":{"type":"string"},"evidenceId":{"type":["string","null"],"format":"uuid"},"origin":{"type":"string"},"firstSeenAt":{"type":"string","format":"date-time"},"resolvedAt":{"type":["string","null"],"format":"date-time","description":"Always null here: only open flags are published."},"disputedSince":{"type":["string","null"],"format":"date-time"},"evidence":{"type":["object","null"],"required":["url","excerpt","capturedAt"],"properties":{"url":{"type":["string","null"]},"excerpt":{"type":["string","null"]},"capturedAt":{"type":"string","format":"date-time"}}}}},"Link":{"type":"object","required":["id","projectId","kind","url","verified"],"properties":{"id":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"},"kind":{"type":"string"},"url":{"type":"string"},"verified":{"type":"boolean"}}},"Governance":{"type":"object","required":["projectId","model","venue","tokenAddress","quorum","proposals90d","top10VotingShare","treasuryAddresses","multisigCanOverride","lastCheckedAt"],"properties":{"projectId":{"type":"string","format":"uuid"},"model":{"type":["string","null"]},"venue":{"type":["string","null"]},"tokenAddress":{"type":["string","null"]},"quorum":{"type":["string","null"]},"proposals90d":{"type":["integer","null"]},"top10VotingShare":{"type":["string","null"]},"treasuryAddresses":{"type":"array","items":{"type":"string"}},"multisigCanOverride":{"type":["boolean","null"]},"lastCheckedAt":{"type":["string","null"],"format":"date-time"}}},"Audit":{"type":"object","required":["id","projectId","firm","date","scope","reportUrl"],"properties":{"id":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"},"firm":{"type":"string"},"date":{"type":["string","null"]},"scope":{"type":["string","null"]},"reportUrl":{"type":["string","null"],"description":"Null for gambling-related sectors."}}},"SocialProfile":{"type":"object","required":["id","projectId","network","handle","url","displayName","bio","followers","followersLabel","website","joinedAt","posts","source","checkedAt"],"properties":{"id":{"type":"string","format":"uuid"},"projectId":{"type":"string","format":"uuid"},"network":{"type":"string"},"handle":{"type":"string"},"url":{"type":"string"},"displayName":{"type":["string","null"]},"bio":{"type":["string","null"]},"followers":{"type":["integer","null"]},"followersLabel":{"type":["string","null"]},"website":{"type":["string","null"]},"joinedAt":{"type":["string","null"],"format":"date-time"},"posts":{"type":"array","items":{"type":"object","required":["url","text","at"],"properties":{"url":{"type":"string"},"text":{"type":"string"},"at":{"type":["string","null"],"format":"date-time"}}}},"source":{"type":"string"},"checkedAt":{"type":"string","format":"date-time"}}},"NewsItem":{"type":"object","required":["id","headline","summary","url","sourceName","sourceHost","date","category","alsoReportedBy","projects"],"properties":{"id":{"type":"string","format":"uuid"},"headline":{"type":"string","description":"Headline written by DogeCompass."},"summary":{"type":"string","description":"Brief drafted by AI from the linked article."},"url":{"type":"string","format":"uri","description":"The original article."},"sourceName":{"type":"string"},"sourceHost":{"type":"string"},"date":{"type":"string","format":"date-time","description":"The outlet's publication date, else when the story was found."},"category":{"type":"string","enum":["launch","release","partnership","funding","adoption","regulation","security","community"]},"alsoReportedBy":{"type":"array","items":{"type":"object","required":["source","url"],"properties":{"source":{"type":"string"},"url":{"type":"string","format":"uri"}}}},"projects":{"type":"array","items":{"type":"object","required":["slug","name"],"properties":{"slug":{"type":"string"},"name":{"type":"string"}}}}}},"NotFound":{"type":"object","required":["error"],"properties":{"error":{"type":"string","const":"not_found"},"message":{"type":"string"}}},"ParameterError":{"type":"object","required":["error","message","problems","allowed_parameters","docs"],"properties":{"error":{"type":"string","const":"invalid_parameters"},"message":{"type":"string","description":"Every problem, in one sentence each."},"problems":{"type":"array","items":{"type":"object","required":["parameter","value","allowed","message"],"properties":{"parameter":{"type":"string"},"value":{"type":["string","null"]},"allowed":{"type":["array","null"],"items":{"type":"string"}},"message":{"type":"string"}}}},"allowed_parameters":{"type":"object","description":"Each parameter this endpoint takes, with its allowed values or a description.","additionalProperties":true},"docs":{"type":"string","format":"uri"}}}},"responses":{"InvalidParameters":{"description":"An unknown query parameter, a repeated one or a value that isn't allowed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParameterError"}}}}}}}