{"openapi":"3.1.0","info":{"title":"HIVE Public Read API","version":"1.0.0","summary":"Read-only access to the public catalog of the HIVE marketplace.","description":"Public, unauthenticated REST API exposing the same data shown on /vagas, /talentos, /agentes and /empresas. Same RLS gates apply — nothing private is exposed. Rate-limited per IP. CORS is wide open.","contact":{"name":"HIVE","email":"hive@dmzdigital.com.br","url":"https://hive.dmzdigital.com.br"},"license":{"name":"Proprietary"}},"servers":[{"url":"https://hive.dmzdigital.com.br/api/v1","description":"Production"}],"tags":[{"name":"Jobs","description":"Vagas abertas publicadas."},{"name":"Talents","description":"Candidatos com perfil público."},{"name":"Agents","description":"AI agents productizados."},{"name":"Companies","description":"Empresas com página branded."},{"name":"Taxonomy","description":"Setores + skills."}],"paths":{"/jobs":{"get":{"tags":["Jobs"],"summary":"List open jobs","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"Paginated job list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobListResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/jobs/{slug}":{"get":{"tags":["Jobs"],"summary":"Get one job","parameters":[{"$ref":"#/components/parameters/slug"}],"responses":{"200":{"description":"Job detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDetailResponse"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/talents":{"get":{"tags":["Talents"],"summary":"List public talents","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"Paginated talent list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TalentListResponse"}}}}}}},"/talents/{handle}":{"get":{"tags":["Talents"],"summary":"Get one talent profile","parameters":[{"$ref":"#/components/parameters/handle"}],"responses":{"200":{"description":"Talent profile","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TalentDetailResponse"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/agents":{"get":{"tags":["Agents"],"summary":"List published AI agents","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"Paginated agent list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentListResponse"}}}}}}},"/agents/{slug}":{"get":{"tags":["Agents"],"summary":"Get one agent","parameters":[{"$ref":"#/components/parameters/slug"}],"responses":{"200":{"description":"Agent detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentDetailResponse"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/companies":{"get":{"tags":["Companies"],"summary":"List companies with public branding","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"}],"responses":{"200":{"description":"Paginated company list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyListResponse"}}}}}}},"/companies/{slug}":{"get":{"tags":["Companies"],"summary":"Get one company + open jobs","parameters":[{"$ref":"#/components/parameters/slug"}],"responses":{"200":{"description":"Company detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetailResponse"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/sectors":{"get":{"tags":["Taxonomy"],"summary":"List sectors","responses":{"200":{"description":"Sector taxonomy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectorListResponse"}}}}}}},"/skills":{"get":{"tags":["Taxonomy"],"summary":"List skills","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"name":"category","in":"query","schema":{"type":"string"},"description":"Filter by skill category (e.g. llm, mlops, cv)."}],"responses":{"200":{"description":"Skill taxonomy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillListResponse"}}}}}}}},"components":{"parameters":{"limit":{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"description":"Page size (max 100)."},"offset":{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0},"description":"Number of rows to skip."},"slug":{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"URL-safe identifier."},"handle":{"name":"handle","in":"path","required":true,"schema":{"type":"string"},"description":"Talent handle (without the @)."}},"responses":{"NotFound":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"Rate limit exceeded — retry after the value of Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"retry-after":{"schema":{"type":"integer"},"description":"Seconds to wait before retrying."}}}},"schemas":{"Meta":{"type":"object","properties":{"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"},"self":{"type":"string","format":"uri"},"next":{"type":"string","format":"uri","nullable":true}}},"Links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"html":{"type":"string"}}},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}}},"JobListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/JobSummary"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"JobSummary":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"},"work_model":{"type":"string","enum":["remote","hybrid","onsite"]},"employment_type":{"type":"string"},"location_city":{"type":"string","nullable":true},"location_state":{"type":"string","nullable":true},"salary":{"type":"object","nullable":true},"company":{"type":"object","nullable":true},"published_at":{"type":"string","format":"date-time"},"links":{"$ref":"#/components/schemas/Links"}}},"JobDetailResponse":{"type":"object","properties":{"data":{"type":"object"}}},"TalentListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"TalentDetailResponse":{"type":"object","properties":{"data":{"type":"object"}}},"AgentListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"AgentDetailResponse":{"type":"object","properties":{"data":{"type":"object"}}},"CompanyListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"CompanyDetailResponse":{"type":"object","properties":{"data":{"type":"object"}}},"SectorListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"meta":{"$ref":"#/components/schemas/Meta"}}},"SkillListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}