Skip to content

List legal entities

The entities.list operation: GET /api/v1/entities in the REST API and the entities_list tool in the MCP server.

GET/api/v1/entities

Lists the organization's legal entities, newest first. An organization-level request sees every entity; a request inside one entity (an entity-scoped member, or an entity API key) sees only that entity. Paginate with limit (1–100, default 10) and starting_after (the next_cursor of the previous page).

At a glance

  • REST: GET /api/v1/entities
  • MCP tool: entities_list
  • Operation ID: entities.list
  • Scope: Organization, or one of its legal entities or brands
  • Permission: entities:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Pagination: limit (at most 100) and starting_after
  • Authentication: API key with the entities:read scope
  • Since: M1

Request

Query parameters

FieldTypeRequiredDescription
limitinteger (1 to 100)No
starting_afterent_… IDNo

Response

200 OK with a JSON object, a page of the list (newest first):

FieldTypeDescription
object"list"
dataarray of object
data[].ident_… ID
data[].object"legal_entity"
data[].orgIdorg_… ID
data[].slugstring
data[].legalNamestring
data[].tradingNamestring or null
data[].establishmentobject
data[].establishment.countrystring
data[].establishment.subdivisionstring or null
data[].establishment.addressobject
data[].establishment.address.line1string
data[].establishment.address.line2string or null
data[].establishment.address.citystring
data[].establishment.address.postalCodestring or null
data[].establishment.address.regionstring or null
data[].establishment.address.countrystring
data[].establishment.companyRegistryIdstring
data[].establishment.euVatEstablishedboolean
data[].homeTaxIdobject
data[].homeTaxId.typestring
data[].homeTaxId.valuestring
data[].verificationobject
data[].verification.statusone of unverified, pending_review, verified, rejected
data[].verification.methodone of vies, hmrc, ch_uid, document
data[].verification.checkedAtdate-time or null
data[].defaultCurrencystring
data[].timezonestring
data[].invoiceSettingsobject
data[].invoiceSettings.numberFormatstring
data[].invoiceSettings.sequenceResetYearlyboolean
data[].invoiceSettings.languagestring
data[].invoiceSettings.bilingualstring or null
data[].invoiceSettings.footerTextstring or null
data[].invoiceSettings.bankTransferobject or null
data[].statusone of onboarding, active, suspended, archived
data[].createdAtdate-time
data[].updatedAtdate-time
has_moreboolean
next_cursorent_… ID or null

Examples

The first page

HTTP
GET /api/v1/entities?limit=10
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "ent_01m4tx5nj8emwbyf7y9vcf47x2",
      "object": "legal_entity",
      "orgId": "org_01m4tx5nj7ekd958x53w4bntcg",
      "slug": "acme-hr",
      "legalName": "Acme Digital d.o.o.",
      "tradingName": null,
      "establishment": {
        "country": "HR",
        "subdivision": null,
        "address": {
          "line1": "Ilica 1",
          "line2": null,
          "city": "Zagreb",
          "postalCode": "10000",
          "region": null,
          "country": "HR"
        },
        "companyRegistryId": "080000000",
        "euVatEstablished": true
      },
      "homeTaxId": {
        "type": "eu_vat",
        "value": "HR12345678901"
      },
      "verification": {
        "status": "unverified",
        "method": "vies",
        "checkedAt": null
      },
      "defaultCurrency": "EUR",
      "timezone": "Europe/Zagreb",
      "invoiceSettings": {
        "numberFormat": "{series}-{year}-{seq:06}",
        "sequenceResetYearly": true,
        "language": "en",
        "bilingual": null,
        "footerText": null,
        "bankTransfer": null
      },
      "status": "onboarding",
      "createdAt": "2026-10-13T12:00:00.000Z",
      "updatedAt": "2026-10-13T12:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

One per page

HTTP
GET /api/v1/entities?limit=1
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "ent_01m4tx5nj8emwbyf7y9vcf47x3",
      "object": "legal_entity",
      "orgId": "org_01m4tx5nj7ekd958x53w4bntcg",
      "slug": "acme-de",
      "legalName": "Acme GmbH",
      "tradingName": null,
      "establishment": {
        "country": "HR",
        "subdivision": null,
        "address": {
          "line1": "Ilica 1",
          "line2": null,
          "city": "Zagreb",
          "postalCode": "10000",
          "region": null,
          "country": "HR"
        },
        "companyRegistryId": "080000000",
        "euVatEstablished": true
      },
      "homeTaxId": {
        "type": "eu_vat",
        "value": "HR12345678901"
      },
      "verification": {
        "status": "unverified",
        "method": "vies",
        "checkedAt": null
      },
      "defaultCurrency": "EUR",
      "timezone": "Europe/Zagreb",
      "invoiceSettings": {
        "numberFormat": "{series}-{year}-{seq:06}",
        "sequenceResetYearly": true,
        "language": "en",
        "bilingual": null,
        "footerText": null,
        "bankTransfer": null
      },
      "status": "onboarding",
      "createdAt": "2026-10-13T12:00:00.000Z",
      "updatedAt": "2026-10-13T12:00:00.000Z"
    }
  ],
  "has_more": true,
  "next_cursor": "ent_01m4tx5nj8emwbyf7y9vcf47x3"
}

Errors

CodeHTTP statusWhenWhat to do
validation_failed400limit or starting_after is malformed.Fix the fields listed in details.issues and send the request again.
permission_denied403You can't see legal entities here.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, resource_not_found, dry_run_not_supported, rate_limited, internal_error.