{"openapi":"3.1.0","info":{"title":"Seducar Public Content API","version":"1.0.0","description":"Read-only public endpoints exposing Brazilian public-sector exam (concurso público) data, courses, study materials (apostilas), news, approved students and units from Seducar. Listing endpoints return schema.org ItemList JSON-LD; each item links to a canonical page that also serves `.md` (clean markdown) and `.jsonld` (structured data) alternates. All content is in Portuguese (pt-BR). No authentication required.","contact":{"name":"Seducar","email":"contato@seducar.com.br"},"license":{"name":"Citation allowed with attribution; preserve canonical URLs."}},"servers":[{"url":"https://centraldeconcursos.com.br","description":"Current host"}],"paths":{"/api/public/concursos.json":{"get":{"operationId":"listContests","summary":"List public exams (concursos públicos)","description":"Returns a schema.org ItemList of active public exams with canonical URLs.","responses":{"200":{"description":"schema.org ItemList of canonical URLs. Append `.md` or `.jsonld` to a detail URL for the full document.","content":{"application/ld+json":{"schema":{"$ref":"#/components/schemas/ItemList"}}}}}}},"/api/public/cursos.json":{"get":{"operationId":"listCourses","summary":"List courses by variant","parameters":[{"name":"variant","in":"query","required":false,"description":"Course type. Defaults to \"online\".","schema":{"type":"string","enum":["online","presencial","live","free"],"default":"online"}}],"responses":{"200":{"description":"schema.org ItemList of canonical URLs. Append `.md` or `.jsonld` to a detail URL for the full document.","content":{"application/ld+json":{"schema":{"$ref":"#/components/schemas/ItemList"}}}}}}},"/api/public/noticias.json":{"get":{"operationId":"listNews","summary":"List news articles","responses":{"200":{"description":"schema.org ItemList of canonical URLs. Append `.md` or `.jsonld` to a detail URL for the full document.","content":{"application/ld+json":{"schema":{"$ref":"#/components/schemas/ItemList"}}}}}}},"/api/public/apostilas.json":{"get":{"operationId":"listBooks","summary":"List study materials (apostilas)","responses":{"200":{"description":"schema.org ItemList of canonical URLs. Append `.md` or `.jsonld` to a detail URL for the full document.","content":{"application/ld+json":{"schema":{"$ref":"#/components/schemas/ItemList"}}}}}}},"/api/public/aprovados.json":{"get":{"operationId":"listApproved","summary":"List approved students (aprovados)","responses":{"200":{"description":"schema.org ItemList of canonical URLs. Append `.md` or `.jsonld` to a detail URL for the full document.","content":{"application/ld+json":{"schema":{"$ref":"#/components/schemas/ItemList"}}}}}}},"/api/public/unidades.json":{"get":{"operationId":"listUnits","summary":"List physical units (unidades)","responses":{"200":{"description":"schema.org ItemList of canonical URLs. Append `.md` or `.jsonld` to a detail URL for the full document.","content":{"application/ld+json":{"schema":{"$ref":"#/components/schemas/ItemList"}}}}}}},"/search.json":{"get":{"operationId":"search","summary":"Search across all public content","description":"Full-text-ish search across contests, courses, books, news, approved students and units. Omitting `q` returns up to 500 items; with `q` returns up to 100 matches.","parameters":[{"name":"q","in":"query","required":false,"description":"Search term (case-insensitive). Matches titles, organ names, cities, etc.","schema":{"type":"string"}}],"responses":{"200":{"description":"Flat list of matching results across all content types.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}}}}}},"components":{"schemas":{"ItemList":{"type":"object","description":"schema.org ItemList (JSON-LD) listing public entities of one type.","properties":{"@context":{"type":"string","example":"https://schema.org"},"@type":{"type":"string","example":"ItemList"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","example":"Concursos — Seducar"},"inLanguage":{"type":"string","example":"pt-BR"},"numberOfItems":{"type":"integer","example":42},"itemListElement":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string","example":"ListItem"},"position":{"type":"integer","example":1},"url":{"type":"string","format":"uri"},"name":{"type":"string"},"image":{"type":"string","format":"uri"},"dateModified":{"type":"string","format":"date-time"}},"required":["@type","position","url","name"]}}},"required":["@context","@type","numberOfItems","itemListElement"]},"SearchResponse":{"type":"object","properties":{"query":{"type":"string"},"total":{"type":"integer"},"results":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}}},"required":["query","total","results"]},"SearchResult":{"type":"object","properties":{"type":{"type":"string","enum":["contest","course","book","news","approved","unit"]},"variant":{"type":"string","enum":["online","presencial","live","free"]},"title":{"type":"string"},"url":{"type":"string","format":"uri"},"markdown":{"type":"string","format":"uri","description":"Clean markdown alternate, when available."},"organ":{"type":"string"},"positions":{"type":"integer"},"office":{"type":"string"},"city":{"type":"string"},"uf":{"type":"string"},"publishedAt":{"type":"string","format":"date-time"}},"required":["type","title","url"]}}}}