---
title: "List companies"
method: GET
path: "/v1/companies"
tags: ["Company"]
---

# List companies

`GET /v1/companies`

Returns the paginated list of companies the authenticated user belongs to
(for Cardda staff, all companies). This is the **non-company-scoped**
discovery endpoint — it does **not** require the `company-id` header, because
it is exactly how a client discovers which companies (and therefore which
`company-id` values) it may operate on.

Each item is augmented with the computed counters `n_users`, `n_cards`,
`n_virtual_cards` and `owner_id`. The financial `balance` method is added
only for Cardda staff.

Supports the standard list query parameters (`_start`, `_end`, `_order`,
`_field`) plus MongoDB-style filters passed as query params (e.g.
`identifier`, `name`, `verification_status`), where each value may be a plain
value or a JSON operator object such as `{"$in":["..."]}`.

## Query parameters

- `identifier` string
- `name` string
- `verification_status` 'pending' | 'awaiting_review' | 'approved' | 'rejected'

## Parameters

- `#/paths/~1v1~1users/get/parameters/1` — unresolved $ref
- `#/paths/~1v1~1users/get/parameters/2` — unresolved $ref
- `#/paths/~1v1~1users/get/parameters/3` — unresolved $ref
- `#/paths/~1v1~1users/get/parameters/4` — unresolved $ref

## Response `200`

Paginated list of companies. Includes the list metadata headers.

- Company[]
  - `id` string, uuid, required
  - `type` string — STI subclass. Always `Company` for this resource.
  - `identifier` string, required — Tax id (RUT in Chile) of the company. Digits plus verification digit.
  - `name` string, nullable
  - `fantasy_name` string, nullable
  - `country` string, nullable
  - `commercial_business` string, nullable
  - `commercial_type` integer, nullable
  - `address` string, nullable
  - `contact_phone` string, nullable
  - `contact_email` string, nullable
  - `constitution_date` string, date-time, nullable
  - `purpose_to_use_cards` string, nullable
  - `legal_address` object, nullable — Structured legal address (`street`, `number`, `municipality_id`, `complement`, `city`).
  - `economic_activities` object[], nullable
  - `interests` string[]
  - `notification_emails` string[]
  - `ruts` object, nullable — Additional RUTs associated with the company.
  - `referral_code` string
  - `referrer_id` string, uuid, nullable
  - `referral_approved` boolean, nullable
  - `collector_account_id` string, uuid, nullable
  - `preferred_currency` string
  - `verification_status` 'pending' | 'awaiting_review' | 'approved' | 'rejected' — KYC verification status.
  - `kyc_completed` boolean
  - `plh_enabled` boolean — Whether the company is enrolled in the PLH card program.
  - `contracts_verified` boolean
  - `activated` boolean
  - `active` boolean
  - `can_delegate_payables` boolean
  - `n_users` integer — Number of member users (computed method).
  - `n_cards` integer — Number of cards (computed method).
  - `n_virtual_cards` integer — Number of virtual cards (computed method).
  - `owner_id` string, uuid, nullable — User id of the owner membership (present on the index listing).
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.dev/cardda/apis/banking-api.md) · [All operations](https://skmtc.dev/cardda/apis/banking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cardda/banking-api/revisions/ff1aeb3fda8b/schema)
