Remote

Global HR and payroll for remote teams

developer.remote.com ↗
Version
0.1.0
OpenAPI
3.0.0
Endpoints
83
Schemas
202
Updated
3 days ago
Hr hr payroll remote-work
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://gateway.remote.com
https://gateway.remote-sandbox.com

Authentication

oauth2

Endpoints

Clear filters

Companies 1 endpoints

PUT /v1/companies/{company_id}

Given an ID and a request object with new information, updates a company. ### Getting a company and its owner to `active` status If you created a company using the [create a company endpoint](https://gateway.remote.com/v1/docs/openapi.html) without all the required request body parameters, you can use this endpoint to provide the missing data. Once the company and its owner have all the necessary data, both their statuses will be set to `active` and the company onboarding will be marked as "completed". The following constitutes a company with "all the necessary data": * Complete `address`, with valid `address`, `postal_code`, `country` and `state` parameters (Varies by country. Use the [show form schema endpoint](https://gateway.remote.com/v1/docs/openapi.html) to see which address parameters are required). * Company `tax_number` or `registration_number` is not nil * Company `name` is not nil (already required when creating the company) * Company has a `desired_currency` in their bank account (already required when creating the company) * Company has accepted terms of service (already required when creating the company)

operationId: Companies_updateCompany

Parameters

Name In Required Type Description
company_id path required string Company ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UpdateCompanyParams"
      }
    }
  },
  "required": false,
  "description": "Update Company params"
}

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
422 Unprocessable Entity
429 Too many requests
PUT /v1/companies/{company_id}

Employments 1 endpoints

PUT /v1/employments/{employment_id}

Updates an employment. **For `created` employments:** You can change all basic params and onboarding tasks or perform a per onboarding task update. You can also update basic_information. **For `active` employments:** You can update the manager (`manager_id` field), emergency_contact_details and address_details. This endpoint requires and returns country-specific data. The exact required and returned fields will vary depending on which country the employment is in. To see the list of parameters for each country, see the **Show form schema** endpoint under the [Countries](https://gateway.remote.com/v1/docs/openapi.html) category. Please note that the compliance requirements for each country are subject to change according to local laws. Given its continual updates, using Remote's [json-schema-form](https://remote.com/resources/api/how-json-schemas-work) should be considered in order to avoid compliance issues and to have the latest version of a country requirements. If you are using this endpoint to build an integration, make sure you are dynamically collecting or displaying the latest parameters for each country by querying the _"Show form schema"_ endpoint. For more information on JSON Schemas, see the **How JSON Schemas work** documentation. To learn how you can dynamically generate forms to display in your UI, see the documentation for the [json-schema-form](https://remote.com/resources/api/how-json-schemas-work) tool. #### Automatically inviting an employee When you submit the `contract_details` and `pricing_plan_details`, Remote should have all the required data to automatically send an invite to the employee. You can tell if an automatic invite has been sent by looking at the `employment_lifecycle_stage` field value. If its value is `employee_self_enrollment`, it means the employee has received an email to join the Remote platform at their `personal_email`. After an automatic invite is sent to an employee, **you will not be able to update employment data through the Remote API**. After onboarding, only a limited set of employment data will be available for updates, such as `emergency_contact_details`. If you want to provide additional information for an employment, please make sure to do so **before** the employee is invited. We block updates to some employment data because employees need to agree to amendments in certain cases, such as when there are changes to their contract_details. Currently, these amendments can only be done through the Remote UI. Please contact Remote if you need to update contractors via API since it's currently not supported.

operationId: Employments_updateDetails

Parameters

Name In Required Type Description
employment_id path required string Employment ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EmploymentFullParams"
      }
    }
  },
  "required": false,
  "description": "Employment params"
}

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
409 Conflict
422 Unprocessable Entity
429 Too many requests
PUT /v1/employments/{employment_id}

Expenses 1 endpoints

PUT /v1/expenses/{id}

Updates an expense

operationId: Expenses_updateExpense

Parameters

Name In Required Type Description
id path required string Expense ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UpdateExpenseParams"
      }
    }
  },
  "required": false,
  "description": "Expenses"
}

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
409 Conflict
422 Unprocessable Entity
429 Too many requests
PUT /v1/expenses/{id}

Incentives 1 endpoints

PUT /v1/incentives/{id}

Updates an Incentive. Incentives use the currency of the employment specified provided in the `employment_id` field. The API doesn't support updating paid incentives.

operationId: Incentives_updateIncentive

Parameters

Name In Required Type Description
id path required string Incentive ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UpdateIncentiveParams"
      }
    }
  },
  "required": false,
  "description": "Incentive"
}

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
409 Conflict
422 Unprocessable Entity
429 Too many requests
PUT /v1/incentives/{id}

Resignation 1 endpoints

PUT /v1/resignations/{employment_request_id}/validate

Validates a resignation employment request

operationId: Resignation_validateEmploymentRequest

Parameters

Name In Required Type Description
employment_request_id path required string The employment request ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ValidateResignationRequest"
      }
    }
  },
  "required": true,
  "description": "ValidateResignation"
}

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
422 Unprocessable Entity
429 Unprocessable Entity
PUT /v1/resignations/{employment_request_id}/validate

Sandbox 3 endpoints

PUT /v1/sandbox/contract-amendments/{contract_amendment_request_id}/approve

Approves a contract amendment request without the intervention of a Remote admin. Approvals done via this endpoint are effective immediately, regardless of the effective date entered on the contract amendment creation. This endpoint is only available in Sandbox, otherwise it will respond with a 404.

operationId: ContractAmendments_approveAmendment

Parameters

Name In Required Type Description
contract_amendment_request_id path required string Contract amendment request ID

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
422 Unprocessable Entity
429 Too many requests
PUT /v1/sandbox/contract-amendments/{contract_amendment_request_id}/approve
PUT /v1/sandbox/contract-amendments/{contract_amendment_request_id}/cancel

Use this endpoint to cancel an existing contract amendment request. This endpoint is only available in Sandbox, otherwise it will respond with a 404.

operationId: Sandbox_cancelAmendmentRequest

Parameters

Name In Required Type Description
contract_amendment_request_id path required string Contract amendment request ID

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
422 Unprocessable Entity
429 Too many requests
PUT /v1/sandbox/contract-amendments/{contract_amendment_request_id}/cancel
PUT /v1/sandbox/employments/{employment_id}

Updates an employment. Use this endpoint to modify employment states for testing in the Sandbox environment. This endpoint will respond with a 404 outside of the Sandbox environment. For updating an employment's parameters outside of testing purposes, use [this Employment update endpoint](https://gateway.remote.com/v1/docs/openapi.html).

operationId: Sandbox_employmentUpdate

Parameters

Name In Required Type Description
employment_id path required string Employment ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/EmploymentUpdateParams"
      }
    }
  },
  "required": false,
  "description": "Employment params"
}

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
409 Conflict
422 Unprocessable Entity
429 Too many requests
PUT /v1/sandbox/employments/{employment_id}

Time off 1 endpoints

PUT /v1/timeoff/{id}

Updates a Time Off record. This endpoint can also be used for cancelling a time off.

operationId: TimeOff_updateRecord

Parameters

Name In Required Type Description
id path required string Timeoff ID

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UpdateApprovedTimeoffParams"
      }
    }
  },
  "required": true,
  "description": "UpdateTimeoff"
}

Responses

200 Success
400 Bad Request
401 Unauthorized
404 Not Found
422 Unprocessable Entity
429 Unprocessable Entity
PUT /v1/timeoff/{id}

Schemas

object ActionError
{
  "type": "object",
  "title": "ActionError",
  "required": [
    "code",
    "message",
    "action"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "An error code that describes the nature of the error."
    },
    "action": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The action that lead to the error message."
    },
    "message": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "A developer friendly error message that gives details on what the error was and how it may be remedied."
    }
  },
  "x-validate": null
}
array ActionErrors
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/ActionError"
  },
  "title": "ActionErrors",
  "x-struct": null,
  "x-validate": null
}
string AmountTaxType
{
  "enum": [
    "gross",
    "net"
  ],
  "type": "string",
  "title": "AmountTaxType",
  "example": "net",
  "x-struct": null,
  "x-validate": null,
  "description": "  Whether the amount given accounts for taxes or not.\n\n  `gross` indicates that the amount given is the amount to be paid before taxes\n  are subtracted.\n\n  `net` indicates that the amount given is the amount which will be paid to the\n  employee after taxes. Remote will gross this up to ensure the taxes are\n  included and employee receives the amount requested without further reduction.\n"
}
object ApproveExpenseParams
{
  "type": "object",
  "title": "ApproveExpenseParams",
  "example": {
    "status": "approved"
  },
  "required": [
    "status"
  ],
  "x-struct": null,
  "properties": {
    "status": {
      "enum": [
        "approved"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Approve an expense"
}
object AuthorizationCodeParams
{
  "type": "object",
  "title": "AuthorizationCodeParams",
  "example": {
    "code": "eyJhbG...xb6H0",
    "grant_type": "authorization_code"
  },
  "required": [
    "grant_type",
    "code"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The authorization code generated in Authorization Code flow"
    },
    "grant_type": {
      "enum": [
        "authorization_code"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The Authorization flow"
    }
  },
  "x-validate": null
}
object AuthorizationCodeResponse
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/BaseTokenResponse"
    },
    {
      "type": "object",
      "example": {
        "user_id": "6550e536-8655-4bce-8bd9-b295f786ad71",
        "company_id": "6e60f5f9-e6a6-4b04-b13c-84bced848bab",
        "expires_in": 7200,
        "token_type": "Bearer",
        "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ",
        "refresh_token": "b480036a-d229-49ef-a606-7e8fba58a5eb"
      },
      "x-struct": null,
      "properties": {
        "user_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null,
          "description": "The ID of the user who connected the company."
        },
        "company_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null,
          "description": "The ID of the connected company."
        },
        "refresh_token": {
          "type": "string",
          "x-struct": null,
          "x-validate": null,
          "description": "The refresh token. This token must be stored and used for issuing new access tokens for managing the company's resources."
        }
      },
      "x-validate": null
    }
  ],
  "title": "AuthorizationCodeResponse",
  "x-struct": null,
  "x-validate": null
}
object BadRequestResponse
{
  "type": "object",
  "oneOf": [
    {
      "type": "object",
      "required": [
        "message"
      ],
      "x-struct": null,
      "properties": {
        "message": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    },
    {
      "type": "object",
      "x-struct": null,
      "properties": {
        "message": {
          "type": "object",
          "required": [
            "code",
            "message"
          ],
          "x-struct": null,
          "properties": {
            "code": {
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            "message": {
              "type": "string",
              "x-struct": null,
              "x-validate": null
            }
          },
          "x-validate": null
        }
      },
      "x-validate": null
    }
  ],
  "title": "BadRequestResponse",
  "example": {
    "message": "invalid {resource}"
  },
  "x-struct": null,
  "x-validate": null
}
object Base64File
{
  "type": "object",
  "title": "Base64File",
  "example": {
    "name": "receipt.pdf",
    "content": "UGVyaW9kIEVuZCBEYXRlLFBheSBEYXRlLEVtcG...5jZSBPZiBSZXNpZGVuYdXJyZW50LEFsbG93"
  },
  "required": [
    "name",
    "content"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The file name."
    },
    "content": {
      "type": "string",
      "format": "binary",
      "x-struct": null,
      "x-validate": null,
      "description": "The content in base64 encoding."
    }
  },
  "x-validate": null,
  "description": "All the params needed upload a base64 file."
}
object BaseTokenResponse
{
  "type": "object",
  "title": "BaseTokenResponse",
  "example": {
    "expires_in": 7200,
    "token_type": "Bearer",
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ"
  },
  "x-struct": null,
  "properties": {
    "expires_in": {
      "type": "integer",
      "format": "int32",
      "x-struct": null,
      "x-validate": null,
      "description": "Number of seconds until token is expired."
    },
    "token_type": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The type of the token. For now, always `Bearer`."
    },
    "access_token": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "A JWT token."
    }
  },
  "x-validate": null
}
object Benefit
{
  "type": "object",
  "title": "Benefit",
  "example": {
    "id": "562977cfd-cf60-4cf4-a70f-ac2061d709088X",
    "name": "benefit name",
    "type": "benefit type",
    "costs": {
      "employee_cost": 234,
      "employer_cost": 44
    },
    "status": "enrolled",
    "provider": {
      "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
      "name": "Health Provider"
    },
    "projected_costs": null,
    "coverage_end_date": "2025-02-28",
    "coverage_start_date": "2024-03-18"
  },
  "required": [
    "id",
    "status",
    "name",
    "type",
    "coverage_start_date",
    "coverage_end_date",
    "provider",
    "costs",
    "projected_costs"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "costs": {
      "$ref": "#/components/schemas/Costs"
    },
    "status": {
      "enum": [
        "initiated",
        "enrolled",
        "waived"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "provider": {
      "$ref": "#/components/schemas/BenefitProvider"
    },
    "projected_costs": {
      "$ref": "#/components/schemas/Costs"
    },
    "coverage_end_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "coverage_start_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Benefits with status enrolled have their summed costs in costs.\nBenefits with status initiated have their summed costs in projected_costs.\nBenefit-offers where the employer opted-out have benefit_tier: null in the response.\n"
}
object BenefitGroup
{
  "type": "object",
  "title": "BenefitGroup",
  "example": {
    "id": "54297cfd-cf60-4cf4-a70f-ac2061d72b44X",
    "name": "Health",
    "policy_end_date": "2024-12-31",
    "policy_start_date": "2024-01-01"
  },
  "required": [
    "id",
    "name",
    "policy_start_date",
    "policy_end_date"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "policy_end_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "policy_start_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object BenefitOffer
{
  "type": "object",
  "title": "BenefitOffer",
  "example": {
    "costs": {
      "employee_cost": 234,
      "employer_cost": 44
    },
    "benefits": [
      {
        "id": "562977cfd-cf60-4cf4-a70f-ac2061d709088",
        "name": "benefit name",
        "type": "benefit type",
        "costs": {
          "employee_cost": 234,
          "employer_cost": 44
        },
        "status": "enrolled",
        "provider": {
          "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
          "name": "Health Provider"
        },
        "projected_costs": null,
        "coverage_end_date": "2025-02-28",
        "coverage_start_date": "2024-03-18"
      }
    ],
    "benefit_tier": {
      "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
      "name": "Premium 2023 (Medical, Dental and Vision)",
      "providers": [
        {
          "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
          "name": "Health Provider"
        }
      ]
    },
    "benefit_group": {
      "id": "54297cfd-cf60-4cf4-a70f-ac2061d72b44X",
      "name": "Health",
      "policy_end_date": "2024-12-31",
      "policy_start_date": "2024-01-01"
    }
  },
  "required": [
    "benefit_group",
    "benefit_tier",
    "costs",
    "benefits"
  ],
  "x-struct": null,
  "properties": {
    "costs": {
      "$ref": "#/components/schemas/Costs"
    },
    "benefits": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Benefit"
      },
      "x-struct": null,
      "x-validate": null
    },
    "benefit_tier": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/components/schemas/BenefitTier"
        }
      ],
      "title": "MaybeBenefitTier",
      "example": {
        "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
        "name": "Premium 2023 (Medical, Dental and Vision)",
        "providers": [
          {
            "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
            "name": "Health Provider"
          }
        ]
      },
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "benefit_group": {
      "$ref": "#/components/schemas/BenefitGroup"
    }
  },
  "x-validate": null
}
object BenefitOfferByEmploymentResponse
{
  "type": "object",
  "title": "BenefitOfferByEmploymentResponse",
  "example": {
    "data": {
      "currency": [
        {
          "code": "EUR",
          "name": "European Euro",
          "slug": "eur-3b840951-099f-4bd5-90b9-032f7bfe51d9",
          "symbol": "€"
        }
      ],
      "company_id": "79297cfd-cf60-4cf4-a70f-ac2061d72a74",
      "benefit_offers_by_employment": [
        {
          "costs": {
            "employee_cost": 234,
            "employer_cost": 44
          },
          "employment": {
            "id": "67897cfd-cf60-4cf4-a70f-ac2061d72984X",
            "name": "Name",
            "country": {
              "code": "PRT",
              "name": "Portugal",
              "alpha_2_code": "PT",
              "country_subdivisions": [
                {
                  "code": "PT-06",
                  "name": "Coimbra",
                  "subdivision_type": "District"
                },
                {
                  "code": "PT-11",
                  "name": "Lisboa",
                  "subdivision_type": "District"
                }
              ],
              "supported_json_schemas": [
                "additional_documents",
                "address_details",
                "administrative_details",
                "employment-basic-information",
                "bank_account_details",
                "contract_details",
                "emergency_contact"
              ]
            },
            "surname": "Surname",
            "given_name": "Given Name"
          },
          "benefit_offers": [
            {
              "costs": {
                "employee_cost": 234,
                "employer_cost": 44
              },
              "benefits": [
                {
                  "id": "562977cfd-cf60-4cf4-a70f-ac2061d709088X",
                  "name": "benefit name",
                  "type": "benefit type",
                  "costs": {
                    "employee_cost": 234,
                    "employer_cost": 44
                  },
                  "status": "enrolled",
                  "provider": {
                    "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
                    "name": "Health Provider"
                  },
                  "projected_costs": null,
                  "coverage_end_date": "2025-02-28",
                  "coverage_start_date": "2024-03-18"
                }
              ],
              "benefit_tier": {
                "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
                "name": "Premium 2023 (Medical, Dental and Vision)",
                "providers": [
                  {
                    "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
                    "name": "Health Provider"
                  }
                ]
              },
              "benefit_group": {
                "id": "54297cfd-cf60-4cf4-a70f-ac2061d72b44X",
                "name": "Health",
                "policy_end_date": "2024-12-31",
                "policy_start_date": "2024-01-01"
              }
            }
          ]
        }
      ]
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "benefit_offers_by_employment",
        "company_id",
        "currency"
      ],
      "x-struct": null,
      "properties": {
        "currency": {
          "$ref": "#/components/schemas/Currency"
        },
        "company_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "benefit_offers_by_employment": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BenefitOffersByEmployment"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object BenefitOffersByEmployment
{
  "type": "object",
  "title": "BenefitOffersByEmployment",
  "example": {
    "costs": {
      "employee_cost": 234,
      "employer_cost": 44
    },
    "employment": {
      "id": "67897cfd-cf60-4cf4-a70f-ac2061d72984X",
      "name": "Name",
      "country": {
        "code": "PRT",
        "name": "Portugal",
        "alpha_2_code": "PT",
        "country_subdivisions": [
          {
            "code": "PT-06",
            "name": "Coimbra",
            "subdivision_type": "District"
          },
          {
            "code": "PT-11",
            "name": "Lisboa",
            "subdivision_type": "District"
          }
        ],
        "supported_json_schemas": [
          "additional_documents",
          "address_details",
          "administrative_details",
          "employment-basic-information",
          "bank_account_details",
          "contract_details",
          "emergency_contact"
        ]
      },
      "surname": "Surname",
      "given_name": "Given Name"
    },
    "benefit_offers": [
      {
        "costs": {
          "employee_cost": 234,
          "employer_cost": 44
        },
        "benefits": [
          {
            "id": "562977cfd-cf60-4cf4-a70f-ac2061d709088X",
            "name": "benefit name",
            "type": "benefit type",
            "costs": {
              "employee_cost": 234,
              "employer_cost": 44
            },
            "status": "enrolled",
            "provider": {
              "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
              "name": "Health Provider"
            },
            "projected_costs": null,
            "coverage_end_date": "2025-02-28",
            "coverage_start_date": "2024-03-18"
          }
        ],
        "benefit_tier": {
          "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
          "name": "Premium 2023 (Medical, Dental and Vision)",
          "providers": [
            {
              "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
              "name": "Health Provider"
            }
          ]
        },
        "benefit_group": {
          "id": "54297cfd-cf60-4cf4-a70f-ac2061d72b44X",
          "name": "Health",
          "policy_end_date": "2024-12-31",
          "policy_start_date": "2024-01-01"
        }
      }
    ]
  },
  "required": [
    "employment",
    "costs",
    "benefit_offers"
  ],
  "x-struct": null,
  "properties": {
    "costs": {
      "$ref": "#/components/schemas/Costs"
    },
    "employment": {
      "$ref": "#/components/schemas/Employment"
    },
    "benefit_offers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BenefitOffer"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object BenefitProvider
{
  "type": "object",
  "title": "BenefitProvider",
  "example": {
    "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
    "name": "Health Provider"
  },
  "required": [
    "id",
    "name"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object BenefitTier
{
  "type": "object",
  "title": "BenefitTier",
  "example": {
    "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
    "name": "Premium 2023 (Medical, Dental and Vision)",
    "providers": [
      {
        "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
        "name": "Health Provider"
      }
    ]
  },
  "required": [
    "id",
    "name",
    "providers"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "providers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BenefitProvider"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object BillingDocument
{
  "type": "object",
  "title": "BillingDocument",
  "example": {
    "id": "8772a9f1-b43c-46be-a1ce-e50b6819f5eeX",
    "items": [
      {
        "type": "base_salary",
        "employment_id": "0d25c513-employment-id-198557128104",
        "source_amount": 50000,
        "source_currency": "EUR",
        "billing_document_amount": 1000000,
        "billing_document_currency": "CAD"
      }
    ],
    "total": 1100000,
    "company_id": "2f889520-9a21-44b0-990d-e4ae37d8db53",
    "issued_date": "2023-08-22",
    "billing_document_type": "reconciliation_invoice",
    "billing_document_period": "2021-12",
    "billing_document_currency": "EUR"
  },
  "required": [
    "company_id",
    "id",
    "billing_document_period",
    "issued_date",
    "billing_document_type",
    "billing_document_currency",
    "total",
    "items"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BillingDocumentAmountItem"
      },
      "x-struct": null,
      "x-validate": null
    },
    "total": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "issued_date": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "billing_document_type": {
      "enum": [
        "reconciliation_invoice",
        "prefunding_invoice",
        "supplemental_service_invoice",
        "reconciliation_credit_note"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "billing_document_period": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "billing_document_currency": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Information of a billing document"
}
object BillingDocumentAmountItem
{
  "type": "object",
  "title": "BillingDocumentAmountItem",
  "example": {
    "type": "base_salary",
    "employment_id": "0d25c513-employment-id-198557128104",
    "source_amount": 50000,
    "source_currency": "EUR",
    "billing_document_amount": 1000000,
    "billing_document_currency": "CAD"
  },
  "required": [
    "type",
    "billing_document_amount",
    "billing_document_currency"
  ],
  "x-struct": null,
  "properties": {
    "type": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "source_amount": {
      "type": "integer",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "source_currency": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "billing_document_amount": {
      "type": "integer",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "billing_document_currency": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object BillingDocumentResponse
{
  "type": "object",
  "title": "BillingDocumentResponse",
  "example": {
    "data": {
      "billing_document": {
        "id": "8772a9f1-b43c-46be-a1ce-e50b6819f5eeX",
        "items": [
          {
            "type": "base_salary",
            "employment_id": "0d25c513-employment-id-198557128104",
            "source_amount": 50000,
            "source_currency": "EUR",
            "billing_document_amount": 1000000,
            "billing_document_currency": "CAD"
          }
        ],
        "total": 1100000,
        "company_id": "2f889520-9a21-44b0-990d-e4ae37d8db53",
        "issued_date": "2023-08-22",
        "billing_document_type": "reconciliation_invoice",
        "billing_document_period": "2021-12",
        "billing_document_currency": "EUR"
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "billing_document"
      ],
      "x-struct": null,
      "properties": {
        "billing_document": {
          "$ref": "#/components/schemas/BillingDocument"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Information of a billing document"
}
object BillingDocumentsResponse
{
  "type": "object",
  "title": "BillingDocumentsResponse",
  "example": {
    "data": {
      "total_count": 1,
      "total_pages": 1,
      "current_page": 1,
      "billing_documents": [
        {
          "id": "8772a9f1-b43c-46be-a1ce-e50b6819f5ee",
          "billing_document_type": "base_salary",
          "billing_document_period": "2023-12"
        }
      ]
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "billing_documents",
        "current_page",
        "total_pages",
        "total_count"
      ],
      "x-struct": null,
      "properties": {
        "total_count": {
          "type": "integer",
          "example": 100,
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records returned counting all pages"
        },
        "total_pages": {
          "type": "integer",
          "example": 10,
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "example": 1,
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        },
        "billing_documents": {
          "type": "array",
          "items": {
            "x-struct": null,
            "properties": {
              "id": {
                "type": "string",
                "x-struct": null,
                "x-validate": null
              },
              "billing_document_type": {
                "enum": [
                  "reconciliation_invoice",
                  "prefunding_invoice",
                  "supplemental_service_invoice",
                  "reconciliation_credit_note"
                ],
                "type": "string",
                "x-struct": null,
                "x-validate": null
              },
              "billing_document_period": {
                "type": "string",
                "x-struct": null,
                "x-validate": null
              }
            },
            "x-validate": null
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Information about a list of billing documents"
}
object ClientCredentialsParams
{
  "type": "object",
  "title": "ClientCredentialsParams",
  "example": {
    "client_id": "<client_id>",
    "grant_type": "client_credentials"
  },
  "required": [
    "grant_type",
    "client_id"
  ],
  "x-struct": null,
  "properties": {
    "client_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The client id generated during registration"
    },
    "grant_type": {
      "enum": [
        "client_credentials"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The Authorization flow"
    }
  },
  "x-validate": null
}
object CommonIncentiveParams
{
  "type": "object",
  "title": "CommonIncentiveParams",
  "example": {
    "note": "Bonus for moving start date to an earlier date",
    "amount": 50000,
    "effective_date": "2021-12-20",
    "amount_tax_type": "net"
  },
  "x-struct": null,
  "properties": {
    "note": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "The amount (in the currency of the employment) to be given to the employee.\n\nThis field accepts fractional amounts as well. However to avoid precision issues\nand errors that can arise from storing fractional amounts, the Remote API only\naccepts currencies and their fractional amounts as integers. This means you\nshould append fractional amounts to the end of the amount you're passing in with\nthis field.\n\nFor example, if the incentive you're offering is EUR 500.25, you would specify `50025` as\nthe amount for this field.\n"
    },
    "effective_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null,
      "description": "The date at which the incentive should take effect.\n\nNote that the incentive is not paid out on the effective date, but during the\nnext payroll cycle. The effective date determines which payroll cycle the\nincentive will be paid out in.\n\nThe effective date needs to be today or a future date.\n\nNote for recurring incentives: since the months don't have the same amount of days,\nif day of month of `effective_date` is one of [28, 29, 30, 31] it will be transformed to\nthe last day of each month, avoiding the possibility of skipping a month in the recurrence.\n"
    },
    "amount_tax_type": {
      "$ref": "#/components/schemas/AmountTaxType"
    }
  },
  "x-validate": null
}
object CompaniesResponse
{
  "type": "object",
  "title": "CompaniesResponse",
  "example": {
    "data": {
      "companies": [
        {
          "id": "e5a8b061-company-id-4c5c81ac885eX",
          "name": "Your Company Name",
          "status": "active",
          "created_at": "2021-10-29T12:39:13",
          "updated_at": "2021-10-29T12:39:15",
          "external_id": "00001111",
          "country_code": "USA",
          "phone_number": "+1123123456",
          "address_details": {
            "city": "San Francisco",
            "state": "CA",
            "address": "1709 Broderick St",
            "postal_code": "94115",
            "address_line_2": "Flat number 123"
          },
          "desired_currency": "USD",
          "company_owner_name": "Joe Smith",
          "company_owner_email": "te@remote.com",
          "bank_account_details": {
            "name": "Bank name",
            "account_type": "savings",
            "account_holder": "Joe Smith",
            "account_number": "31234123123",
            "ownership_type": "BUSINESS",
            "routing_number": "123124123"
          },
          "terms_of_service_accepted_at": "2021-10-29T12:39:15Z"
        }
      ]
    }
  },
  "x-struct": null,
  "properties": {
    "companies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Company"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Shows a list of companies"
}
object Company
{
  "type": "object",
  "title": "Company",
  "example": {
    "id": "e5a8b061-company-id-4c5c81ac885eX",
    "name": "Your Company Name",
    "status": "active",
    "created_at": "2021-10-29T12:39:13",
    "updated_at": "2021-10-29T12:39:15",
    "external_id": "00001111",
    "country_code": "USA",
    "phone_number": "+1123123456",
    "address_details": {
      "city": "San Francisco",
      "state": "CA",
      "address": "1709 Broderick St",
      "postal_code": "94115",
      "address_line_2": "Flat number 123"
    },
    "desired_currency": "USD",
    "company_owner_name": "Joe Smith",
    "company_owner_email": "te@remote.com",
    "bank_account_details": {
      "name": "Bank name",
      "account_type": "savings",
      "account_holder": "Joe Smith",
      "account_number": "31234123123",
      "ownership_type": "BUSINESS",
      "routing_number": "123124123"
    },
    "terms_of_service_accepted_at": "2021-10-29T12:39:15Z"
  },
  "required": [
    "address_details",
    "company_owner_email",
    "country_code",
    "created_at",
    "desired_currency",
    "id",
    "name",
    "status",
    "updated_at",
    "terms_of_service_accepted_at"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "pending",
        "review",
        "active",
        "archived"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The company status determines what a company is allowed to do:\n- `pending`: The company has been created and the company owner invited. Remote is waiting for the company owner to complete onboarding.\n- `review`: The company is under review. In rare occasions, a company may not automatically get created in `active` status because Remote needs to\n  manually review the company that was created. The company will become `active` once the review is completed and no further action is necessary\n  through the Remote API.\n- `active`: The company owner has completed onboarding and the company is ready to employ.\n- `archived`: The company is no longer active on the Remote platform and no changes can be made to the company.\n"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "x-struct": null,
      "x-validate": null
    },
    "tax_number": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "x-struct": null,
      "x-validate": null
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "country_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "phone_number": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "address_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Fields can vary depending on the country. Please, check the required fields structure using the [Show form schema endpoint](https://gateway.remote.com/v1/docs/openapi.html).\nUse the desired country and `address_details` as the form name for the placeholders.\nThe response complies with the [JSON Schema](https://remote.com/resources/api/how-json-schemas-work) specification.\n"
    },
    "desired_currency": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "company_owner_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "company_owner_email": {
      "type": "string",
      "format": "email",
      "x-struct": null,
      "x-validate": null
    },
    "registration_number": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "bank_account_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Fields can vary depending on the country. Please, check the required fields structure using the [Show form schema endpoint](https://gateway.remote.com/v1/docs/openapi.html).\nUse the desired country and `bank_account_details` as the form name for the placeholders.\nThe response complies with the [JSON Schema](https://remote.com/resources/api/how-json-schemas-work) specification.\n"
    },
    "terms_of_service_accepted_at": {
      "type": "string",
      "format": "date-time",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CompanyAlreadyExistsErrorResponse
{
  "type": "object",
  "title": "CompanyAlreadyExistsErrorResponse",
  "example": {
    "message": {
      "code": "resource_already_exists",
      "message": "The company with the provided EIN is already registered.",
      "resource_id": "d1bb9535-3296-4240-8a67-81475bd24e80",
      "resource_type": "company_creation"
    }
  },
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "pattern": "resource_already_exists",
      "x-struct": null,
      "x-validate": null
    },
    "message": {
      "type": "string",
      "pattern": "The company with the provided EIN is already registered.",
      "x-struct": null,
      "x-validate": null
    },
    "resource_id": {
      "type": "string",
      "format": "uuid",
      "x-struct": null,
      "x-validate": null
    },
    "resource_type": {
      "type": "string",
      "pattern": "company_creation",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Error returned when a company with matching criteria already exists"
}
object CompanyCreationConflictErrorResponse
{
  "type": "object",
  "title": "CompanyCreationConflictErrorResponse",
  "x-struct": null,
  "properties": {
    "message": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/CompanyAlreadyExistsErrorResponse"
        },
        {
          "$ref": "#/components/schemas/CompanyNotEligibleForCreationErrorResponse"
        }
      ],
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CompanyCreationResponse
{
  "type": "object",
  "title": "CompanyCreationResponse",
  "x-struct": null,
  "properties": {
    "data": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/CompanyResponse"
        },
        {
          "$ref": "#/components/schemas/CompanyWithTokensResponse"
        }
      ],
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CompanyDepartment
{
  "type": "object",
  "title": "CompanyDepartment",
  "example": {
    "id": "89c4fbb2-cd1f-4334-8e4b-280f8795bbd8X",
    "name": "Marketing",
    "company_id": "669f9e18-889f-4c2c-95b8-67795a3113cc"
  },
  "required": [
    "id",
    "company_id",
    "name"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Company ID"
    }
  },
  "x-validate": null
}
object CompanyDepartmentCreatedResponse
{
  "type": "object",
  "title": "CompanyDepartmentCreatedResponse",
  "example": {
    "data": {
      "company_department": {
        "id": "89c4fbb2-cd1f-4334-8e4b-280f8795bbd8X",
        "name": "Marketing",
        "company_id": "669f9e18-889f-4c2c-95b8-67795a3113cc"
      }
    }
  },
  "x-struct": null,
  "properties": {
    "company_department": {
      "$ref": "#/components/schemas/CompanyDepartment"
    }
  },
  "x-validate": null
}
object CompanyManager
{
  "type": "object",
  "title": "CompanyManager",
  "example": {
    "role": "owner",
    "user_id": "983088c9-user-id-023fc08b8625",
    "user_name": "Anne White",
    "company_id": "0a8s2d1-company-id-2e3f4th",
    "user_email": "user@example.com"
  },
  "required": [
    "company_id",
    "user_id",
    "user_name",
    "user_email",
    "role"
  ],
  "x-struct": null,
  "properties": {
    "role": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Company Manager role."
    },
    "user_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "User ID"
    },
    "user_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "User's name"
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Company ID"
    },
    "user_email": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "User Email"
    }
  },
  "x-validate": null
}
object CompanyManagerData
{
  "type": "object",
  "title": "CompanyManagerData",
  "example": {
    "company_manager": {
      "role": "owner",
      "user_id": "983088c9-user-id-023fc08b8625",
      "user_name": "Anne White",
      "company_id": "0a8s2d1-company-id-2e3f4th",
      "user_email": "user@example.com"
    }
  },
  "required": [
    "company_manager"
  ],
  "x-struct": null,
  "properties": {
    "company_manager": {
      "$ref": "#/components/schemas/CompanyManager"
    }
  },
  "x-validate": null
}
object CompanyManagerParams
{
  "type": "object",
  "title": "CompanyManagerParams",
  "required": [
    "name",
    "email",
    "role"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The name of the company manager"
    },
    "role": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The role assigned for the new manager. The value should be one of the following:\n\n- `admin`: an Admin can manage most of the resources in remote.\n- `onboarding_manager`: an Onboarding Manager can add, see and manage new hires.\n- `people_manager`: a People Manager can view employee profiles of the team members they manage and approve and decline time off and expenses for their employees.\n"
    },
    "email": {
      "type": "string",
      "format": "email",
      "x-struct": null,
      "x-validate": null,
      "description": "The work email of the company manager"
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The Company ID. Required if the access token can access multiple companies. Optional otherwise."
    }
  },
  "x-validate": null
}
object CompanyManagerResponse
{
  "type": "object",
  "title": "CompanyManagerResponse",
  "example": {
    "data": {
      "company_manager": {
        "role": "owner",
        "user_id": "983088c9-user-id-023fc08b8625",
        "user_name": "Anne White",
        "company_id": "0a8s2d1-company-id-2e3f4th",
        "user_email": "user@example.com"
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CompanyManagerData"
    }
  },
  "x-validate": null
}
object CompanyManagersResponse
{
  "type": "object",
  "title": "CompanyManagersResponse",
  "example": {
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1,
    "company_managers": [
      {
        "role": "owner",
        "user_id": "983088c9-user-id-023fc08b8625",
        "user_name": "Anne White",
        "company_id": "0a8s2d1-company-id-2e3f4th",
        "user_email": "user@example.com"
      }
    ]
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        },
        "company_managers": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CompanyManager"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many company_managers"
}
object CompanyNotEligibleForCreationErrorResponse
{
  "type": "object",
  "title": "CompanyNotEligibleForCreationErrorResponse",
  "example": {
    "message": {
      "code": "resource_not_eligible",
      "message": "The company already have employees in integration supported countries.",
      "resource_id": "d1bb9535-3296-4240-8a67-81475bd24e80",
      "resource_type": "company_creation"
    }
  },
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "pattern": "resource_not_eligible",
      "x-struct": null,
      "x-validate": null
    },
    "message": {
      "type": "string",
      "pattern": "The company already have employees in integration supported countries.",
      "x-struct": null,
      "x-validate": null
    },
    "resource_id": {
      "type": "string",
      "format": "uuid",
      "x-struct": null,
      "x-validate": null
    },
    "resource_type": {
      "type": "string",
      "pattern": "company_creation",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Error returned when the company already have employees in countries supported by the integration."
}
object CompanyResponse
{
  "type": "object",
  "title": "CompanyResponse",
  "example": {
    "data": {
      "company": {
        "id": "e5a8b061-company-id-4c5c81ac885eX",
        "name": "Your Company Name",
        "status": "active",
        "created_at": "2021-10-29T12:39:13",
        "updated_at": "2021-10-29T12:39:15",
        "external_id": "00001111",
        "country_code": "USA",
        "phone_number": "+1123123456",
        "address_details": {
          "city": "San Francisco",
          "state": "CA",
          "address": "1709 Broderick St",
          "postal_code": "94115",
          "address_line_2": "Flat number 123"
        },
        "desired_currency": "USD",
        "company_owner_name": "Joe Smith",
        "company_owner_email": "te@remote.com",
        "bank_account_details": {
          "name": "Bank name",
          "account_type": "savings",
          "account_holder": "Joe Smith",
          "account_number": "31234123123",
          "ownership_type": "BUSINESS",
          "routing_number": "123124123"
        },
        "terms_of_service_accepted_at": "2021-10-29T12:39:15Z"
      }
    }
  },
  "x-struct": null,
  "properties": {
    "company": {
      "$ref": "#/components/schemas/Company"
    }
  },
  "x-validate": null,
  "description": "Shows a company"
}
object CompanyWithTokensResponse
{
  "type": "object",
  "title": "CompanyWithTokensResponse",
  "example": {
    "data": {
      "tokens": {
        "user_id": "6550e536-8655-4bce-8bd9-b295f786ad71",
        "company_id": "6e60f5f9-e6a6-4b04-b13c-84bced848bab",
        "expires_in": 7200,
        "token_type": "Bearer",
        "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ",
        "refresh_token": "b480036a-d229-49ef-a606-7e8fba58a5eb"
      },
      "company": {
        "id": "e5a8b061-company-id-4c5c81ac885e",
        "name": "Your Company Name",
        "status": "active",
        "created_at": "2021-10-29T12:39:13",
        "updated_at": "2021-10-29T12:39:15",
        "external_id": "00001111",
        "country_code": "USA",
        "phone_number": "+1123123456",
        "address_details": {
          "city": "San Francisco",
          "state": "CA",
          "address": "1709 Broderick St",
          "postal_code": "94115",
          "address_line_2": "Flat number 123"
        },
        "desired_currency": "USD",
        "company_owner_name": "Joe Smith",
        "company_owner_email": "te@remote.com",
        "bank_account_details": {
          "name": "Bank name",
          "account_type": "savings",
          "account_holder": "Joe Smith",
          "account_number": "31234123123",
          "ownership_type": "BUSINESS",
          "routing_number": "123124123"
        },
        "terms_of_service_accepted_at": "2021-10-29T12:39:15Z"
      }
    }
  },
  "x-struct": null,
  "properties": {
    "tokens": {
      "$ref": "#/components/schemas/OAuth2Tokens"
    },
    "company": {
      "$ref": "#/components/schemas/Company"
    }
  },
  "x-validate": null,
  "description": "Shows a company with its refresh and access tokens. Please contact Remote if you need the tokens when creating a company."
}
object Compensation
{
  "type": "object",
  "title": "Compensation",
  "example": {
    "amount": 33000,
    "currency_code": "CAD"
  },
  "required": [
    "amount",
    "currency_code"
  ],
  "x-struct": null,
  "properties": {
    "amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "currency_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CompleteOnboarding
{
  "type": "object",
  "title": "CompleteOnboarding",
  "x-struct": null,
  "properties": {
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Parameters to complete onboarding"
}
object ConflictResponse
{
  "type": "object",
  "title": "ConflictResponse",
  "example": {
    "message": "Company needs to be in status active to manage employments"
  },
  "x-struct": null,
  "properties": {
    "message": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object ContractAmendment
{
  "type": "object",
  "title": "ContractAmendment",
  "example": {
    "id": "ba310525-9282-40c9-8977-14d844bf891aX",
    "status": "submitted",
    "changes": {
      "contract.job_title": {
        "current": "A new job title",
        "previous": "An old job title"
      },
      "compensation.amount": {
        "current": 500000,
        "previous": 400000
      },
      "contract_details.details.contract_duration_type": {
        "current": "fixed_term",
        "previous": "indefinite"
      }
    },
    "requested_by": "5a31f3c1-d7a7-4311-89cb-928959d3d540",
    "submitted_at": "2023-04-13T13:35:06Z",
    "employment_id": "1e74fdc2-7420-4eef-ab0a-b794cbbef4e1",
    "requested_details": {
      "effective_date": "2024-03-04",
      "reason_for_change": "annual_pay_adjustment",
      "additional_comments": null,
      "salary_decrease_details": null,
      "reason_for_change_description": null
    },
    "zendesk_ticket_url": "https://zendesk.com/ticket-23333",
    "amendment_contract_id": "8772a9f1-b43c-46be-a1ce-e50b6819f5ee"
  },
  "required": [
    "id",
    "amendment_contract_id",
    "employment_id",
    "status",
    "requested_by",
    "submitted_at",
    "request_details",
    "changes",
    "zendesk_ticket_url"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "submitted",
        "in_review",
        "done",
        "canceled",
        "deleted"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "changes": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Describes all the changes requested for the contract and contract details with all their previous and current values."
    },
    "requested_by": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "submitted_at": {
      "type": "string",
      "format": "datetime",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "request_details": {
      "$ref": "#/components/schemas/RequestDetails"
    },
    "zendesk_ticket_url": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "amendment_contract_id": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Contract Amendment"
}
object ContractAmendmentAutomatableResponse
{
  "type": "object",
  "title": "ContractAmendmentAutomatableResponse",
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "message": {
          "type": "string",
          "x-struct": null,
          "x-validate": null,
          "description": "The message to explain how the contract amendment request will be processed depending if it is automatable or not."
        },
        "automatable": {
          "type": "boolean",
          "x-struct": null,
          "x-validate": null,
          "description": "If true, it means that the contract amendment request is automatable."
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Contract Amendment Automatable response"
}
object ContractAmendmentFormResponse
{
  "type": "object",
  "title": "ContractAmendmentFormResponse",
  "example": {
    "data": {
      "type": "object",
      "required": [
        "job_title",
        "effective_date"
      ],
      "properties": {
        "job_title": {
          "type": "string",
          "title": "Job title",
          "maxLength": 255,
          "description": "What is their job title? E.g. Product designer"
        },
        "effective_date": {
          "type": "date",
          "title": "Effective date of change",
          "description": "If you want to backdate this amendment, we cannot guarantee your preferred date is possible due to country-specific laws.\nPlease enter your preferred date, and we’ll reach out to you if there are any issues.\n"
        }
      }
    }
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Object with required and optional fields, its descriptions and suggested presentation"
}
object ContractAmendmentResponse
{
  "type": "object",
  "title": "ContractAmendmentResponse",
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "contract_amendment"
      ],
      "x-struct": null,
      "properties": {
        "contract_amendment": {
          "$ref": "#/components/schemas/ContractAmendment"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Contract Amendment response"
}
object ContractAmendmentSchemaParams
{
  "type": "object",
  "title": "ContractAmendmentSchemaParams",
  "required": [
    "country_code",
    "employment_id"
  ],
  "x-struct": null,
  "properties": {
    "form": {
      "enum": [
        "contract_amendment"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Name of the desired form"
    },
    "country_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Country code according to ISO 3-digit alphabetic codes."
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The ID of the employment concerned by the contract amendment request."
    }
  },
  "x-validate": null
}
object ContractPendingChanges
{
  "type": "object",
  "title": "ContractPendingChanges",
  "example": {
    "changes": {
      "contract.job_title": {
        "current": "Senior Engineer",
        "previous": "Engineer"
      }
    },
    "contract_id": "0073fcb5-b669-4e4a-b963-2a47744e75a1",
    "effective_at": "2021-07-15T18:18:17Z"
  },
  "required": [
    "effective_at",
    "contract_id",
    "changes"
  ],
  "x-struct": null,
  "properties": {
    "changes": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Describes all the changes requested for the contract and contract details with all their previous and current values.\nIts properties may vary depending on the country.\n"
    },
    "contract_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "effective_at": {
      "$ref": "#/components/schemas/DateTimeIso8601"
    }
  },
  "x-validate": null
}
string CostCalculator.CountryAvailability
{
  "enum": [
    "active",
    "coming_soon"
  ],
  "type": "string",
  "title": "CostCalculator.CountryAvailability",
  "example": "active",
  "x-struct": null,
  "x-validate": null,
  "description": "- active: country is ready to onboard employee\n- coming_soon: country is in process of getting ready\n"
}
object CostCalculator.CountryLevelRegion
{
  "type": "object",
  "title": "CostCalculator.CountryLevelRegion",
  "example": {
    "code": "PRT",
    "name": "Portugal",
    "currency": {
      "code": "EUR",
      "name": "European Euro",
      "slug": "eur-3b840951-099f-4bd5-90b9-032f7bfe51d9",
      "symbol": "€"
    },
    "region_slug": "663e0b79-c893-45ff-a1b2-f6dcabc098b5",
    "availability": "active",
    "child_regions": {
      "code": "USA",
      "name": "United States",
      "slug": "663e0b79-c893-45ff-a1b2-f6dcabc098b5"
    },
    "has_additional_fields": "true",
    "original_country_slug": "portugal-ab18d96a-a9fd-42c0-9688-24f963d8bdc1"
  },
  "required": [
    "code",
    "currency",
    "name",
    "original_country_slug",
    "region_slug",
    "availability",
    "child_regions"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "currency": {
      "$ref": "#/components/schemas/Currency"
    },
    "region_slug": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "availability": {
      "$ref": "#/components/schemas/CostCalculator.CountryAvailability"
    },
    "child_regions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MinimalRegion"
      },
      "x-struct": null,
      "x-validate": null
    },
    "has_additional_fields": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "original_country_slug": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "A supported country on Remote"
}
object CostCalculator.ListCountryResponse
{
  "type": "object",
  "title": "CostCalculator.ListCountryResponse",
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CostCalculator.CountryLevelRegion"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CostCalculatorCost
{
  "type": "object",
  "title": "CostCalculatorCost",
  "example": {
    "name": "Insurance",
    "amount": 1120000,
    "description": "Description of how the amount is calculated.",
    "zendesk_article_url": "https://examplezendesk.com/article/1234"
  },
  "required": [
    "amount",
    "description",
    "name",
    "zendesk_article_url"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "description": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "zendesk_article_url": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CostCalculatorCosts
{
  "type": "object",
  "title": "CostCalculatorCosts",
  "example": {
    "currency": {
      "code": "EUR",
      "name": "European Euro",
      "slug": "eur-3b840951-099f-4bd5-90b9-032f7bfe51d9",
      "symbol": "€"
    },
    "monthly_tce": 1120000,
    "annual_total": 13441200,
    "monthly_total": 1120100,
    "annual_gross_salary": 12000000,
    "monthly_gross_salary": 1000000,
    "annual_benefits_total": 1441200,
    "monthly_benefits_total": 120100,
    "annual_benefits_breakdown": [
      {
        "name": "Insurance",
        "amount": 1120000,
        "description": "Description of how the amount is calculated.",
        "zendesk_article_url": "https://examplezendesk.com/article/1234"
      }
    ],
    "annual_contributions_total": 1441200,
    "monthly_benefits_breakdown": [
      {
        "name": "Insurance",
        "amount": 1120000,
        "description": "Description of how the amount is calculated.",
        "zendesk_article_url": "https://examplezendesk.com/article/1234"
      }
    ],
    "monthly_contributions_total": 120100,
    "annual_contributions_breakdown": [
      {
        "name": "Insurance",
        "amount": 1120000,
        "description": "Description of how the amount is calculated.",
        "zendesk_article_url": "https://examplezendesk.com/article/1234"
      }
    ],
    "extra_statutory_payments_total": 0,
    "monthly_contributions_breakdown": [
      {
        "name": "Insurance",
        "amount": 1120000,
        "description": "Description of how the amount is calculated.",
        "zendesk_article_url": "https://examplezendesk.com/article/1234"
      }
    ],
    "extra_statutory_payments_breakdown": [
      {
        "name": "Insurance",
        "amount": 1120000,
        "description": "Description of how the amount is calculated.",
        "zendesk_article_url": "https://examplezendesk.com/article/1234"
      }
    ]
  },
  "required": [
    "annual_gross_salary",
    "annual_contributions_total",
    "annual_total",
    "currency",
    "extra_statutory_payments_total",
    "monthly_contributions_total",
    "monthly_gross_salary",
    "monthly_tce",
    "monthly_total"
  ],
  "x-struct": null,
  "properties": {
    "currency": {
      "$ref": "#/components/schemas/Currency"
    },
    "monthly_tce": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "Monthly gross salary + monthly contributions  (doesn't include fee)"
    },
    "annual_total": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "The annual gross salary + annual contributions + annual fee (monthly fee * 12) + extra statutory payments if applicable"
    },
    "monthly_total": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "Monthly gross salary + monthly contributions + monthly fee"
    },
    "annual_gross_salary": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "The annual gross salary that the employee is going to earn"
    },
    "monthly_gross_salary": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "The gross monthly salary for the Employee"
    },
    "annual_benefits_total": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "The annual benefits total that a company must pay for this employment"
    },
    "monthly_benefits_total": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "The benefits total that the company pays monthly"
    },
    "annual_benefits_breakdown": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CostCalculatorCost"
      },
      "x-struct": null,
      "x-validate": null,
      "description": "The list of all annual benefit costs"
    },
    "annual_contributions_total": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "The annual contributions that a company must pay for this employment"
    },
    "monthly_benefits_breakdown": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CostCalculatorCost"
      },
      "x-struct": null,
      "x-validate": null,
      "description": "The list of all monthly benefit costs"
    },
    "monthly_contributions_total": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "The contributions that the company pays monthly"
    },
    "annual_contributions_breakdown": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CostCalculatorCost"
      },
      "x-struct": null,
      "x-validate": null,
      "description": "The list of all annual employer contribution costs"
    },
    "extra_statutory_payments_total": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "13th month salary, this happens for countries such as Philippines"
    },
    "monthly_contributions_breakdown": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CostCalculatorCost"
      },
      "x-struct": null,
      "x-validate": null,
      "description": "The list of all monthly employer contribution costs"
    },
    "extra_statutory_payments_breakdown": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CostCalculatorCost"
      },
      "x-struct": null,
      "x-validate": null,
      "description": "The list of all annual extra statutory payment costs"
    }
  },
  "x-validate": null
}
object CostCalculatorEmployment
{
  "type": "object",
  "title": "CostCalculatorEmployment",
  "example": {
    "region": {
      "code": "USA",
      "name": "United States",
      "slug": "663e0b79-c893-45ff-a1b2-f6dcabc098b5"
    },
    "country": {
      "code": "PRT",
      "name": "Portugal",
      "slug": "portugal-ab18d96a-a9fd-42c0-9688-24f963d8bdc1",
      "alpha_2_code": "PT"
    },
    "employer_currency_costs": {
      "currency": {
        "code": "EUR",
        "name": "European Euro",
        "slug": "eur-3b840951-099f-4bd5-90b9-032f7bfe51d9",
        "symbol": "€"
      },
      "monthly_tce": 1120000,
      "annual_total": 13441200,
      "monthly_total": 1120100,
      "annual_gross_salary": 12000000,
      "monthly_gross_salary": 1000000,
      "annual_benefits_total": 1441200,
      "monthly_benefits_total": 120100,
      "annual_benefits_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ],
      "annual_contributions_total": 1441200,
      "monthly_benefits_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ],
      "monthly_contributions_total": 120100,
      "annual_contributions_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ],
      "extra_statutory_payments_total": 0,
      "monthly_contributions_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ],
      "extra_statutory_payments_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ]
    },
    "regional_currency_costs": {
      "currency": {
        "code": "EUR",
        "name": "European Euro",
        "slug": "eur-3b840951-099f-4bd5-90b9-032f7bfe51d9",
        "symbol": "€"
      },
      "monthly_tce": 1120000,
      "annual_total": 13441200,
      "monthly_total": 1120100,
      "annual_gross_salary": 12000000,
      "monthly_gross_salary": 1000000,
      "annual_benefits_total": 1441200,
      "monthly_benefits_total": 120100,
      "annual_benefits_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ],
      "annual_contributions_total": 1441200,
      "monthly_benefits_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ],
      "monthly_contributions_total": 120100,
      "annual_contributions_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ],
      "extra_statutory_payments_total": 0,
      "monthly_contributions_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ],
      "extra_statutory_payments_breakdown": [
        {
          "name": "Insurance",
          "amount": 1120000,
          "description": "Description of how the amount is calculated.",
          "zendesk_article_url": "https://examplezendesk.com/article/1234"
        }
      ]
    },
    "has_extra_statutory_payment": false
  },
  "required": [
    "country",
    "employer_currency_costs",
    "has_extra_statutory_payment",
    "region",
    "regional_currency_costs"
  ],
  "x-struct": null,
  "properties": {
    "region": {
      "$ref": "#/components/schemas/MinimalRegion"
    },
    "country": {
      "$ref": "#/components/schemas/MinimalCountry"
    },
    "employer_currency_costs": {
      "$ref": "#/components/schemas/CostCalculatorCosts"
    },
    "regional_currency_costs": {
      "$ref": "#/components/schemas/CostCalculatorCosts"
    },
    "has_extra_statutory_payment": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CostCalculatorEmploymentParam
{
  "type": "object",
  "title": "CostCalculatorEmploymentParam",
  "required": [
    "region_slug"
  ],
  "x-struct": null,
  "properties": {
    "age": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "region_slug": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "employment_term": {
      "$ref": "#/components/schemas/EmploymentTermType"
    },
    "annual_gross_salary": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "regional_to_employer_exchange_rate": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "annual_gross_salary_in_employer_currency": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CostCalculatorEstimatePDFResponse
{
  "type": "object",
  "title": "CostCalculatorEstimatePDFResponse",
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "content"
      ],
      "x-struct": null,
      "properties": {
        "content": {
          "$ref": "#/components/schemas/GenericFile"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object CostCalculatorEstimateParams
{
  "type": "object",
  "title": "CostCalculatorEstimateParams",
  "required": [
    "employments",
    "employer_currency_slug"
  ],
  "x-struct": null,
  "properties": {
    "employments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CostCalculatorEmploymentParam"
      },
      "x-struct": null,
      "x-validate": null
    },
    "include_benefits": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "employer_currency_slug": {
      "type": "string",
      "title": "Slug",
      "example": "663e0b79-c893-45ff-a1b2-f6dcabc098b5",
      "x-struct": null,
      "x-validate": null,
      "description": "Currency Slug"
    },
    "include_cost_breakdowns": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CostCalculatorEstimateResponse
{
  "type": "object",
  "title": "CostCalculatorEstimateResponse",
  "example": {
    "data": {
      "employments": [
        {
          "region": {
            "code": "USA",
            "name": "United States",
            "slug": "663e0b79-c893-45ff-a1b2-f6dcabc098b5"
          },
          "country": {
            "code": "PRT",
            "name": "Portugal",
            "slug": "portugal-ab18d96a-a9fd-42c0-9688-24f963d8bdc1",
            "alpha_2_code": "PT"
          },
          "employer_currency_costs": {
            "currency": {
              "code": "EUR",
              "name": "European Euro",
              "slug": "eur-3b840951-099f-4bd5-90b9-032f7bfe51d9",
              "symbol": "€"
            },
            "monthly_tce": 1120000,
            "annual_total": 13441200,
            "monthly_total": 1120100,
            "annual_gross_salary": 12000000,
            "monthly_gross_salary": 1000000,
            "annual_benefits_total": 1441200,
            "monthly_benefits_total": 120100,
            "annual_benefits_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ],
            "annual_contributions_total": 1441200,
            "monthly_benefits_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ],
            "monthly_contributions_total": 120100,
            "annual_contributions_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ],
            "extra_statutory_payments_total": 0,
            "monthly_contributions_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ],
            "extra_statutory_payments_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ]
          },
          "regional_currency_costs": {
            "currency": {
              "code": "EUR",
              "name": "European Euro",
              "slug": "eur-3b840951-099f-4bd5-90b9-032f7bfe51d9",
              "symbol": "€"
            },
            "monthly_tce": 1120000,
            "annual_total": 13441200,
            "monthly_total": 1120100,
            "annual_gross_salary": 12000000,
            "monthly_gross_salary": 1000000,
            "annual_benefits_total": 1441200,
            "monthly_benefits_total": 120100,
            "annual_benefits_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ],
            "annual_contributions_total": 1441200,
            "monthly_benefits_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ],
            "monthly_contributions_total": 120100,
            "annual_contributions_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ],
            "extra_statutory_payments_total": 0,
            "monthly_contributions_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ],
            "extra_statutory_payments_breakdown": [
              {
                "name": "Insurance",
                "amount": 1120000,
                "description": "Description of how the amount is calculated.",
                "zendesk_article_url": "https://examplezendesk.com/article/1234"
              }
            ]
          },
          "has_extra_statutory_payment": false
        }
      ]
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "employments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CostCalculatorEmployment"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object Costs
{
  "type": "object",
  "title": "Costs",
  "example": {
    "employee_cost": 234,
    "employer_cost": 44
  },
  "nullable": true,
  "required": [
    "employee_cost",
    "employer_cost"
  ],
  "x-struct": null,
  "properties": {
    "employee_cost": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "employer_cost": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CountriesResponse
{
  "type": "object",
  "title": "CountriesResponse",
  "example": {
    "data": [
      {
        "code": "PRT",
        "name": "Portugal",
        "alpha_2_code": "PT",
        "supported_json_schemas": [
          "additional_documents",
          "address_details",
          "administrative_details",
          "employment-basic-information",
          "bank_account_details",
          "contract_details",
          "emergency_contact"
        ]
      }
    ]
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Country"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "List of countries supported by Remote API"
}
object Country
{
  "type": "object",
  "title": "Country",
  "example": {
    "code": "PRT",
    "name": "Portugal",
    "alpha_2_code": "PT",
    "country_subdivisions": [
      {
        "code": "PT-06",
        "name": "Coimbra",
        "subdivision_type": "District"
      },
      {
        "code": "PT-11",
        "name": "Lisboa",
        "subdivision_type": "District"
      }
    ],
    "supported_json_schemas": [
      "additional_documents",
      "address_details",
      "administrative_details",
      "employment-basic-information",
      "bank_account_details",
      "contract_details",
      "emergency_contact"
    ]
  },
  "required": [
    "alpha_2_code",
    "code",
    "name"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "alpha_2_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "country_subdivisions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CountrySubdivision"
      },
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "supported_json_schemas": {
      "type": "array",
      "items": {
        "type": "string",
        "x-struct": null,
        "x-validate": null
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "A supported country on Remote"
}
object CountryFormResponse
{
  "type": "object",
  "title": "CountryFormResponse",
  "example": {
    "data": {
      "type": "object",
      "required": [
        "address",
        "city",
        "postal_code"
      ],
      "properties": {
        "city": {
          "type": "string",
          "title": "City",
          "maxLength": 255,
          "description": "Enter your city"
        },
        "address": {
          "type": "string",
          "title": "Address",
          "maxLength": 255,
          "description": "Your street name and house number. PO Box addresses are not supported."
        },
        "postal_code": {
          "type": "string",
          "title": "Postal code",
          "maxLength": 255,
          "description": "Enter zip or postal code"
        },
        "address_line_2": {
          "type": "string",
          "title": "Address line 2",
          "maxLength": 255,
          "description": "(Optional) For example, apartment, block, or building number."
        }
      }
    }
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Object with required and optional fields, its descriptions and suggested presentation"
}
object CountrySubdivision
{
  "type": "object",
  "title": "CountrySubdivision",
  "example": {
    "code": "PT-11",
    "name": "Lisboa",
    "subdivision_type": "District"
  },
  "required": [
    "name"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "subdivision_type": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "A subdivision of a supported country on Remote"
}
object CountrySummariesResponse
{
  "type": "object",
  "title": "CountrySummariesResponse",
  "example": {
    "data": {
      "company_id": "79297cfd-cf60-4cf4-a70f-ac2061d72a74",
      "country_summaries": [
        [
          {
            "country": {
              "code": "PRT",
              "name": "Portugal",
              "alpha_2_code": "PT",
              "country_subdivisions": [
                {
                  "code": "PT-06",
                  "name": "Coimbra",
                  "subdivision_type": "District"
                },
                {
                  "code": "PT-11",
                  "name": "Lisboa",
                  "subdivision_type": "District"
                }
              ],
              "supported_json_schemas": [
                "additional_documents",
                "address_details",
                "administrative_details",
                "employment-basic-information",
                "bank_account_details",
                "contract_details",
                "emergency_contact"
              ]
            },
            "employee_stats": {
              "number_of_employees_offered": 12,
              "number_of_employees_enrolled": 10
            },
            "offered_benefit_groups": [
              {
                "benefit_group": {
                  "id": "54297cfd-cf60-4cf4-a70f-ac2061d72b44X",
                  "name": "Health",
                  "policy_end_date": "2024-12-31",
                  "policy_start_date": "2024-01-01"
                },
                "employee_stats": {
                  "number_of_employees_offered": 12,
                  "number_of_employees_enrolled": 10
                },
                "offered_benefit_tiers": [
                  {
                    "benefit_tier": {
                      "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
                      "name": "Premium 2023 (Medical, Dental and Vision)",
                      "providers": [
                        {
                          "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
                          "name": "Health Provider"
                        }
                      ]
                    },
                    "employee_stats": {
                      "number_of_employees_offered": 12,
                      "number_of_employees_enrolled": 10
                    }
                  }
                ]
              }
            ]
          }
        ]
      ]
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "company_id",
        "country_summaries"
      ],
      "x-struct": null,
      "properties": {
        "company_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "country_summaries": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CountrySummary"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object CountrySummary
{
  "type": "object",
  "title": "CountrySummary",
  "example": {
    "country": {
      "code": "PRT",
      "name": "Portugal",
      "alpha_2_code": "PT",
      "country_subdivisions": [
        {
          "code": "PT-06",
          "name": "Coimbra",
          "subdivision_type": "District"
        },
        {
          "code": "PT-11",
          "name": "Lisboa",
          "subdivision_type": "District"
        }
      ],
      "supported_json_schemas": [
        "additional_documents",
        "address_details",
        "administrative_details",
        "employment-basic-information",
        "bank_account_details",
        "contract_details",
        "emergency_contact"
      ]
    },
    "employee_stats": {
      "number_of_employees_offered": 12,
      "number_of_employees_enrolled": 10
    },
    "offered_benefit_groups": [
      {
        "benefit_group": {
          "id": "54297cfd-cf60-4cf4-a70f-ac2061d72b44X",
          "name": "Health",
          "policy_end_date": "2024-12-31",
          "policy_start_date": "2024-01-01"
        },
        "employee_stats": {
          "number_of_employees_offered": 12,
          "number_of_employees_enrolled": 10
        },
        "offered_benefit_tiers": [
          {
            "benefit_tier": {
              "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
              "name": "Premium 2023 (Medical, Dental and Vision)",
              "providers": [
                {
                  "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
                  "name": "Health Provider"
                }
              ]
            },
            "employee_stats": {
              "number_of_employees_offered": 12,
              "number_of_employees_enrolled": 10
            }
          }
        ]
      }
    ]
  },
  "required": [
    "country",
    "employee_stats",
    "offered_benefit_groups"
  ],
  "x-struct": null,
  "properties": {
    "country": {
      "$ref": "#/components/schemas/Country"
    },
    "employee_stats": {
      "$ref": "#/components/schemas/EmployeeStats"
    },
    "offered_benefit_groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OfferedBenefitGroup"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object CreateApprovedTimeoffParams
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/CreateTimeoffParams"
    },
    {
      "type": "object",
      "x-struct": null,
      "properties": {
        "status": {
          "enum": [
            "approved"
          ],
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "approved_at": {
          "$ref": "#/components/schemas/DateTimeIso8601"
        },
        "approver_id": {
          "$ref": "#/components/schemas/NullableApproverId"
        }
      },
      "x-validate": null
    }
  ],
  "title": "CreateApprovedTimeoffParams",
  "required": [
    "status",
    "approver_id",
    "approved_at"
  ],
  "x-struct": null,
  "x-validate": null,
  "description": "Approved timeoff creation params"
}
object CreateCompanyDepartmentParams
{
  "type": "object",
  "title": "CreateCompanyDepartmentParams",
  "example": {
    "name": "Marketing",
    "company_id": "669f9e18-889f-4c2c-95b8-67795a3113cc"
  },
  "required": [
    "company_id",
    "name"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The name of the company department. May be non-unique and limited to 255 characters, maximum."
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The Company ID. Required in all cases, whether the API credentials have access to multiple companies or just one."
    }
  },
  "x-validate": null
}
object CreateCompanyParams
{
  "type": "object",
  "title": "CreateCompanyParams",
  "example": {
    "name": "Tech Vision",
    "tax_number": "123456789",
    "external_id": "00001111",
    "country_code": "USA",
    "phone_number": "+11123123456",
    "address_details": {
      "city": "San Francisco",
      "state": "CA",
      "address": "1709 Broderick St",
      "postal_code": "94115",
      "address_line_2": "Flat number 123"
    },
    "desired_currency": "USD",
    "company_owner_name": "Joe Smith",
    "company_owner_email": "ceo@techvision.com",
    "bank_account_details": {
      "name": "Bank name",
      "account_type": "savings",
      "account_holder": "Joe Smith",
      "account_number": "31234123123",
      "ownership_type": "BUSINESS",
      "routing_number": "123124123"
    },
    "terms_of_service_accepted_at": "2022-05-05 15:03:45Z"
  },
  "required": [
    "company_owner_email",
    "company_owner_name",
    "country_code",
    "desired_currency",
    "name",
    "terms_of_service_accepted_at"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The company name"
    },
    "tax_number": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The tax identifier of the company. This field or `registration_number` (but not both) should be submitted."
    },
    "external_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Id of the company as represented in the external partner system."
    },
    "country_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "3-letter country code of the country the company address is located in.\n\nFor a list of countries supported through the Remote API, make a call to the [list countries endpoint](https://gateway.remote.com/v1/docs/openapi.html). This endpoint will also include the 3-letter country codes you can use for this field.\n"
    },
    "email_domain": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The domain of the company. Use this field to specify the company domain name when it's different from the domain in the company owner's email."
    },
    "phone_number": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "A phone number the company can be contacted with."
    },
    "address_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Fields can vary depending on the country. Please, check the required fields structure using the [Show form schema endpoint](https://gateway.remote.com/v1/docs/openapi.html).\nUse the desired country and `address_details` as the form name for the placeholders.\nThe response complies with the [JSON Schema](https://remote.com/resources/api/how-json-schemas-work) specification.\n"
    },
    "desired_currency": {
      "enum": [
        "AUD",
        "CAD",
        "CHF",
        "DKK",
        "EUR",
        "GBP",
        "JPY",
        "NOK",
        "NZD",
        "SEK",
        "SGD",
        "USD"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Desired currency for invoicing and displaying converted salaries in Remote UI regardless of the employee's country."
    },
    "company_owner_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The company owner name.\n\nThis value cannot be changed from the Remote API once set.\n"
    },
    "company_owner_email": {
      "type": "string",
      "format": "email",
      "x-struct": null,
      "x-validate": null,
      "description": "The company owner email.\n\nThis value cannot be changed once set.\n"
    },
    "registration_number": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The company registration number. This field or `tax_number` (but not both) should be submitted."
    },
    "bank_account_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Fields can vary depending on the country. Please, check the required fields structure using the [Show form schema endpoint](https://gateway.remote.com/v1/docs/openapi.html).\nUse the desired country and `bank_account_details` as the form name for the placeholders.\nThe response complies with the [JSON Schema](https://remote.com/resources/api/how-json-schemas-work) specification.\n"
    },
    "terms_of_service_accepted_at": {
      "type": "string",
      "format": "date-time",
      "x-struct": null,
      "x-validate": null,
      "description": "Date and time the Terms of Service were accepted. To ensure users read the most recent version of Remote's Terms of Service, their action cannot have been done more than fifteen minutes ago. The UTC offset must be included in the ISO 8601 format: `YYYY-MM-DD HOURS:MINUTES:SECONDSZ`"
    }
  },
  "x-validate": null
}
object CreateContractAmendmentParams
{
  "type": "object",
  "title": "CreateContractAmendmentParams",
  "example": {
    "employment_id": "e31adae1-company-id-af5fba7dd803",
    "contract_amendment": {},
    "amendment_contract_id": "c15993d8-aa8a-4fbb-b395-8b7a54f57db1"
  },
  "required": [
    "employment_id",
    "amendment_contract_id",
    "contract_amendment"
  ],
  "x-struct": null,
  "properties": {
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The employment ID that is related to the contract amendment request."
    },
    "contract_amendment": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Contract amendment informations. As its properties may vary depending on the country,\n                you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code, `contract_amendment` and the employment ID as request body."
    },
    "amendment_contract_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The contract ID of the contract that needs to be amended."
    }
  },
  "x-validate": null
}
object CreateOffboardingParams
{
  "type": "object",
  "title": "CreateOffboardingParams",
  "example": {
    "type": "termination",
    "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d",
    "termination_details": {
      "confidential": false,
      "employee_awareness": {
        "date": "2023-12-12",
        "note": "optional text to add details"
      },
      "reason_description": "termination reason",
      "termination_reason": "workforce_reduction",
      "additional_comments": "additional comments regarding the termination reason",
      "risk_assessment_reasons": [
        "pregnant_or_breastfeeding",
        "family_leave"
      ],
      "termination_reason_files": [
        {
          "name": "termination_letter.pdf",
          "content": "UGVyaW9kIEVuZCBEYXRlLFBheSBEYXRlLEVtcG...5jZSBPZiBSZXNpZGVuYdXJyZW50LEFsbG93"
        }
      ],
      "proposed_termination_date": "2023-12-20",
      "will_challenge_termination": true,
      "will_challenge_termination_description": "additional details for the offboarding risk assessment"
    }
  },
  "required": [
    "type",
    "employment_id",
    "termination_details"
  ],
  "x-struct": null,
  "properties": {
    "type": {
      "enum": [
        "termination"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The type of the offboarding request. For now, only `termination` is allowed."
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "termination_details": {
      "$ref": "#/components/schemas/TerminationDetailsParams"
    }
  },
  "x-validate": null
}
object CreateOneTimeIncentiveParams
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/CommonIncentiveParams"
    },
    {
      "type": "object",
      "x-struct": null,
      "properties": {
        "type": {
          "enum": [
            "acting_up_allowance",
            "allowance",
            "car_allowance",
            "health_and_wellness_allowance",
            "internet_allowance",
            "meal_allowance",
            "on_call_allowance",
            "parenthood_allowance",
            "phone_allowance",
            "relocation_allowance",
            "travel_allowance",
            "work_from_home_allowance",
            "bonus",
            "holiday_bonus",
            "referral_bonus",
            "retention_bonus",
            "commission",
            "other",
            "overtime",
            "stipend",
            "signing_bonus"
          ],
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "employment_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  ],
  "title": "CreateOneTimeIncentiveParams",
  "example": {
    "note": "Bonus for moving start date to an earlier date",
    "type": "signing_bonus",
    "amount": 50000,
    "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d",
    "effective_date": "2021-12-20",
    "amount_tax_type": "net"
  },
  "required": [
    "type",
    "amount",
    "amount_tax_type",
    "employment_id",
    "effective_date"
  ],
  "x-struct": null,
  "properties": {
    "note": {
      "type": "string",
      "example": "Bonus for moving start date to an earlier date"
    },
    "type": {
      "type": "string",
      "example": "signing_bonus"
    },
    "amount": {
      "type": "number",
      "example": 50000
    },
    "employment_id": {
      "type": "string",
      "example": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d"
    },
    "effective_date": {
      "type": "string",
      "example": "2021-12-20"
    },
    "amount_tax_type": {
      "type": "string",
      "example": "net"
    }
  },
  "x-validate": null
}
object CreateParams
{
  "type": "object",
  "title": "CreateParams",
  "x-struct": null,
  "properties": {
    "type": {
      "enum": [
        "employee",
        "contractor"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "If not provided, it will default to `employee`."
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "This optional field is deprecated."
    },
    "country_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "basic_information": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Employment basic information. When using this field, the same other root level fields (name, personal_email, job_title,\nprovisional_start_date, and seniority_date) will be ignored.\nIts properties may vary depending on the country, you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\npassing the country code and `employment_basic_information` as path parameters.\n"
    }
  },
  "x-validate": null
}
object CreateParams-Deprecated
{
  "type": "object",
  "title": "CreateParams-Deprecated",
  "x-struct": null,
  "properties": {
    "type": {
      "enum": [
        "employee",
        "contractor"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "If not provided, it will default to `employee`."
    },
    "full_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "job_title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "This optional field is deprecated."
    },
    "country_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "personal_email": {
      "type": "string",
      "format": "email",
      "x-struct": null,
      "x-validate": null
    },
    "seniority_date": {
      "$ref": "#/components/schemas/EmploymentSeniorityDate"
    },
    "provisional_start_date": {
      "$ref": "#/components/schemas/ProvisionalStartDate"
    }
  },
  "x-validate": null,
  "description": "Providing the params in the root level of the request is now deprecated and will be removed in the future.\nPlease, use the \"CreateParams\" instead.\n"
}
object CreateRecurringIncentiveParams
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/CommonIncentiveParams"
    },
    {
      "type": "object",
      "x-struct": null,
      "properties": {
        "type": {
          "enum": [
            "acting_up_allowance",
            "allowance",
            "car_allowance",
            "health_and_wellness_allowance",
            "internet_allowance",
            "meal_allowance",
            "on_call_allowance",
            "parenthood_allowance",
            "phone_allowance",
            "relocation_allowance",
            "travel_allowance",
            "work_from_home_allowance",
            "bonus",
            "holiday_bonus",
            "referral_bonus",
            "retention_bonus",
            "commission",
            "other",
            "overtime",
            "stipend"
          ],
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "employment_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "duration_in_months": {
          "type": "string",
          "format": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "How many times the payment will repeat. At the moment we only fully support monthly frequency.\n\nThis field is only necessary if the recurring incentive has an end date.\n"
        }
      },
      "x-validate": null
    }
  ],
  "title": "CreateRecurringIncentiveParams",
  "example": {
    "note": "Bonus for moving start date to an earlier date",
    "type": "meal_allowance",
    "amount": 50000,
    "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d",
    "effective_date": "2021-12-20",
    "amount_tax_type": "net",
    "duration_in_months": 3
  },
  "required": [
    "type",
    "amount",
    "amount_tax_type",
    "employment_id",
    "effective_date"
  ],
  "x-struct": null,
  "properties": {
    "note": {
      "type": "string",
      "example": "Bonus for moving start date to an earlier date"
    },
    "type": {
      "type": "string",
      "example": "meal_allowance"
    },
    "amount": {
      "type": "number",
      "example": 50000
    },
    "employment_id": {
      "type": "string",
      "example": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d"
    },
    "effective_date": {
      "type": "string",
      "example": "2021-12-20"
    },
    "amount_tax_type": {
      "type": "string",
      "example": "net"
    },
    "duration_in_months": {
      "type": "number",
      "example": 3
    }
  },
  "x-validate": null
}
object CreateTimeoffParams
{
  "type": "object",
  "title": "CreateTimeoffParams",
  "required": [
    "employment_id",
    "start_date",
    "end_date",
    "timeoff_type",
    "timezone",
    "timeoff_days"
  ],
  "x-struct": null,
  "properties": {
    "notes": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "document": {
      "$ref": "#/components/schemas/TimeoffDocumentParams"
    },
    "end_date": {
      "type": "string",
      "format": "datetime",
      "nullable": false,
      "x-struct": null,
      "x-validate": null
    },
    "timezone": {
      "$ref": "#/components/schemas/Timezone"
    },
    "start_date": {
      "type": "string",
      "format": "datetime",
      "nullable": false,
      "x-struct": null,
      "x-validate": null
    },
    "timeoff_days": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimeoffDaysParams"
      },
      "x-struct": null,
      "x-validate": null
    },
    "timeoff_type": {
      "$ref": "#/components/schemas/TimeoffType"
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Timeoff creation params"
}
object CreateWebhookCallbackParams
{
  "type": "object",
  "title": "CreateWebhookCallbackParams",
  "example": {
    "url": "https://example.com/callback",
    "subscribed_events": [
      "employment.onboarding_task.completed"
    ]
  },
  "required": [
    "url"
  ],
  "x-struct": null,
  "properties": {
    "url": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "subscribed_events": {
      "type": "array",
      "items": {
        "enum": [
          "billing_document.issued",
          "contract_amendment.canceled",
          "contract_amendment.deleted",
          "contract_amendment.done",
          "contract_amendment.review_started",
          "contract_amendment.submitted",
          "custom_field.value_updated",
          "employment_contract.active_contract_updated",
          "employment.account.updated",
          "employment.details.updated",
          "employment.onboarding_task.completed",
          "employment.onboarding.completed",
          "employment.personal_information.updated",
          "employment.user_status.activated",
          "employment.user_status.deactivated",
          "expense.approved",
          "expense.declined",
          "expense.deleted",
          "expense.reimbursed",
          "expense.submitted",
          "expense.updated",
          "identity_verification.verification_required",
          "incentive.created",
          "incentive.deleted",
          "incentive.paid",
          "incentive.processing_started",
          "incentive.updated",
          "offboarding.deleted",
          "offboarding.done",
          "offboarding.review_started",
          "offboarding.submitted",
          "offboarding.submitted_to_payroll",
          "offboarding.completed",
          "payslip.released",
          "timeoff.approved",
          "timeoff.canceled",
          "timeoff.date_changed",
          "timeoff.declined",
          "timeoff.requested",
          "timeoff.taken",
          "timeoff.updated"
        ],
        "type": "string",
        "x-struct": null,
        "x-validate": null,
        "description": "The setting to be enabled."
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Webhook callback creation params"
}
object Currency
{
  "type": "object",
  "title": "Currency",
  "example": {
    "code": "EUR",
    "name": "European Euro",
    "slug": "eur-3b840951-099f-4bd5-90b9-032f7bfe51d9",
    "symbol": "€"
  },
  "required": [
    "code",
    "slug",
    "symbol"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "slug": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "symbol": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "The type of money in general use in a particular country"
}
object CurrencyDefinition
{
  "type": "object",
  "title": "CurrencyDefinition",
  "example": {
    "code": "CZK",
    "name": "Czech Koruna",
    "symbol": "Kč"
  },
  "required": [
    "code",
    "name",
    "symbol"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "symbol": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Currency object without a UUID identifier"
}
string Date
{
  "type": "string",
  "title": "Date",
  "format": "date",
  "example": "2021-07-01",
  "x-struct": null,
  "x-validate": null,
  "description": "UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format"
}
string DateTimeIso8601
{
  "type": "string",
  "title": "DateTimeIso8601",
  "format": "date-time",
  "example": "2021-07-15T18:18:17Z",
  "x-struct": null,
  "x-validate": null,
  "description": "UTC date time in [ISO 8601][] format.\n\n[ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601\n"
}
object DeclineExpenseParams
{
  "type": "object",
  "title": "DeclineExpenseParams",
  "example": {
    "reason": "Expense not refundable",
    "status": "declined"
  },
  "required": [
    "status",
    "reason"
  ],
  "x-struct": null,
  "properties": {
    "reason": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Reason for declination."
    },
    "status": {
      "enum": [
        "declined"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Decline an expense"
}
object DeleteRecurringIncentiveResponse
{
  "type": "object",
  "title": "DeleteRecurringIncentiveResponse",
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "already_scheduled_incentives"
      ],
      "x-struct": null,
      "properties": {
        "status": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "already_scheduled_incentives": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Incentive"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "`\"status\": \"ok\"` indicates that any recurring incentives with `pending` status were\nsuccessfully deleted.\n\n`already_scheduled_incentives` returns a list of incentives that were already scheduled\nfor payout and as such, cannot be deleted. You will notice that these incentives do not\nhave a `pending` status.\n"
}
object EmployeeStats
{
  "type": "object",
  "title": "EmployeeStats",
  "example": {
    "number_of_employees_offered": 12,
    "number_of_employees_enrolled": 10
  },
  "required": [
    "number_of_employees_offered",
    "number_of_employees_enrolled"
  ],
  "x-struct": null,
  "properties": {
    "number_of_employees_offered": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "number_of_employees_enrolled": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object Employment
{
  "type": "object",
  "title": "Employment",
  "example": {
    "id": "67897cfd-cf60-4cf4-a70f-ac2061d72984",
    "name": "Name",
    "country": {
      "code": "PRT",
      "name": "Portugal",
      "alpha_2_code": "PT",
      "country_subdivisions": [
        {
          "code": "PT-06",
          "name": "Coimbra",
          "subdivision_type": "District"
        },
        {
          "code": "PT-11",
          "name": "Lisboa",
          "subdivision_type": "District"
        }
      ],
      "supported_json_schemas": [
        "additional_documents",
        "address_details",
        "administrative_details",
        "employment-basic-information",
        "bank_account_details",
        "contract_details",
        "emergency_contact"
      ]
    },
    "surname": "Surname",
    "given_name": "Given Name"
  },
  "required": [
    "id",
    "given_name",
    "name",
    "surname",
    "country"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "country": {
      "$ref": "#/components/schemas/Country"
    },
    "surname": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "given_name": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object EmploymentBasicParams
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/CreateParams"
    },
    {
      "$ref": "#/components/schemas/CreateParams-Deprecated"
    }
  ],
  "title": "EmploymentBasicParams",
  "example": {
    "type": "employee",
    "full_name": "Jane Smith",
    "job_title": "Engineer",
    "country_code": "AUS",
    "personal_email": "jane@smith.com",
    "basic_information": {
      "name": "Jane Smith",
      "email": "jane@smith.com",
      "job_title": "Engineer",
      "has_seniority_date": "no",
      "provisional_start_date": "2022-07-10"
    },
    "provisional_start_date": "2022-07-10"
  },
  "required": [
    "full_name",
    "personal_email",
    "job_title",
    "country_code"
  ],
  "x-struct": null,
  "properties": {
    "type": {
      "type": "string",
      "example": "employee"
    },
    "full_name": {
      "type": "string",
      "example": "Jane Smith"
    },
    "job_title": {
      "type": "string",
      "example": "Engineer"
    },
    "country_code": {
      "type": "string",
      "example": "AUS"
    },
    "personal_email": {
      "type": "string",
      "example": "jane@smith.com"
    },
    "basic_information": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "Jane Smith"
        },
        "email": {
          "type": "string",
          "example": "jane@smith.com"
        },
        "job_title": {
          "type": "string",
          "example": "Engineer"
        },
        "has_seniority_date": {
          "type": "string",
          "example": "no"
        },
        "provisional_start_date": {
          "type": "string",
          "example": "2022-07-10"
        }
      }
    },
    "provisional_start_date": {
      "type": "string",
      "example": "2022-07-10"
    }
  },
  "x-validate": null,
  "description": "Description of the required params to create an employment."
}
object EmploymentBasicResponse
{
  "type": "object",
  "title": "EmploymentBasicResponse",
  "example": {
    "id": "663e0b79-c893-45ff-a1b2-f6dcabc098b5",
    "type": "employee",
    "full_name": "Jane Smith",
    "job_title": "Engineer",
    "company_id": "20a72f86-company-id-20a72f86",
    "created_at": "2023-02-01T15:42:03",
    "updated_at": "2023-02-01T15:42:03",
    "country_code": "AUS",
    "personal_email": "jane@smith.com",
    "basic_information": {
      "name": "Jane Smith",
      "email": "jane@smith.com",
      "job_title": "Engineer",
      "has_seniority_date": "no",
      "provisional_start_date": "2022-07-10"
    },
    "provisional_start_date": "2022-07-10",
    "employment_lifecycle_stage": "employment_creation"
  },
  "x-struct": null,
  "properties": {
    "id": {
      "$ref": "#/components/schemas/Slug"
    },
    "type": {
      "enum": [
        "employee",
        "contractor"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "full_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "job_title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "x-struct": null,
      "x-validate": null
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "x-struct": null,
      "x-validate": null
    },
    "country_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "personal_email": {
      "type": "string",
      "format": "email",
      "x-struct": null,
      "x-validate": null
    },
    "basic_information": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Employment basic information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `basic_information` as path parameters."
    },
    "provisional_start_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null,
      "description": "Required for employees, optional for contractors"
    },
    "employment_lifecycle_stage": {
      "$ref": "#/components/schemas/EmploymentLifecycleStage"
    }
  },
  "x-validate": null,
  "description": "Complete information of an employment"
}
object EmploymentContract
{
  "type": "object",
  "title": "EmploymentContract",
  "example": {
    "status": "active",
    "country": {
      "code": "CAN",
      "name": "Canada"
    },
    "job_title": "Engineer",
    "contract_id": "20a72f86-contract-id-9e4942a902ff",
    "activated_at": "2021-07-15T18:18:17Z",
    "compensation": {
      "amount": 33000,
      "currency_code": "CAD"
    },
    "effective_at": "2021-07-15T18:18:17Z",
    "contract_details": {},
    "amendment_contract_id": "e31adae1-contract-id-af5fba7dd803"
  },
  "required": [
    "contract_id",
    "amendment_contract_id",
    "country",
    "contract_details",
    "compensation",
    "job_title",
    "status",
    "activated_at",
    "effective_at"
  ],
  "x-struct": null,
  "properties": {
    "status": {
      "$ref": "#/components/schemas/EmploymentContractStatus"
    },
    "country": {
      "$ref": "#/components/schemas/Country"
    },
    "job_title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "contract_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "activated_at": {
      "$ref": "#/components/schemas/DateTimeIso8601"
    },
    "compensation": {
      "$ref": "#/components/schemas/Compensation"
    },
    "effective_at": {
      "$ref": "#/components/schemas/DateTimeIso8601"
    },
    "contract_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Contract information. Its properties may vary depending on the country."
    },
    "amendment_contract_id": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "The id of the employment contract that was amended by this employment contract, if any."
    }
  },
  "x-validate": null
}
object EmploymentContractPendingChangesResponse
{
  "type": "object",
  "title": "EmploymentContractPendingChangesResponse",
  "example": {
    "data": {
      "pending_changes": [
        {
          "changes": {
            "contract.job_title": {
              "current": "Senior Engineer",
              "previous": "Engineer"
            }
          },
          "contract_id": "0073fcb5-b669-4e4a-b963-2a47744e75a1",
          "effective_at": "2021-07-15T18:18:17Z"
        }
      ]
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "pending_changes"
      ],
      "x-struct": null,
      "properties": {
        "pending_changes": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ContractPendingChanges"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
string EmploymentContractStatus
{
  "enum": [
    "active",
    "inactive",
    "pending"
  ],
  "type": "string",
  "title": "EmploymentContractStatus",
  "example": "active",
  "x-struct": null,
  "x-validate": null,
  "description": "The status of the employment contract."
}
object EmploymentCreationResponse
{
  "type": "object",
  "title": "EmploymentCreationResponse",
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "employment": {
          "$ref": "#/components/schemas/EmploymentBasicResponse"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object EmploymentCustomField
{
  "type": "object",
  "title": "EmploymentCustomField",
  "example": {
    "id": "01c0e4d2-f41b-11ed-9d3f-cb3ecccebb58X",
    "name": "Internal ID",
    "type": "string"
  },
  "required": [
    "custom_field_id",
    "name",
    "type",
    "required",
    "visibility_scope",
    "data_entry_access",
    "metadata"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "enum": [
        "string",
        "text",
        "integer",
        "date",
        "boolean",
        "percentage",
        "decimal",
        "link",
        "currency",
        "single_select"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "metadata": {
      "type": "object",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "required": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "visibility_scope": {
      "enum": [
        "company_admin_only",
        "everyone"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "data_entry_access": {
      "enum": [
        "company_admin_only",
        "employee_only",
        "everyone"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "EmploymentCustomField"
}
object EmploymentCustomFieldValue
{
  "type": "object",
  "title": "EmploymentCustomFieldValue",
  "example": {
    "value": "UXH34HG",
    "custom_field_id": "01c0e4d2-f41b-11ed-9d3f-cb3ecccebb58"
  },
  "required": [
    "custom_field_id",
    "value"
  ],
  "x-struct": null,
  "properties": {
    "value": {
      "anyOf": [
        {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        {
          "type": "integer",
          "x-struct": null,
          "x-validate": null
        },
        {
          "type": "boolean",
          "x-struct": null,
          "x-validate": null
        },
        {
          "type": "number",
          "format": "decimal",
          "x-struct": null,
          "x-validate": null,
          "description": "Decimal value represented as a String"
        },
        {
          "$ref": "#/components/schemas/EmploymentCustomFieldValueJsonValue"
        }
      ],
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "custom_field_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "EmploymentCustomFieldValue"
}
object EmploymentCustomFieldValueJsonValue
{
  "type": "object",
  "title": "EmploymentCustomFieldValueJsonValue",
  "example": {
    "selected_value": "01c0e4d2-f41b-11ed-9d3f-cb3ecccebb55"
  },
  "required": [
    "selected_value"
  ],
  "x-struct": null,
  "properties": {
    "selected_value": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "EmploymentCustomFieldValueJsonValue"
}
object EmploymentCustomFieldValueResponse
{
  "type": "object",
  "title": "EmploymentCustomFieldValueResponse",
  "example": {
    "data": {
      "custom_field_value": {
        "value": "UXH34HG",
        "custom_field_id": "01c0e4d2-f41b-11ed-9d3f-cb3ecccebb58"
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "custom_field_value"
      ],
      "x-struct": null,
      "properties": {
        "custom_field_value": {
          "$ref": "#/components/schemas/EmploymentCustomFieldValue"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "EmploymentCustomFieldValueResponse"
}
object EmploymentFullParams
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/FullParams-Deprecated"
    },
    {
      "$ref": "#/components/schemas/FullParams"
    }
  ],
  "title": "EmploymentFullParams",
  "example": {
    "manager": "Taylor Johnson",
    "full_name": "Jane Smith",
    "job_title": "Backend Engineer",
    "company_id": "e31adae1-company-id-af5fba7dd803",
    "country_code": "AUS",
    "department_id": "3bb56f01-3243-412b-bfaa-a5cfaaf2e431",
    "personal_email": "jane@smith.com",
    "address_details": {},
    "contract_details": {},
    "personal_details": {},
    "basic_information": {
      "name": "Jane Smith",
      "email": "jane@smith.com",
      "job_title": "Backend Engineer",
      "has_seniority_date": "no",
      "provisional_start_date": "2021-07-03"
    },
    "bank_account_details": {},
    "pricing_plan_details": {
      "frequency": "annually"
    },
    "administrative_details": {},
    "provisional_start_date": "2021-07-03",
    "billing_address_details": {},
    "emergency_contact_details": {}
  },
  "required": [
    "full_name",
    "personal_email",
    "job_title",
    "country_code"
  ],
  "x-struct": null,
  "properties": {
    "manager": {
      "type": "string",
      "example": "Taylor Johnson"
    },
    "full_name": {
      "type": "string",
      "example": "Jane Smith"
    },
    "job_title": {
      "type": "string",
      "example": "Backend Engineer"
    },
    "company_id": {
      "type": "string",
      "example": "e31adae1-company-id-af5fba7dd803"
    },
    "country_code": {
      "type": "string",
      "example": "AUS"
    },
    "department_id": {
      "type": "string",
      "example": "3bb56f01-3243-412b-bfaa-a5cfaaf2e431"
    },
    "personal_email": {
      "type": "string",
      "example": "jane@smith.com"
    },
    "address_details": {
      "type": "object",
      "properties": {}
    },
    "contract_details": {
      "type": "object",
      "properties": {}
    },
    "personal_details": {
      "type": "object",
      "properties": {}
    },
    "basic_information": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "Jane Smith"
        },
        "email": {
          "type": "string",
          "example": "jane@smith.com"
        },
        "job_title": {
          "type": "string",
          "example": "Backend Engineer"
        },
        "has_seniority_date": {
          "type": "string",
          "example": "no"
        },
        "provisional_start_date": {
          "type": "string",
          "example": "2021-07-03"
        }
      }
    },
    "bank_account_details": {
      "type": "object",
      "properties": {}
    },
    "pricing_plan_details": {
      "type": "object",
      "properties": {
        "frequency": {
          "type": "string",
          "example": "annually"
        }
      }
    },
    "administrative_details": {
      "type": "object",
      "properties": {}
    },
    "provisional_start_date": {
      "type": "string",
      "example": "2021-07-03"
    },
    "billing_address_details": {
      "type": "object",
      "properties": {}
    },
    "emergency_contact_details": {
      "type": "object",
      "properties": {}
    }
  },
  "x-validate": null,
  "description": "Description of the basic required and onboarding tasks params to create an employment.\nYou do not need to include all onboarding tasks when creating or updating an employment.\n"
}
string EmploymentLifecycleStage
{
  "enum": [
    "employment_creation",
    "employee_self_enrollment",
    "right_to_work_check",
    "contract_signing",
    "remote_enrollment",
    "onboarded",
    "offboarded"
  ],
  "type": "string",
  "title": "EmploymentLifecycleStage",
  "example": "employee_self_enrollment",
  "x-struct": null,
  "x-validate": null,
  "description": "The stage of employment lifecycle. When it's `onboarded` means the employee is ready to commence or has already commenced."
}
object EmploymentResponse
{
  "type": "object",
  "title": "EmploymentResponse",
  "example": {
    "data": {
      "employment": {
        "id": "20a72f86-employment-id-9e4942a902ff",
        "type": "employee",
        "files": [],
        "status": "created",
        "country": {
          "code": "AUT",
          "name": "Austria"
        },
        "full_name": "Jane Smith",
        "job_title": "Engineer",
        "company_id": "e31adae1-company-id-af5fba7dd803",
        "created_at": "2021-11-11T18:44:39",
        "updated_at": "2021-11-11T18:44:39",
        "work_email": "jane.smith@company.com",
        "user_status": "active",
        "personal_email": "jane@smith.com",
        "address_details": {},
        "contract_details": {},
        "onboarding_tasks": {
          "address_details": {
            "status": "completed",
            "description": "Primary residence."
          },
          "contract_details": {
            "status": "completed",
            "description": "Employee-specific details for their employment agreement."
          },
          "personal_details": {
            "status": "completed",
            "description": "Personal details, such as name and date of birth."
          },
          "bank_account_details": {
            "status": "completed",
            "description": "Bank account used for receiving salary payments."
          },
          "pricing_plan_details": {
            "status": "completed",
            "description": "How often Remote will bill employers for management fees."
          },
          "administrative_details": {
            "status": "completed",
            "description": "Information we need for tax purposes."
          },
          "billing_address_details": {
            "status": "completed",
            "description": "Address associated with the employee's bank account."
          },
          "emergency_contact_details": {
            "status": "completed",
            "description": "Who should be called in an emergency."
          },
          "employment_document_details": {
            "status": "pending",
            "description": "We need some additional documents."
          }
        },
        "personal_details": {},
        "basic_information": {},
        "bank_account_details": [],
        "pricing_plan_details": {
          "frequency": "annually"
        },
        "administrative_details": {},
        "provisional_start_date": "2021-07-03",
        "billing_address_details": {},
        "emergency_contact_details": {}
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "x-struct": null,
      "properties": {
        "employment": {
          "$ref": "#/components/schemas/Employment"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Complete information of an employment"
}
string EmploymentSeniorityDate
{
  "type": "string",
  "title": "EmploymentSeniorityDate",
  "format": "date-time",
  "example": "2022-03-21",
  "x-struct": null,
  "x-validate": null,
  "description": "The date the employee first started working for your company. If you don’t include a seniority date,\nthe employee’s start date with Remote will be deemed as the start of the employee’s seniority.\n\n**Example**: Your employee started working for your company on Feb 1, 2022.\nOn Aug 1, 2022, you transferred the employee to Remote and started managing them on the platform.\nFeb 1, 2022 would be their seniority date. Aug 1, 2022 would be their starting date.\n"
}
string EmploymentStatus
{
  "enum": [
    "active",
    "created",
    "created_awaiting_reserve",
    "created_reserve_paid",
    "initiated",
    "invited",
    "pending",
    "review",
    "archived",
    "deleted"
  ],
  "type": "string",
  "title": "EmploymentStatus",
  "example": "active",
  "x-struct": null,
  "x-validate": null,
  "description": "The status of employment"
}
string EmploymentTermType
{
  "enum": [
    "fixed",
    "indefinite"
  ],
  "type": "string",
  "title": "EmploymentTermType",
  "example": "fixed",
  "x-struct": null,
  "x-validate": null
}
object EmploymentUpdateParams
{
  "type": "object",
  "title": "EmploymentUpdateParams",
  "example": {
    "status": "active"
  },
  "x-struct": null,
  "properties": {
    "status": {
      "$ref": "#/components/schemas/EmploymentStatus"
    }
  },
  "x-validate": null,
  "description": "Required params to update an employment in the Sandbox environment.\n\nCurrently only supports setting the Employment Status to `active`.\n"
}
object Expense
{
  "type": "object",
  "title": "Expense",
  "example": {
    "title": "New desk",
    "amount": 1000,
    "currency": {
      "code": "CZK",
      "name": "Czech Koruna",
      "symbol": "Kč"
    },
    "receipts": [
      {
        "id": "9880b711-file-id-ecf8f551bd78X",
        "name": "id.pdf",
        "type": "id",
        "sub_type": "personal_id",
        "inserted_at": "2021-11-12T17:19:21"
      }
    ],
    "tax_amount": 500,
    "expense_date": "2021-09-03",
    "employment_id": "ba9ead59-e471-4043-a7ea-07dbb105e72c",
    "converted_amount": 1000,
    "converted_currency": {
      "code": "CZK",
      "name": "Czech Koruna",
      "symbol": "Kč"
    },
    "converted_tax_amount": 500
  },
  "required": [
    "id",
    "title",
    "employment_id",
    "amount",
    "converted_amount",
    "currency",
    "converted_currency",
    "expense_date",
    "tax_amount",
    "converted_tax_amount"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "notes": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "reason": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "canceled",
        "pending",
        "declined",
        "approved",
        "processing",
        "reimbursed"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Expense status"
    },
    "category": {
      "enum": [
        "education_training",
        "home_office",
        "meals",
        "other",
        "phone_utilities",
        "tech_equipment",
        "travel",
        "coworking"
      ],
      "type": "string",
      "nullable": false,
      "x-struct": null,
      "x-validate": null,
      "description": "Categories allowed for an expense"
    },
    "currency": {
      "$ref": "#/components/schemas/CurrencyDefinition"
    },
    "receipts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      },
      "maxItems": 5,
      "nullable": false,
      "x-struct": null,
      "x-validate": null
    },
    "reviewer": {
      "type": "object",
      "nullable": true,
      "x-struct": null,
      "properties": {
        "user_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "user_name": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "user_email": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    },
    "tax_amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "reviewed_at": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "expense_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "invoice_period": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "converted_amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "converted_currency": {
      "$ref": "#/components/schemas/CurrencyDefinition"
    },
    "converted_tax_amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Expense"
}
object ExpenseResponse
{
  "type": "object",
  "title": "ExpenseResponse",
  "example": {
    "data": {
      "expense": {
        "title": "New desk",
        "amount": 1000,
        "currency": {
          "code": "CZK",
          "name": "Czech Koruna",
          "symbol": "Kč"
        },
        "receipts": [
          {
            "id": "9880b711-file-id-ecf8f551bd78X",
            "name": "id.pdf",
            "type": "id",
            "sub_type": "personal_id",
            "inserted_at": "2021-11-12T17:19:21"
          }
        ],
        "tax_amount": 500,
        "expense_date": "2021-09-03",
        "employment_id": "ba9ead59-e471-4043-a7ea-07dbb105e72c",
        "converted_amount": 1000,
        "converted_currency": {
          "code": "CZK",
          "name": "Czech Koruna",
          "symbol": "Kč"
        },
        "converted_tax_amount": 500
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "expense"
      ],
      "x-struct": null,
      "properties": {
        "expense": {
          "$ref": "#/components/schemas/Expense"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Expense response"
}
object File
{
  "type": "object",
  "title": "File",
  "example": {
    "id": "9880b711-file-id-ecf8f551bd78",
    "name": "id.pdf",
    "type": "id",
    "sub_type": "personal_id",
    "inserted_at": "2021-11-12T17:19:21"
  },
  "required": [
    "id",
    "inserted_at",
    "name",
    "type"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "sub_type": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "inserted_at": {
      "type": "string",
      "format": "date-time",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "A supported file"
}
object FileParams
{
  "type": "object",
  "title": "FileParams",
  "required": [
    "file",
    "type",
    "employment_id"
  ],
  "x-struct": null,
  "properties": {
    "file": {
      "type": "string",
      "format": "binary",
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Parameters to upload a file"
}
object FileResponse
{
  "type": "object",
  "title": "FileResponse",
  "example": {
    "data": {
      "file": {
        "id": "9880b711-file-id-ecf8f551bd78X",
        "name": "id.pdf",
        "type": "id",
        "sub_type": "personal_id",
        "inserted_at": "2021-11-12T17:19:21"
      }
    }
  },
  "x-struct": null,
  "properties": {
    "file": {
      "$ref": "#/components/schemas/File"
    }
  },
  "x-validate": null,
  "description": "A supported file"
}
object ForbiddenResponse
{
  "type": "object",
  "title": "ForbiddenResponse",
  "example": {
    "message": "Forbidden"
  },
  "required": [
    "message"
  ],
  "x-struct": null,
  "properties": {
    "message": {
      "type": "string",
      "pattern": "Forbidden",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object FullParams
{
  "type": "object",
  "title": "FullParams",
  "x-struct": null,
  "properties": {
    "country": {
      "$ref": "#/components/schemas/Country"
    },
    "full_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "job_title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "manager_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The user id of the manager, who should have an `admin`, `owner` or `people_manager` role.\nYou can find these users by querying the [Company Managers endpoint](https://gateway.remote.com/v1/docs/openapi.html).\n**Update of this field is only available for active employments.**\n"
    },
    "department_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The department of the employment. The department must belong to the same company as the employment.\n"
    },
    "address_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Home address information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `address_details` as path parameters."
    },
    "contract_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Contract information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `contract_details` as path parameters."
    },
    "personal_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Personal details information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `personal_details` as path parameters."
    },
    "basic_information": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Employment basic information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `employment_basic_information` as path parameters."
    },
    "bank_account_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Bank account information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `bank_account_details` as path parameters."
    },
    "pricing_plan_details": {
      "$ref": "#/components/schemas/PricingPlanDetails"
    },
    "administrative_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Administrative information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `administrative_details` as path parameters."
    },
    "billing_address_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Billing address information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `billing_address_details` as path parameters."
    },
    "emergency_contact_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Emergency contact information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `emergency_contact_details` as path parameters."
    }
  },
  "x-validate": null
}
object FullParams-Deprecated
{
  "type": "object",
  "title": "FullParams-Deprecated",
  "x-struct": null,
  "properties": {
    "country": {
      "$ref": "#/components/schemas/Country"
    },
    "full_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "job_title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "company_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "manager_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The user id of the manager, who should have an `admin`, `owner` or `people_manager` role.\nYou can find these users by querying the [Company Managers endpoint](https://gateway.remote.com/v1/docs/openapi.html).\n**Update of this field is only available for active employments.**\n"
    },
    "personal_email": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "seniority_date": {
      "$ref": "#/components/schemas/EmploymentSeniorityDate"
    },
    "address_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Home address information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `address_details` as path parameters."
    },
    "contract_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Contract information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `contract_details` as path parameters."
    },
    "personal_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Personal details information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `personal_details` as path parameters."
    },
    "bank_account_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Bank account information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `bank_account_details` as path parameters."
    },
    "pricing_plan_details": {
      "$ref": "#/components/schemas/PricingPlanDetails"
    },
    "administrative_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Administrative information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `administrative_details` as path parameters."
    },
    "provisional_start_date": {
      "$ref": "#/components/schemas/ProvisionalStartDate"
    },
    "billing_address_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Billing address information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `billing_address_details` as path parameters."
    },
    "emergency_contact_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Emergency contact information. As its properties may vary depending on the country,\n               you must query the [Show form schema](https://gateway.remote.com/v1/docs/openapi.html) endpoint\n            passing the country code and `emergency_contact_details` as path parameters."
    }
  },
  "x-validate": null,
  "description": "Providing the params in the root level of the request is now deprecated and will be removed in the future.\nPlease, use the \"FullParams\" instead.\n"
}
string GenericFile
{
  "type": "string",
  "title": "GenericFile",
  "format": "binary",
  "x-struct": null,
  "x-validate": null
}
object Holiday
{
  "type": "object",
  "title": "Holiday",
  "example": {
    "day": "2021-01-01",
    "name": "New Year's Day",
    "note": "The day after New Year's Eve",
    "observed_day": "2021-01-02"
  },
  "required": [
    "name",
    "day"
  ],
  "x-struct": null,
  "properties": {
    "day": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null,
      "description": "Date of the holiday"
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Name of the holiday"
    },
    "note": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Notes about the holiday"
    },
    "observed_day": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Date when the holiday is observed"
    }
  },
  "x-validate": null
}
object HolidaysResponse
{
  "type": "object",
  "title": "HolidaysResponse",
  "example": {
    "data": [
      {
        "day": "2021-01-01",
        "name": "New Year's Day",
        "note": "The day after New Year's Eve",
        "observed_day": "2021-01-02"
      }
    ]
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Holiday"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Holidays response"
}
object IdentityClientCredentialsResponse
{
  "type": "object",
  "title": "IdentityClientCredentialsResponse",
  "example": {
    "data": {
      "client_id": "1pws9iw986yq1ec57h159q29l",
      "integration": {
        "name": "integration_partner",
        "display_name": "Integration Display Name",
        "contact_email": "partner_admin@example.com"
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "client_id",
        "integration"
      ],
      "x-struct": null,
      "properties": {
        "client_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "integration": {
          "$ref": "#/components/schemas/IdentityIntegration"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object IdentityCompany
{
  "type": "object",
  "title": "IdentityCompany",
  "example": {
    "id": "afe4dc8d-0c4a-41fe-9fbf-62b752524bdeX",
    "name": "Company"
  },
  "required": [
    "name",
    "id"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object IdentityCompanyAccessTokenResponse
{
  "type": "object",
  "title": "IdentityCompanyAccessTokenResponse",
  "example": {
    "data": {
      "user": {
        "id": "4117f18a-5ccf-473a-b970-608b75f5fafb",
        "name": "Jane Smith",
        "email": "email@example.com",
        "status": "created"
      },
      "company": {
        "id": "afe4dc8d-0c4a-41fe-9fbf-62b752524bde",
        "name": "Company"
      },
      "client_id": "1pws9iw986yq1ec57h159q29l",
      "integration": {
        "name": "integration_partner",
        "display_name": "Integration Display Name",
        "contact_email": "partner_admin@example.com"
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "client_id",
        "company",
        "integration",
        "user"
      ],
      "x-struct": null,
      "properties": {
        "user": {
          "$ref": "#/components/schemas/IdentityUser"
        },
        "company": {
          "$ref": "#/components/schemas/IdentityCompany"
        },
        "client_id": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "integration": {
          "$ref": "#/components/schemas/IdentityIntegration"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object IdentityCurrentResponse
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/IdentityClientCredentialsResponse"
    },
    {
      "$ref": "#/components/schemas/IdentityCompanyAccessTokenResponse"
    },
    {
      "$ref": "#/components/schemas/IdentityCustomerAccessTokenResponse"
    }
  ],
  "title": "IdentityCurrentResponse",
  "x-struct": null,
  "x-validate": null
}
object IdentityCustomerAccessTokenResponse
{
  "type": "object",
  "title": "IdentityCustomerAccessTokenResponse",
  "example": {
    "data": {
      "user": {
        "id": "4117f18a-5ccf-473a-b970-608b75f5fafbX",
        "name": "Jane Smith",
        "email": "email@example.com",
        "status": "created"
      },
      "company": {
        "id": "afe4dc8d-0c4a-41fe-9fbf-62b752524bdeX",
        "name": "Company"
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "company",
        "user"
      ],
      "x-struct": null,
      "properties": {
        "user": {
          "$ref": "#/components/schemas/IdentityUser"
        },
        "company": {
          "$ref": "#/components/schemas/IdentityCompany"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object IdentityIntegration
{
  "type": "object",
  "title": "IdentityIntegration",
  "example": {
    "name": "integration_partner",
    "display_name": "Integration Display Name",
    "contact_email": "partner_admin@example.com"
  },
  "required": [
    "contact_email",
    "display_name",
    "name"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "display_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "contact_email": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object IdentityUser
{
  "type": "object",
  "title": "IdentityUser",
  "example": {
    "id": "4117f18a-5ccf-473a-b970-608b75f5fafbX",
    "name": "Jane Smith",
    "email": "email@example.com",
    "status": "created"
  },
  "required": [
    "email",
    "name",
    "id",
    "status"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "email": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object IdentityVerificationResponse
{
  "type": "object",
  "title": "IdentityVerificationResponse",
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {},
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Identity Verification response"
}
object Incentive
{
  "type": "object",
  "title": "Incentive",
  "example": {
    "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1X",
    "note": "Signing bonus",
    "type": "signing_bonus",
    "amount": 50000,
    "status": "pending",
    "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d",
    "effective_date": "2021-12-20",
    "amount_tax_type": "net",
    "expected_payout_date": "2021-12-31",
    "recurring_incentive_id": "1c130827-f95c-4495-b7cb-5876dce686b8"
  },
  "required": [
    "id",
    "employment_id",
    "type",
    "status",
    "amount",
    "amount_tax_type",
    "effective_date"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "note": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "effective_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "amount_tax_type": {
      "$ref": "#/components/schemas/AmountTaxType"
    },
    "expected_payout_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "recurring_incentive_id": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object IncentiveResponse
{
  "type": "object",
  "title": "IncentiveResponse",
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "incentive"
      ],
      "x-struct": null,
      "properties": {
        "incentive": {
          "$ref": "#/components/schemas/Incentive"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Incentive response"
}
object InternalServerErrorResponse
{
  "type": "object",
  "anyOf": [
    {
      "$ref": "#/components/schemas/ValidationError"
    },
    {
      "$ref": "#/components/schemas/MessageResponse"
    }
  ],
  "title": "InternalServerErrorResponse",
  "x-struct": null,
  "x-validate": null
}
object JSONSchema
{
  "type": "object",
  "title": "JSONSchema",
  "example": {
    "schema": {
      "type": "object",
      "required": [
        "ssn"
      ],
      "properties": {
        "ssn": {
          "type": "string",
          "title": "Social security number",
          "pattern": "^[0-9]{3}-[0-9]{2}-(?!0{4})[0-9]{4}$",
          "x-jsf-presentation": {
            "mask": "999-99-9999",
            "inputType": "text",
            "maskSecret": 4,
            "maskPlaceholder": "AAA-GG-SSSS"
          }
        }
      },
      "x-jsf-order": [
        "ssn"
      ]
    },
    "version": 7
  },
  "x-struct": null,
  "properties": {
    "schema": {
      "type": "object",
      "required": [
        "properties"
      ],
      "x-struct": null,
      "properties": {
        "required": {
          "type": "array",
          "items": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "x-struct": null,
          "x-validate": null
        },
        "properties": {
          "type": "object",
          "x-struct": null,
          "x-validate": null,
          "additionalProperties": true
        },
        "x-jsf-order": {
          "type": "array",
          "items": {
            "type": "string",
            "x-struct": null,
            "x-validate": null
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    },
    "version": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "JSON Schema"
}
object JSONSchemaResponse
{
  "type": "object",
  "title": "JSONSchemaResponse",
  "example": {
    "data": {
      "schema": {
        "type": "object",
        "required": [
          "ssn"
        ],
        "properties": {
          "ssn": {
            "type": "string",
            "title": "Social security number",
            "pattern": "^[0-9]{3}-[0-9]{2}-(?!0{4})[0-9]{4}$",
            "x-jsf-presentation": {
              "mask": "999-99-9999",
              "inputType": "text",
              "maskSecret": 4,
              "maskPlaceholder": "AAA-GG-SSSS"
            }
          }
        },
        "x-jsf-order": [
          "ssn"
        ]
      },
      "version": 7
    }
  },
  "x-struct": null,
  "properties": {
    "data": {
      "$ref": "#/components/schemas/JSONSchema"
    }
  },
  "x-validate": null,
  "description": "JSON Schema Response"
}
object ListCompanyDepartmentsPaginatedResponse
{
  "type": "object",
  "title": "ListCompanyDepartmentsPaginatedResponse",
  "example": {
    "data": {
      "company_departments": [
        {
          "id": "89c4fbb2-cd1f-4334-8e4b-280f8795bbd8",
          "name": "Marketing",
          "company_id": "669f9e18-889f-4c2c-95b8-67795a3113cc"
        }
      ]
    },
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1
  },
  "required": [
    "data",
    "current_page",
    "total_pages",
    "total_count"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "company_departments"
      ],
      "x-struct": null,
      "properties": {
        "company_departments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CompanyDepartment"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    },
    "total_count": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "total_pages": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "current_page": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object ListContractAmendmentResponse
{
  "type": "object",
  "title": "ListContractAmendmentResponse",
  "example": {
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1,
    "contract_amendments": [
      {
        "id": "ba310525-9282-40c9-8977-14d844bf891aX",
        "status": "submitted",
        "job_title": "Engineer",
        "requested_by": "5a31f3c1-d7a7-4311-89cb-928959d3d540",
        "submitted_at": "2023-04-13T13:35:06Z",
        "employment_id": "1e74fdc2-7420-4eef-ab0a-b794cbbef4e1",
        "reason_for_change": "annual_pay_adjustment",
        "requested_effective_date": "2023-04-13T13:35:06Z"
      }
    ]
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        },
        "contract_amendments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MinimalContractAmendment"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many contract_amendments"
}
object ListEmploymentContractResponse
{
  "type": "object",
  "title": "ListEmploymentContractResponse",
  "example": {
    "data": {
      "employment_contracts": [
        {
          "status": "active",
          "country": {
            "code": "CAN",
            "name": "Canada"
          },
          "job_title": "Engineer",
          "contract_id": "20a72f86-contract-id-9e4942a902ff",
          "activated_at": "2021-07-15T18:18:17Z",
          "compensation": {
            "amount": 33000,
            "currency_code": "CAD"
          },
          "effective_at": "2021-07-15T18:18:17Z",
          "contract_details": {},
          "amendment_contract_id": "e31adae1-contract-id-af5fba7dd803"
        }
      ]
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "employment_contracts"
      ],
      "x-struct": null,
      "properties": {
        "employment_contracts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/EmploymentContract"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object ListEmploymentCustomFieldsResponse
{
  "type": "object",
  "title": "ListEmploymentCustomFieldsResponse",
  "example": {
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1,
    "custom_fields": [
      {
        "id": "01c0e4d2-f41b-11ed-9d3f-cb3ecccebb58",
        "name": "Internal ID",
        "type": "string"
      }
    ]
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        },
        "custom_fields": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/EmploymentCustomField"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many custom_fields"
}
object ListEmploymentsResponse
{
  "type": "object",
  "title": "ListEmploymentsResponse",
  "example": {
    "employments": [
      {
        "id": "add736b8-employment-id-a76ccae2abe8",
        "type": "employee",
        "status": "created",
        "country": {
          "code": "AUS",
          "name": "Australia"
        },
        "full_name": "Jane Smith",
        "job_title": "Engineer",
        "department": null,
        "department_id": null,
        "personal_email": "janesmith@company.com"
      }
    ],
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "employments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MinimalEmployment"
          },
          "x-struct": null,
          "x-validate": null
        },
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many employments"
}
object ListExpenseResponse
{
  "type": "object",
  "title": "ListExpenseResponse",
  "example": {
    "expenses": [
      {
        "title": "New desk",
        "amount": 1000,
        "currency": {
          "code": "CZK",
          "name": "Czech Koruna",
          "symbol": "Kč"
        },
        "receipts": [
          {
            "id": "9880b711-file-id-ecf8f551bd78X",
            "name": "id.pdf",
            "type": "id",
            "sub_type": "personal_id",
            "inserted_at": "2021-11-12T17:19:21"
          }
        ],
        "tax_amount": 500,
        "expense_date": "2021-09-03",
        "employment_id": "ba9ead59-e471-4043-a7ea-07dbb105e72c",
        "converted_amount": 1000,
        "converted_currency": {
          "code": "CZK",
          "name": "Czech Koruna",
          "symbol": "Kč"
        },
        "converted_tax_amount": 500
      }
    ],
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "expenses": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Expense"
          },
          "x-struct": null,
          "x-validate": null
        },
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many expenses"
}
object ListIncentivesResponse
{
  "type": "object",
  "title": "ListIncentivesResponse",
  "example": {
    "incentives": [
      {
        "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1X",
        "note": "Signing bonus",
        "type": "signing_bonus",
        "amount": 50000,
        "status": "pending",
        "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d",
        "effective_date": "2021-12-20",
        "amount_tax_type": "net",
        "expected_payout_date": "2021-12-31",
        "recurring_incentive_id": "1c130827-f95c-4495-b7cb-5876dce686b8"
      }
    ],
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "incentives": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Incentive"
          },
          "x-struct": null,
          "x-validate": null
        },
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many incentives"
}
object ListOffboardingResponse
{
  "type": "object",
  "title": "ListOffboardingResponse",
  "example": {
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1,
    "offboardings": [
      {
        "id": "ba310525-9282-40c9-8977-14d844bf891aX",
        "type": "termination",
        "status": "submitted",
        "confidential": false,
        "requested_by": "5a31f3c1-d7a7-4311-89cb-928959d3d540",
        "submitted_at": "2023-04-13T13:35:06Z",
        "employment_id": "1e74fdc2-7420-4eef-ab0a-b794cbbef4e1",
        "termination_date": "2023-12-20",
        "employee_awareness": {
          "date": "2023-12-12",
          "note": "optional text to add details"
        },
        "termination_reason": "workforce_reduction",
        "additional_comments": "",
        "agrees_to_pto_amount": "true",
        "risk_assessment_reasons": [
          "pregnant_or_breastfeeding",
          "family_leave"
        ],
        "proposed_termination_date": "2023-12-20",
        "will_challenge_termination": true,
        "will_challenge_termination_description": "additional details for the offboarding risk assessment"
      }
    ]
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        },
        "offboardings": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Offboarding"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many offboardings"
}
object ListPayslipsResponse
{
  "type": "object",
  "title": "ListPayslipsResponse",
  "example": {
    "payslips": [
      {
        "id": "93t3j-employment-id-9suej43X",
        "issued_at": "2021-07-01",
        "employment_id": "98d3f-employment-id-1oi45n",
        "expected_payout_date": "2021-07-01",
        "net_pay_source_amount": 1000000,
        "net_pay_converted_amount": 1500000
      }
    ],
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "payslips": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Payslip"
          },
          "x-struct": null,
          "x-validate": null
        },
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many payslips"
}
object ListRecurringIncentivesResponse
{
  "type": "object",
  "title": "ListRecurringIncentivesResponse",
  "example": {
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1,
    "recurring_incentives": [
      {
        "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1X",
        "note": "Monthly stipend to buy food",
        "type": "meal_allowance",
        "amount": 50000,
        "status": "active",
        "end_date": "2022-12-20",
        "start_date": "2021-12-20",
        "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d",
        "amount_tax_type": "net"
      }
    ]
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        },
        "recurring_incentives": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/RecurringIncentive"
          },
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many recurring_incentives"
}
object ListTimeoffResponse
{
  "type": "object",
  "title": "ListTimeoffResponse",
  "example": {
    "timeoffs": [
      {
        "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1X",
        "notes": "Some notes",
        "status": "approved",
        "document": {
          "id": "9880b711-file-id-ecf8f551bd78X",
          "name": "id.pdf",
          "type": "id",
          "sub_type": "personal_id",
          "inserted_at": "2021-11-12T17:19:21"
        },
        "end_date": "2021-12-21",
        "timezone": "Asia/Kolkata",
        "start_date": "2021-12-20",
        "timeoff_days": [
          {
            "day": "2021-12-20",
            "hours": 8
          },
          {
            "day": "2021-12-21",
            "hours": 8
          }
        ],
        "timeoff_type": "paid_time_off",
        "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d"
      }
    ],
    "total_count": 1,
    "total_pages": 1,
    "current_page": 1
  },
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "timeoffs": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Timeoff"
          },
          "x-struct": null,
          "x-validate": null
        },
        "total_count": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of records in the result"
        },
        "total_pages": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The total number of pages the user can go through"
        },
        "current_page": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The current page among all of the total_pages"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Response schema listing many timeoffs"
}
object ListTimeoffTypesResponse
{
  "type": "object",
  "title": "ListTimeoffTypesResponse",
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "name": {
          "$ref": "#/components/schemas/TimeoffType"
        },
        "description": {
          "type": "string",
          "nullable": true,
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Time off types response"
}
object MaybeBenefitTier
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/BenefitTier"
    }
  ],
  "title": "MaybeBenefitTier",
  "example": {
    "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04",
    "name": "Premium 2023 (Medical, Dental and Vision)",
    "providers": [
      {
        "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87",
        "name": "Health Provider"
      }
    ]
  },
  "nullable": true,
  "x-struct": null,
  "x-validate": null
}
object MessageResponse
{
  "type": "object",
  "title": "MessageResponse",
  "required": [
    "message"
  ],
  "x-struct": null,
  "properties": {
    "message": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object MinimalContractAmendment
{
  "type": "object",
  "title": "MinimalContractAmendment",
  "example": {
    "id": "ba310525-9282-40c9-8977-14d844bf891aX",
    "status": "submitted",
    "job_title": "Engineer",
    "requested_by": "5a31f3c1-d7a7-4311-89cb-928959d3d540",
    "submitted_at": "2023-04-13T13:35:06Z",
    "employment_id": "1e74fdc2-7420-4eef-ab0a-b794cbbef4e1",
    "reason_for_change": "annual_pay_adjustment",
    "requested_effective_date": "2023-04-13T13:35:06Z"
  },
  "required": [
    "id",
    "employment_id",
    "status",
    "requested_by",
    "submitted_at",
    "requested_effective_date",
    "reason_for_change"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "submitted",
        "in_review",
        "done",
        "canceled",
        "deleted"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "job_title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "requested_by": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "submitted_at": {
      "type": "string",
      "format": "datetime",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "reason_for_change": {
      "enum": [
        "annual_pay_adjustment",
        "country_rule_change",
        "error_correction",
        "job_change_reevaluation",
        "promotion",
        "other"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "requested_effective_date": {
      "type": "string",
      "format": "datetime",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Minimal Contract Amendment"
}
object MinimalCountry
{
  "type": "object",
  "title": "MinimalCountry",
  "example": {
    "code": "PRT",
    "name": "Portugal",
    "slug": "portugal-ab18d96a-a9fd-42c0-9688-24f963d8bdc1",
    "alpha_2_code": "PT"
  },
  "required": [
    "alpha_2_code",
    "code",
    "name",
    "slug"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "slug": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "features": {
      "type": "array",
      "items": {
        "type": "string",
        "x-struct": null,
        "x-validate": null
      },
      "x-struct": null,
      "x-validate": null
    },
    "alpha_2_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object MinimalEmployment
{
  "type": "object",
  "title": "MinimalEmployment",
  "example": {
    "id": "add736b8-employment-id-a76ccae2abe8X",
    "type": "employee",
    "status": "created",
    "country": {
      "code": "AUS",
      "name": "Australia"
    },
    "full_name": "Jane Smith",
    "job_title": "Engineer",
    "department": null,
    "department_id": null,
    "personal_email": "janesmith@company.com"
  },
  "required": [
    "country",
    "full_name",
    "id",
    "job_title",
    "personal_email",
    "status",
    "type"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "enum": [
        "employee",
        "contractor",
        "direct_employee",
        "global_payroll_employee"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "$ref": "#/components/schemas/EmploymentStatus"
    },
    "country": {
      "$ref": "#/components/schemas/Country"
    },
    "full_name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "job_title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "department": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Name of related department, if any. Otherwise, null."
    },
    "department_id": {
      "type": "string",
      "title": "Slug",
      "example": "663e0b79-c893-45ff-a1b2-f6dcabc098b5",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Unique ID of related department, if any. Otherwise, null."
    },
    "personal_email": {
      "type": "string",
      "format": "email",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Minimal information of an employment."
}
object MinimalRegion
{
  "type": "object",
  "title": "MinimalRegion",
  "example": {
    "code": "USA",
    "name": "United States",
    "slug": "663e0b79-c893-45ff-a1b2-f6dcabc098b5"
  },
  "required": [
    "name",
    "slug"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "slug": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "$ref": "#/components/schemas/RegionStatus"
    },
    "child_regions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MinimalRegion"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object NotFoundResponse
{
  "type": "object",
  "title": "NotFoundResponse",
  "example": {
    "message": "{resource} not found"
  },
  "x-struct": null,
  "properties": {
    "message": {
      "type": "string",
      "pattern": "Not Found",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
string NullableApproverId
{
  "type": "string",
  "title": "NullableApproverId",
  "example": "51546f60-dd71-4223-9312-4efede68a497",
  "nullable": true,
  "x-struct": null,
  "x-validate": null,
  "description": "The field matches the `id` of a user in the\nRemote Platform that has permission to approve time off\nrequests. [Available users][] can be found fetching\nthe [List Company Manager][] endpoint.\n\n[Available users]: https://support.remote.com/hc/en-us/articles/360054668651-Approving-Declining-time-off-requests#h_01G0014GZKZ3EMN6P7C99HAK55\n[List Company Manager]: https://gateway.remote.com/v1/docs/openapi.html#tag/Company-Managers\n"
}
string NullableDateTime
{
  "type": "string",
  "title": "NullableDateTime",
  "format": "datetime",
  "example": "2021-07-15T18:18:17",
  "nullable": true,
  "x-struct": null,
  "x-validate": null,
  "description": "Optional UTC date time in YYYY-MM-DDTHH:mm:ss format"
}
object OAuth2TokenParams
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/AuthorizationCodeParams"
    },
    {
      "$ref": "#/components/schemas/ClientCredentialsParams"
    },
    {
      "$ref": "#/components/schemas/RefreshTokenParams"
    }
  ],
  "title": "OAuth2TokenParams",
  "example": {
    "code": "eyJhbG...xb6H0",
    "grant_type": "authorization_code"
  },
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "example": "eyJhbG...xb6H0"
    },
    "grant_type": {
      "type": "string",
      "example": "authorization_code"
    }
  },
  "x-validate": null
}
object OAuth2Tokens
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/AuthorizationCodeResponse"
    },
    {
      "$ref": "#/components/schemas/BaseTokenResponse"
    },
    {
      "$ref": "#/components/schemas/RefreshTokenResponse"
    }
  ],
  "title": "OAuth2Tokens",
  "x-struct": null,
  "x-validate": null
}
object Offboarding
{
  "type": "object",
  "title": "Offboarding",
  "example": {
    "id": "ba310525-9282-40c9-8977-14d844bf891aX",
    "type": "termination",
    "status": "submitted",
    "confidential": false,
    "requested_by": "5a31f3c1-d7a7-4311-89cb-928959d3d540",
    "submitted_at": "2023-04-13T13:35:06Z",
    "employment_id": "1e74fdc2-7420-4eef-ab0a-b794cbbef4e1",
    "termination_date": "2023-12-20",
    "employee_awareness": {
      "date": "2023-12-12",
      "note": "optional text to add details"
    },
    "termination_reason": "workforce_reduction",
    "additional_comments": "",
    "agrees_to_pto_amount": "true",
    "risk_assessment_reasons": [
      "pregnant_or_breastfeeding",
      "family_leave"
    ],
    "proposed_termination_date": "2023-12-20",
    "will_challenge_termination": true,
    "will_challenge_termination_description": "additional details for the offboarding risk assessment"
  },
  "x-struct": null,
  "properties": {
    "offboarding": {
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/components/schemas/ResignationOffboarding"
        },
        {
          "$ref": "#/components/schemas/TerminationOffboarding"
        }
      ],
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Offboarding"
}
object OffboardingFile
{
  "type": "object",
  "title": "OffboardingFile",
  "required": [
    "name",
    "content"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The file name"
    },
    "content": {
      "type": "string",
      "format": "binary",
      "x-struct": null,
      "x-validate": null,
      "description": "The content in base64 encoding"
    }
  },
  "x-validate": null
}
object OffboardingResponse
{
  "type": "object",
  "title": "OffboardingResponse",
  "example": {
    "data": {
      "offboarding": {
        "id": "ba310525-9282-40c9-8977-14d844bf891aX",
        "type": "termination",
        "status": "submitted",
        "confidential": false,
        "requested_by": "5a31f3c1-d7a7-4311-89cb-928959d3d540",
        "submitted_at": "2023-04-13T13:35:06Z",
        "employment_id": "1e74fdc2-7420-4eef-ab0a-b794cbbef4e1",
        "termination_date": "2023-12-20",
        "employee_awareness": {
          "date": "2023-12-12",
          "note": "optional text to add details"
        },
        "termination_reason": "workforce_reduction",
        "additional_comments": "",
        "agrees_to_pto_amount": "true",
        "risk_assessment_reasons": [
          "pregnant_or_breastfeeding",
          "family_leave"
        ],
        "proposed_termination_date": "2023-12-20",
        "will_challenge_termination": true,
        "will_challenge_termination_description": "additional details for the offboarding risk assessment"
      }
    }
  },
  "x-struct": null,
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Offboarding"
    }
  },
  "x-validate": null,
  "description": "Offboarding response"
}
object OfferedBenefitGroup
{
  "type": "object",
  "title": "OfferedBenefitGroup",
  "example": {
    "benefit_group": {
      "id": "54297cfd-cf60-4cf4-a70f-ac2061d72b44",
      "name": "Health",
      "policy_end_date": "2024-12-31",
      "policy_start_date": "2024-01-01"
    },
    "employee_stats": {
      "number_of_employees_offered": 12,
      "number_of_employees_enrolled": 10
    },
    "offered_benefit_tiers": [
      {
        "benefit_tier": {
          "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
          "name": "Premium 2023 (Medical, Dental and Vision)",
          "providers": [
            {
              "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
              "name": "Health Provider"
            }
          ]
        },
        "employee_stats": {
          "number_of_employees_offered": 12,
          "number_of_employees_enrolled": 10
        }
      }
    ]
  },
  "required": [
    "benefit_group",
    "employee_stats",
    "offered_benefit_tiers"
  ],
  "x-struct": null,
  "properties": {
    "benefit_group": {
      "$ref": "#/components/schemas/BenefitGroup"
    },
    "employee_stats": {
      "$ref": "#/components/schemas/EmployeeStats"
    },
    "offered_benefit_tiers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OfferedBenefitTier"
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object OfferedBenefitTier
{
  "type": "object",
  "title": "OfferedBenefitTier",
  "example": {
    "benefit_tier": {
      "id": "66297cfd-cf60-4cf4-a70f-ac2561d92b04X",
      "name": "Premium 2023 (Medical, Dental and Vision)",
      "providers": [
        {
          "id": "88297cfd-cf60-4cf4-a70f-ac2861d92b87X",
          "name": "Health Provider"
        }
      ]
    },
    "employee_stats": {
      "number_of_employees_offered": 12,
      "number_of_employees_enrolled": 10
    }
  },
  "required": [
    "benefit_tier",
    "employee_stats"
  ],
  "x-struct": null,
  "properties": {
    "benefit_tier": {
      "$ref": "#/components/schemas/BenefitTier"
    },
    "employee_stats": {
      "$ref": "#/components/schemas/EmployeeStats"
    }
  },
  "x-validate": null
}
object ParameterError
{
  "type": "object",
  "title": "ParameterError",
  "required": [
    "code",
    "message",
    "param"
  ],
  "x-struct": null,
  "properties": {
    "code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "An error code that describes the nature of the error."
    },
    "param": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The parameter that lead to the error message."
    },
    "message": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "A developer friendly error message that gives details on what the error was and how it may be remedied."
    }
  },
  "x-validate": null
}
array ParameterErrors
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/ParameterError"
  },
  "title": "ParameterErrors",
  "x-struct": null,
  "x-validate": null
}
object ParamsToCreateExpense
{
  "type": "object",
  "title": "ParamsToCreateExpense",
  "example": {
    "title": "new keyboard",
    "amount": 8000,
    "receipt": {
      "name": "receipt.pdf",
      "content": "UGVyaW9kIEVuZCBEYXRlLFBheSBEYXRlLEVtcG...5jZSBPZiBSZXNpZGVuYdXJyZW50LEFsbG93"
    },
    "category": "home_office",
    "currency": "EUR",
    "timezone": "Etc/UTC",
    "tax_amount": 0,
    "reviewed_at": "2023-01-11T11:12:13Z",
    "reviewer_id": "14c14128-f5f4-475a-8ec0-6329b4832a61",
    "expense_date": "2020-12-11",
    "employment_id": "d4ebc714-4950-47a9-a464-28e1f1ab2a90"
  },
  "required": [
    "expense_date",
    "title",
    "amount",
    "currency",
    "employment_id"
  ],
  "x-struct": null,
  "properties": {
    "title": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "receipt": {
      "$ref": "#/components/schemas/Base64File"
    },
    "category": {
      "enum": [
        "education_training",
        "home_office",
        "meals",
        "other",
        "phone_utilities",
        "tech_equipment",
        "travel",
        "coworking"
      ],
      "type": "string",
      "nullable": false,
      "x-struct": null,
      "x-validate": null,
      "description": "Categories allowed for an expense"
    },
    "currency": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "  The three-letter code for the expense currency.<br/>\n  Examples: `\"USD\"`, `\"EUR\"`, `\"CAD\"`\n"
    },
    "receipts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Base64File"
      },
      "maxItems": 5,
      "x-struct": null,
      "x-validate": null
    },
    "timezone": {
      "$ref": "#/components/schemas/Timezone"
    },
    "tax_amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "reviewed_at": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null,
      "description": "The date and time that the expense was reviewed in ISO8601 format. If not provided, it defaults to the current datetime."
    },
    "reviewer_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "If the person reviewing the expense is a user in Remote, you can provide its user id for this field. If a value is not provided, defaults to the user that generated the API token."
    },
    "expense_date": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Date of the purchase, which must be in the past"
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The ID for the employment to which this expense relates."
    }
  },
  "x-validate": null,
  "description": "  All the params needed to create an expense.\n\n  An expense can be created using the `receipt` or `receipts` fields; however, these fields are not allowed together within the same object.\"\n"
}
object Payslip
{
  "type": "object",
  "title": "Payslip",
  "example": {
    "id": "93t3j-employment-id-9suej43X",
    "issued_at": "2021-07-01",
    "employment_id": "98d3f-employment-id-1oi45n",
    "expected_payout_date": "2021-07-01",
    "net_pay_source_amount": 1000000,
    "net_pay_converted_amount": 1500000
  },
  "required": [
    "id",
    "issued_at",
    "employment_id"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "issued_at": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "expected_payout_date": {
      "$ref": "#/components/schemas/Date"
    },
    "net_pay_source_amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "This field is only shown if available"
    },
    "net_pay_converted_amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "This field is only shown if available"
    }
  },
  "x-validate": null
}
string PayslipDownloadResponse
{
  "type": "string",
  "title": "PayslipDownloadResponse",
  "format": "binary",
  "x-struct": null,
  "x-validate": null,
  "description": "The binary content of the payslip file."
}
object PayslipResponse
{
  "type": "object",
  "title": "PayslipResponse",
  "example": {
    "data": {
      "payslips": {
        "id": "93t3j-employment-id-9suej43",
        "issued_at": "2021-07-01",
        "employment_id": "98d3f-employment-id-1oi45n",
        "expected_payout_date": "2021-07-01",
        "net_pay_source_amount": 1000000,
        "net_pay_converted_amount": 1500000
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "payslip"
      ],
      "x-struct": null,
      "properties": {
        "payslip": {
          "$ref": "#/components/schemas/Payslip"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "A single payslip."
}
object PricingPlanDetails
{
  "type": "object",
  "title": "PricingPlanDetails",
  "example": {
    "frequency": "annually"
  },
  "required": [
    "frequency"
  ],
  "x-struct": null,
  "properties": {
    "frequency": {
      "enum": [
        "annually",
        "monthly"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Selected type of payment."
}
string ProvisionalStartDate
{
  "type": "string",
  "title": "ProvisionalStartDate",
  "format": "date",
  "x-struct": null,
  "x-validate": null,
  "description": "Indicates the expected start date of the employee or contractor.\n\nRequired for employees, but optional for contractors. Date format is in ISO8601 without the time component.\n\nSee the **Date and Time Format** documentation for more details on how the Remote API works with dates.\n"
}
object RecurringIncentive
{
  "type": "object",
  "title": "RecurringIncentive",
  "example": {
    "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1X",
    "note": "Monthly stipend to buy food",
    "type": "meal_allowance",
    "amount": 50000,
    "status": "active",
    "end_date": "2022-12-20",
    "start_date": "2021-12-20",
    "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d",
    "amount_tax_type": "net"
  },
  "required": [
    "id",
    "employment_id",
    "type",
    "status",
    "amount",
    "amount_tax_type",
    "start_date"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "note": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "enum": [
        "acting_up_allowance",
        "allowance",
        "car_allowance",
        "health_and_wellness_allowance",
        "internet_allowance",
        "meal_allowance",
        "on_call_allowance",
        "parenthood_allowance",
        "phone_allowance",
        "relocation_allowance",
        "travel_allowance",
        "work_from_home_allowance",
        "bonus",
        "holiday_bonus",
        "referral_bonus",
        "retention_bonus",
        "commission",
        "other",
        "overtime",
        "stipend"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "amount": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "active",
        "inactive"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "end_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "start_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "amount_tax_type": {
      "$ref": "#/components/schemas/AmountTaxType"
    }
  },
  "x-validate": null
}
object RecurringIncentiveResponse
{
  "type": "object",
  "title": "RecurringIncentiveResponse",
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "recurring_incentive"
      ],
      "x-struct": null,
      "properties": {
        "recurring_incentive": {
          "$ref": "#/components/schemas/RecurringIncentive"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Recurring Incentive response"
}
object RefreshTokenParams
{
  "type": "object",
  "title": "RefreshTokenParams",
  "example": {
    "grant_type": "refresh_token",
    "refresh_token": "b480036a-d229-49ef-a606-7e8fba58a5eb"
  },
  "required": [
    "grant_type",
    "refresh_token"
  ],
  "x-struct": null,
  "properties": {
    "grant_type": {
      "enum": [
        "refresh_token"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The Authorization flow"
    },
    "refresh_token": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The refresh token generated in the Authorization Code flow"
    }
  },
  "x-validate": null
}
object RefreshTokenResponse
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/BaseTokenResponse"
    },
    {
      "type": "object",
      "example": {
        "expires_in": 7200,
        "token_type": "Bearer",
        "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.cThIIoDvwdueQB468K5xDc5633seEFoqwxjF_xSJyQQ",
        "refresh_token": "b480036a-d229-49ef-a606-7e8fba58a5eb"
      },
      "x-struct": null,
      "properties": {
        "refresh_token": {
          "type": "string",
          "x-struct": null,
          "x-validate": null,
          "description": "The refresh token"
        }
      },
      "x-validate": null
    }
  ],
  "title": "RefreshTokenResponse",
  "x-struct": null,
  "x-validate": null
}
string RegionStatus
{
  "enum": [
    "active",
    "inactive"
  ],
  "type": "string",
  "title": "RegionStatus",
  "example": "active",
  "nullable": true,
  "x-struct": null,
  "x-validate": null
}
object RequestDetails
{
  "type": "object",
  "title": "RequestDetails",
  "x-struct": null,
  "properties": {
    "effective_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "reason_for_change": {
      "enum": [
        "annual_pay_adjustment",
        "country_rule_change",
        "error_correction",
        "job_change_reevaluation",
        "promotion",
        "other"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "additional_comments": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "salary_decrease_details": {
      "$ref": "#/components/schemas/SalaryDecreaseDetails"
    },
    "reason_for_change_description": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "This is filled when the reason_for_change is 'other'."
    }
  },
  "x-validate": null,
  "description": "The details of the requested changes for the contract amendment."
}
object RequestError
{
  "type": "object",
  "title": "RequestError",
  "example": {
    "errors": {
      "code": "request_internal_server_error",
      "message": "There was an error while uploading a termination reason file"
    }
  },
  "required": [
    "errors"
  ],
  "x-struct": null,
  "properties": {
    "errors": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "x-struct": null,
      "properties": {
        "code": {
          "type": "string",
          "x-struct": null,
          "x-validate": null,
          "description": "An error code that describes the nature of the error."
        },
        "message": {
          "type": "string",
          "x-struct": null,
          "x-validate": null,
          "description": "A developer friendly error message that gives details on what the error was and how it may be remedied."
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object ResignationAfterStartDateRequestParams
{
  "type": "object",
  "title": "ResignationAfterStartDateRequestParams",
  "example": {
    "proposed_last_date": {
      "date": "2042-04-15",
      "notes": "This date is better."
    },
    "will_take_more_pto": true,
    "agrees_to_pto_amount": false,
    "has_more_salary_info": true,
    "accepts_proposed_notice": false,
    "will_take_more_pto_notes": "3 more days.",
    "agrees_to_pto_amount_notes": "I don't agree.",
    "has_additional_information": true,
    "has_more_salary_info_notes": "Some info about the salary.",
    "agrees_to_resignation_reason": false,
    "owed_outstanding_reimbursements": {
      "notes": "Compensation.",
      "amount": 1500
    },
    "has_additional_information_notes": "Some extra info.",
    "agrees_to_resignation_reason_notes": "I don't agree.",
    "is_owed_outstanding_reimbursements": true
  },
  "required": [
    "accepts_proposed_notice",
    "agrees_to_pto_amount",
    "agrees_to_resignation_reason",
    "has_additional_information",
    "has_more_salary_info",
    "is_owed_outstanding_reimbursements",
    "will_take_more_pto"
  ],
  "x-struct": null,
  "properties": {
    "timesheet_file": {
      "$ref": "#/components/schemas/ResignationFile"
    },
    "proposed_last_date": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "x-struct": null,
          "x-validate": null
        },
        "notes": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null,
      "description": "Required if `accepts_proposed_notice` is set to false."
    },
    "will_take_more_pto": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "agrees_to_pto_amount": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "has_more_salary_info": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "accepts_proposed_notice": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "will_take_more_pto_notes": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "required if `will_take_more_pto` is set to true."
    },
    "agrees_to_pto_amount_notes": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Required if `agrees_to_pto_amount` is set to false."
    },
    "has_additional_information": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "has_more_salary_info_notes": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "required if `has_more_salary_info` is set to true."
    },
    "agrees_to_resignation_reason": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "owed_outstanding_reimbursements": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "notes": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "amount": {
          "type": "integer",
          "x-struct": null,
          "x-validate": null,
          "description": "The amount (in the currency of the employment) to be given to the employee.\n\nThis field accepts fractional amounts as well. However to avoid precision issues\nand errors that can arise from storing fractional amounts, the Remote API only\naccepts currencies and their fractional amounts as integers. This means you\nshould append fractional amounts to the end of the amount you're passing in with\nthis field.\n\nFor example, if the amount you're offering is EUR 500.25, you would specify `50025` as\nthe amount for this field.\n"
        }
      },
      "x-validate": null,
      "description": "required if `is_owed_outstanding_reimbursements` is set to true."
    },
    "has_additional_information_notes": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "required if `has_additional_information` is set to true."
    },
    "agrees_to_resignation_reason_notes": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "required if `agrees_to_resignation_reason` is set to false."
    },
    "is_owed_outstanding_reimbursements": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "x-konfig-properties": {
    "timesheet_file": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Paid time off accuracy\n\nTypically, any vacation pay accrued and unpaid at the time\nof termination must be paid out to the employee. To avoid overpaying or underpaying,\nplease make sure we have an accurate account of their paid time off by querying the\n[Show Time Off Balance](https://gateway.remote.com/v1/docs/openapi.html) endpoint,\nfiltering by the `employment_id`.\nThis optional document should be sent in case of any discrepancies.\n"
    }
  }
}
object ResignationBeforeStartDateRequestParams
{
  "type": "object",
  "title": "ResignationBeforeStartDateRequestParams",
  "example": {
    "proposed_resignation_accepted": false,
    "proposed_resignation_accepted_notes": "I do not accept"
  },
  "required": [
    "proposed_resignation_accepted"
  ],
  "x-struct": null,
  "properties": {
    "proposed_resignation_accepted": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "proposed_resignation_accepted_notes": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Required if `proposed_resignation_accepted` is set to false."
    }
  },
  "x-validate": null
}
object ResignationFile
{
  "type": "object",
  "title": "ResignationFile",
  "required": [
    "name",
    "content"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The file name"
    },
    "content": {
      "type": "string",
      "format": "binary",
      "x-struct": null,
      "x-validate": null,
      "description": "The content in base64 encoding"
    }
  },
  "x-validate": null
}
object ResignationOffboarding
{
  "type": "object",
  "title": "ResignationOffboarding",
  "example": {
    "id": "ba310525-9282-40c9-8977-14d844bf891aX",
    "type": "resignation",
    "status": "submitted",
    "requested_by": "5a31f3c1-d7a7-4311-89cb-928959d3d540",
    "submitted_at": "2023-04-13T13:35:06Z",
    "employment_id": "1e74fdc2-7420-4eef-ab0a-b794cbbef4e1",
    "termination_date": "2023-12-20",
    "employer_awareness": "The employer was informed on 2023-12-12",
    "resignation_reason": "workforce_reduction",
    "additional_comments": "",
    "proposed_last_working_day": "2023-12-20"
  },
  "required": [
    "id",
    "type",
    "status",
    "submitted_at",
    "employment_id",
    "requested_by",
    "proposed_last_working_day",
    "termination_date",
    "resignation_reason"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "enum": [
        "resignation"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "submitted",
        "in_review",
        "done",
        "canceled"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "requested_by": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "submitted_at": {
      "type": "string",
      "format": "datetime",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "termination_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Most updated termination date for the offboarding. This date is subject to change through the offboarding process even after it is finalized."
    },
    "employer_awareness": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "reason_description": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "resignation_reason": {
      "enum": [
        "cancellation_before_start_date",
        "company_culture_or_values",
        "conversion_to_contractor",
        "dissatisfaction_with_remote_service",
        "incapacity_to_perform_inherent_duties",
        "infrastructure_challenges",
        "lack_of_recognition",
        "leadership",
        "mutual_agreement",
        "other",
        "other_job_opportunity",
        "personal_reasons",
        "position_does_not_meet_expectations",
        "relationship_with_coworkers",
        "relocation_from_entity_to_entity_by_employee",
        "relocation_leaving_remote",
        "remuneration_and_benefits",
        "retirement",
        "transfer_and_relocation_new_customer_and_new_country",
        "transfer_between_remote_customer",
        "transfer_from_remote_to_customer",
        "transfer_from_remote_to_other_eor"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "additional_comments": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "proposed_last_working_day": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object ResourceErrorResponse
{
  "type": "object",
  "title": "ResourceErrorResponse",
  "example": {
    "message": {
      "code": "resource_already_exists",
      "message": "There is already a submitted Employee termination request for this user, so you can't submit another one",
      "resource_id": "aca8ba1f-8d3a-4de8-9ab4-e0fcb4b210be",
      "resource_type": "termination_request"
    }
  },
  "required": [
    "message"
  ],
  "x-struct": null,
  "properties": {
    "message": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "code": {
          "enum": [
            "parameter_invalid_date",
            "resource_not_supported_for_country",
            "parameter_value_invalid",
            "request_internal_server_error",
            "resource_invalid_state",
            "resource_already_exists",
            "resource_not_eligible",
            "action_invalid",
            "action_unrecognized",
            "parameter_map_empty",
            "parameter_one_of_required_missing",
            "parameter_required_missing",
            "parameter_too_many",
            "parameter_unknown",
            "parameter_value_unknown",
            "request_body_empty"
          ],
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "message": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "resource_id": {
          "type": "string",
          "nullable": true,
          "x-struct": null,
          "x-validate": null
        },
        "resource_type": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object SalaryDecreaseDetails
{
  "type": "object",
  "title": "SalaryDecreaseDetails",
  "nullable": true,
  "x-struct": null,
  "properties": {
    "was_employee_informed": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "salary_decrease_reason": {
      "enum": [
        "change_in_working_hours",
        "trade_salary_for_equity",
        "error_in_initial_salary",
        "role_change_or_demotion",
        "compensation_restructure",
        "other"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "salary_decrease_reason_description": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "The details of the salary decrease request if there is one"
}
string Slug
{
  "type": "string",
  "title": "Slug",
  "example": "663e0b79-c893-45ff-a1b2-f6dcabc098b5",
  "nullable": true,
  "x-struct": null,
  "x-validate": null,
  "description": "Unique ID of related department, if any. Otherwise, null."
}
object SuccessResponse
{
  "type": "object",
  "title": "SuccessResponse",
  "example": {
    "data": {
      "status": "ok"
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "status": {
          "type": "string",
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null
}
object TerminationDetailsParams
{
  "type": "object",
  "title": "TerminationDetailsParams",
  "required": [
    "confidential",
    "proposed_termination_date",
    "termination_reason",
    "risk_assessment_reasons",
    "will_challenge_termination",
    "reason_description"
  ],
  "x-struct": null,
  "properties": {
    "confidential": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null,
      "description": "Confidential requests are visible for who authorized the token or integration. Non-confidential requests are visible to all admins in the company."
    },
    "personal_email": {
      "type": "string",
      "format": "email",
      "x-struct": null,
      "x-validate": null,
      "description": "Remote will use this email address for post-termination communication.\nIf it is not provided, this field will be derived from the employment record. Therefore, it is important to ensure that it is not a company email.\n"
    },
    "timesheet_file": {
      "$ref": "#/components/schemas/OffboardingFile"
    },
    "employee_awareness": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "nullable": true,
          "x-struct": null,
          "x-validate": null,
          "description": "When the employee was told about the termination."
        },
        "note": {
          "type": "string",
          "nullable": true,
          "x-struct": null,
          "x-validate": null,
          "description": "Notes describing how the termination was shared with the employee. Remote advises being as specific as possible, and include details about the employee’s response, if applicable."
        }
      },
      "x-validate": null,
      "description": "Remote advises not to inform the employee of their termination until we review your request for legal risks. When we approve your request, you can inform the employee and we’ll take it from there. This field is only required if employee was informed before creating the offboarding request."
    },
    "reason_description": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Description of the reason for termination"
    },
    "termination_reason": {
      "enum": [
        "cancellation_before_start_date",
        "compliance_issue",
        "conversion_to_contractor",
        "dissatisfaction_with_remote_service",
        "end_of_fixed_term_contract_compliance_issue",
        "end_of_fixed_term_contract_incapacity_to_perform_inherent_duties",
        "end_of_fixed_term_contract_local_regulations_max_term_reached",
        "end_of_fixed_term_contract_misconduct",
        "end_of_fixed_term_contract_operational_reasons",
        "end_of_fixed_term_contract_other",
        "end_of_fixed_term_contract_performance",
        "end_of_fixed_term_contract_redundancy",
        "end_of_fixed_term_contract_values",
        "gross_misconduct",
        "incapacity_to_perform_inherent_duties",
        "job_abandonment",
        "mutual_agreement",
        "other",
        "performance",
        "values",
        "workforce_reduction"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Choose an accurate termination reason to avoid unfair or unlawful dismissal claims.\n\nIf the termination is created before the employee's start date, this field\nwill be set to `cancellation_before_start_date`.\n"
    },
    "additional_comments": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Additional details regarding the termination process."
    },
    "risk_assessment_reasons": {
      "type": "array",
      "items": {
        "enum": [
          "caring_responsibilities",
          "disabled_or_health_condition",
          "family_leave",
          "member_of_union_or_works_council",
          "none_of_these",
          "pregnant_or_breastfeeding",
          "reported_concerns_with_workplace",
          "requested_medical_or_family_leave",
          "sick_leave"
        ],
        "type": "string",
        "x-struct": null,
        "x-validate": null
      },
      "minItems": 1,
      "x-struct": null,
      "x-validate": null,
      "description": "Possible reasons for offboarding risk assessment"
    },
    "termination_reason_files": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OffboardingFile"
      },
      "x-struct": null,
      "x-validate": null,
      "description": "Any supporting documents regarding the termination reason"
    },
    "proposed_termination_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null,
      "description": "In most cases, employee needs to be notified before termination. The required notice period depends on local labor laws, the employment agreement, and other factors. Remote will use those factors to determine the required notice period. Please note that we cannot commit to a termination date until we conduct a full review of the information you submit."
    },
    "will_challenge_termination": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null,
      "description": "Whether is it likely or not that the employee will challenge their termination"
    },
    "will_challenge_termination_description": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "If it is likely that the employee will challenge their termination, please provide additional details explaining the risk"
    }
  },
  "x-validate": null,
  "x-konfig-properties": {
    "timesheet_file": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Paid time off accuracy\n\nTypically, any vacation pay accrued and unpaid at the time\nof termination must be paid out to the employee. To avoid overpaying or underpaying,\nplease make sure we have an accurate account of their paid time off by querying the\n[Show Time Off Balance](https://gateway.remote.com/v1/docs/openapi.html) endpoint,\nfiltering by the `employment_id`.\nThis optional document should be sent in case of any discrepancies.\n"
    }
  }
}
object TerminationOffboarding
{
  "type": "object",
  "title": "TerminationOffboarding",
  "example": {
    "id": "ba310525-9282-40c9-8977-14d844bf891a",
    "type": "termination",
    "status": "submitted",
    "confidential": false,
    "requested_by": "5a31f3c1-d7a7-4311-89cb-928959d3d540",
    "submitted_at": "2023-04-13T13:35:06Z",
    "employment_id": "1e74fdc2-7420-4eef-ab0a-b794cbbef4e1",
    "termination_date": "2023-12-20",
    "employee_awareness": {
      "date": "2023-12-12",
      "note": "optional text to add details"
    },
    "termination_reason": "workforce_reduction",
    "additional_comments": "",
    "agrees_to_pto_amount": "true",
    "risk_assessment_reasons": [
      "pregnant_or_breastfeeding",
      "family_leave"
    ],
    "proposed_termination_date": "2023-12-20",
    "will_challenge_termination": true,
    "will_challenge_termination_description": "additional details for the offboarding risk assessment"
  },
  "required": [
    "id",
    "type",
    "status",
    "submitted_at",
    "employment_id",
    "requested_by",
    "confidential",
    "proposed_termination_date",
    "termination_date",
    "termination_reason",
    "reason_description",
    "additional_comments",
    "risk_assessment_reasons",
    "will_challenge_termination"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "enum": [
        "termination"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "submitted",
        "in_review",
        "done",
        "canceled"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "confidential": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "requested_by": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "submitted_at": {
      "type": "string",
      "format": "datetime",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "termination_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Most updated termination date for the offboarding. This date is subject to change through the offboarding process even after it is finalized."
    },
    "employee_awareness": {
      "type": "object",
      "x-struct": null,
      "properties": {
        "date": {
          "type": "string",
          "format": "date",
          "nullable": true,
          "x-struct": null,
          "x-validate": null
        },
        "note": {
          "type": "string",
          "nullable": true,
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    },
    "reason_description": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "termination_reason": {
      "enum": [
        "cancellation_before_start_date",
        "compliance_issue",
        "conversion_to_contractor",
        "dissatisfaction_with_remote_service",
        "end_of_fixed_term_contract_compliance_issue",
        "end_of_fixed_term_contract_incapacity_to_perform_inherent_duties",
        "end_of_fixed_term_contract_local_regulations_max_term_reached",
        "end_of_fixed_term_contract_misconduct",
        "end_of_fixed_term_contract_operational_reasons",
        "end_of_fixed_term_contract_other",
        "end_of_fixed_term_contract_performance",
        "end_of_fixed_term_contract_redundancy",
        "end_of_fixed_term_contract_values",
        "gross_misconduct",
        "incapacity_to_perform_inherent_duties",
        "job_abandonment",
        "mutual_agreement",
        "other",
        "performance",
        "values",
        "workforce_reduction"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "additional_comments": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "agrees_to_pto_amount": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "risk_assessment_reasons": {
      "type": "array",
      "items": {
        "enum": [
          "caring_responsibilities",
          "disabled_or_health_condition",
          "family_leave",
          "member_of_union_or_works_council",
          "none_of_these",
          "pregnant_or_breastfeeding",
          "reported_concerns_with_workplace",
          "requested_medical_or_family_leave",
          "sick_leave"
        ],
        "type": "string",
        "x-struct": null,
        "x-validate": null
      },
      "x-struct": null,
      "x-validate": null
    },
    "proposed_termination_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "will_challenge_termination": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null
    },
    "will_challenge_termination_description": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object Timeoff
{
  "type": "object",
  "title": "Timeoff",
  "example": {
    "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1X",
    "notes": "Some notes",
    "status": "approved",
    "document": {
      "id": "9880b711-file-id-ecf8f551bd78X",
      "name": "id.pdf",
      "type": "id",
      "sub_type": "personal_id",
      "inserted_at": "2021-11-12T17:19:21"
    },
    "end_date": "2021-12-21",
    "timezone": "Asia/Kolkata",
    "start_date": "2021-12-20",
    "timeoff_days": [
      {
        "day": "2021-12-20",
        "hours": 8
      },
      {
        "day": "2021-12-21",
        "hours": 8
      }
    ],
    "timeoff_type": "paid_time_off",
    "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d"
  },
  "required": [
    "id",
    "employment_id",
    "status",
    "start_date",
    "end_date",
    "timeoff_days",
    "timeoff_type",
    "timezone"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "notes": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "document": {
      "$ref": "#/components/schemas/File"
    },
    "end_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "timezone": {
      "$ref": "#/components/schemas/Timezone"
    },
    "start_date": {
      "type": "string",
      "format": "date",
      "x-struct": null,
      "x-validate": null
    },
    "approved_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "approver_id": {
      "$ref": "#/components/schemas/NullableApproverId"
    },
    "cancelled_at": {
      "$ref": "#/components/schemas/NullableDateTime"
    },
    "timeoff_days": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimeoffDay"
      },
      "x-struct": null,
      "x-validate": null
    },
    "timeoff_type": {
      "$ref": "#/components/schemas/TimeoffType"
    },
    "cancel_reason": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object TimeoffBalance
{
  "type": "object",
  "title": "TimeoffBalance",
  "example": {
    "taken": {
      "days": 3,
      "hours": 0
    },
    "leave_entitlements": [
      {
        "name": "Annual paid time off",
        "type": "annual_paid_timeoff",
        "taken": {
          "days": 3,
          "hours": 0
        },
        "entitled": {
          "days": 28,
          "hours": 0
        },
        "remaining": {
          "days": 25,
          "hours": 0
        },
        "expiry_date": "2022-12-31"
      },
      {
        "name": "Extra days for good performance",
        "type": "additional_pto",
        "taken": {
          "days": 0,
          "hours": 0
        },
        "entitled": {
          "days": 3,
          "hours": 0
        },
        "remaining": {
          "days": 3,
          "hours": 0
        },
        "expiry_date": "2022-12-31"
      }
    ],
    "total_entitled_days": 31,
    "contractual_entitled": {
      "days": 25,
      "hours": 0
    },
    "working_hours_per_day": 8
  },
  "required": [
    "timeoff_entitlements",
    "taken",
    "upcoming_approved",
    "upcoming_requested",
    "working_hours_per_day",
    "contractual_leave_entitlement_type"
  ],
  "x-struct": null,
  "properties": {
    "taken": {
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/components/schemas/TimeoffDaysAndHours"
        }
      ],
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Number of time off days taken by the employment as of today.\n\nYou can get a list of taken time off data for this employment using the\n[list time off endpoint](https://gateway.remote.com/v1/docs/openapi.html).\n"
    },
    "upcoming_approved": {
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/components/schemas/TimeoffDaysAndHours"
        }
      ],
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Number of future, approved time off days for the employment, as of today.\n\nYou can get a list of approved time off data for this employment using the\n[list time off endpoint](https://gateway.remote.com/v1/docs/openapi.html).\n"
    },
    "upcoming_requested": {
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/components/schemas/TimeoffDaysAndHours"
        }
      ],
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Number of future, requested time off days for the employment, as of today.\n\nYou can get a list of requested time off data for this employment using the\n[list time off endpoint](https://gateway.remote.com/v1/docs/openapi.html).\n"
    },
    "total_entitled_days": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "Number of time off days for the employment, based on their contract and\nany additional time off that's granted to them.\n\nThis is the sum of all `entitled` fields in the `leave_entitlements`\narray, but does not take the hours into account.\n"
    },
    "contractual_entitled": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null,
      "description": "Number of time off days for the employment, based on their contract.\n\nThe value of this field is `0` if the employment's contract does not\ninclude that information.\n"
    },
    "timeoff_entitlements": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimeoffEntitlement"
      },
      "x-struct": null,
      "x-validate": null,
      "description": "A list of individual time off entitlements for the employment. This list\ngives more granular details for the type of time off that's available\nto the employment.\n"
    },
    "working_hours_per_day": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "contractual_leave_entitlement_type": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Leave entitlement type for the employment, based on their contract.\n\nThe value of this field is `fixed` when the employment has a fixed\nlimit of time off days to be taken, and `unlimited` otherwise.\n"
    }
  },
  "x-validate": null
}
object TimeoffBalanceNotFoundResponse
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/TimeoffBalanceNotSupportedResponse"
    },
    {
      "$ref": "#/components/schemas/NotFoundResponse"
    }
  ],
  "title": "TimeoffBalanceNotFoundResponse",
  "x-struct": null,
  "x-validate": null
}
object TimeoffBalanceNotSupportedResponse
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/ResourceErrorResponse"
    }
  ],
  "title": "TimeoffBalanceNotSupportedResponse",
  "example": {
    "message": {
      "code": "resource_already_exists",
      "message": "There is already a submitted Employee termination request for this user, so you can't submit another one",
      "resource_id": "aca8ba1f-8d3a-4de8-9ab4-e0fcb4b210be",
      "resource_type": "termination_request"
    }
  },
  "x-struct": null,
  "x-validate": null
}
object TimeoffBalanceResponse
{
  "type": "object",
  "title": "TimeoffBalanceResponse",
  "example": {
    "data": {
      "timeoff_balance": {
        "taken": {
          "days": 3,
          "hours": 0
        },
        "leave_entitlements": [
          {
            "name": "Annual paid time off",
            "type": "annual_paid_timeoff",
            "taken": {
              "days": 3,
              "hours": 0
            },
            "entitled": {
              "days": 28,
              "hours": 0
            },
            "remaining": {
              "days": 25,
              "hours": 0
            },
            "expiry_date": "2022-12-31"
          },
          {
            "name": "Extra days for good performance",
            "type": "additional_pto",
            "taken": {
              "days": 0,
              "hours": 0
            },
            "entitled": {
              "days": 3,
              "hours": 0
            },
            "remaining": {
              "days": 3,
              "hours": 0
            },
            "expiry_date": "2022-12-31"
          }
        ],
        "total_entitled_days": 31,
        "contractual_entitled": {
          "days": 25,
          "hours": 0
        },
        "working_hours_per_day": 8
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "timeoff_balance"
      ],
      "x-struct": null,
      "properties": {
        "timeoff_balance": {
          "$ref": "#/components/schemas/TimeoffBalance"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Time Off Balance response"
}
object TimeoffDay
{
  "type": "object",
  "title": "TimeoffDay",
  "example": {
    "day": "2021-01-01",
    "hours": 8
  },
  "required": [
    "day",
    "hours"
  ],
  "x-struct": null,
  "properties": {
    "day": {
      "$ref": "#/components/schemas/Date"
    },
    "hours": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "TimeoffDay schema"
}
object TimeoffDaysAndHours
{
  "type": "object",
  "title": "TimeoffDaysAndHours",
  "example": {
    "days": 1,
    "hours": 3
  },
  "x-struct": null,
  "properties": {
    "days": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    },
    "hours": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object TimeoffDaysParams
{
  "type": "object",
  "title": "TimeoffDaysParams",
  "x-struct": null,
  "properties": {
    "day": {
      "$ref": "#/components/schemas/Date"
    },
    "hours": {
      "type": "integer",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Timeoff days params"
}
object TimeoffDocumentParams
{
  "type": "object",
  "title": "TimeoffDocumentParams",
  "required": [
    "content",
    "name"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The file name of the document"
    },
    "content": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The binary content of the file encoded with base64"
    }
  },
  "x-validate": null,
  "description": "Timeoff document params"
}
object TimeoffEntitlement
{
  "type": "object",
  "title": "TimeoffEntitlement",
  "example": {
    "name": "Extra days for good performance",
    "type": "additional_pto",
    "taken": {
      "days": 15,
      "hours": 4
    },
    "available": {
      "days": 15,
      "hours": 4
    },
    "expiry_date": "2022-12-31"
  },
  "required": [
    "name",
    "expiry_date",
    "can_expire",
    "entitled",
    "taken",
    "remaining",
    "type"
  ],
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "nullable": true,
      "x-struct": null,
      "x-validate": null
    },
    "type": {
      "enum": [
        "carryover_pto",
        "additional_pto",
        "transfer_pto",
        "annual_paid_timeoff"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Indicates the type of the time off entitlement.\n\n`annual_paid_timeoff` entitlements are calculated from the employment's\ncontract. All other time off entitlements are granted by the employer\nor automatically by the country of employment.\n"
    },
    "taken": {
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/components/schemas/TimeoffDaysAndHours"
        }
      ],
      "x-struct": null,
      "x-validate": null,
      "description": "Indicates how much time off the employment has taken from this entitlement.\n"
    },
    "entitled": {
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/components/schemas/TimeoffDaysAndHours"
        }
      ],
      "x-struct": null,
      "x-validate": null,
      "description": "Indicates how much this time off this entitlement contributes to the total time\noff entitlement.\n"
    },
    "remaining": {
      "type": "object",
      "oneOf": [
        {
          "$ref": "#/components/schemas/TimeoffDaysAndHours"
        }
      ],
      "x-struct": null,
      "x-validate": null,
      "description": "Indicates how much time off the employment has remaining in this entitlement.\n"
    },
    "can_expire": {
      "type": "boolean",
      "x-struct": null,
      "x-validate": null,
      "description": "Indicates whether this entitlement can expire.\n\nWhen `false`, `expiry_date` will be `nil`.\n"
    },
    "expiry_date": {
      "type": "string",
      "format": "date",
      "nullable": true,
      "x-struct": null,
      "x-validate": null,
      "description": "Indicates the date this entitlement expires and is no longer counted\ntowards the total time off entitlement for the employment.\n\nWhen this entitlement doesn't expire, `expiry_date` will be set to\n`nil`. Use the `can_expire` parameter to determine whether\nan entitlement can expire or not.\n"
    }
  },
  "x-validate": null,
  "description": "Detailed breakdown of an employment's time off balance.\n"
}
object TimeoffResponse
{
  "type": "object",
  "title": "TimeoffResponse",
  "example": {
    "data": {
      "timeoff": {
        "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1",
        "notes": "Some notes",
        "status": "approved",
        "document": {
          "id": "9880b711-file-id-ecf8f551bd78X",
          "name": "id.pdf",
          "type": "id",
          "sub_type": "personal_id",
          "inserted_at": "2021-11-12T17:19:21"
        },
        "end_date": "2021-12-21",
        "timezone": "Asia/Kolkata",
        "start_date": "2021-12-20",
        "timeoff_days": [
          {
            "day": "2021-12-20",
            "hours": 8
          },
          {
            "day": "2021-12-21",
            "hours": 8
          }
        ],
        "timeoff_type": "paid_time_off",
        "employment_id": "5e55386e-4f4f-4def-92f4-bdc19a5ce77d"
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "timeoff"
      ],
      "x-struct": null,
      "properties": {
        "timeoff": {
          "$ref": "#/components/schemas/Timeoff"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Timeoff response"
}
string TimeoffStatus
{
  "enum": [
    "approved",
    "cancelled",
    "declined",
    "requested",
    "taken",
    "cancel_requested"
  ],
  "type": "string",
  "title": "TimeoffStatus",
  "example": "requested",
  "x-struct": null,
  "x-validate": null
}
string TimeoffType
{
  "enum": [
    "paid_time_off",
    "sick_leave",
    "public_holiday",
    "unpaid_leave",
    "extended_leave",
    "in_lieu_time",
    "maternity_leave",
    "paternity_leave",
    "parental_leave",
    "bereavement",
    "military_leave",
    "other"
  ],
  "type": "string",
  "title": "TimeoffType",
  "example": "sick_leave",
  "x-struct": null,
  "x-validate": null
}
string Timezone
{
  "type": "string",
  "title": "Timezone",
  "example": "Etc/UTC",
  "x-struct": null,
  "x-validate": null,
  "description": "[TZ identifier](https://www.iana.org/time-zones)"
}
object TooManyRequestsResponse
{
  "type": "object",
  "title": "TooManyRequestsResponse",
  "example": {
    "message": "Too many requests"
  },
  "x-struct": null,
  "properties": {
    "message": {
      "type": "string",
      "pattern": "Too many requests",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object UnauthorizedResponse
{
  "type": "object",
  "title": "UnauthorizedResponse",
  "example": {
    "message": "Unauthorized"
  },
  "required": [
    "message"
  ],
  "x-struct": null,
  "properties": {
    "message": {
      "type": "string",
      "pattern": "Unauthorized",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object UnprocessableEntityResponse
{
  "type": "object",
  "oneOf": [
    {
      "type": "object",
      "required": [
        "errors"
      ],
      "x-struct": null,
      "properties": {
        "errors": {
          "type": "object",
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    },
    {
      "type": "object",
      "required": [
        "message"
      ],
      "x-struct": null,
      "properties": {
        "message": {
          "oneOf": [
            {
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            {
              "$ref": "#/components/schemas/ParameterError"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ParameterError"
              },
              "title": "ParameterErrors",
              "x-struct": null,
              "x-validate": null
            },
            {
              "$ref": "#/components/schemas/ActionError"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ActionError"
              },
              "title": "ActionErrors",
              "x-struct": null,
              "x-validate": null
            }
          ],
          "x-struct": null,
          "x-validate": null
        }
      },
      "x-validate": null
    }
  ],
  "title": "UnprocessableEntityResponse",
  "example": {
    "errors": {
      "some_field": [
        "is invalid"
      ]
    }
  },
  "x-struct": null,
  "x-validate": null
}
object UpdateApprovedTimeoffParams
{
  "type": "object",
  "title": "UpdateApprovedTimeoffParams",
  "required": [
    "edit_reason",
    "cancel_reason"
  ],
  "x-struct": null,
  "properties": {
    "notes": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "status": {
      "enum": [
        "approved",
        "cancelled"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "document": {
      "$ref": "#/components/schemas/TimeoffDocumentParams"
    },
    "end_date": {
      "$ref": "#/components/schemas/Date"
    },
    "timezone": {
      "$ref": "#/components/schemas/Timezone"
    },
    "start_date": {
      "$ref": "#/components/schemas/Date"
    },
    "approved_at": {
      "$ref": "#/components/schemas/DateTimeIso8601"
    },
    "approver_id": {
      "$ref": "#/components/schemas/NullableApproverId"
    },
    "edit_reason": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The reason for the update. Required when updating the time off data but not changing the status."
    },
    "timeoff_days": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TimeoffDaysParams"
      },
      "x-struct": null,
      "x-validate": null
    },
    "timeoff_type": {
      "$ref": "#/components/schemas/TimeoffType"
    },
    "cancel_reason": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The reason for cancelling a time off. Required when updating to status `cancelled`."
    }
  },
  "x-validate": null,
  "description": "Update timeoff params"
}
object UpdateCompanyParams
{
  "type": "object",
  "title": "UpdateCompanyParams",
  "example": {
    "name": "Tech Vision",
    "tax_number": "123456789",
    "country_code": "USA",
    "phone_number": "+11123123456",
    "address_details": {
      "city": "San Francisco",
      "state": "CA",
      "address": "1709 Broderick St",
      "postal_code": "94115",
      "address_line_2": "Flat number 123"
    },
    "desired_currency": "USD",
    "bank_account_details": {
      "name": "Bank name",
      "account_type": "savings",
      "account_holder": "Joe Smith",
      "account_number": "31234123123",
      "ownership_type": "BUSINESS",
      "routing_number": "123124123"
    }
  },
  "x-struct": null,
  "properties": {
    "name": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "This field is only accepted if company is in status `pending`. Please contact Remote if you wish to update it.\n"
    },
    "tax_number": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "  The tax identifier of the company. This field or registration_number (but not both) should be submitted.\n\n  This field is only accepted if company is in status `pending`.\n"
    },
    "country_code": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Country of company address"
    },
    "phone_number": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "A phone number the company can be contacted with."
    },
    "address_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Fields can vary depending on the country. Please, check the required fields structure using the [Show form schema endpoint](https://gateway.remote.com/v1/docs/openapi.html).\nUse the desired country and `address_details` as the form name for the placeholders.\nThe response complies with the [JSON Schema](https://remote.com/resources/api/how-json-schemas-work) specification.\n"
    },
    "desired_currency": {
      "enum": [
        "AUD",
        "CAD",
        "CHF",
        "DKK",
        "EUR",
        "GBP",
        "JPY",
        "NOK",
        "NZD",
        "SEK",
        "SGD",
        "USD"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "Desired currency for invoicing and displaying converted salaries in Remote UI regardless of the employee's country.\n\nThis field is only accepted if company is in status `pending`. Please contact Remote if you wish to update it.\n"
    },
    "registration_number": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "The company registration number. This field or tax_number (but not both) should be submitted.\n\nThis field is only accepted if company is in status `pending`.\n"
    },
    "bank_account_details": {
      "type": "object",
      "x-struct": null,
      "x-validate": null,
      "description": "Fields can vary depending on the country. Please, check the required fields structure using the [Show form schema endpoint](https://gateway.remote.com/v1/docs/openapi.html).\nUse the desired country and `bank_account_details` as the form name for the placeholders.\nThe response complies with the [JSON Schema](https://remote.com/resources/api/how-json-schemas-work) specification.\n"
    }
  },
  "x-validate": null
}
object UpdateExpenseParams
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/ApproveExpenseParams"
    },
    {
      "$ref": "#/components/schemas/DeclineExpenseParams"
    }
  ],
  "title": "UpdateExpenseParams",
  "x-struct": null,
  "x-validate": null,
  "description": "Update expense params"
}
object UpdateIncentiveParams
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/CommonIncentiveParams"
    },
    {
      "type": "object",
      "x-struct": null,
      "properties": {
        "type": {
          "type": "string",
          "x-struct": null,
          "x-validate": null,
          "description": "A valid type according to the payment frequency"
        }
      },
      "x-validate": null
    }
  ],
  "title": "UpdateIncentiveParams",
  "example": {
    "note": "Bonus for moving start date to an earlier date",
    "type": "signing_bonus",
    "amount": 50000,
    "effective_date": "2021-12-20",
    "amount_tax_type": "net"
  },
  "x-struct": null,
  "properties": {
    "note": {
      "type": "string",
      "example": "Bonus for moving start date to an earlier date"
    },
    "type": {
      "type": "string",
      "example": "signing_bonus"
    },
    "amount": {
      "type": "number",
      "example": 50000
    },
    "effective_date": {
      "type": "string",
      "example": "2021-12-20"
    },
    "amount_tax_type": {
      "type": "string",
      "example": "net"
    }
  },
  "x-validate": null
}
object ValidateResignationRequest
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/ResignationAfterStartDateRequestParams"
    },
    {
      "$ref": "#/components/schemas/ResignationBeforeStartDateRequestParams"
    }
  ],
  "title": "ValidateResignationRequest",
  "x-struct": null,
  "x-validate": null
}
object ValidationError
{
  "type": "object",
  "title": "ValidationError",
  "example": {
    "errors": {
      "rejected_reason": [
        "can't be blank"
      ]
    }
  },
  "required": [
    "errors"
  ],
  "x-struct": null,
  "properties": {
    "errors": {
      "type": "object",
      "x-struct": null,
      "properties": {},
      "x-validate": null,
      "additionalProperties": true
    }
  },
  "x-validate": null
}
object WebhookCallback
{
  "type": "object",
  "title": "WebhookCallback",
  "example": {
    "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1X",
    "url": "https://example.com/callback",
    "subscribed_events": [
      "employment.onboarding_task.completed"
    ]
  },
  "required": [
    "id",
    "url"
  ],
  "x-struct": null,
  "properties": {
    "id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "url": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "signing_key": {
      "type": "string",
      "x-struct": null,
      "x-validate": null,
      "description": "This key will be used to sign the signature provided with webhook requests we\nsend to the `url` you provided for this webhook callback.\n\nThe webhook signature will be included in a custom header, `X-Remote-Signature`.\nYou can use this signature to verify that requests are coming from Remote and\nnot some unauthorized third-party.\n"
    },
    "subscribed_events": {
      "type": "array",
      "items": {
        "enum": [
          "billing_document.issued",
          "contract_amendment.canceled",
          "contract_amendment.deleted",
          "contract_amendment.done",
          "contract_amendment.review_started",
          "contract_amendment.submitted",
          "custom_field.value_updated",
          "employment_contract.active_contract_updated",
          "employment.account.updated",
          "employment.details.updated",
          "employment.onboarding_task.completed",
          "employment.onboarding.completed",
          "employment.personal_information.updated",
          "employment.user_status.activated",
          "employment.user_status.deactivated",
          "expense.approved",
          "expense.declined",
          "expense.deleted",
          "expense.reimbursed",
          "expense.submitted",
          "expense.updated",
          "identity_verification.verification_required",
          "incentive.created",
          "incentive.deleted",
          "incentive.paid",
          "incentive.processing_started",
          "incentive.updated",
          "offboarding.deleted",
          "offboarding.done",
          "offboarding.review_started",
          "offboarding.submitted",
          "offboarding.submitted_to_payroll",
          "offboarding.completed",
          "payslip.released",
          "timeoff.approved",
          "timeoff.canceled",
          "timeoff.date_changed",
          "timeoff.declined",
          "timeoff.requested",
          "timeoff.taken",
          "timeoff.updated"
        ],
        "type": "string",
        "x-struct": null,
        "x-validate": null,
        "description": "The setting to be enabled."
      },
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null
}
object WebhookCallbackResponse
{
  "type": "object",
  "title": "WebhookCallbackResponse",
  "example": {
    "data": {
      "webhook_callback": {
        "id": "0073fcb5-b669-4e4a-b963-2a47744e75a1X",
        "url": "https://example.com/callback",
        "subscribed_events": [
          "employment.onboarding_task.completed"
        ]
      }
    }
  },
  "required": [
    "data"
  ],
  "x-struct": null,
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "webhook_callback"
      ],
      "x-struct": null,
      "properties": {
        "webhook_callback": {
          "$ref": "#/components/schemas/WebhookCallback"
        }
      },
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Webhook callback response"
}
object WebhookTriggerParams
{
  "type": "object",
  "title": "WebhookTriggerParams",
  "example": {
    "event_type": "employment.onboarding_task.completed",
    "employment_id": "e966a8b8-1076-11ee-a5f2-9b3997a968f6"
  },
  "x-struct": null,
  "properties": {
    "event_type": {
      "enum": [
        "billing_document.issued",
        "contract_amendment.canceled",
        "contract_amendment.deleted",
        "contract_amendment.done",
        "contract_amendment.review_started",
        "contract_amendment.submitted",
        "custom_field.value_updated",
        "employment_contract.active_contract_updated",
        "employment.account.updated",
        "employment.details.updated",
        "employment.onboarding_task.completed",
        "employment.onboarding.completed",
        "employment.personal_information.updated",
        "employment.user_status.activated",
        "employment.user_status.deactivated",
        "expense.approved",
        "expense.declined",
        "expense.deleted",
        "expense.reimbursed",
        "expense.submitted",
        "expense.updated",
        "identity_verification.verification_required",
        "incentive.created",
        "incentive.deleted",
        "incentive.paid",
        "incentive.processing_started",
        "incentive.updated",
        "offboarding.deleted",
        "offboarding.done",
        "offboarding.review_started",
        "offboarding.submitted",
        "offboarding.submitted_to_payroll",
        "offboarding.completed",
        "payslip.released",
        "timeoff.approved",
        "timeoff.canceled",
        "timeoff.date_changed",
        "timeoff.declined",
        "timeoff.requested",
        "timeoff.taken",
        "timeoff.updated"
      ],
      "type": "string",
      "x-struct": null,
      "x-validate": null
    },
    "employment_id": {
      "type": "string",
      "x-struct": null,
      "x-validate": null
    }
  },
  "x-validate": null,
  "description": "Required params to trigger a webhook event in the Sandbox environment"
}