Early childhood / Registration and remaining capacity
Tbilisi kindergarten registration capacity by age group
The official registration backend lists districts and 191 gardens, then returns age-band groups with total places, registrations and remaining places. The live registration UI uses REMAINED to disable full groups.
Provenance and access
How the data is reached
Unauthenticated JSON GET endpoints for raions, regular/summer gardens and groups. CORS wildcard. Personal child lookup and registration routes are explicitly out of scope.
Unclear.
- Method
- GET
- Format
- JSON
- Authentication
- None
Regular gardens
https://docs.kids.org.ge/api/v1/public/gartens ↗- Method
- GET
- Format
- JSON
- Authentication
- None
Summer gardens
https://docs.kids.org.ge/api/v1/public/gartensSummer ↗- Method
- GET
- Format
- JSON
- Authentication
- None
Groups for garden
https://docs.kids.org.ge/api/v1/public/groups/{GARTEN_ID} ↗- Method
- GET
- Format
- JSON
- Authentication
- None
UI queries this on selection and disables groups where REMAINED is zero.
Field-level detail
What is actually returned
District response
District reference rows.
| Field / path | Type | Null? | Example | Meaning | Freshness |
|---|---|---|---|---|---|
status | integer | No | 200 | Application status | unknown |
data[].RAION_ID | integer | No | 1 | District ID | reference |
data[].RAION_NAME | string | No | საბურთალო | District name | reference |
data[].CITY_ID | integer | No | 1 | Parent city ID | reference |
Garden response
Regular and summer-garden reference rows.
| Field / path | Type | Null? | Example | Meaning | Freshness |
|---|---|---|---|---|---|
status | integer | No | 200 | Application status | unknown |
data[].GARTEN_ID | integer | No | 140 | Registration-system garden ID | reference |
data[].GARTEN_NUMBER | integer | Unknown | 1 | Public garden number | reference |
data[].GARTEN_NAME | string | Yes | null | Optional proper or seasonal name | reference |
data[].RAION_ID | integer | No | 3 | District ID | reference |
data[].SHOW_REMAINED | integer flag | Yes | 1 | Whether UI may show remaining capacityObserved in regular gardens; absent in tested summer schema. | unknown |
Registration group response
Age-band capacity and occupancy rows.
| Field / path | Type | Null? | Example | Meaning | Freshness |
|---|---|---|---|---|---|
status | integer | No | 200 | Application status | unknown |
data[].GROUP_ID | integer | No | 330 | Registration group ID | reference |
data[].GROUP_NAME | string | No | 1 | Internal/display group label | reference |
data[].FROM_AGE | integer | No | 2 | Lower age bound in years | reference |
data[].TO_AGE | integer | No | 3 | Upper age bound in years | reference |
data[].PLACES | integer | No | 50 | Total group capacityPlaces/persons. | reference |
data[].QUANTITY | integer | No | 49 | Registrations or occupied placesOperational; no timestamp. | unknown |
data[].REMAINED | integer | No | 1 | Remaining placesObserved PLACES - QUANTITY; UI disables full groups. | derived |
data[].DESCRIPTION | string | Yes | null | Optional group qualifier | reference |
Representative evidence
Sample records
Garden 140 group capacity
Retrieved 2026-07-22 13:50 Asia/Tbilisi
{"status":200,"data":[{"GROUP_ID":330,"GROUP_NAME":"1","FROM_AGE":2,"TO_AGE":3,"PLACES":50,"QUANTITY":49,"REMAINED":1,"DESCRIPTION":null},{"GROUP_ID":660,"GROUP_NAME":"2","FROM_AGE":3,"TO_AGE":4,"PLACES":90,"QUANTITY":72,"REMAINED":18,"DESCRIPTION":null},{"GROUP_ID":331,"GROUP_NAME":"4","FROM_AGE":5,"TO_AGE":6,"PLACES":90,"QUANTITY":67,"REMAINED":23,"DESCRIPTION":null}]}Boundaries
Reliability, caveats, and privacy
What held up
- Official registration form JavaScript directly references these routes.
- All tested GETs returned JSON and CORS wildcard.
- On test date, official page said registration stage three opened 2026-07-20.
What can go wrong
- No response timestamp or documented update cadence.
- Operational freshness is inferred from UI behavior, not proven by observed change.
- The regular and summer garden schemas differ by SHOW_REMAINED.
Privacy boundary
- Do not call public/check/{personalId}/{lastName} for research.
- Do not call registration POST routes; group data is aggregate and sufficient.
Cross-source possibilities
Ideas using this source
Source trail
Primary pages and documentation
https://kids.org.ge/