Incentives 5 endpoints

POST /v1/incentives

Creates an Incentive.

Incentives use the currency of the employment specified provided in the employment_id field.

operationId: Incentives_createIncentive

Request Body

Incentive

application/json
schema CreateOneTimeIncentiveParams
Property Type Required
note string optional
amount integer required
effective_date string required
amount_tax_type string required
type string required
employment_id string required

Responses

201

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

POST /v1/incentives
DELETE /v1/incentives/{id}

Delete an incentive.

one_time incentives that have the following status CANNOT be deleted:

  • processing
  • paid
operationId: Incentives_removeIncentive

Parameters

Name In Required Type Description
id path required string

Incentive ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

409

Conflict

422

Unprocessable Entity

429

Too many requests

DELETE /v1/incentives/{id}
GET /v1/incentives/{id}

Show an Incentive’s details

operationId: Incentives_showDetails

Parameters

Name In Required Type Description
id path required string

Incentive ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

GET /v1/incentives/{id}
PATCH /v1/incentives/{id}

Updates an Incentive.

Incentives use the currency of the employment specified provided in the employment_id field.

The API doesn’t support updating paid incentives.

operationId: Incentives_updateIncentive

Parameters

Name In Required Type Description
id path required string

Incentive ID

Request Body

Incentive

application/json
schema UpdateIncentiveParams
Property Type Required
note string optional
amount integer optional
effective_date string optional
amount_tax_type string optional
type string optional

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

409

Conflict

422

Unprocessable Entity

429

Too many requests

PATCH /v1/incentives/{id}
PUT /v1/incentives/{id}

Updates an Incentive.

Incentives use the currency of the employment specified provided in the employment_id field.

The API doesn’t support updating paid incentives.

operationId: Incentives_updateIncentive

Parameters

Name In Required Type Description
id path required string

Incentive ID

Request Body

Incentive

application/json
schema UpdateIncentiveParams
Property Type Required
note string optional
amount integer optional
effective_date string optional
amount_tax_type string optional
type string optional

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

409

Conflict

422

Unprocessable Entity

429

Too many requests

PUT /v1/incentives/{id}

Oauth2 1 endpoints

POST /auth/oauth2/token

Endpoint to exchange tokens in the Authorization Code, Client Credentials and Refresh Token flows

operationId: OAuth2_exchangeToken

Request Body

OAuth2Token

application/json
schema OAuth2TokenParams
Property Type Required
code string optional
grant_type string optional

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

POST /auth/oauth2/token

Offboarding 3 endpoints

GET /v1/offboardings

Lists Offboarding requests.

operationId: Offboarding_listRequests

Parameters

Name In Required Type Description
employment_id query optional string

Filter by Employment ID

type query optional string

Filter by offboarding type

include_confidential query optional string

By default, the results do not include confidential termination requests.
Send include_confidential=true to include confidential requests in the response.

page query optional integer

Starts fetching records after the given page

page_size query optional integer

Change the amount of records returned per page, defaults to 20, limited to 100

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

GET /v1/offboardings
POST /v1/offboardings

Creates an Offboarding request.

operationId: Offboarding_createRequest

Request Body

Incentive

application/json
schema CreateOffboardingParams
Property Type Required
type string required
employment_id string required
termination_details object required
confidential boolean required
personal_email string optional
timesheet_file object optional
name string required
content string required
employee_awareness object optional
date string optional
note string optional
reason_description string required
termination_reason string required
additional_comments string optional
risk_assessment_reasons array required
termination_reason_files array optional
name string required
content string required
proposed_termination_date string required
will_challenge_termination boolean required
will_challenge_termination_description string optional

Responses

201

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

500

Internal Server Error

POST /v1/offboardings
GET /v1/offboardings/{id}

Shows an Offboarding request.

operationId: Offboarding_showRequest

Parameters

Name In Required Type Description
id path required string

Offboarding request ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

GET /v1/offboardings/{id}

Payslips 3 endpoints

GET /v1/payslips

Lists all payslips belonging to a company. Can also filter for a single employment belonging
to that company.

operationId: Payslips_listAll

Parameters

Name In Required Type Description
employment_id query optional string

Employment ID

start_date query optional string

Filters by payslips issued_at field, after or on the same day than the given date

end_date query optional string

Filters by payslips issued_at field, before or or the same day than the given date

expected_payout_start_date query optional string

Filters by payslips expected_payout_date field, after or on the same day than the given date

expected_payout_end_date query optional string

Filters by payslips expected_payout_date field, before or or the same day than the given date

page query optional integer

Starts fetching records after the given page

page_size query optional integer

Change the amount of records returned per page, defaults to 20, limited to 100

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

GET /v1/payslips
GET /v1/payslips/{id}

Given an ID, shows a payslip.

Please contact api-support@remote.com to request access to this endpoint.

operationId: Payslips_showPayslip

Parameters

Name In Required Type Description
id path required string

Payslip ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

GET /v1/payslips/{id}
GET /v1/payslips/{payslip_id}/pdf

Given a Payslip ID, downloads a payslip.
It is important to note that each country has a different payslip format and they are not authored by Remote.

operationId: Payslips_downloadPdf

Parameters

Name In Required Type Description
payslip_id path required string

Payslip ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

GET /v1/payslips/{payslip_id}/pdf

Recurringincentives 3 endpoints

GET /v1/incentives/recurring

List all Recurring Incentives of a company.

operationId: RecurringIncentives_listIncentives

Parameters

Name In Required Type Description
status query optional string

Filter by recurring incentive status: active or deactive.

type query optional string

Filter by recurring incentive type.

note query optional string

Filter by recurring incentives that contain the value in their notes.

page query optional integer

Starts fetching records after the given page

page_size query optional integer

Change the amount of records returned per page, defaults to 20, limited to 100

Responses

201

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

GET /v1/incentives/recurring
POST /v1/incentives/recurring

Create a Recurring Incentive, that is, a monthly paid incentive.

Incentives use the currency of the employment specified provided in the employment_id field.

operationId: RecurringIncentives_createMonthlyIncentive

Request Body

RecurringIncentive

application/json
schema CreateRecurringIncentiveParams
Property Type Required
note string optional
amount integer required
effective_date string required
amount_tax_type string required
type string required
employment_id string required
duration_in_months string optional

Responses

201

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

POST /v1/incentives/recurring
DELETE /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.

operationId: RecurringIncentives_deleteScheduled

Parameters

Name In Required Type Description
id path required string

Recurring Incentive ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

DELETE /v1/incentives/recurring/{id}

Resignation 2 endpoints

GET /v1/resignations/{employment_request_id}/resignation-letter

Downloads a resignation letter from an employment request.

operationId: Resignation_downloadLetter

Parameters

Name In Required Type Description
employment_request_id path required string

The employment request ID

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

422

Unprocessable Entity

429

Unprocessable Entity

500

Internal Server Error

GET /v1/resignations/{employment_request_id}/resignation-letter
PUT /v1/resignations/{employment_request_id}/validate

Validates a resignation employment request

operationId: Resignation_validateEmploymentRequest

Parameters

Name In Required Type Description
employment_request_id path required string

The employment request ID

Request Body

required

ValidateResignation

application/json
schema ValidateResignationRequest

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Unprocessable Entity

PUT /v1/resignations/{employment_request_id}/validate

Sandbox 6 endpoints

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

Approves a contract amendment request without the intervention of a Remote admin.
Approvals done via this endpoint are effective immediately,
regardless of the effective date entered on the contract amendment creation.

This endpoint is only available in Sandbox, otherwise it will respond with a 404.

operationId: ContractAmendments_approveAmendment

Parameters

Name In Required Type Description
contract_amendment_request_id path required string

Contract amendment request ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

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

Use this endpoint to cancel an existing contract amendment request.

This endpoint is only available in Sandbox, otherwise it will respond with a 404.

operationId: Sandbox_cancelAmendmentRequest

Parameters

Name In Required Type Description
contract_amendment_request_id path required string

Contract amendment request ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

PUT /v1/sandbox/contract-amendments/{contract_amendment_request_id}/cancel
POST /v1/sandbox/employments

Creates an employment without provisional_start_date validation.

This endpoint is only available in Sandbox and allows creating employments which
provisional_start_date is in the past. This is especially helpful for:

  • Testing the Timeoff Balance endpoints
  • Testing the Offboarding endpoints
  • Testing features around probation periods

This endpoint will respond with a 404 outside of the Sandbox environment.

For creating an employment’s parameters outside of testing purposes, use this
Employment create endpoint

operationId: Sandbox_createEmploymentWithoutValidations

Request Body

Employment params

application/json
schema EmploymentBasicParams
Property Type Required
type string optional
full_name string required
job_title string required
country_code string required
personal_email string required
basic_information object optional
name string optional
email string optional
job_title string optional
has_seniority_date string optional
provisional_start_date string optional
provisional_start_date string optional

Responses

201

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

POST /v1/sandbox/employments
PATCH /v1/sandbox/employments/{employment_id}

Updates an employment. Use this endpoint to modify employment states for testing
in the Sandbox environment. This endpoint will respond with a 404 outside of the
Sandbox environment.

For updating an employment’s parameters outside of testing purposes, use this
Employment update endpoint
.

operationId: Sandbox_updateEmploymentState

Parameters

Name In Required Type Description
employment_id path required string

Employment ID

Request Body

Employment params

application/json
schema EmploymentUpdateParams
Property Type Required
status string optional

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

409

Conflict

422

Unprocessable Entity

429

Too many requests

PATCH /v1/sandbox/employments/{employment_id}
PUT /v1/sandbox/employments/{employment_id}

Updates an employment. Use this endpoint to modify employment states for testing
in the Sandbox environment. This endpoint will respond with a 404 outside of the
Sandbox environment.

For updating an employment’s parameters outside of testing purposes, use this
Employment update endpoint
.

operationId: Sandbox_employmentUpdate

Parameters

Name In Required Type Description
employment_id path required string

Employment ID

Request Body

Employment params

application/json
schema EmploymentUpdateParams
Property Type Required
status string optional

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

409

Conflict

422

Unprocessable Entity

429

Too many requests

PUT /v1/sandbox/employments/{employment_id}
POST /v1/sandbox/webhook-callbacks/trigger

Triggers a callback previously registered for webhooks. Use this endpoint to
emit a webhook for testing in the Sandbox environment. This endpoint will
respond with a 404 outside of the Sandbox environment.

operationId: Sandbox_triggerWebhookCallback

Request Body

Webhook Trigger Params

application/json
schema WebhookTriggerParams
Property Type Required
event_type string optional
employment_id string optional

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Too many requests

POST /v1/sandbox/webhook-callbacks/trigger

Timeoff 6 endpoints

GET /v1/timeoff

Lists all Time Off records.

operationId: TimeOff_listRecords

Parameters

Name In Required Type Description
employment_id query optional string

Only show time off for a specific employment

timeoff_type query optional

Filter time off by its type

status query optional

Filter time off by its status

order query optional string

Sort order

sort_by query optional string

Field to sort by

page query optional integer

Starts fetching records after the given page

page_size query optional integer

Number of items per page

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Unprocessable Entity

GET /v1/timeoff
POST /v1/timeoff

Creates a Time Off record

operationId: TimeOff_recordCreate

Request Body

required

Timeoff

application/json
schema CreateApprovedTimeoffParams
Property Type Required
notes string optional
document object optional
name string required
content string required
end_date string required
timezone string required
start_date string required
timeoff_days array required
day string optional
hours integer optional
timeoff_type string required
employment_id string required
status string optional
approved_at string optional
approver_id string optional

Responses

201

Created

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Unprocessable Entity

POST /v1/timeoff
GET /v1/timeoff/types

Lists all time off types that can be used for the timeoff_type parameter

operationId: TimeOff_listTypes

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Unprocessable Entity

GET /v1/timeoff/types
GET /v1/timeoff/{id}

Shows a single Time Off record

operationId: TimeOff_getRecord

Parameters

Name In Required Type Description
id path required string

Timeoff ID

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Unprocessable Entity

GET /v1/timeoff/{id}
PATCH /v1/timeoff/{id}

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

operationId: TimeOff_updateRecord

Parameters

Name In Required Type Description
id path required string

Timeoff ID

Request Body

required

UpdateTimeoff

application/json
schema UpdateApprovedTimeoffParams
Property Type Required
notes string optional
status string optional
document object optional
name string required
content string required
end_date string optional
timezone string optional
start_date string optional
approved_at string optional
approver_id string optional
edit_reason string required
timeoff_days array optional
day string optional
hours integer optional
timeoff_type string optional
cancel_reason string required

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Unprocessable Entity

PATCH /v1/timeoff/{id}
PUT /v1/timeoff/{id}

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

operationId: TimeOff_updateRecord

Parameters

Name In Required Type Description
id path required string

Timeoff ID

Request Body

required

UpdateTimeoff

application/json
schema UpdateApprovedTimeoffParams
Property Type Required
notes string optional
status string optional
document object optional
name string required
content string required
end_date string optional
timezone string optional
start_date string optional
approved_at string optional
approver_id string optional
edit_reason string required
timeoff_days array optional
day string optional
hours integer optional
timeoff_type string optional
cancel_reason string required

Responses

200

Success

400

Bad Request

401

Unauthorized

404

Not Found

422

Unprocessable Entity

429

Unprocessable Entity

PUT /v1/timeoff/{id}

Timeoffbalances 1 endpoints

GET /v1/timeoff-balances/{employment_id}

Shows the time off balance for the given employment_id.

Please note, this endpoint is only supported for employments in certain countries.
For countries where it’s not supported, this endpoint will respond with a 404 Not Found.

operationId: TimeOffBalances_showBalance

Parameters

Name In Required Type Description
employment_id path required string

Employment ID for which to show the time off balance

Responses

200

Success

400

Bad Request

401

Unauthorized

404

TimeoffBalanceNotFoundResponse

422

Unprocessable Entity

429

Too many requests

GET /v1/timeoff-balances/{employment_id}

Webhookcallbacks 2 endpoints

POST /v1/webhook-callbacks

Register a callback to be used for webhooks

operationId: WebhookCallbacks_registerCallback

Request Body

WebhookCallback

application/json
schema CreateWebhookCallbackParams
Property Type Required
url string required
subscribed_events array optional

Responses

200

Success

401

Unauthorized

404

Not Found

422

Unprocessable Entity

POST /v1/webhook-callbacks
DELETE /v1/webhook-callbacks/{id}

Delete a callback previously registered for webhooks

operationId: WebhookCallbacks_deleteCallback

Parameters

Name In Required Type Description
id path required string

Webhook Callback ID

Responses

200

Success

401

Unauthorized

404

Not Found

422

Unprocessable Entity

DELETE /v1/webhook-callbacks/{id}