Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://gateway.remote.com
https://gateway.remote-sandbox.com
/v1/company-managers/{user_id}
Deletes a Company Manager user
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| user_id | path | required | string | User ID |
DELETE /v1/company-managers/{user_id}
/v1/incentives/{id}
Delete an incentive. `one_time` incentives that have the following status **CANNOT** be deleted: * `processing` * `paid`
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Incentive ID |
DELETE /v1/incentives/{id}
/v1/incentives/recurring/{id}
Delete a Recurring Incentive, that is, a monthly paid incentive. Internally, Remote schedules upcoming incentives. As such, when you attempt to delete a recurring incentive, Remote will **ONLY** delete scheduled incentives with the `pending` status. Incentives payments that are already scheduled and cannot be deleted will be included in the response, in case you need to reference them.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Recurring Incentive ID |
DELETE /v1/incentives/recurring/{id}
/v1/webhook-callbacks/{id}
Delete a callback previously registered for webhooks
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Webhook Callback ID |
DELETE /v1/webhook-callbacks/{id}
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
}
ActionErrors
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ActionError"
},
"title": "ActionErrors",
"x-struct": null,
"x-validate": null
}
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"
}
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"
}
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
}
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
}
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
}
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."
}
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
}
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"
}
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
}
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
}
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
}
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
}
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
}
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
}
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"
}
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
}
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"
}
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"
}
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
}
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
}
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"
}
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
}
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"
}
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
}
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
}
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
}
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
}
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
}
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
}
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
}
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
}
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"
}
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."
}
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"
}
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."
}
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
}
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"
}
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
}
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"
}
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"
}
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"
}
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"
}
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
}
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
}
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"
}
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"
}
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
}
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
}
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
}
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
}
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
}
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
}
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
}
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
}
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
}
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"
}
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"
}
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"
}
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"
}
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
}
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
}
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"
}
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
}
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
}
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
}
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
}
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
}
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
}
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"
}
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
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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
}
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
}
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."
}
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"
}
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
}
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
}
EmploymentContractStatus
{
"enum": [
"active",
"inactive",
"pending"
],
"type": "string",
"title": "EmploymentContractStatus",
"example": "active",
"x-struct": null,
"x-validate": null,
"description": "The status of the employment contract."
}
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
}
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"
}
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"
}
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"
}
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"
}
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"
}
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."
}
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"
}
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"
}
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"
}
EmploymentTermType
{
"enum": [
"fixed",
"indefinite"
],
"type": "string",
"title": "EmploymentTermType",
"example": "fixed",
"x-struct": null,
"x-validate": null
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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
}
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
}
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"
}
GenericFile
{
"type": "string",
"title": "GenericFile",
"format": "binary",
"x-struct": null,
"x-validate": null
}
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
}
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"
}
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
}
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
}
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
}
IdentityCurrentResponse
{
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/IdentityClientCredentialsResponse"
},
{
"$ref": "#/components/schemas/IdentityCompanyAccessTokenResponse"
},
{
"$ref": "#/components/schemas/IdentityCustomerAccessTokenResponse"
}
],
"title": "IdentityCurrentResponse",
"x-struct": null,
"x-validate": null
}
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
}
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
}
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
}
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"
}
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
}
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"
}
InternalServerErrorResponse
{
"type": "object",
"anyOf": [
{
"$ref": "#/components/schemas/ValidationError"
},
{
"$ref": "#/components/schemas/MessageResponse"
}
],
"title": "InternalServerErrorResponse",
"x-struct": null,
"x-validate": null
}
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"
}
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"
}
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
}
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"
}
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
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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"
}
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
}
MessageResponse
{
"type": "object",
"title": "MessageResponse",
"required": [
"message"
],
"x-struct": null,
"properties": {
"message": {
"type": "string",
"x-struct": null,
"x-validate": null
}
},
"x-validate": null
}
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"
}
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
}
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."
}
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
}
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
}
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"
}
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"
}
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
}
OAuth2Tokens
{
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/AuthorizationCodeResponse"
},
{
"$ref": "#/components/schemas/BaseTokenResponse"
},
{
"$ref": "#/components/schemas/RefreshTokenResponse"
}
],
"title": "OAuth2Tokens",
"x-struct": null,
"x-validate": null
}
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"
}
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
}
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"
}
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
}
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
}
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
}
ParameterErrors
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ParameterError"
},
"title": "ParameterErrors",
"x-struct": null,
"x-validate": null
}
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"
}
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
}
PayslipDownloadResponse
{
"type": "string",
"title": "PayslipDownloadResponse",
"format": "binary",
"x-struct": null,
"x-validate": null,
"description": "The binary content of the payslip file."
}
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."
}
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."
}
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"
}
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
}
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"
}
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
}
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
}
RegionStatus
{
"enum": [
"active",
"inactive"
],
"type": "string",
"title": "RegionStatus",
"example": "active",
"nullable": true,
"x-struct": null,
"x-validate": null
}
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."
}
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
}
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"
}
}
}
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
}
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
}
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
}
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
}
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"
}
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."
}
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
}
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"
}
}
}
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
}
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
}
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
}
TimeoffBalanceNotFoundResponse
{
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/TimeoffBalanceNotSupportedResponse"
},
{
"$ref": "#/components/schemas/NotFoundResponse"
}
],
"title": "TimeoffBalanceNotFoundResponse",
"x-struct": null,
"x-validate": null
}
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
}
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"
}
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"
}
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
}
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"
}
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"
}
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"
}
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"
}
TimeoffStatus
{
"enum": [
"approved",
"cancelled",
"declined",
"requested",
"taken",
"cancel_requested"
],
"type": "string",
"title": "TimeoffStatus",
"example": "requested",
"x-struct": null,
"x-validate": null
}
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
}
Timezone
{
"type": "string",
"title": "Timezone",
"example": "Etc/UTC",
"x-struct": null,
"x-validate": null,
"description": "[TZ identifier](https://www.iana.org/time-zones)"
}
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
}
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
}
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
}
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"
}
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
}
UpdateExpenseParams
{
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/ApproveExpenseParams"
},
{
"$ref": "#/components/schemas/DeclineExpenseParams"
}
],
"title": "UpdateExpenseParams",
"x-struct": null,
"x-validate": null,
"description": "Update expense params"
}
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
}
ValidateResignationRequest
{
"type": "object",
"oneOf": [
{
"$ref": "#/components/schemas/ResignationAfterStartDateRequestParams"
},
{
"$ref": "#/components/schemas/ResignationBeforeStartDateRequestParams"
}
],
"title": "ValidateResignationRequest",
"x-struct": null,
"x-validate": null
}
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
}
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
}
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"
}
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"
}