---
title: "List cost center allocations for a company"
method: GET
path: "/v1/company/{company_id}/cost-center-allocations"
tags: ["Cost Center Allocations"]
---

# List cost center allocations for a company

`GET /v1/company/{company_id}/cost-center-allocations`

## Request

- Base URL: `https://gateway.remote.com`
- URL: `https://gateway.remote.com/v1/company/{company_id}/cost-center-allocations`
- Auth: one of:
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `https://gateway.remote.com/company.manage`
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `employment:read`
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `all:read`
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `all:write`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token` scopes: `employment:read`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token` scopes: `all:read`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token` scopes: `all:write`
  - HTTP bearer

Lists all employments under a company with their cost center allocations, grouped by employment.
Each entry includes the employment's legal entity IDs and the list of cost center allocations
assigned to it, with each allocation's cost center, allocated percentage, and effective period.
Employments with no cost center allocations are included with an empty list.

Use the `status` query parameter to return only `active`, `scheduled`, or `expired` allocations.
When omitted, all allocations are returned.

## Authentication

This endpoint accepts any one of the following token types:

- **Company-scoped access token** (`OAuth2AuthorizationCode`) — obtained by a company manager through the Authorization Code flow or the Refresh Token flow. See [Authentication for partners](https://developer.remote.com/docs/authentication-for-partners).
- **Company-scoped access token (assertion)** (`OAuth2CompanyManagerAssertion`) — obtained through the `urn:ietf:params:oauth:grant-type:jwt-bearer` grant for a company manager. See [OAuth Assertion](https://developer.remote.com/docs/authorization-method-oauth-assertion).
- **Customer API token** (`CustomerAPIToken`) — generated by the customer on their Integration Settings page, with the scopes they choose there. See [Authorization for customers](https://developer.remote.com/docs/authorization-for-customers).

## Scopes

Any one of the scopes in a token type's row is enough. `all:read` and `all:write` work too.

| Token type | Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|---|
| Company-scoped access token | Manage employments (`employments`) | View employments (`employment:read`) | Manage employments (`employment:write`) |
| Company-scoped access token (assertion) | Manage employments (`employments`) | View employments (`employment:read`) | Manage employments (`employment:write`) |
| Customer API token | Manage employments (`employments`) | View employments (`employment:read`) | Manage employments (`employment:write`) |

## Path parameters

- `company_id` string, required

## Query parameters

- `status` 'active' | 'scheduled' | 'expired'
- `page` integer
- `page_size` integer

## Response `200`

Success

- ListCompanyCostCenterAllocationsResponse: Response schema listing many employments
  - `data` object
    - `current_page` integer: The current page among all of the total_pages
    - `employments` EmploymentWithCostCenterAllocations[]
      - `bill_to_legal_entity_id` string, nullable: Unique identifier of the legal entity this employment is billed to.
      - `cost_center_allocations` CostCenterAllocation[], required: The cost center allocations for this employment.
        - `cost_center` CostCenter, required: The cost center an employment is allocated to.
          - `code` string, nullable, required: Cost center code. Typically used as the join key to an external general ledger.
          - `name` string, required: Cost center name.
          - `slug` string, required: Unique identifier of the cost center.
        - `effective_from` string, date, nullable, required: Date the allocation becomes effective.
        - `effective_to` string, date, nullable, required: Date the allocation stops being effective.
        - `id` string, uuid, required: Unique identifier of the cost center allocation.
        - `percentage` number, float, required: Percentage of the employment's cost allocated to this cost center (0-100).
        - `status` 'active' | 'scheduled' | 'expired', required: Allocation status, derived from the effective period.
      - `employment_id` string, required: Unique identifier of the employment.
      - `engaged_by_legal_entity_id` string, nullable: Unique identifier of the legal entity that employs this employment.
    - `total_count` integer: The total number of records in the result
    - `total_pages` integer: The total number of pages the user can go through

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `422`: Unprocessable Entity
- `429`: Unprocessable Entity

---

[API](https://skmtc.dev/remote-com/apis/employments.md) - [All operations](https://skmtc.dev/remote-com/apis/employments/llms.txt) - [OpenAPI document](https://skmtc.dev/remote-com/apis/employments/revisions/da61f6ebc73a?raw)
