---
title: "List company projects"
method: GET
path: "/v1/projects"
tags: ["Projects"]
---

# List company projects

`GET /v1/projects`

## Request

- Base URL: `https://gateway.remote.com`
- URL: `https://gateway.remote.com/v1/projects`
- 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: `project: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: `project: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 a company's contractor projects.

## 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 projects (`projects`) | View projects (`project:read`) | Manage projects (`project:write`) |
| Company-scoped access token (assertion) | Manage projects (`projects`) | View projects (`project:read`) | Manage projects (`project:write`) |
| Customer API token | Manage projects (`projects`) | View projects (`project:read`) | Manage projects (`project:write`) |

## Query parameters

- `status` 'active' | 'archived' | 'completed'
- `page` integer
- `page_size` integer

## Response `200`

Success

- ListProjectsResponse: Paginated response schema listing company projects.
  - `data` object
    - `current_page` integer: The current page among all of the total_pages
    - `projects` Project[]
      - `budget` object, nullable, required: A project's budget: amount and its currency.
        - `amount` integer, required: Budget amount, in cents.
        - `currency` string, required: Currency code in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format.
      - `code` string, required: Code/identifier of the project.
      - `description` string, nullable: Description of the project.
      - `end_date` string, date, nullable: Date when the project ends.
      - `id` string, uuid, required: Project identifier.
      - `lead_ids` UuidSlug[], required: User IDs of the company admins assigned as the project's leads. These are user IDs, unlike `team_member_ids`, which are employment IDs.
      - `name` string, required: Name of the project.
      - `start_date` string, date, nullable: Date when the project starts.
      - `status` 'active' | 'archived' | 'completed', required
      - `team_member_ids` UuidSlug[], required: Employment IDs of the contractors assigned to the project as team members. These are employment IDs, unlike `lead_ids`, which are user IDs.
    - `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
- `422`: Unprocessable Entity

---

[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)
