Unless stated otherwise, this page refers to Ukrainian companies and individual entrepreneurs and uses identifiers from Ukrainian public registries.
This section describes requests used to work with integrated environmental permit cases, documents, installations, and hearings related to an enterprise.
IEP case list
GET /api/v1/enterprises/{registry_id}/integrated-permit-cases
This request returns integrated permit cases related to the enterprise.
The registry_id parameter in the request path is required. It is the enterprise identifier.
Example request
$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-cases" \
-H "Authorization: Bearer $ESG_API_TOKEN" \
-H 'Accept: application/json'
Example response
{
"results": {
"enterprise": { "type": "company", "registry_id": "00178353" },
"items": [
{
"id": 321,
"registry_id": "IEP-2026-001",
"status": "In progress",
"operator_name": "Example Operator LLC",
"industrial_site_name": "Main industrial site",
"industrial_site_address": "Kyiv region, Boryspil district",
"region": "Київська область",
"submitted_at": "2026-02-15",
"last_progress_at": "2026-02-20T10:15:00+02:00",
"documents_count": 5,
"installations_count": 2,
"hearings_count": 1,
"links": {
"details": "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-case-details/321",
"documents": "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-cases/321/documents",
"hearings": "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-cases/321/hearings"
}
}
],
"pagination": { "current_page": 1, "per_page": 20, "total": 1, "last_page": 1 }
},
"stats": { "..." }
}
IEP case details
GET /api/v1/enterprises/{registry_id}/integrated-permit-case-details/{case_id}
This request returns full data for a specific integrated permit case.
The registry_id and case_id parameters in the request path are required. registry_id is the enterprise identifier. case_id is the case identifier.
Example request
$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-case-details/321" \
-H "Authorization: Bearer $ESG_API_TOKEN" \
-H 'Accept: application/json'
Example response
{
"results": {
"enterprise": { "type": "company", "registry_id": "00178353" },
"object": {
"id": 321,
"registry_id": "IEP-2026-001",
"status": "In progress",
"operator_name": "Example Operator LLC",
"industrial_site_name": "Main industrial site",
"industrial_site_address": "Kyiv region, Boryspil district",
"region": "Київська область",
"submitted_at": "2026-02-15",
"last_progress_at": "2026-02-20T10:15:00+02:00",
"registry_created_at": "2026-02-15T09:00:00+02:00",
"registry_updated_at": "2026-02-20T10:15:00+02:00",
"registry_url": "https://eco.gov.ua/example-case",
"documents_count": 5,
"installations_count": 2,
"hearings_count": 1,
"progress": [],
"application_details": null,
"installations": [],
"hearings": [],
"links": {
"documents": "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-cases/321/documents",
"hearings": "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-cases/321/hearings"
}
}
},
"stats": { "..." }
}
Enterprise IEP documents
GET /api/v1/enterprises/{registry_id}/integrated-permit-documents
This request returns integrated permit documents related to the enterprise.
Example request
$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-documents" \
-H "Authorization: Bearer $ESG_API_TOKEN" \
-H 'Accept: application/json'
Example response
{
"results": {
"enterprise": { "type": "company", "registry_id": "00178353" },
"items": [
{
"id": 501,
"name": "Integrated permit application",
"format": "pdf",
"size": 314572,
"uploaded_at": "2026-02-15T09:05:00+02:00",
"section": "application",
"installation_title": "Boiler house No. 1",
"case": {
"id": 321,
"registry_id": "IEP-2026-001",
"industrial_site_name": "Main industrial site",
"region": "Київська область"
},
"links": {
"download": "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-documents/501/download"
}
}
],
"pagination": { "current_page": 1, "per_page": 20, "total": 5, "last_page": 1 }
},
"stats": { "..." }
}
Documents of an IEP case
GET /api/v1/enterprises/{registry_id}/integrated-permit-cases/{case_id}/documents
This request returns integrated permit documents for a specific case.
The registry_id and case_id parameters in the request path are required. registry_id is the enterprise identifier. case_id is the case identifier.
Example request
$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-cases/321/documents" \
-H "Authorization: Bearer $ESG_API_TOKEN" \
-H 'Accept: application/json'
Filters
installation_id: limit documents to a specific installation inside the case.
Example response
{
"results": {
"enterprise": { "type": "company", "registry_id": "00178353" },
"object": {
"id": 321,
"registry_id": "IEP-2026-001",
"industrial_site_name": "Main industrial site"
},
"items": []
},
"stats": { "..." }
}
Enterprise IEP hearings
GET /api/v1/enterprises/{registry_id}/integrated-permit-hearings
This request returns hearings related to integrated permit cases of the enterprise.
Example request
$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-hearings" \
-H "Authorization: Bearer $ESG_API_TOKEN" \
-H 'Accept: application/json'
Example response
{
"results": {
"enterprise": { "type": "company", "registry_id": "00178353" },
"items": [
{
"id": 9,
"title": "Public discussion",
"description": "Hearing about the integrated permit case",
"starts_at": "2026-03-01T12:00:00+02:00",
"ends_at": "2026-03-01T14:00:00+02:00",
"location": "offline",
"address": "м. Київ",
"external_url": "https://example.gov.ua/hearing/9",
"case": {
"id": 321,
"registry_id": "IEP-2026-001",
"industrial_site_name": "Main industrial site"
}
}
],
"pagination": { "current_page": 1, "per_page": 20, "total": 1, "last_page": 1 }
},
"stats": { "..." }
}
Hearings of an IEP case
GET /api/v1/enterprises/{registry_id}/integrated-permit-cases/{case_id}/hearings
This request returns hearings for a specific integrated permit case.
The registry_id and case_id parameters in the request path are required. registry_id is the enterprise identifier. case_id is the case identifier.
Example request
$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-cases/321/hearings" \
-H "Authorization: Bearer $ESG_API_TOKEN" \
-H 'Accept: application/json'
Example response
{
"results": {
"enterprise": { "type": "company", "registry_id": "00178353" },
"object": {
"id": 321,
"registry_id": "IEP-2026-001",
"industrial_site_name": "Main industrial site"
},
"items": []
},
"stats": { "..." }
}
IEP document download
GET /api/v1/enterprises/{registry_id}/integrated-permit-documents/{document_id}/download
This request returns an integrated permit document file for download.
The registry_id and document_id parameters in the request path are required. registry_id is the enterprise identifier. document_id is the document identifier.
Example request
$ ESG_API_TOKEN="your_api_token"
$ curl -L "https://esg.saveecobot.com/api/v1/enterprises/00178353/integrated-permit-documents/501/download" \
-H "Authorization: Bearer $ESG_API_TOKEN"