All sections

Enterprise obligations

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 enterprise obligations, including agricultural receipts and similar records, together with related files and land plots.

Obligation list

GET /api/v1/enterprises/{registry_id}/obligations/{domain}

This request returns enterprise obligations within a single domain. The response includes the main obligation attributes, status, key dates, amount, related files, and related land plots.

The registry_id and domain parameters in the request path are required. registry_id is the enterprise identifier.

Available domain values can be retrieved from the Data domains request.

Example request

$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligations/agro?obligation_type_id=1" \
  -H "Authorization: Bearer $ESG_API_TOKEN" \
  -H 'Accept: application/json'

Example response

{
  "results": {
    "enterprise": { "type": "company", "registry_id": "14020012" },
    "domain": { "slug": "agro", "label": "Агросектор" },
    "items": [
      {
        "id": 599,
        "type_id": 1,
        "type_name": "Аграрна розписка",
        "registry_id": "300",
        "authority_name": "Мінагрополітики",
        "name": "Товарна аграрна розписка №300",
        "description_lines": ["Забезпечена майбутнім урожаєм"],
        "status": "чинна",
        "date": "2024-03-10",
        "deadline": "2025-03-10",
        "registered_at": "2024-03-10",
        "price": 1250000.00,
        "address": "Сумська область",
        "files_count": 2,
        "land_plots_count": 232,
        "links": {
          "details": "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligation-details/599",
          "files": "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligation-files/599",
          "land_plots": "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligation-land-plots/599"
        },
        "coordinates": null
      }
    ]
  },
  "stats": { "..." }
}

Pagination parameters

  • page: page number.

Filters

  • obligation_type_id: obligation type identifier. Available values can be retrieved from the Obligation types request.

Response fields

results.items[]

  • id: obligation identifier.
  • type_id: obligation type identifier.
  • type_name: obligation type name.
  • registry_id: registration number, if available.
  • authority_name: authority or source of the record.
  • name: record name.
  • description_lines[]: short description split into lines.
  • status: obligation status.
  • date: main record date.
  • deadline: execution or settlement deadline.
  • registered_at: registration date.
  • price: amount or value, if available.
  • address: object address.
  • files_count: number of related files.
  • land_plots_count: number of related land plots.
  • links.details: link to obligation details.
  • links.files: link to the separate file list.
  • links.land_plots: link to the related land plot list.
  • coordinates: address coordinates, if allowed for the API key.
  • coordinates.latitude: latitude.
  • coordinates.longitude: longitude.

Obligation details

GET /api/v1/enterprises/{registry_id}/obligation-details/{obligation_id}

This request returns full data for a specific obligation. The response contains the same fields as the obligation list, plus a links block for navigating to related files and land plots.

The registry_id and obligation_id parameters in the request path are required. registry_id is the enterprise identifier. obligation_id is the obligation identifier.

Example request

$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligation-details/599" \
  -H "Authorization: Bearer $ESG_API_TOKEN" \
  -H 'Accept: application/json'

Example response

{
  "results": {
    "enterprise": { "type": "company", "registry_id": "14020012" },
    "object": {
      "id": 599,
      "type_id": 1,
      "type_name": "Аграрна розписка",
      "registry_id": "300",
      "authority_name": "Мінагрополітики",
      "name": "Товарна аграрна розписка №300",
      "description_lines": ["Забезпечена майбутнім урожаєм"],
      "status": "чинна",
      "date": "2024-03-10",
      "deadline": "2025-03-10",
      "registered_at": "2024-03-10T00:00:00+00:00",
      "price": 1250000.00,
      "address": "Сумська область",
      "files_count": 2,
      "land_plots_count": 232,
      "coordinates": null,
      "links": {
        "files": "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligation-files/599",
        "land_plots": "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligation-land-plots/599"
      }
    }
  },
  "stats": { "..." }
}

Response fields

results.object

The object fields are the same as in results.items[] in the obligation list.

results.object.links

  • files: link to the separate obligation files list, if files exist.
  • land_plots: link to the related land plots list, if present.

Obligation files

GET /api/v1/enterprises/{registry_id}/obligation-files/{obligation_id}

This request returns files for a specific obligation. Along with the file list, the response also returns an object block with short information about the obligation itself.

The registry_id and obligation_id parameters in the request path are required. registry_id is the enterprise identifier. obligation_id is the obligation identifier.

Example request

$ ESG_API_TOKEN="your_api_token"
$ curl "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligation-files/599" \
  -H "Authorization: Bearer $ESG_API_TOKEN" \
  -H 'Accept: application/json'

Example response

{
  "results": {
    "enterprise": { "type": "company", "registry_id": "14020012" },
    "object": {
      "type": "obligation",
      "id": 599,
      "registry_id": "300",
      "type_id": 1,
      "type_name": "Аграрна розписка",
      "name": "Товарна аграрна розписка №300"
    },
    "items": [
      {
        "id": 1,
        "type_id": 1,
        "type_name": "Акт",
        "name": "obligation.pdf",
        "format": "application/pdf",
        "size": 65021,
        "uploaded_at": "2024-03-10T12:00:00+00:00",
        "downloaded_at": "2024-03-11T09:00:00+00:00",
        "links": {
          "download": "https://esg.saveecobot.com/api/v1/enterprises/14020012/obligation-files/599/download/1"
        }
      }
    ]
  },
  "stats": { "..." }
}

Response fields

results.object

  • type: object type. For this request, the value is obligation.
  • id: obligation identifier.
  • registry_id: obligation registration number.
  • type_id: obligation type identifier.
  • type_name: obligation type name.
  • name: record name.

results.items[]

  • id: obligation file identifier.
  • type_id: file type identifier.
  • type_name: file type name.
  • name: file name.
  • format: file format.
  • size: file size in bytes.
  • uploaded_at: date when the file was uploaded or published in the source.
  • downloaded_at: date when the file was downloaded into ESG SaveEcoBot.
  • links.download: file download link.

Obligation file download

GET /api/v1/enterprises/{registry_id}/obligation-files/{obligation_id}/download/{file_id}

This request returns the binary obligation file for download.

The registry_id, obligation_id, and file_id parameters in the request path are required. registry_id is the enterprise identifier. obligation_id is the obligation identifier. file_id is the obligation file identifier.

Example request

$ ESG_API_TOKEN="your_api_token"
$ curl -L "https://esg.saveecobot.com/api/v1/enterprises/00178353/obligation-files/88/download/1" \
  -H "Authorization: Bearer $ESG_API_TOKEN"

Participate in testing the ESG company profile
in the SaveEcoBot system in Ukraine

Make your ESG analysis flawless!