---
title: "List Employment Contract."
method: GET
path: "/v1/employment-contracts"
tags: ["Employment Contracts"]
---

# List Employment Contract.

`GET /v1/employment-contracts`

## Request

- Base URL: `https://gateway.remote.com`
- URL: `https://gateway.remote.com/v1/employment-contracts`
- 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: `contract: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: `contract: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

Get the employment contract history for a given employment. If `only_active` is true, it will return only the active or last active contract.

## 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 contracts (`contract:read`) | - |
| Company-scoped access token (assertion) | Manage employments (`employments`) | View contracts (`contract:read`) | - |
| Customer API token | Manage employments (`employments`) | View contracts (`contract:read`) | - |

## Query parameters

- `employment_id` string, required
- `only_active` boolean

## Headers

- `Authorization` string, required

## Response `200`

Success

- ListEmploymentContractResponse
  - `data` object, required
    - `employment_contracts` EmploymentContract[], required
      - `activated_at` string, date-time, required: UTC date time in [ISO 8601][] format. [ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601
      - `amendment_contract_id` string, nullable, required: The id of the employment contract that was amended by this employment contract, if any.
      - `compensation` Compensation, required
        - `amount` integer, nullable, required: The compensation amount in cents. Null if compensation is not yet set.
        - `currency_code` string, nullable, required: The ISO 4217 currency code for the compensation. Null if not yet set.
        - `wage_type` 'hourly' | 'salary', nullable, required: Whether the employee is paid hourly or on a salary basis. Null if not yet set.
      - `contract_details` object, required: Contract information. Its properties may vary depending on the country.
      - `contract_id` string, required: The unique identifier (UUID) of this contract.
      - `country` Country, required: A supported country on Remote
        - `alpha_2_code` string, required: The ISO 3166-1 alpha-2 country code (e.g., "PT").
        - `code` string, required: The ISO 3166-1 alpha-3 country code (e.g., "PRT"). This is the primary code used across the Remote API.
        - `contractor_products_available` string[]: Contractor product names available for this country
        - `country_subdivisions` CountrySubdivision[], nullable: Administrative subdivisions of the country (e.g., states, provinces, districts). Null if the country has no subdivisions relevant to Remote's services.
          - `code` string: The ISO 3166-2 subdivision code (e.g., "PT-11" for Lisboa).
          - `name` string, required: The subdivision's name (e.g., "Lisboa", "California").
          - `subdivision_type` string: The type of subdivision (e.g., "District", "State", "Province").
        - `employment_agreement_preview_available` boolean: Whether an Employment Agreement preview is available for this country.
        - `eor_onboarding` boolean: Whether EOR (Employer of Record) onboarding is available in this country.
        - `global_payroll_supported` boolean: Whether Global Payroll employments can be onboarded in this country. When true, the "global_payroll_administrative_details", "global_payroll_contract_details" and "global_payroll_personal_details" forms are available from the Show form schema endpoint.
        - `locked_benefits` string: When benefit plan selections become locked for this country (e.g., "after_first_hire" means benefits cannot be changed after the first employee is hired).
        - `name` string, required: The country's full English name.
        - `region` string: The geographic region the country belongs to (e.g., "Europe", "Asia", "Americas").
        - `subregion` string, nullable: The geographic subregion (e.g., "Southern Europe", "Southeast Asia"). Null for some countries.
        - `supported_json_schemas` string[]: The list of JSON schema form names available for this country (e.g., "address_details", "contract_details", "global_payroll_contract_details"). Use these with the Show form schema endpoint to get country-specific field requirements.
      - `effective_at` string, date-time, required: UTC date time in [ISO 8601][] format. [ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601
      - `job_title` string, required: The job title as specified in this contract.
      - `status` 'active' | 'inactive' | 'pending', required: The status of the employment contract.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity

---

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