{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"edu-hub — Polish education data API","version":"0.1.0","description":"Curated, time-aware public data about the Polish education system (preschool to upper secondary): the RSPO register of schools with SIO statistics, education legislation (ELI), core-curriculum applicability and vocational qualifications (ZRK). Every record carries provenance. Errors are RFC 9457 problem details with a stable `code` (listed in `info.x-error-codes`), localised by `Accept-Language` (Polish by default). Data is compiled for information only and is not an official text.","license":{"name":"Data: per-record licence (see /v1/licences)"},"x-error-codes":{"REQUEST_INVALID":{"type":"https://edu.ippe.uk/problems/request-invalid","slug":"request-invalid","status":400,"category":"INVALID_ARGUMENT","retry":"never","title":"Invalid request"},"CURSOR_INVALID":{"type":"https://edu.ippe.uk/problems/cursor-invalid","slug":"cursor-invalid","status":400,"category":"INVALID_ARGUMENT","retry":"restart","title":"Invalid cursor"},"CURSOR_QUERY_MISMATCH":{"type":"https://edu.ippe.uk/problems/cursor-query-mismatch","slug":"cursor-query-mismatch","status":400,"category":"INVALID_ARGUMENT","retry":"restart","title":"Cursor from another query"},"CURSOR_EXPIRED":{"type":"https://edu.ippe.uk/problems/cursor-expired","slug":"cursor-expired","status":400,"category":"FAILED_PRECONDITION","retry":"restart","title":"Cursor expired"},"ID_INVALID":{"type":"https://edu.ippe.uk/problems/id-invalid","slug":"id-invalid","status":400,"category":"INVALID_ARGUMENT","retry":"never","title":"Invalid id"},"SCHOOL_YEAR_INVALID":{"type":"https://edu.ippe.uk/problems/school-year-invalid","slug":"school-year-invalid","status":400,"category":"INVALID_ARGUMENT","retry":"never","title":"Invalid school year"},"SCHOOL_YEAR_CONFLICT":{"type":"https://edu.ippe.uk/problems/school-year-conflict","slug":"school-year-conflict","status":400,"category":"INVALID_ARGUMENT","retry":"never","title":"Conflicting time parameters"},"SCHOOL_YEAR_RANGE_INVALID":{"type":"https://edu.ippe.uk/problems/school-year-range-invalid","slug":"school-year-range-invalid","status":400,"category":"INVALID_ARGUMENT","retry":"never","title":"Invalid school-year range"},"GRADE_NOT_APPLICABLE":{"type":"https://edu.ippe.uk/problems/grade-not-applicable","slug":"grade-not-applicable","status":400,"category":"INVALID_ARGUMENT","retry":"never","title":"Grade does not apply to this school type"},"GRADE_OUT_OF_RANGE":{"type":"https://edu.ippe.uk/problems/grade-out-of-range","slug":"grade-out-of-range","status":400,"category":"INVALID_ARGUMENT","retry":"never","title":"Grade out of range"},"INSTITUTION_NOT_FOUND":{"type":"https://edu.ippe.uk/problems/institution-not-found","slug":"institution-not-found","status":404,"category":"NOT_FOUND","retry":"never","title":"Institution not found"},"TERRITORIAL_UNIT_NOT_FOUND":{"type":"https://edu.ippe.uk/problems/territorial-unit-not-found","slug":"territorial-unit-not-found","status":404,"category":"NOT_FOUND","retry":"never","title":"Territorial unit not found"},"LEGAL_ACT_NOT_FOUND":{"type":"https://edu.ippe.uk/problems/legal-act-not-found","slug":"legal-act-not-found","status":404,"category":"NOT_FOUND","retry":"never","title":"Legal act not found"},"QUALIFICATION_NOT_FOUND":{"type":"https://edu.ippe.uk/problems/qualification-not-found","slug":"qualification-not-found","status":404,"category":"NOT_FOUND","retry":"never","title":"Qualification not found"},"REFERENCE_LIST_NOT_FOUND":{"type":"https://edu.ippe.uk/problems/reference-list-not-found","slug":"reference-list-not-found","status":404,"category":"NOT_FOUND","retry":"never","title":"Reference list not found"},"PROBLEM_TYPE_NOT_FOUND":{"type":"https://edu.ippe.uk/problems/problem-type-not-found","slug":"problem-type-not-found","status":404,"category":"NOT_FOUND","retry":"never","title":"Unknown problem type"},"ROUTE_NOT_FOUND":{"type":"https://edu.ippe.uk/problems/route-not-found","slug":"route-not-found","status":404,"category":"NOT_FOUND","retry":"never","title":"Resource not found"},"CURRICULUM_DATA_MISSING":{"type":"https://edu.ippe.uk/problems/curriculum-data-missing","slug":"curriculum-data-missing","status":503,"category":"UNAVAILABLE","retry":"backoff","title":"Curriculum data missing"},"API_KEY_INVALID":{"type":"https://edu.ippe.uk/problems/api-key-invalid","slug":"api-key-invalid","status":401,"category":"UNAUTHENTICATED","retry":"never","title":"Unknown or revoked API key"},"RATE_LIMITED":{"type":"https://edu.ippe.uk/problems/rate-limited","slug":"rate-limited","status":429,"category":"RESOURCE_EXHAUSTED","retry":"after","title":"Too many requests"},"PAYLOAD_TOO_LARGE":{"type":"https://edu.ippe.uk/problems/payload-too-large","slug":"payload-too-large","status":413,"category":"INVALID_ARGUMENT","retry":"never","title":"Request too large"},"SERVICE_UNAVAILABLE":{"type":"https://edu.ippe.uk/problems/service-unavailable","slug":"service-unavailable","status":503,"category":"UNAVAILABLE","retry":"after","title":"Service temporarily unavailable"},"QUERY_TIMEOUT":{"type":"https://edu.ippe.uk/problems/query-timeout","slug":"query-timeout","status":503,"category":"DEADLINE_EXCEEDED","retry":"backoff","title":"Query timed out"},"INTERNAL":{"type":"https://edu.ippe.uk/problems/internal","slug":"internal","status":500,"category":"INTERNAL","retry":"backoff","title":"Internal error"}}},"servers":[{"url":"https://edu.ippe.uk"}],"tags":[{"name":"Institutions","description":"Schools and other institutions (RSPO + SIO)."},{"name":"Territorial units","description":"TERYT administrative units."},{"name":"Legal acts","description":"Education legislation from the Dziennik Ustaw (ELI)."},{"name":"Curriculum","description":"Core curriculum (podstawa programowa) applicability and subjects."},{"name":"Qualifications","description":"Vocational qualifications (ZRK)."},{"name":"Search","description":"Cross-domain search."},{"name":"Metadata","description":"Sources, licences and code lists."}],"paths":{"/v1/institutions":{"get":{"operationId":"searchInstitutions","summary":"Search schools and other institutions (RSPO)","description":"Find schools, preschools (przedszkola) and other educational institutions (placówki: poradnie, bursy, MOW…) in the national register RSPO. With `query`, results are relevance-ranked (Polish inflection and diacritics handled); without it, they are ordered by RSPO number. Filter by place with `terc` (codes from `GET /v1/territorial-units`), by RSPO type ids (see `GET /v1/reference-lists/{list}` `institution-types`: 3 szkoła podstawowa, 14 liceum ogólnokształcące, 16 technikum, 93 branżowa I st., 1 przedszkole) and by public status. Returns RSPO numbers for `GET /v1/institutions/{rspo}`.","tags":["Institutions"],"x-mcp-tool":"edu_search_institutions","parameters":[{"name":"query","in":"query","required":false,"description":"Name or place, Polish with or without diacritics.","schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"terc","in":"query","required":false,"description":"TERYT TERC code: 2 digits (województwo), 4 (powiat) or 7 (gmina, incl. type digit). Shorter codes match every unit inside.","schema":{"type":"string","pattern":"^(\\d{2}|\\d{4}|\\d{7})$","example":"1261011"}},{"name":"typeIds","in":"query","required":false,"description":"RSPO institution type ids (see the institution-types reference list).","style":"form","explode":true,"schema":{"maxItems":20,"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},{"name":"publicStatus","in":"query","required":false,"description":"Public-status codes, e.g. `publiczna`, `niepubliczna`.","style":"form","explode":true,"schema":{"maxItems":10,"type":"array","items":{"type":"string"}}},{"name":"includeLiquidated","in":"query","required":false,"schema":{"default":false,"type":"boolean"}},{"name":"limit","in":"query","required":false,"description":"Page size (1–100).","schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from `page.nextCursor` of the previous page.","schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Search schools and other institutions (RSPO)","content":{"application/json":{"schema":{"type":"object","required":["data","page","links"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionSummary"}},"page":{"$ref":"#/components/schemas/PageInfo"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string"},"next":{"type":"string"}}}}}}}},"400":{"description":"`CURSOR_INVALID` — Invalid cursor; `CURSOR_QUERY_MISMATCH` — Cursor from another query; `CURSOR_EXPIRED` — Cursor expired; `REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/institutions/{rspo}":{"get":{"operationId":"getInstitution","summary":"Get one institution by RSPO number","description":"Full profile of one institution by RSPO number: type, public status, address with TERYT codes, contact, governing body (organ prowadzący; withheld for natural persons), structure (zespół parent and members), pupil count and SIO statistics (30 September: pupils, classes, teachers). Each embedded statistic carries its own provenance; cite `provenance.sourceUrl`.","tags":["Institutions"],"x-mcp-tool":"edu_get_institution","parameters":[{"name":"rspo","in":"path","required":true,"description":"RSPO number (numer RSPO) of the institution.","schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"example":133365}},{"name":"responseFormat","in":"query","required":false,"description":"`concise` returns the most useful fields; `detailed` returns everything.","schema":{"default":"detailed","type":"string","enum":["concise","detailed"]}}],"responses":{"200":{"description":"Get one institution by RSPO number","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Institution"}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"`INSTITUTION_NOT_FOUND` — Institution not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/territorial-units":{"get":{"operationId":"listTerritorialUnits","summary":"Resolve a place name or list territorial units (TERYT)","description":"With `query`, resolves a Polish place name (województwo, powiat, gmina; with or without diacritics, e.g. \"krakow\", \"Łódź\") to TERC codes usable as the `terc` filter of `GET /v1/institutions`; large cities may appear as several units (city county, gmina, delegatury). With `parent`, lists the units directly below it; with neither, lists the 16 voivodeships.","tags":["Territorial units"],"x-mcp-tool":"edu_search_territorial_units","parameters":[{"name":"query","in":"query","required":false,"description":"Place name, with or without diacritics, e.g. \"Kraków\" or \"krakow\".","schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"parent","in":"query","required":false,"description":"List the units directly below this TERC code.","schema":{"type":"string","pattern":"^(\\d{2}|\\d{4}|\\d{7})$","example":"1261011"}},{"name":"level","in":"query","required":false,"schema":{"type":"string","enum":["wojewodztwo","powiat","gmina"]}},{"name":"limit","in":"query","required":false,"description":"Page size (1–100).","schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from `page.nextCursor` of the previous page.","schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Resolve a place name or list territorial units (TERYT)","content":{"application/json":{"schema":{"type":"object","required":["data","page","links"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TerritorialUnit"}},"page":{"$ref":"#/components/schemas/PageInfo"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string"},"next":{"type":"string"}}}}}}}},"400":{"description":"`CURSOR_INVALID` — Invalid cursor; `CURSOR_QUERY_MISMATCH` — Cursor from another query; `REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/territorial-units/{terc}":{"get":{"operationId":"getTerritorialUnit","summary":"Get one territorial unit by TERC code","description":"One voivodeship, powiat or gmina by its TERC code, with its parent and institution count.","tags":["Territorial units"],"parameters":[{"name":"terc","in":"path","required":true,"description":"TERYT TERC code: 2 digits (województwo), 4 (powiat) or 7 (gmina, incl. type digit). Shorter codes match every unit inside.","schema":{"type":"string","pattern":"^(\\d{2}|\\d{4}|\\d{7})$","example":"1261011"}}],"responses":{"200":{"description":"Get one territorial unit by TERC code","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerritorialUnit"}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"`TERRITORIAL_UNIT_NOT_FOUND` — Territorial unit not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/legal-acts":{"get":{"operationId":"searchLegalActs","summary":"Search education legislation (ELI)","description":"Search Polish education law: core statutes (Prawo oświatowe, ustawa o systemie oświaty, Karta Nauczyciela, …), their regulations (rozporządzenia) and consolidated-text notices (obwieszczenia). `legalStatus` is computed for today in Europe/Warsaw and is a conservative assessment; `unknown` means the upstream data was inconclusive.","tags":["Legal acts"],"x-mcp-tool":"edu_search_legal_acts","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"types","in":"query","required":false,"description":"Act types as in ELI, e.g. `Ustawa`, `Rozporządzenie`, `Obwieszczenie`.","style":"form","explode":true,"schema":{"maxItems":10,"type":"array","items":{"type":"string"}}},{"name":"legalStatuses","in":"query","required":false,"style":"form","explode":true,"schema":{"maxItems":7,"type":"array","items":{"type":"string","enum":["in-force","not-yet-in-force","partially-repealed","repealed","expired","repealed-applied-transitionally","unknown"]}}},{"name":"limit","in":"query","required":false,"description":"Page size (1–100).","schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from `page.nextCursor` of the previous page.","schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Search education legislation (ELI)","content":{"application/json":{"schema":{"type":"object","required":["data","page","links"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LegalActSummary"}},"page":{"$ref":"#/components/schemas/PageInfo"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string"},"next":{"type":"string"}}}}}}}},"400":{"description":"`CURSOR_INVALID` — Invalid cursor; `CURSOR_QUERY_MISMATCH` — Cursor from another query; `CURSOR_EXPIRED` — Cursor expired; `REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/legal-acts/{publisher}/{year}/{position}":{"get":{"operationId":"getLegalAct","summary":"Get one legal act by ELI","description":"One act of the education legal graph by ELI (`DU/2017/59`; zero-padded positions are accepted): legal status, dates, the chain of consolidated texts (teksty jednolite), amendments after the latest consolidated text, related acts and links to the official text.","tags":["Legal acts"],"x-mcp-tool":"edu_get_legal_act","parameters":[{"name":"publisher","in":"path","required":true,"schema":{"type":"string","enum":["DU","MP"],"description":"Dziennik Ustaw (DU) or Monitor Polski (MP)."}},{"name":"year","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{4}$"}},{"name":"position","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{1,5}$"}},{"name":"responseFormat","in":"query","required":false,"description":"`concise` returns the most useful fields; `detailed` returns everything.","schema":{"default":"detailed","type":"string","enum":["concise","detailed"]}}],"responses":{"200":{"description":"Get one legal act by ELI","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegalAct"}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"`LEGAL_ACT_NOT_FOUND` — Legal act not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/curriculum/applicable":{"get":{"operationId":"getApplicableCurriculum","summary":"Which core curriculum applies to a school type, grade and school year","description":"Answers which core curriculum (podstawa programowa) applies, from curated rules with legal citations: from 2026/27 primary schools run two curricula side by side until 2029/30. Defaults to the current school year (school years start on 1 September, Europe/Warsaw). Returns the applicable document with `currentText` (the wording in force and its official text URL), subject overrides, the legal basis and a certainty level; `status: not-curated` with a `reason` instead of guessing. It does not yet serve the requirement-level content of the curriculum (the individual learning outcomes); use `currentText.url` for the official text.","tags":["Curriculum"],"x-mcp-tool":"edu_get_applicable_curriculum","parameters":[{"name":"schoolType","in":"query","required":true,"schema":{"type":"string","enum":["wychowanie-przedszkolne","szkola-podstawowa","liceum-ogolnoksztalcace","technikum","branzowa-szkola-i-stopnia","branzowa-szkola-ii-stopnia","szkola-policealna","szkola-specjalna-przysposabiajaca-do-pracy"]}},{"name":"grade","in":"query","required":false,"description":"Grade (klasa) 1–8; omit for preschool.","schema":{"type":"integer","minimum":1,"maximum":8}},{"name":"variant","in":"query","required":false,"schema":{"default":"standard","type":"string","enum":["standard","niepelnosprawnosc-intelektualna-umiarkowana-lub-znaczna"]}},{"name":"schoolYear","in":"query","required":false,"description":"School year, e.g. `2026/2027` (also accepts `2026/27`).","schema":{"type":"string","example":"2026/2027"}},{"name":"asOf","in":"query","required":false,"description":"Calendar date (YYYY-MM-DD).","schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"}}],"responses":{"200":{"description":"Which core curriculum applies to a school type, grade and school year","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicableCurriculum"}}}},"400":{"description":"`SCHOOL_YEAR_INVALID` — Invalid school year; `SCHOOL_YEAR_CONFLICT` — Conflicting time parameters; `GRADE_NOT_APPLICABLE` — Grade does not apply to this school type; `GRADE_OUT_OF_RANGE` — Grade out of range; `REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`CURRICULUM_DATA_MISSING` — Curriculum data missing; `SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/curriculum/timeline":{"get":{"operationId":"getCurriculumTimeline","summary":"Which core curriculum applies to every grade over a range of school years","description":"The roll-out of core curricula for one school type as a grid: one cell per grade and school year, each resolved exactly like `GET /v1/curriculum/applicable` (default document, subject overrides, certainty, legal basis), with the referenced documents and subjects listed once. Use it to show transitions, e.g. primary schools moving from the 2017 to the 2026 curriculum grade by grade until 2030/31. Defaults to the first curated school year through four years after the current one.","tags":["Curriculum"],"x-mcp-tool":"edu_get_curriculum_timeline","parameters":[{"name":"schoolType","in":"query","required":true,"schema":{"type":"string","enum":["wychowanie-przedszkolne","szkola-podstawowa","liceum-ogolnoksztalcace","technikum","branzowa-szkola-i-stopnia","branzowa-szkola-ii-stopnia","szkola-policealna","szkola-specjalna-przysposabiajaca-do-pracy"]}},{"name":"variant","in":"query","required":false,"schema":{"default":"standard","type":"string","enum":["standard","niepelnosprawnosc-intelektualna-umiarkowana-lub-znaczna"]}},{"name":"fromSchoolYear","in":"query","required":false,"description":"First school year; defaults to the first curated school year.","schema":{"type":"string","example":"2026/2027"}},{"name":"toSchoolYear","in":"query","required":false,"description":"Last school year; defaults to four years after the current one. At most 12 years in total.","schema":{"type":"string","example":"2026/2027"}}],"responses":{"200":{"description":"Which core curriculum applies to every grade over a range of school years","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurriculumTimeline"}}}},"400":{"description":"`SCHOOL_YEAR_INVALID` — Invalid school year; `SCHOOL_YEAR_RANGE_INVALID` — Invalid school-year range; `REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`CURRICULUM_DATA_MISSING` — Curriculum data missing; `SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/curriculum/documents":{"get":{"operationId":"listCurriculumDocuments","summary":"List core-curriculum documents","description":"Every curated core-curriculum document (an annex of a regulation), with its stage, school types and a pointer to the wording currently in force.","tags":["Curriculum"],"parameters":[],"responses":{"200":{"description":"List core-curriculum documents","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CurriculumDocument"}}}}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`CURRICULUM_DATA_MISSING` — Curriculum data missing; `SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/subjects":{"get":{"operationId":"listSubjects","summary":"List school subjects","description":"Canonical school subjects with Polish and English names and aliases.","tags":["Curriculum"],"parameters":[],"responses":{"200":{"description":"List school subjects","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Subject"}}}}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/qualifications":{"get":{"operationId":"searchQualifications","summary":"Search vocational qualifications (ZRK)","description":"Search vocational qualifications of the Integrated Qualifications Register (ZRK) by name or symbol (`INF.02`, `351203`), optionally by Polish Qualifications Framework level (`prkLevel`). Returns symbols for `GET /v1/qualifications/{symbol}`.","tags":["Qualifications"],"x-mcp-tool":"edu_search_qualifications","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"prkLevel","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":8}},{"name":"limit","in":"query","required":false,"description":"Page size (1–100).","schema":{"default":25,"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor from `page.nextCursor` of the previous page.","schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Search vocational qualifications (ZRK)","content":{"application/json":{"schema":{"type":"object","required":["data","page","links"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/QualificationSummary"}},"page":{"$ref":"#/components/schemas/PageInfo"},"links":{"type":"object","required":["self"],"properties":{"self":{"type":"string"},"next":{"type":"string"}}}}}}}},"400":{"description":"`CURSOR_INVALID` — Invalid cursor; `CURSOR_QUERY_MISMATCH` — Cursor from another query; `CURSOR_EXPIRED` — Cursor expired; `REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/qualifications/{symbol}":{"get":{"operationId":"getQualification","summary":"Get one vocational qualification","description":"One qualification by symbol or `zrk:{id}`, with learning-outcome sets (efekty uczenia się) and, in the detailed format, verification criteria (kryteria weryfikacji).","tags":["Qualifications"],"x-mcp-tool":"edu_get_qualification","parameters":[{"name":"symbol","in":"path","required":true,"description":"Symbol (`INF.02`, `351203`) or `zrk:{id}`.","schema":{"type":"string","minLength":2,"maxLength":40,"example":"INF.02"}},{"name":"responseFormat","in":"query","required":false,"description":"`concise` returns the most useful fields; `detailed` returns everything.","schema":{"default":"detailed","type":"string","enum":["concise","detailed"]}}],"responses":{"200":{"description":"Get one vocational qualification","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Qualification"}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"`QUALIFICATION_NOT_FOUND` — Qualification not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/search":{"get":{"operationId":"search","summary":"Search across institutions, legislation and qualifications","description":"Search across Polish schools and institutions (RSPO), education legislation (Dziennik Ustaw via ELI) and vocational qualifications (ZRK). Queries may be Polish or English place or school names, act titles or qualification symbols (e.g. \"liceum Kraków\", \"podstawa programowa\", \"INF.02\"). Returns typed ids (`institution:133365`, `legal-act:DU/2017/59`, `qualification:INF.02`).","tags":["Search"],"x-mcp-tool":"search","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"types","in":"query","required":false,"style":"form","explode":true,"schema":{"maxItems":3,"type":"array","items":{"type":"string","enum":["institution","legal-act","qualification"]}}},{"name":"limit","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Search across institutions, legislation and qualifications","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}}}}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/sources":{"get":{"operationId":"listSources","summary":"List data sources and their freshness","description":"Every upstream source with its publisher, licence, refresh cadence and the time of the last attempted and last successful load. Check it before reporting how current the data is.","tags":["Metadata"],"x-mcp-tool":"edu_list_data_sources","parameters":[],"responses":{"200":{"description":"List data sources and their freshness","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataSource"}}}}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/licences":{"get":{"operationId":"listLicences","summary":"List licences of the published data","description":"The licences referenced by `provenance.licence`, with their terms.","tags":["Metadata"],"parameters":[],"responses":{"200":{"description":"List licences of the published data","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Licence"}}}}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/reference-lists":{"get":{"operationId":"listReferenceLists","summary":"List code lists","description":"The code lists available from `GET /v1/reference-lists/{list}`.","tags":["Metadata"],"parameters":[],"responses":{"200":{"description":"List code lists","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReferenceListIndexEntry"}}}}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/reference-lists/{list}":{"get":{"operationId":"getReferenceList","summary":"Get one code list","description":"One code list used by this API, e.g. `institution-types` (RSPO type ids for the `typeIds` filter of `GET /v1/institutions`) or `public-statuses`.","tags":["Metadata"],"x-mcp-tool":"edu_list_reference_values","parameters":[{"name":"list","in":"path","required":true,"schema":{"type":"string","enum":["institution-types","public-statuses","student-categories","governing-body-types","structure-positions","specificities","school-types"]}}],"responses":{"200":{"description":"Get one code list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceList"}}}},"400":{"description":"`REQUEST_INVALID` — Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"`API_KEY_INVALID` — Unknown or revoked API key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"`REFERENCE_LIST_NOT_FOUND` — Reference list not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"`RATE_LIMITED` — Too many requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"500":{"description":"`INTERNAL` — Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"`SERVICE_UNAVAILABLE` — Service temporarily unavailable; `QUERY_TIMEOUT` — Query timed out","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}},"components":{"schemas":{"Address":{"type":"object","properties":{"street":{"type":["string","null"]},"buildingNumber":{"type":["string","null"]},"premisesNumber":{"type":["string","null"]},"postalCode":{"type":["string","null"]},"postOffice":{"type":["string","null"]},"locality":{"type":["string","null"]},"localityKind":{"type":["string","null"]},"voivodeship":{"type":["string","null"]},"powiat":{"type":["string","null"]},"gmina":{"type":["string","null"]},"terc":{"description":"7-digit TERC code of the gmina.","type":["string","null"]},"simc":{"description":"TERYT SIMC code of the locality.","type":["string","null"]},"ulic":{"description":"TERYT ULIC code of the street.","type":["string","null"]}},"required":["street","buildingNumber","premisesNumber","postalCode","postOffice","locality","localityKind","voivodeship","powiat","gmina","terc","simc","ulic"],"additionalProperties":{}},"ApplicableCurriculum":{"type":"object","properties":{"status":{"type":"string","description":"Whether the case is covered by curated rules. Known values: resolved, not-curated."},"schoolType":{"type":"string"},"variant":{"type":"string"},"grade":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"schoolYear":{"type":"string","description":"The resolved school year."},"legalStateAsOf":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","description":"Date the curated rules were last reviewed against the law."},"default":{"anyOf":[{"$ref":"#/components/schemas/ApplicableDocument"},{"type":"null"}],"description":"Curriculum that applies to all subjects unless overridden."},"subjectOverrides":{"type":"array","items":{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/Subject"},"applies":{"$ref":"#/components/schemas/ApplicableDocument"}},"required":["subject","applies"],"additionalProperties":{}}},"reason":{"default":null,"anyOf":[{"type":"string","description":"Why the case is not curated (null when resolved). Known values: outside-coverage, variant-undefined, ambiguous."},{"type":"null"}]},"message":{"anyOf":[{"$ref":"#/components/schemas/LocalizedText"},{"type":"null"}],"description":"The reason in every supported language."},"disclaimer":{"$ref":"#/components/schemas/LocalizedText"}},"required":["status","schoolType","variant","grade","schoolYear","legalStateAsOf","default","subjectOverrides","reason","message","disclaimer"],"additionalProperties":{}},"ApplicableDocument":{"type":"object","properties":{"document":{"$ref":"#/components/schemas/CurriculumDocument"},"certainty":{"type":"string","description":"How settled the answer is. Known values: enacted, enacted-not-yet-applicable, open-ended-no-successor-enacted."},"basis":{"type":"array","items":{"$ref":"#/components/schemas/LegalBasis"}}},"required":["document","certainty","basis"],"additionalProperties":{}},"CodedValue":{"type":"object","properties":{"code":{"type":"string","description":"Stable lower-kebab-case ASCII code."},"upstreamId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The source's numeric id."},"labels":{"type":"object","properties":{"pl":{"type":"string"},"en":{"type":"string"}},"required":["pl"],"additionalProperties":{}}},"required":["code","upstreamId","labels"],"additionalProperties":{}},"CurriculumDocument":{"type":"object","properties":{"id":{"type":"string","example":"DU/2026/378:zal2"},"eli":{"type":"string"},"annex":{"description":"Annex number, e.g. `2` or `4a`.","type":["string","null"]},"title":{"type":"string"},"stage":{"type":"string"},"schoolTypes":{"type":"array","items":{"type":"string"}},"amendedBy":{"type":"array","items":{"type":"string"},"description":"ELIs of amending acts to read with it."},"url":{"type":"string","format":"uri","description":"Official text (PDF) of the act as originally published."},"currentText":{"anyOf":[{"type":"object","properties":{"eli":{"type":"string"},"annex":{"type":"string"},"url":{"type":"string","format":"uri"},"amendedBy":{"type":"array","items":{"type":"string"}}},"required":["eli","annex","url","amendedBy"],"additionalProperties":{}},{"type":"null"}],"description":"Where the current wording lives when the annex was later replaced wholesale (e.g. the 2017 primary curriculum as replaced by Dz.U. 2024 poz. 996, annex 1); read it together with `amendedBy`."},"requirementsServed":{"type":"boolean","description":"Whether this API serves the requirement-level text (learning outcomes) of this document. When false, read the official text at `currentText.url` or `url`."},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["id","eli","annex","title","stage","schoolTypes","amendedBy","url","currentText","requirementsServed","provenance"],"additionalProperties":{}},"CurriculumTimeline":{"type":"object","properties":{"schoolType":{"type":"string"},"variant":{"type":"string"},"legalStateAsOf":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"currentSchoolYear":{"type":"string","description":"The school year in progress today."},"grades":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"description":"Empty for school types without grades."},"schoolYears":{"type":"array","items":{"type":"string"}},"documents":{"type":"array","items":{"$ref":"#/components/schemas/CurriculumDocument"},"description":"Every document the cells refer to."},"subjects":{"type":"array","items":{"$ref":"#/components/schemas/Subject"},"description":"Every subject the overrides refer to."},"cells":{"type":"array","items":{"$ref":"#/components/schemas/CurriculumTimelineCell"},"description":"One cell per grade and school year, ordered by school year, then grade."},"disclaimer":{"$ref":"#/components/schemas/LocalizedText"}},"required":["schoolType","variant","legalStateAsOf","currentSchoolYear","grades","schoolYears","documents","subjects","cells","disclaimer"],"additionalProperties":{}},"CurriculumTimelineCell":{"type":"object","properties":{"grade":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Null for school types without grades."},"schoolYear":{"type":"string"},"status":{"type":"string","description":"Whether the case is covered by curated rules. Known values: resolved, not-curated."},"default":{"anyOf":[{"$ref":"#/components/schemas/CurriculumTimelineRule"},{"type":"null"}]},"subjectOverrides":{"type":"array","items":{"type":"object","properties":{"subject":{"type":"string","description":"Slug of an entry in `subjects`."},"applies":{"$ref":"#/components/schemas/CurriculumTimelineRule"}},"required":["subject","applies"],"additionalProperties":{}}},"reason":{"default":null,"anyOf":[{"type":"string","description":"Why the case is not curated (null when resolved). Known values: outside-coverage, variant-undefined, ambiguous."},{"type":"null"}]}},"required":["grade","schoolYear","status","default","subjectOverrides","reason"],"additionalProperties":{}},"CurriculumTimelineRule":{"type":"object","properties":{"documentId":{"type":"string","description":"Id of an entry in `documents`."},"certainty":{"type":"string","description":"How settled the answer is. Known values: enacted, enacted-not-yet-applicable, open-ended-no-successor-enacted."},"basis":{"type":"array","items":{"$ref":"#/components/schemas/LegalBasis"}}},"required":["documentId","certainty","basis"],"additionalProperties":{}},"DataSource":{"type":"object","properties":{"id":{"type":"string","description":"Source id. Known values: rspo, sio-wykaz, eli, zrk, curated."},"name":{"type":"string"},"publisher":{"type":"string"},"homepage":{"type":"string","format":"uri"},"licence":{"type":"string","description":"Licence id. Known values: CC0-1.0, CC-BY-4.0, LicenseRef-edu-hub-official-document, LicenseRef-edu-hub-no-licence-stated."},"cadence":{"type":"string","description":"Expected refresh cadence (ISO 8601 duration)."},"lastAttemptAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"lastSuccessAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"lastStatus":{"type":["string","null"]},"isStale":{"type":"boolean","description":"True when older than twice the cadence."},"recordCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","name","publisher","homepage","licence","cadence","lastAttemptAt","lastSuccessAt","lastStatus","isStale","recordCount"],"additionalProperties":{}},"GoverningBody":{"type":"object","properties":{"type":{"anyOf":[{"$ref":"#/components/schemas/CodedValue"},{"type":"null"}]},"name":{"type":["string","null"]},"regon":{"type":["string","null"]},"nip":{"type":["string","null"]},"isWithheld":{"type":"boolean","description":"True when the governing body is a natural person; identifying data is withheld (ADR-0014)."}},"required":["type","name","regon","nip","isWithheld"],"additionalProperties":{}},"Institution":{"type":"object","properties":{"rspo":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/InstitutionType"},"publicStatus":{"anyOf":[{"$ref":"#/components/schemas/CodedValue"},{"type":"null"}]},"studentCategory":{"anyOf":[{"$ref":"#/components/schemas/CodedValue"},{"type":"null"}]},"specificity":{"anyOf":[{"$ref":"#/components/schemas/CodedValue"},{"type":"null"}]},"regon":{"type":["string","null"]},"nip":{"type":["string","null"]},"address":{"$ref":"#/components/schemas/Address"},"coordinates":{"anyOf":[{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"required":["latitude","longitude"],"additionalProperties":{}},{"type":"null"}]},"contact":{"type":"object","properties":{"phone":{"type":["string","null"]},"email":{"type":["string","null"]},"website":{"type":["string","null"]}},"required":["phone","email","website"],"additionalProperties":{}},"dates":{"type":"object","properties":{"foundedOn":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"operatingSince":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"liquidatedOn":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]}},"required":["foundedOn","operatingSince","liquidatedOn"],"additionalProperties":{}},"isLiquidated":{"type":"boolean"},"governingBody":{"$ref":"#/components/schemas/GoverningBody"},"structure":{"type":"object","properties":{"position":{"anyOf":[{"$ref":"#/components/schemas/CodedValue"},{"type":"null"}]},"parent":{"anyOf":[{"$ref":"#/components/schemas/InstitutionRef"},{"type":"null"}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionRef"}},"childCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"childrenTruncated":{"type":"boolean"}},"required":["position","parent","children","childCount","childrenTruncated"],"additionalProperties":{}},"pupilCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"languages":{"type":"array","items":{"type":"string"}},"statistics":{"type":"array","items":{"$ref":"#/components/schemas/InstitutionStatistic"},"description":"SIO 30 September statistics, most recent first."},"lastSeenAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the record was last present in the registry export."},"provenance":{"$ref":"#/components/schemas/Provenance"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}},"required":["rspo","name","type","publicStatus","studentCategory","specificity","regon","nip","address","coordinates","contact","dates","isLiquidated","governingBody","structure","pupilCount","languages","statistics","lastSeenAt","provenance","sources"],"additionalProperties":{}},"InstitutionRef":{"type":"object","properties":{"rspo":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"typeName":{"type":["string","null"]}},"required":["rspo","name","typeName"],"additionalProperties":{}},"InstitutionStatistic":{"type":"object","properties":{"schoolYear":{"type":"string"},"pupils":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"girls":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"preschoolPupils":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"classes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"teacherFte":{"description":"Teacher full-time equivalents (etaty).","type":["number","null"]},"teachers":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Teachers (persons)."},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["schoolYear","pupils","girls","preschoolPupils","classes","teacherFte","teachers","provenance"],"additionalProperties":{}},"InstitutionSummary":{"type":"object","properties":{"rspo":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/InstitutionType"},"publicStatus":{"anyOf":[{"$ref":"#/components/schemas/CodedValue"},{"type":"null"}]},"locality":{"type":["string","null"]},"terc":{"type":["string","null"]},"gmina":{"type":["string","null"]},"voivodeship":{"type":["string","null"]},"pupilCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"isLiquidated":{"type":"boolean"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["rspo","name","type","publicStatus","locality","terc","gmina","voivodeship","pupilCount","isLiquidated","provenance"],"additionalProperties":{}},"InstitutionType":{"type":"object","properties":{"upstreamId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"RSPO institution type id."},"name":{"type":"string"},"schoolType":{"anyOf":[{"type":"string","description":"Canonical school-type slug. Known values: wychowanie-przedszkolne, szkola-podstawowa, liceum-ogolnoksztalcace, technikum, branzowa-szkola-i-stopnia, branzowa-szkola-ii-stopnia, szkola-policealna, szkola-specjalna-przysposabiajaca-do-pracy, szkola-artystyczna, placowka."},{"type":"null"}]},"isced":{"type":"object","properties":{"level":{"type":["string","null"]},"isProvisional":{"type":"boolean","description":"True when no Polish government source confirms the mapping."}},"required":["level","isProvisional"],"additionalProperties":{}}},"required":["upstreamId","name","schoolType","isced"],"additionalProperties":{}},"LearningOutcome":{"type":"object","properties":{"zrkId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"order":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"text":{"type":"string"},"criteria":{"type":"array","items":{"type":"object","properties":{"zrkId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"text":{"type":"string"}},"required":["zrkId","text"],"additionalProperties":{}}}},"required":["zrkId","order","text","criteria"],"additionalProperties":{}},"LegalAct":{"type":"object","properties":{"eli":{"type":"string"},"publisher":{"type":"string"},"year":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"displayAddress":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"promulgatedOn":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"entryIntoForceOn":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"legalStatus":{"type":"string","description":"Our legal-status assessment (ADR-0008). Known values: in-force, not-yet-in-force, partially-repealed, repealed, expired, repealed-applied-transitionally, unknown."},"statusSource":{"type":"string","description":"Where the legal status comes from. Known values: upstream, curated."},"statusNote":{"type":["string","null"]},"upstreamStatus":{"description":"Raw ELI status, passed through.","type":["string","null"]},"links":{"type":"object","properties":{"eli":{"type":"string","format":"uri","description":"Canonical ELI URI (eli.gov.pl)."},"isap":{"type":"string","format":"uri"},"api":{"type":"string","format":"uri","description":"Sejm ELI API record."},"textHtml":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"textPdf":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["eli","isap","api","textHtml","textPdf"],"additionalProperties":{}},"provenance":{"$ref":"#/components/schemas/Provenance"},"keywords":{"type":"array","items":{"type":"string"}},"authorizedBodies":{"type":"array","items":{"type":"string"}},"hasTextHtml":{"type":"boolean"},"hasTextPdf":{"type":"boolean"},"role":{"description":"Curated role, e.g. `core-statute`.","type":["string","null"]},"titleEn":{"type":["string","null"]},"consolidatedTexts":{"type":"array","items":{"$ref":"#/components/schemas/LegalActRef"},"description":"Consolidated-text notices (teksty jednolite), newest first."},"amendmentsAfterLatestConsolidatedText":{"type":"array","items":{"$ref":"#/components/schemas/LegalActRef"},"description":"Amending acts published after the latest consolidated text; read them together with it."},"amendmentsAfterLatestConsolidatedTextCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Total number of such amendments; the list above is capped like other relations."},"consolidates":{"anyOf":[{"$ref":"#/components/schemas/LegalActRef"},{"type":"null"}],"description":"For a consolidated-text notice (obwieszczenie): the base act it consolidates."},"relations":{"type":"array","items":{"$ref":"#/components/schemas/LegalActRelationGroup"}}},"required":["eli","publisher","year","position","displayAddress","title","type","promulgatedOn","entryIntoForceOn","legalStatus","statusSource","statusNote","upstreamStatus","links","provenance","keywords","authorizedBodies","hasTextHtml","hasTextPdf","role","titleEn","consolidatedTexts","amendmentsAfterLatestConsolidatedText","amendmentsAfterLatestConsolidatedTextCount","consolidates","relations"],"additionalProperties":{}},"LegalActRef":{"type":"object","properties":{"eli":{"type":"string"},"displayAddress":{"type":["string","null"]},"title":{"type":["string","null"]},"legalStatus":{"anyOf":[{"type":"string","description":"Our legal-status assessment. Known values: in-force, not-yet-in-force, partially-repealed, repealed, expired, repealed-applied-transitionally, unknown."},{"type":"null"}]}},"required":["eli","displayAddress","title","legalStatus"],"additionalProperties":{}},"LegalActRelationGroup":{"type":"object","properties":{"type":{"type":"string","description":"Relation code, e.g. `akty-wykonawcze`."},"label":{"type":"string","description":"ELI relation label in Polish."},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"acts":{"type":"array","items":{"$ref":"#/components/schemas/LegalActRef"}},"truncated":{"type":"boolean"}},"required":["type","label","count","acts","truncated"],"additionalProperties":{}},"LegalActSummary":{"type":"object","properties":{"eli":{"type":"string"},"publisher":{"type":"string"},"year":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"displayAddress":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"promulgatedOn":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"entryIntoForceOn":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"legalStatus":{"type":"string","description":"Our legal-status assessment (ADR-0008). Known values: in-force, not-yet-in-force, partially-repealed, repealed, expired, repealed-applied-transitionally, unknown."},"statusSource":{"type":"string","description":"Where the legal status comes from. Known values: upstream, curated."},"statusNote":{"type":["string","null"]},"upstreamStatus":{"description":"Raw ELI status, passed through.","type":["string","null"]},"links":{"type":"object","properties":{"eli":{"type":"string","format":"uri","description":"Canonical ELI URI (eli.gov.pl)."},"isap":{"type":"string","format":"uri"},"api":{"type":"string","format":"uri","description":"Sejm ELI API record."},"textHtml":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"textPdf":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["eli","isap","api","textHtml","textPdf"],"additionalProperties":{}},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["eli","publisher","year","position","displayAddress","title","type","promulgatedOn","entryIntoForceOn","legalStatus","statusSource","statusNote","upstreamStatus","links","provenance"],"additionalProperties":{}},"LegalBasis":{"type":"object","properties":{"citation":{"type":"string","description":"Provision, e.g. \"§ 4 ust. 2 pkt 1\"."},"eli":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["citation","eli","url"],"additionalProperties":{}},"Licence":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"attributionRequired":{"type":"boolean"}},"required":["id","name","url","attributionRequired"],"additionalProperties":{}},"LocalizedText":{"type":"object","properties":{"pl":{"type":"string"},"en":{"type":"string"}},"required":["pl","en"],"additionalProperties":{}},"PageInfo":{"type":"object","properties":{"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["limit","nextCursor","hasMore"],"additionalProperties":{}},"Problem":{"type":"object","properties":{"type":{"type":"string","description":"Stable URI of the problem type; documented at that URL."},"title":{"type":"string"},"status":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"code":{"type":"string","description":"Stable error code, e.g. `INSTITUTION_NOT_FOUND`."},"detail":{"type":"string"},"instance":{"description":"URN of this occurrence (the request id).","type":"string"},"requestId":{"type":"string"},"retry":{"type":"string","description":"What the client should do. Known values: never, restart, after, backoff."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ProblemIssue"}}},"required":["type","title","status","code","retry"],"additionalProperties":{}},"ProblemIssue":{"type":"object","properties":{"in":{"type":"string","description":"Where the parameter was sent. Known values: query, path, header."},"parameter":{"description":"Parameter name (query, path, header).","type":"string"},"pointer":{"description":"JSON Pointer into a request body.","type":"string"},"code":{"type":"string","description":"Validation issue code, e.g. `too_small`, `invalid_type`."},"detail":{"type":"string","description":"Localised explanation."}},"required":["code","detail"],"additionalProperties":{}},"Provenance":{"type":"object","properties":{"source":{"type":"string","description":"Stable source id; see /v1/sources. Known values: rspo, sio-wykaz, eli, zrk, curated."},"sourceUrl":{"type":"string","format":"uri","description":"Human-resolvable upstream URL to cite."},"retrievedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","description":"When the snapshot that last changed this record was retrieved."},"referenceDate":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}],"description":"Date the data describes, when it differs from retrieval time."},"licence":{"type":"string","description":"Licence id; see /v1/licences. Known values: CC0-1.0, CC-BY-4.0, LicenseRef-edu-hub-official-document, LicenseRef-edu-hub-no-licence-stated."},"snapshotId":{"description":"Snapshot the value was loaded from.","type":["string","null"]}},"required":["source","sourceUrl","retrievedAt","referenceDate","licence","snapshotId"],"additionalProperties":{}},"Qualification":{"type":"object","properties":{"symbol":{"type":"string"},"zrkId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"qualificationType":{"description":"`pelna` (full qualification = occupation) or `czastkowa` (partial, e.g. INF.02).","type":["string","null"]},"isCurrent":{"type":"boolean","description":"False for archived versions."},"occupations":{"type":"array","items":{"type":"string"}},"prkLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Level in the Polish Qualifications Framework (PRK)."},"industry":{"type":["string","null"]},"status":{"type":["string","null"]},"legalYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"zrkUrl":{"type":"string","format":"uri"},"provenance":{"$ref":"#/components/schemas/Provenance"},"outcomeSets":{"type":"array","items":{"type":"object","properties":{"zrkId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"order":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"name":{"type":"string"},"outcomes":{"type":"array","items":{"$ref":"#/components/schemas/LearningOutcome"}}},"required":["zrkId","order","name","outcomes"],"additionalProperties":{}}},"outcomeCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"criteriaCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["symbol","zrkId","name","qualificationType","isCurrent","occupations","prkLevel","industry","status","legalYear","zrkUrl","provenance","outcomeSets","outcomeCount","criteriaCount"],"additionalProperties":{}},"QualificationSummary":{"type":"object","properties":{"symbol":{"type":"string"},"zrkId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"type":"string"},"qualificationType":{"description":"`pelna` (full qualification = occupation) or `czastkowa` (partial, e.g. INF.02).","type":["string","null"]},"isCurrent":{"type":"boolean","description":"False for archived versions."},"occupations":{"type":"array","items":{"type":"string"}},"prkLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Level in the Polish Qualifications Framework (PRK)."},"industry":{"type":["string","null"]},"status":{"type":["string","null"]},"legalYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"zrkUrl":{"type":"string","format":"uri"},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["symbol","zrkId","name","qualificationType","isCurrent","occupations","prkLevel","industry","status","legalYear","zrkUrl","provenance"],"additionalProperties":{}},"ReferenceList":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"values":{"type":"array","items":{"$ref":"#/components/schemas/CodedValue"}}},"required":["id","name","values"],"additionalProperties":{}},"ReferenceListIndexEntry":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":{}},"SearchResult":{"type":"object","properties":{"id":{"type":"string","description":"Typed id, e.g. `institution:133365`, usable with fetch."},"type":{"type":"string","description":"Result type. Known values: institution, legal-act, qualification."},"title":{"type":"string"},"subtitle":{"type":["string","null"]},"url":{"type":"string","format":"uri","description":"Canonical URL of the record in this API."}},"required":["id","type","title","subtitle","url"],"additionalProperties":{}},"Subject":{"type":"object","properties":{"slug":{"type":"string"},"labels":{"type":"object","properties":{"pl":{"type":"string"},"en":{"type":"string"}},"required":["pl"],"additionalProperties":{}},"aliases":{"type":"array","items":{"type":"string"}},"stages":{"type":"array","items":{"type":"string"}},"note":{"type":["string","null"]}},"required":["slug","labels","aliases","stages","note"],"additionalProperties":{}},"TerritorialUnit":{"type":"object","properties":{"terc":{"type":"string"},"level":{"type":"string","description":"Administrative level. Known values: wojewodztwo, powiat, gmina."},"name":{"type":"string"},"parentTerc":{"type":["string","null"]},"gminaKind":{"anyOf":[{"$ref":"#/components/schemas/CodedValue"},{"type":"null"}],"description":"For gminy: the TERC type digit (1 miejska, 2 wiejska, 3 miejsko-wiejska, …)."},"institutionCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Active institutions in the unit."},"provenance":{"$ref":"#/components/schemas/Provenance"}},"required":["terc","level","name","parentTerc","gminaKind","institutionCount","provenance"],"additionalProperties":{}}}}}