Appearance
API Metadata
Список маршрутів
| # | Метод | Маршрут | Опис | Права доступу |
|---|---|---|---|---|
| 1 | GET | /metadata/stat/resource-level | Статистика верифікованих користувачів / метаданих по рівнях ресурсів | admin |
| 2 | GET | /metadata/stat/all | Агрегована статистика по метаданих (view) | L1 |
| 3 | GET | /metadata/stat/holders | Статистика верифікованих метаданих за держателем | L1 |
| 4 | GET | /metadata/stat/community | Статистика метаданих по всіх ОТГ | L1 |
| 5 | GET | /metadata/stat/:account | Статистика метаданих за ідентифікатором суб'єкта, що створив ресурс | L1 |
| 6 | GET | /metadata/codifier/:codifier | Пошук метаданих за кодом КАТОТТГ | L1 |
| 7 | GET | /metadata/bbox/:bbox | Пошук метаданих за прямокутником (BBOX) | L1 |
| 8 | GET | /metadata/theme/:theme | Пошук метаданих за темою | L1 |
| 9 | GET | /metadata/searchtext/:search | Пошук метаданих за текстовим запитом | L1 |
| 10 | GET | /metadata/community/:token | Пошук метаданих за КАТОТТГ з використанням токена інтеграції | L0 |
| 11 | POST | /metadata/community/:token | Створення нових метаданих з використанням токена інтеграції | L0 |
| 12 | GET | /metadata/community/status/:token | Перевірка статусу метаданих за КАТОТТГ (інтеграція) | L0 |
| 13 | GET | /metadata/export | Експорт метаданих у вибраному форматі | L1 |
| 14 | POST | /metadata/import/:id | Імпорт метаданих з файлу на сервері | L1 |
| 15 | POST | /metadata/upload/:id | Імпорт метаданих безпосередньо з XML-вмісту (спеціальна інтеграція) | L1 |
| 16 | GET | /metadata/search/:search | Пошук метаданих за текстом для відображення на карті | L1 |
| 17 | GET | /metadata/layers | Отримання переліку шарів з метаданих для карти | L1 |
1. Статистика верифікованих користувачів / метаданих по рівнях ресурсів
Метод: GET URL: /metadata/stat/resource-levelПрава доступу: admin
Параметри: відсутні
Відповідь (200 OK)
json
[
{
"title": "Кількість верифікованих користувачів регіонального рівня",
"count": "123"
},
{
"title": "Кількість верифікованих користувачів місцевого рівня",
"count": "4567"
},
{
"title": "Кількість верифікованих користувачів всього",
"count": "8987"
},
{
"title": "Кількість верифікованих метаданих місцевого рівня",
"count": "65432"
},
{
"title": "Кількість верифікованих метаданих регіонального рівня",
"count": "1234"
},
{
"title": "Кількість верифікованих метаданих національного рівня",
"count": "5678"
}
]2. Агрегована статистика по метаданих (view)
Метод: GET URL: /metadata/stat/allОпис:
Права доступу: L1
Параметри: відсутні
Відповідь (200 OK)
json
{
"count_metadata": "40507",
"count_service": "1882",
"count_org": "5133"
}3. Статистика верифікованих метаданих за держателем
Метод: GET URL: /metadata/stat/holdersПрава доступу: L1
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
limit | number | - | Ліміт записів |
page | number | - | Сторінка |
parent | string | - | Фільтр за батьківським елементом |
sql | boolean | - | Дозволити SQL-фільтрацію (тільки для admin) |
Відповідь (200 OK)
json
{
"page": 1,
"total": 40506,
"count": 16,
"rows": [
{
"title": "Тестові метадані 05.04.2026",
"metadata_id": "3912845364490667414",
"topic_category": [
"boundaries"
],
"resource_type": "series",
"cdate": "2026-06-05 13:52:17.727308",
"editor_date": "2026-06-08 13:28:23.676858",
"metadata_producer_id": "",
"uid": "Інформація відсутня",
"editor_id": "Інформація відсутня",
"resource_type_data": {
"id": "series",
"text": "Комплект наборів даних",
"icon": null,
"color": "#f5a623"
},
"topic_category_text": [
{
"id": "boundaries",
"text": "Межі",
"icon": "assets/svg/boundaries.svg",
"color": "#EB4109"
}
]
}
]
}4. Статистика метаданих по всіх ОТГ
Метод: GET URL: /metadata/communityПрава доступу: L1
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
nocache | string | - | Оновити кеш (наприклад "1") |
Відповідь (200 OK)
json
[
{
"count": "1191",
"codifier": "UA80000000000093317",
"object_type": "M",
"title": "Київ"
},
{
"count": "574",
"codifier": "UA65040010000061104",
"object_type": "H",
"title": "Генічеська територіальна громада"
}
]5. Статистика метаданих за ідентифікатором суб'єкта, що створив ресурс
Метод: GET URL: /metadata/stat/:account?Права доступу: L1
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
account | string | - | Ідентифікатор облікового запису (producer) |
Відповідь (200 OK)
json
{
"rows": [
{
"count": "4",
"katottg": "UA07080170000013585",
"producer": [
"2424129509939741833"
]
}
]
}6. Пошук метаданих за кодом КАТОТТГ
Метод: GET URL: /metadata/codifier/:codifierПрава доступу: L1
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
codifier | string | + | Код КАТОТТГ |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
limit | number | - | Ліміт записів (макс. 100, за замовчуванням 16) |
page | number | - | Сторінка |
filter | string | - | Фільтр (наприклад "resource_level=national") |
sql | boolean | - | Дозволити SQL-фільтрацію (тільки для admin) |
Відповідь (200 OK)
json
{
"total": "254",
"page": 1,
"offset": 0,
"limit": 16,
"rows": [
{
"id": "3106202549099693392",
"title": "Топографічна карта масштабу 1:500000 (M-36-В)",
"type": "dataset",
"resource_type": "dataset",
"level": "national",
"resource_level": "national",
"cdate": "2023-05-19 17:57:00.795283",
"topic_category": [
"imageryBaseMapsEarthCover"
],
"georesource_type": null,
"date_json": [
{
"metadata_date_id": "3154532722282596152",
"metadata_id": "3106202549099693392",
"event_type": "creation",
"metadata_date": "1978-01-01",
"validity_begins_start": null,
"validity_begins_finish": null,
"cdate": "2023-05-19T17:57:00.795283",
"uid": null,
"editor_id": null,
"editor_date": null
}
],
"role_data_json": [
{
"metadata_role_id": "3154046911627920647",
"metadata_id": "3106202549099693392",
"role_code": "custodian",
"account_id": "2424129509721638207",
"cdate": "2023-05-19T17:57:00.795283",
"uid": null,
"editor_id": null,
"editor_date": null,
"role_code_text": "Держатель (Суб'єкт, що приймає на себе зобов'язання підзвітності та відповідальності за ресурс і забезпечує належне підтримання та обслуговування)",
"account_id_text": "(39411771) Державна служба України з питань геодезії, картографії та кадастру"
}
],
"metadata_producer_id": "",
"uid": "Інформація відсутня",
"editor_id": "Інформація відсутня",
"resource_type_data": {
"id": "dataset",
"text": "Набір даних",
"icon": null,
"color": "#ff6b35"
},
"topic_category_text": [
{
"id": "imageryBaseMapsEarthCover",
"text": "Базові зображення поверхні Землі",
"icon": "assets/svg/imageryBaseMapsEarthCover.svg",
"color": "#AD957D"
}
],
"resource_level_data": {
"id": "national",
"text": "Загальнодержавний",
"icon": null,
"color": "#7ed321"
},
"level_data": {
"id": "national",
"text": "Загальнодержавний",
"icon": null,
"color": "#7ed321"
}
}
]
}7. Пошук метаданих за прямокутником (BBOX)
Метод: GET URL: /metadata/bbox/:bboxПрава доступу: L1
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
bbox | string | + | Координати BBOX (наприклад 30.0,50.0,31.0,51.0) |
Відповідь (200 OK)
json
{
"total": "3663",
"page": 1,
"offset": 0,
"limit": 16,
"rows": [
{
"id": "3106202549099693392",
"title": "Топографічна карта масштабу 1:500000 (M-36-В)",
"type": "dataset",
"resource_type": "dataset",
"level": "national",
"resource_level": "national",
"cdate": "2023-05-19 17:57:00.795283",
"topic_category": [
"imageryBaseMapsEarthCover"
],
"georesource_type": null,
"date_json": [
{
"metadata_date_id": "3154532722282596152",
"metadata_id": "3106202549099693392",
"event_type": "creation",
"metadata_date": "1978-01-01",
"validity_begins_start": null,
"validity_begins_finish": null,
"cdate": "2023-05-19T17:57:00.795283",
"uid": null,
"editor_id": null,
"editor_date": null
}
],
"role_data_json": [
{
"metadata_role_id": "3154046911627920647",
"metadata_id": "3106202549099693392",
"role_code": "custodian",
"account_id": "2424129509721638207",
"cdate": "2023-05-19T17:57:00.795283",
"uid": null,
"editor_id": null,
"editor_date": null,
"role_code_text": "Держатель (Суб'єкт, що приймає на себе зобов'язання підзвітності та відповідальності за ресурс і забезпечує належне підтримання та обслуговування)",
"account_id_text": "(39411771) Державна служба України з питань геодезії, картографії та кадастру"
}
],
"metadata_producer_id": "",
"uid": "Інформація відсутня",
"editor_id": "Інформація відсутня",
"resource_type_data": {
"id": "dataset",
"text": "Набір даних",
"icon": null,
"color": "#ff6b35"
},
"topic_category_text": [
{
"id": "imageryBaseMapsEarthCover",
"text": "Базові зображення поверхні Землі",
"icon": "assets/svg/imageryBaseMapsEarthCover.svg",
"color": "#AD957D"
}
],
"resource_level_data": {
"id": "national",
"text": "Загальнодержавний",
"icon": null,
"color": "#7ed321"
},
"level_data": {
"id": "national",
"text": "Загальнодержавний",
"icon": null,
"color": "#7ed321"
}
}
]
}8. Пошук метаданих за темою
Метод: GET URL: /metadata/theme/:themeПрава доступу: L1
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
theme | string | + | Категорія теми | imageryBaseMapsEarthCover |
Відповідь (200 OK)
json
{
"total": "36205",
"page": 1,
"offset": 0,
"limit": 16,
"rows": [
{
"id": "3196010552681825333",
"title": "Топографічний план масштабу 1:2000 м. Львова 2013 р.",
"type": "service",
"resource_type": "service",
"level": "local",
"resource_level": "local",
"cdate": "2023-09-20 15:03:02.859",
"topic_category": [
"imageryBaseMapsEarthCover"
],
"georesource_type": null,
"date_json": [
{
"metadata_date_id": "3796078252636767701",
"metadata_id": "3196010552681825333",
"event_type": "creation",
"metadata_date": "2013-03-01",
"validity_begins_start": null,
"validity_begins_finish": null,
"cdate": "2025-12-26T11:16:52.52778",
"uid": "2185647745228866670",
"editor_id": "2185647745228866670",
"editor_date": "2025-12-26T11:16:52.52778"
}
],
"role_data_json": [
{
"metadata_role_id": "3796078254364820961",
"metadata_id": "3196010552681825333",
"role_code": "custodian",
"account_id": "2424129509872633422",
"cdate": "2025-12-26T11:16:52.52778",
"uid": "2185647745228866670",
"editor_id": "2185647745228866670",
"editor_date": "2025-12-26T11:16:52.52778",
"role_code_text": "Держатель (Суб'єкт, що приймає на себе зобов'язання підзвітності та відповідальності за ресурс і забезпечує належне підтримання та обслуговування)",
"account_id_text": "(26256694) Департамент архітектури та просторового розвитку Львівської міської ради"
}
],
"metadata_producer_id": "",
"uid": "Інформація відсутня",
"editor_id": "Інформація відсутня",
"resource_type_data": {
"id": "service",
"text": "Сервіс",
"icon": null,
"color": "#4a90e2"
},
"topic_category_text": [
{
"id": "imageryBaseMapsEarthCover",
"text": "Базові зображення поверхні Землі",
"icon": "assets/svg/imageryBaseMapsEarthCover.svg",
"color": "#AD957D"
}
],
"resource_level_data": {
"id": "local",
"text": "Місцевий",
"icon": null,
"color": "#9013fe"
},
"level_data": {
"id": "local",
"text": "Місцевий",
"icon": null,
"color": "#9013fe"
}
}
]
}9. Пошук метаданих за текстовим запитом
Метод: GET URL: /metadata/searchtext/:searchПрава доступу: L1
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
search | string | + | Пошуковий запит | Савинці |
Відповідь (200 OK)
json
{
"total": "1",
"page": 1,
"offset": 0,
"limit": 16,
"rows": [
{
"id": "3527899427677144805",
"title": "Технічна документація із землеустрою щодо встановлення (відновлення) меж земельної ділянки в натурі (на місцевості) для будівництва та обслуговування будівель закладів освіти, кадастровий номер 6320255700:00:003:0496, в селищі Савинці, вул. Харківська 10-Б Ізюмського району Харківської області",
"type": "dataset",
"resource_type": "dataset",
"level": "local",
"resource_level": "local",
"cdate": "2024-12-21 12:53:26.084175",
"topic_category": [
"planningCadastre"
],
"georesource_type": null,
"date_json": [
{
"metadata_date_id": "3527899428071409438",
"metadata_id": "3527899427677144805",
"event_type": "inForce",
"metadata_date": "2024-10-15",
"validity_begins_start": null,
"validity_begins_finish": null,
"cdate": "2024-12-21T12:53:26.147784",
"uid": "3327953953873725184",
"editor_id": null,
"editor_date": "2024-12-21T12:53:26.147784"
}
],
"role_data_json": [
{
"metadata_role_id": "3527899428079798048",
"metadata_id": "3527899427677144805",
"role_code": "originator",
"account_id": "2430738002155144754",
"cdate": "2024-12-21T12:53:26.148024",
"uid": "3327953953873725184",
"editor_id": null,
"editor_date": "2024-12-21T12:53:26.148024",
"role_code_text": "Ініціатор (Суб'єкт, що створив ресурс)",
"account_id_text": "(24276764) ТОВ підприємство Астра"
}
],
"metadata_producer_id": "",
"uid": "Інформація відсутня",
"editor_id": "Інформація відсутня",
"resource_type_data": {
"id": "dataset",
"text": "Набір даних",
"icon": null,
"color": "#ff6b35"
},
"topic_category_text": [
{
"id": "planningCadastre",
"text": "Кадастр",
"icon": "assets/svg/planningCadastre.svg",
"color": "#7A56B8"
}
],
"resource_level_data": {
"id": "local",
"text": "Місцевий",
"icon": null,
"color": "#9013fe"
},
"level_data": {
"id": "local",
"text": "Місцевий",
"icon": null,
"color": "#9013fe"
}
}
]
}10. Пошук метаданих за КАТОТТГ з використанням токена інтеграції
Метод: GET URL: /metadata/community/:tokenПрава доступу: L0 (публічний)
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
token | string | + | API-ключ доступу |
Відповідь (200 OK)
json
{
"metadata": [
{
"metadata_id": "meta_005",
"title": "Публічна кадастрова карта",
"topic_category": "planningCadastre"
}
],
"gisMetadataDate": [
{
"metadata_date_id": "date_001",
"metadata_id": "meta_005",
"date": "2024-01-15"
}
],
"gisMetadataRole": [
{
"metadata_role_id": "role_001",
"metadata_id": "meta_005",
"role_code": "originator"
}
],
"gisMetadataDataset": [],
"gisMetadataService": [],
"gisMetadataAccount": [
{
"metadata_acc_id": "acc_789",
"katottg": "UA05100010000012345",
"account_name": "Головне управління Держгеокадастру"
}
]
}11. Створення нових метаданих з використанням токена інтеграції
Метод: POST URL: /metadata/community/:tokenПрава доступу: L0 (публічний)
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
token | string | + | API-ключ доступу |
Параметри (Body):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
metadata | array | + | Масив об'єктів метаданих |
gisMetadataDate | array | - | Дані про дати |
gisMetadataRole | array | - | Дані про ролі |
gisMetadataDataset | array | - | Дані про набори даних |
gisMetadataService | array | - | Дані про сервіси |
gisMetadataAccount | array | - | Дані про облікові записи |
Відповідь (200 OK)
json
{
"inserted": {
"metadata": 5,
"dates": 5,
"roles": 3,
"datasets": 2,
"services": 1,
"accounts": 1
}
}12. Перевірка статусу метаданих за КАТОТТГ (інтеграція)
Метод: GET URL: /metadata/community/status/:tokenПрава доступу: L0 (публічний)
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
token | string | + | API-ключ доступу |
Відповідь (200 OK)
json
{
"rows": [
{
"metadata_id": "meta_006",
"verif_status": "2"
},
{
"metadata_id": "meta_007",
"verif_status": "4"
}
]
}13. Експорт метаданих у вибраному форматі
Метод: GET URL: /metadata/exportПрава доступу: L1
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
id | string | + | Ідентифікатор метаданих |
format | string | + | Формат експорту (наприклад "xml") |
Відповідь (200 OK)
http
Content-Type: application/xml
Content-Disposition: attachment; filename="metadata_meta_001.xml"
Content-Length: 12345
<?xml version="1.0" encoding="UTF-8"?>
<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd">
<gmd:fileIdentifier>
<gco:CharacterString>meta_001</gco:CharacterString>
</gmd:fileIdentifier>
...
</gmd:MD_Metadata>14. Імпорт метаданих з файлу на сервері
Метод: POST URL: /metadata/import/:idПрава доступу: L1
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
id | string | - | Ідентифікатор метаданих для оновлення |
Параметри (Body):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
file_path | string | + | Шлях до XML-файлу на сервері |
Відповідь (200 OK)
json
{
"id": "meta_001"
}15. Імпорт метаданих безпосередньо з XML-вмісту (спеціальна інтеграція)
Метод: POST URL: /metadata/upload/:idОпис:
Права доступу: L1 (з перевіркою токена Kartfond)
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
id | string | - | Ідентифікатор метаданих для оновлення |
Заголовки (Headers):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
Content-Type | string | + | Має бути application/xml |
Authorization | string | + | Bearer токен (HMAC-SHA256) |
Тіло: XML-рядок (сирі дані)
Відповідь (200 OK)
json
{
"id": "meta_001"
}16. Пошук метаданих за текстом для відображення на карті
Метод: GET URL: /metadata/search/:searchПрава доступу: L1
Параметри (Params):
| Параметр | Тип | Обов'язковість | Опис | Приклад |
|---|---|---|---|---|
search | string | + | Пошуковий запит (назва АТО або заголовок) | Савинці |
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
parent | string | - | Фільтр за батьківським елементом |
nocache | string | - | Оновити кеш |
Відповідь (200 OK) - пошук за назвою АТО
json
{
"time": 1727,
"total": 7,
"atu": [
{
"codifier": "UA63040150010069203",
"text": "Савинці смт (Харківська область, Ізюмський район, Савинська територіальна громада), UA63040150010069203",
"name": "Савинці",
"region_id": "8870140625285068",
"area": 8.6,
"object_type": "T",
"parent": "18501076281831421",
"region": "Харківська область",
"district": "Ізюмський район",
"community": "Савинська територіальна громада",
"geom": {
"type": "MultiPolygon",
"coordinates": []
}
}
],
"service": []
}17. Отримання переліку шарів з метаданих для карти
Метод: GET URL: /metadata/layersПрава доступу: L1
Параметри (Query):
| Параметр | Тип | Обов'язковість | Опис |
|---|---|---|---|
limit | number | - | Ліміт записів |
page | number | - | Сторінка |
nocache | string | - | Оновити кеш (наприклад "1") |
Відповідь (200 OK)
json
{
"rows": [
{
"id": "3904893345033356508",
"metadata_id": "3454638800465037032",
"level": {
"id": "local",
"text": "Місцевий",
"icon": null,
"color": "#9013fe"
},
"standard_type": "2466973956763027077",
"category": {
"id": "imageryBaseMapsEarthCover",
"text": "Базові зображення поверхні Землі",
"icon": "assets/svg/imageryBaseMapsEarthCover.svg",
"color": "#AD957D"
},
"title": "Ортофотоплан Озера Гостомельська ТГ (дані ПРООН)",
"url": "https://nsdi.gov.ua/api-user/rtile/3454638800465037032/ua/{x}/{y}/{z}.png",
"cdate": "2026-05-25 14:33:03.153155",
"image": null,
"status_code": null,
"status_text": "Error",
"organization": "ДП НДІГК 24102001 24102001 24102001 24102001 24102001 24102001 24102001 24102001 24102001",
"geom": {
"type": "Polygon",
"coordinates": []
}
}
]
}Коди помилок
| Код | Назва | Опис |
|---|---|---|
| 400 | Bad Request | Некоректний запит (відсутні обов'язкові параметри, невірний Content-Type) |
| 401 | Unauthorized | Відсутній заголовок авторизації |
| 403 | Forbidden | Невірний токен або недостатньо прав |
| 404 | Not Found | Ресурс не знайдено (файл, метадані) |
| 422 | Unprocessable Entity | Помилка валідації схеми запиту |
Примітки
- L0 - публічний доступ без авторизації
- L1 - доступ для авторизованих користувачів
- admin - доступ тільки для адміністраторів
