{"openapi":"3.1.0","info":{"title":"HoodL2 read API","version":"1.0.0","description":"Public, no-auth, CORS-open read API for the Robinhood Chain ecosystem reference. Data is sourced and cited per entity. Not affiliated with Robinhood.","contact":{"url":"https://hoodl2.com/developers"},"license":{"name":"Sources and review criteria: see /methodology","url":"https://hoodl2.com/methodology"}},"servers":[{"url":"https://hoodl2.com/api/v1"}],"paths":{"/entities":{"get":{"summary":"List entities","operationId":"listEntities","parameters":[{"name":"type","in":"query","schema":{"type":"string","enum":["protocol_component","stablecoin","defi","payments_app","company","infrastructure","person","investor","validator"]},"description":"Filter by entity type."},{"name":"category","in":"query","schema":{"type":"string"},"description":"Filter by category slug."},{"name":"core","in":"query","schema":{"type":"boolean"},"description":"Only core ecosystem entities."},{"name":"sort","in":"query","schema":{"type":"string","enum":["default","newest","updated"],"default":"default"},"description":"Sourcing order, first listed descending, or last content update descending (new listings use first-listed time). Unknown dates last; date ties sort by name and slug. Unrecognized values use default."},{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":200},"description":"Page size (max 200)."},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}}],"responses":{"200":{"description":"A page of entities.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Entity"}},"page":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}}}}},"/entities/{slug}":{"get":{"summary":"Get one entity (with dossier, metrics, sources, related)","operationId":"getEntity","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The entity detail.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/EntityDetail"}}}}}},"404":{"description":"No entity with that slug; `error.suggestions` lists nearest slugs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/validators":{"get":{"summary":"List validators","operationId":"listValidators","responses":{"200":{"description":"All validators on the transparency board.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Validator"}},"page":{"type":"object","properties":{"total":{"type":"integer"}}}}}}}}}}},"/metrics":{"get":{"summary":"List metrics with latest values","operationId":"listMetrics","responses":{"200":{"description":"All registered metrics with their latest snapshot value.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Metric"}},"page":{"type":"object","properties":{"total":{"type":"integer"}}}}}}}}}}},"/jobs":{"get":{"summary":"List open roles in the Robinhood Chain ecosystem","operationId":"listJobs","parameters":[{"name":"company","in":"query","schema":{"type":"string"},"description":"Filter by company slug (e.g. 'robinhood')."},{"name":"category","in":"query","schema":{"type":"string","enum":["engineering","product","design","devrel","data","security","bd-sales","marketing","operations","other"]},"description":"Filter by function."},{"name":"seniority","in":"query","schema":{"type":"string"},"description":"e.g. 'senior', 'staff', 'lead'."},{"name":"workplace","in":"query","schema":{"type":"string","enum":["remote","hybrid","onsite"]}},{"name":"q","in":"query","schema":{"type":"string","maxLength":200},"description":"Full-text query."},{"name":"limit","in":"query","schema":{"type":"integer","default":50,"minimum":1,"maximum":200}},{"name":"offset","in":"query","schema":{"type":"integer","default":0,"minimum":0}}],"responses":{"200":{"description":"A page of open roles in the Robinhood Chain ecosystem.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"},"company":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"entitySlug":{"type":["string","null"]}}},"category":{"type":["string","null"]},"seniority":{"type":["string","null"]},"employmentType":{"type":["string","null"]},"workplaceType":{"type":["string","null"]},"locations":{"type":"array","items":{"type":"string"}},"remoteRegion":{"type":["string","null"]},"salary":{"type":["object","null"],"properties":{"minUsd":{"type":["integer","null"]},"maxUsd":{"type":["integer","null"]},"period":{"type":["string","null"]}}},"applyUrl":{"type":["string","null"]},"postedAt":{"type":["string","null"],"format":"date-time"},"validThrough":{"type":["string","null"],"format":"date-time"},"url":{"type":"string","format":"uri"}}}},"page":{"type":"object","properties":{"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"}}}}}}}}}}},"/search":{"get":{"summary":"Full-text search entities","operationId":"searchEntities","parameters":[{"name":"q","in":"query","schema":{"type":"string","maxLength":100},"description":"Query (max 100 chars)."},{"name":"limit","in":"query","schema":{"type":"integer","default":20,"minimum":1,"maximum":25},"description":"Max results (max 25)."}],"responses":{"200":{"description":"Search results (empty `data` when `q` is blank).","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Entity"}},"query":{"type":"string"},"page":{"type":"object","properties":{"limit":{"type":"integer"},"total":{"type":"integer"}}}}}}}}}}}},"components":{"schemas":{"Entity":{"type":"object","required":["slug","name","type","tags","chains","links","isCore","url"],"properties":{"firstListedAt":{"type":["string","null"],"format":"date-time","description":"First publication on HoodL2; null when historical date is unknown."},"lastContentUpdatedAt":{"type":["string","null"],"format":"date-time","description":"Last tracked listing or dossier content change; excludes views and seed timestamp refreshes. Null if unknown."},"slug":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["protocol_component","stablecoin","defi","payments_app","company","infrastructure","person","investor","validator"]},"category":{"type":["string","null"]},"status":{"type":["string","null"]},"tagline":{"type":["string","null"]},"description":{"type":["string","null"]},"tags":{"type":"array","items":{"type":"string"}},"chains":{"type":"array","items":{"type":"string"}},"links":{"type":"object","properties":{"website":{"type":["string","null"]},"docs":{"type":["string","null"]},"app":{"type":["string","null"]},"github":{"type":["string","null"]},"twitter":{"type":["string","null"]}}},"isCore":{"type":"boolean"},"confidence":{"type":["integer","null"]},"url":{"type":"string","format":"uri"}}},"EntityDetail":{"allOf":[{"$ref":"#/components/schemas/Entity"},{"type":"object","properties":{"dossier":{"type":["object","null"],"properties":{"theTake":{"type":["object","null"]},"keyFacts":{"type":"array","items":{"type":"object"}},"metrics":{"type":"array","items":{"type":"object"}},"history":{"type":"array","items":{"type":"object"}},"features":{"type":"array","items":{"type":"object"}},"gaps":{"type":"array","items":{"type":"string"}},"faq":{"type":"array","items":{"type":"object"}}}},"metrics":{"type":"array","items":{"$ref":"#/components/schemas/LiveMetric"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"related":{"type":"array","items":{"$ref":"#/components/schemas/Related"}}}}]},"Source":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"title":{"type":["string","null"]},"publisher":{"type":["string","null"]},"verifiedBy":{"type":["string","null"]},"retrievedAt":{"type":["string","null"],"format":"date-time"}}},"LiveMetric":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"unit":{"type":["string","null"]},"format":{"type":["string","null"]},"value":{"type":["number","null"]},"formatted":{"type":"string"}}},"Related":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"relation":{"type":"string"},"direction":{"type":"string","enum":["in","out"]}}},"Validator":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"kind":{"type":["string","null"]},"operator":{"type":["string","null"]},"region":{"type":["string","null"]},"stakeModel":{"type":"string"},"rewardsModel":{"type":["string","null"]},"status":{"type":["string","null"]},"risk":{"type":["object","null"]},"addedAt":{"type":["string","null"],"format":"date-time"},"url":{"type":"string","format":"uri"}}},"Metric":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"unit":{"type":["string","null"]},"format":{"type":["string","null"]},"provider":{"type":["string","null"]},"description":{"type":["string","null"]},"value":{"type":["number","null"]},"formatted":{"type":"string"}}},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"},"doc_url":{"type":"string","format":"uri"},"suggestions":{"type":"array","items":{"type":"string"}}}}}}}}}