---
title: "List Contractor Invoice Schedules"
method: GET
path: "/v1/contractor-invoice-schedules"
tags: ["Invoice Schedules"]
---

# List Contractor Invoice Schedules

`GET /v1/contractor-invoice-schedules`

## Request

- Base URL: `https://gateway.remote.com`
- URL: `https://gateway.remote.com/v1/contractor-invoice-schedules`
- 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: `invoices:write`
  - 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: `invoices:write`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token` scopes: `all:write`
  - HTTP bearer

Lists Contractor Invoice Schedule records.

## 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:write` works too.

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

## Query parameters

- `start_date_from` string, date: UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
- `start_date_to` string, date: UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
- `next_invoice_date_from` string, date: UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
- `next_invoice_date_to` string, date: UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
- `status` 'inactive' | 'completed' | 'active' | 'processing' | 'pending_company_action' | 'pending_contractor_action' | 'generation_failed_unrelated_to_withdrawal_method': Status to filter contractor invoice schedules by. Skipped schedules (`deleted`) are always excluded from listings, so `deleted` is not a valid filter value here — see `ContractorInvoiceScheduleStatus` for the full set of states a schedule can report. - `active`: Once an invoice is generated, and a withdrawal method has been set, then it's set to active. - `processing`: Ephemeral status indicating that we are currently attempting to generate a contractor invoice from the scheduled contractor invoice. - `pending_company_action`: Company needs to trigger some actions related to payment configuration. - `pending_contractor_action`: When schedule is blocked by contractor onboarding or invoice generation failed due to withdrawal methods issues that needs contractor action. - `generation_failed_unrelated_to_withdrawal_method`: Generation failed for any other reason. - `completed`: Number of generated contractor invoices has been reached. - `inactive`: Does not create any further contractor invoices but it's still possible for the employer to activate it again.
- `employment_id` string, uuid: A unique identifier in UUID v4 format.
- `periodicity` 'bi_weekly' | 'monthly' | 'semi_monthly' | 'weekly': Defines how often contractor invoices will be generated. - `bi_weekly`: Invoices will be generated every other week, on the given day of the week based on the start date. - `monthly`: Invoices will be generated once a month. - `semi_monthly`: Invoices will be generated at fixed dates twice a month (with 14 days of difference between each other), depending on the start date. In months with just 30 days, if `start_date` is set to the 31st day, then generation occurs in the last of day of the month. - `weekly`: Invoices will be generated each week.
- `currency` string
- `sort_by` 'number' | 'total_amount' | 'next_invoice_at' | 'start_date' | 'nr_occurrences'
- `order` 'asc' | 'desc'
- `page` integer
- `page_size` integer

## Response `200`

Success

- ListContractorInvoiceSchedulesResponse: Paginated response schema listing all Contractor Invoice Schedules.
  - `data` object
    - `contractor_invoice_schedules` ContractorInvoiceSchedule[]
      - `currency` string, required: Currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format.
      - `custom_days` integer[], nullable: The two calendar days of the month on which invoices are generated. Only applies when `periodicity` is `semi_monthly`; must be omitted (or `null`) for every other periodicity. When omitted for a `semi_monthly` schedule, the two days are derived from `start_date`: the start day and the day 14 days apart from it. Supply this field only to pick a cycle other than that default. One of the two days must be the day of `start_date`, the days must be distinct, and they cannot resolve to the same day within a month.
      - `employment_id` string, uuid, required: Employment identifier.
      - `id` string, uuid, required: Schedule identifier.
      - `items` ContractorInvoiceScheduleItem[], required: List of invoice items that composes the overall invoice amount.
        - `amount` integer, required: Amount, in cents.
        - `description` string, required: Describes invoice item intent.
      - `next_invoice_at` string, datetime, nullable: Date time which next invoice will be generated.
      - `note` string, nullable: Custom defined note.
      - `nr_occurrences` integer, nullable: Count of remaining invoices that should be generated.
      - `number` string, nullable: Invoice identifier.
      - `periodicity` 'bi_weekly' | 'monthly' | 'semi_monthly' | 'weekly', required: Defines how often contractor invoices will be generated. - `bi_weekly`: Invoices will be generated every other week, on the given day of the week based on the start date. - `monthly`: Invoices will be generated once a month. - `semi_monthly`: Invoices will be generated at fixed dates twice a month (with 14 days of difference between each other), depending on the start date. In months with just 30 days, if `start_date` is set to the 31st day, then generation occurs in the last of day of the month. - `weekly`: Invoices will be generated each week.
      - `start_date` string, date, required: Date which invoices generation will start.
      - `status` 'inactive' | 'deleted' | 'completed' | 'active' | 'processing' | 'pending_company_action' | 'pending_contractor_action' | 'generation_failed_unrelated_to_withdrawal_method', required: Current record state. - `active`: Once an invoice is generated, and a withdrawal method has been set, then it's set to active. - `processing`: Ephemeral status indicating that we are currently attempting to generate a contractor invoice from the scheduled contractor invoice. - `pending_company_action`: Company needs to trigger some actions related to payment configuration. - `pending_contractor_action`: When schedule is blocked by contractor onboarding or invoice generation failed due to withdrawal methods issues that needs contractor action. - `generation_failed_unrelated_to_withdrawal_method`: Generation failed for any other reason. - `completed`: Number of generated contractor invoices has been reached. - `inactive`: Does not create any further contractor invoices but it's still possible for the employer to activate it again. - `deleted`: The schedule was cancelled and will not generate any further contractor invoices.
      - `total_amount` integer, required: Overall amount that is calculated by summing all invoice items.
    - `current_page` integer: The current page among all of the total_pages
    - `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

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

---

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