Projects

Update a company project

Updates a single contractor project by its ID.

Omitted fields are left unchanged. lead_ids and team_member_ids are replaced wholesale when present, so send the complete desired list rather than only the additions, and send an empty list to remove everyone. Read the project first to get its current membership.

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.
  • 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.
  • Customer API token (CustomerAPIToken) — generated by the customer on their Integration Settings page, with the scopes they choose there. See Authorization for customers.

Scopes

Any one of the scopes in a token type's row is enough. all:write works too.

Token typeCategoryRead only ScopeWrite only Scope (read access implicit)
Company-scoped access tokenManage projects (projects)-Manage projects (project:write)
Company-scoped access token (assertion)Manage projects (projects)-Manage projects (project:write)
Customer API tokenManage projects (projects)-Manage projects (project:write)
patch/v1/projects/{id}

Request

  • Base URL
    https://gateway.remote.com
  • URL
    https://gateway.remote.com/v1/projects/{id}
  • Auth
    • OAuth 2
      Authorization code: /auth/oauth2/authorize
      Token URL: /auth/oauth2/token scopes: https://gateway.remote.com/company.manage
    • or OAuth 2
      Authorization code: /auth/oauth2/authorize
      Token URL: /auth/oauth2/token scopes: project:write
    • or OAuth 2
      Authorization code: /auth/oauth2/authorize
      Token URL: /auth/oauth2/token scopes: all:write
    • or OAuth 2
      Client credentials
      Token URL: /auth/oauth2/token scopes: project:write
    • or OAuth 2
      Client credentials
      Token URL: /auth/oauth2/token scopes: all:write
    • or HTTP bearer

Path parameters

idstring uuid required

A unique identifier in UUID v4 format.

Example:663e0b79-c893-45ff-a1b2-f6dcabc098b5

Project identifier

Request body

descriptionstring nullable

Description of the project.

end_datestring date nullable

Date when the project ends.

lead_idsUuidSlug[]

User IDs of the company admins to assign as the project's leads, replacing the current set. These are user IDs, unlike team_member_ids, which are employment IDs.

namestring

Name of the project.

start_datestring date nullable

Date when the project starts.

status'active' | 'archived' | 'completed'
team_member_idsUuidSlug[]

Employment IDs of the contractors to assign as the project's team members, replacing the current set. These are employment IDs, unlike lead_ids, which are user IDs. Each must be an active contractor of the project's company.

Example request

{
  "lead_ids": [
    "663e0b79-c893-45ff-a1b2-f6dcabc098b5"
  ],
  "name": "Website redesign",
  "status": "active",
  "team_member_ids": [
    "663e0b79-c893-45ff-a1b2-f6dcabc098b5"
  ]
}

Response

Success

Example response

{
  "data": {
    "project": {
      "budget": {
        "amount": 250000,
        "currency": "USD"
      },
      "code": "WEB-001",
      "description": "Redesign the company website",
      "end_date": null,
      "id": "663e0b79-c893-45ff-a1b2-f6dcabc098b5",
      "lead_ids": [
        "663e0b79-c893-45ff-a1b2-f6dcabc098b5"
      ],
      "name": "Website redesign",
      "start_date": "2026-01-01",
      "status": "active",
      "team_member_ids": [
        "663e0b79-c893-45ff-a1b2-f6dcabc098b5"
      ]
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.