Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Remote Pay & Compensation API

The Pay & Compensation API from Remote — 30 operation(s) for pay & compensation.

Remote Pay & Compensation API is one of 101 APIs that Remote publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Pay & Compensation. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 38 operations across 30 paths, and defines 99 schemas. It is described by OpenAPI 3.0.0, at version 0.1.0.

Requests are made against 2 base URLs: https://gateway.remote.com/, https://gateway.remote-sandbox.com/.

38 operations 30 paths 99 schemas 2 DELETE21 GET2 PATCH11 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
0.1.0
Base URL
https://gateway.remote.com/v1/
Authentication
HTTP Basic, HTTP Bearer, HTTP Bearer, OAuth 2.0, OAuth 2.0, OAuth 2.0, OAuth 2.0
Resource Areas
1

Authentication & Security 7

Remote Pay & Compensation API declares 7 security schemes for authenticating requests. It accepts HTTP basic authentication (BasicAuth). It accepts HTTP bearer tokens (ClientToken). It accepts HTTP bearer tokens (CustomerAPIToken). It supports OAuth 2.0 (OAuth2) using the authorizationCode and clientCredentials flows, exposing 77 scopes. It supports OAuth 2.0 (OAuth2Assertion) using the clientCredentials flow, exposing 21 scopes. It supports OAuth 2.0 (OAuth2AuthorizationCode) using the authorizationCode flow, exposing 73 scopes. It supports OAuth 2.0 (OAuth2ClientCredentials) using the clientCredentials flow, exposing 18 scopes. By default, every request must be authenticated.

  • BasicAuth — Authenticate using the basic authentication for partners. Use the CLIENTID as login and CLIENTSECRET as password.
  • ClientToken — Authenticate a partner using only the the provided clienttoken. This authentication method only allows accessing marketing endpoints.
  • CustomerAPIToken — Authenticate using API Key generated by the customer in their Integration Settings page.
  • OAuth2 — Authenticate using OAuth 2.0 protocol.
  • OAuth2Assertion — Authenticate as the employee using the urn:ietf:params:oauth:grant-type:jwt-bearer grant in the OAuth2 protocol.
  • OAuth2AuthorizationCode — Authenticate as the token authorizer using authorizationcode / refreshtoken grants in the OAuth 2.0 protocol.
  • OAuth2ClientCredentials — Authenticate using clientcredentials grant in the OAuth 2.0 protocol.

Paths & Operations 38

Across 30 paths, the API surfaces 38 operations — 2 DELETE, 21 GET, 2 PATCH, 11 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.

Pay & Compensation 38
POST
/v1/pay-items/bulk
Bulk Create Pay Items
post_v1_pay-items_bulk body → 200400403409422429
POST
/v1/currency-converter/raw
Convert currency using flat rates
post_v1_currency-converter_raw body → 200401404422
POST
/v1/cost-calculator/estimation
Creates a cost estimation of employments
post_v1_cost-calculator_estimation body → 200404422
GET
/v1/payroll-calendars
List EOR Payroll Calendar
get_v1_payroll-calendars 4 params → 200401404422
GET
/v1/incentives/recurring
List Recurring Incentive
get_v1_incentives_recurring 6 params → 201400401404422429
POST
/v1/incentives/recurring
Create Recurring Incentive
post_v1_incentives_recurring 1 param body → 201400401404422429
GET
/v1/expenses
List expenses
get_v1_expenses 3 params → 201400401404422429
POST
/v1/expenses
Create expense
post_v1_expenses 1 param body → 201400401404422429
POST
/v1/payroll-runs/{payroll_run_id}/gl-reports
Create a GL report
post_v1_payroll-runs_payroll_run_id_gl-reports 1 param body → 200401404422
DELETE
/v1/incentives/recurring/{id}
Delete a Recurring Incentive
delete_v1_incentives_recurring_id 2 params → 200400401404422429
GET
/v1/incentives
List Incentives
get_v1_incentives 6 params → 200400401404422429
POST
/v1/incentives
Create Incentive
post_v1_incentives 1 param body → 201400401404422429
GET
/v1/payroll-runs/{payroll_run_id}/gl-reports/{gl_report_id}
Show a GL report
get_v1_payroll-runs_payroll_run_id_gl-reports_gl_report_id 2 params → 200401404
POST
/v1/cost-calculator/estimation-pdf
Creates PDF cost estimation of employments
post_v1_cost-calculator_estimation-pdf body → 200404422
GET
/v1/payroll-runs/{payroll_run_id}
Show Company Payroll Runs
get_v1_payroll-runs_payroll_run_id 1 param → 200401404422
GET
/v1/expenses/{expense_id}/receiptdeprecated
Download a receipt
get_v1_expenses_expense_id_receipt 1 param → 200400401403404422429
GET
/v1/expenses/categories
List expense categories
get_v1_expenses_categories 4 params → 200400401404422429
GET
/v1/cost-calculator/countries
List countries for Cost Calculator
get_v1_cost-calculator_countries 1 param → 200
GET
/v1/companies/{company_id}/legal-entities/{legal_entity_id}/pay-codes
List Pay Codes
get_v1_companies_company_id_legal-entities_legal_entity_id_pay-codes 4 params → 200401403404
GET
/v1/payroll-calendars/{cycle}
List Company Payroll Calendar
get_v1_payroll-calendars_cycle 3 params → 200401404422
GET
/v1/cost-calculator/regions/{slug}/fields
Show region fields
get_v1_cost-calculator_regions_slug_fields 2 params → 200401500
GET
/v1/payroll-runs/{payroll_run_id}/employee-details
Get Employee Details for a Payroll Run
get_v1_payroll-runs_payroll_run_id_employee-details 3 params → 200401404422
POST
/v1/cost-calculator/estimation-csv
Creates a CSV cost estimation of employments
post_v1_cost-calculator_estimation-csv body → 200404422
GET
/v1/payslips/{payslip_id}/pdf
Download payslip in the PDF format
get_v1_payslips_payslip_id_pdf 2 params → 200400401404422429
POST
/v1/currency-converter/effective
Convert currency using dynamic rates
post_v1_currency-converter_effective body → 200401404422
GET
/v1/payroll-runs/{payroll_run_id}/gl-reports/{gl_report_id}/download
Download a GL report
get_v1_payroll-runs_payroll_run_id_gl-reports_gl_report_id_download 2 params → 200401404
GET
/v1/expenses/{id}
Show expense
get_v1_expenses_id 2 params → 200400401404422429
PATCH
/v1/expenses/{id}
Update an expense
patch_v1_expenses_id (2) 1 param body → 200400401404409422429
PUT
/v1/expenses/{id}
Update an expense
patch_v1_expenses_id 1 param body → 200400401404409422429
DELETE
/v1/incentives/{id}
Delete an Incentive
delete_v1_incentives_id 2 params → 200400401404409422429
GET
/v1/incentives/{id}
Show Incentive
get_v1_incentives_id 2 params → 200400401404422429
PATCH
/v1/incentives/{id}
Update Incentive
patch_v1_incentives_id (2) 2 params body → 200400401404409422429
PUT
/v1/incentives/{id}
Update Incentive
patch_v1_incentives_id 2 params body → 200400401404409422429
GET
/v1/pay-items
List Pay Items
get_v1_pay-items 5 params → 200401403404422
GET
/v1/payslips
List payslips
get_v1_payslips 7 params → 200400401404422429
GET
/v1/expenses/{expense_id}/receipts/{receipt_id}
Download a receipt by id
get_v1_expenses_expense_id_receipts_receipt_id 2 params → 200400401403404422429
GET
/v1/payroll-runs
List Company Payroll Runs
get_v1_payroll-runs 3 params → 200401404422
POST
/v1/currency-converter
Convert currency using dynamic rates
post_v1_currency-converter_effective (2) body → 200401404422

Schemas 99

The contract defines 99 schemas that model the data the API accepts and returns. The most detailed are CostCalculatorCosts (21 properties), Expense (19 properties), DraftExpense (19 properties), PayrollRun (18 properties). Each schema is shown below with its type and property counts.

ConvertCurrency
object
The response from the currency converter
5 properties 5 required
ParameterError
object
3 properties 3 required
CreateRecurringIncentiveParams
object
5 required
UpdateExpenseParams
object
Update expense params
PayItemBulkCreateFailures
object
2 properties
ListExpenseCategoriesResponse
object
Response containing a flat list of expense categories. Parent categories have isselectable: false, while leaf categories have isselectable: true. Child categor…
1 property
ExpenseOrDraft
object
An expense or a draft object, depending on the status. Drafts (status draft or archived) may have incomplete(null) data. The expense status draft occurs when u…
1 required
SuccessResponse
object
A generic success response returned by operations that don't produce a specific resource (e.g., updates, deletes).
1 property 1 required
ConflictResponse
object
Returned when the request conflicts with the current state of a resource (HTTP 409). For example, trying to create a resource that already exists or performing…
1 property
EmploymentTermType
string
Timezone
string
[TZ identifier](https://www.iana.org/time-zones)
MinimalRegion
object
5 properties 2 required
CostCalculatorEstimateCSVResponse
object
1 property 1 required
RegionStatus
string
CreateOneTimeIncentiveParams
object
5 required
GenericFile
string
A file represented as a base64-encoded string.
File
object
A file associated with an employment, such as a contract, tax form, or identity document.
5 properties 4 required
JSONSchemaResponse
object
JSON Schema Response
1 property
PayrollCalendarsResponse
object
Response schema listing many payrollcalendars
1 property
MessageResponse
object
1 property 1 required
RecurringIncentiveResponse
object
Recurring Incentive response
1 property
CostCalculatorCosts
object
21 properties 9 required
ListRecurringIncentivesResponse
object
Response schema listing many recurringincentives
1 property
CostCalculatorEmployment
object
A cost estimate for a single employment, including costs in both the regional (local) currency and the employer's preferred currency.
8 properties 8 required
CostCalculatorEstimateParams
object
Parameters for generating a cost estimate for one or more employments across different countries/regions.
8 properties 2 required
UpdateIncentiveParams
object
PayslipDownloadResponse
string
The binary content of the payslip file.
ApproveExpenseParams
object
Approve an expense
1 property 1 required
CycleFrequency
string
The frequency at which the payroll calendar is run.
PayrollRunResponse
object
Response containing a single payroll run with full details including cost totals and employee breakdowns.
1 property
CostCalculatorDiscountResponse
object
The discount applied to a cost estimate, showing the annual and monthly savings.
4 properties 4 required
CostCalculator.CountryAvailability
string
- active: country is ready to onboard employee - comingsoon: country is in process of getting ready
Country
object
A supported country on Remote
11 properties 3 required
CurrencyCode
string
Currency code of the SWIFT fee. Only present when processingfee is set.
ActionError
object
3 properties 3 required
EmployeeDetailsResponse
object
Paginated response containing per-employee payroll cost breakdowns for a specific payroll run.
1 property 1 required
GLReport
object
A General Ledger report generation request and its current status.
4 properties 4 required
ListPayItemsResponse
object
1 property 1 required
AmountTaxType
string
Whether the amount given accounts for taxes or not. gross indicates that the amount given is the amount to be paid before taxes are subtracted. net indicates t…
CostCalculatorBenefitParam
object
2 properties 2 required
Cycle
object
5 properties
PayrollRun
object
A payroll run represents a single payroll processing cycle for a company in a specific country and period. It progresses through statuses from preparation to f…
18 properties 16 required
Currency
object
The type of money in general use in a particular country
4 properties 3 required
CommonIncentiveParams
object
4 properties
DeleteRecurringIncentiveResponse
object
"status": "ok" indicates that any recurring incentives with pending status were successfully deleted. alreadyscheduledincentives returns a list of incentives t…
1 property 1 required
EmployeeDetails
object
Payroll cost breakdown for a single employee within a payroll run. All monetary amounts are represented as an object with amount (integer, in cents) and curren…
13 properties 12 required
PayItemBulkCreateSuccesses
object
2 properties 2 required
TooManyRequestsResponse
object
Returned when the API rate limit has been exceeded (HTTP 429). Wait before retrying. Check the Retry-After response header for the recommended wait time.
1 property
CostCalculatorEstimateResponse
object
1 property 1 required
ValidationError
object
1 property 1 required
NullableDate
string
Optional UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO8601) format
ListIncentivesResponse
object
Response schema listing many incentives
1 property
IncentiveResponse
object
Response containing a single incentive record.
1 property
CostCalculatorEstimatePDFResponse
object
1 property 1 required
ConvertCurrencyParams
object
The parameters for the currency conversion
3 properties 3 required
MinimalCountry
object
A lightweight country representation with basic identification fields.
5 properties 4 required
UnprocessableEntityResponse
object
PayItem
object
5 properties 5 required
BadRequestResponse
object
Returned when the request is malformed or contains invalid parameters. The message may be a simple string or a structured object with a code and detailed messa…
ListPayslipsResponse
object
Response schema listing many payslips
1 property
PayrollCalendar
object
4 properties 4 required
CostCalculator.ListCountryResponse
object
1 property 1 required
ExpenseResponse
object
Response containing a single expense record.
1 property 1 required
NotFoundResponse
object
Returned when the requested resource does not exist or is not accessible with the current authentication credentials.
1 property
ConvertCurrencyResponse
object
The response from the currency converter
1 property 1 required
PayItemProviderData
object
9 properties
DateTimeIso8601
string
UTC date time in [ISO 8601][] format. [ISO 8601]: https://en.wikipedia.org/wiki/ISO8601
BulkCreatePayItemsParams
object
1 property 1 required
InternalServerErrorResponse
object
ExpenseCategoryNode
object
A single expense category in the flat list structure
10 properties
CostCalculatorCost
object
A single cost line item within a cost breakdown (e.g., a specific employer contribution, benefit, or statutory payment).
5 properties 5 required
Incentive
object
An incentive (bonus, commission, or other additional payment) for an employee. Incentives are paid out through payroll on the next applicable cycle after the e…
12 properties 7 required
MinimalPayrollRun
object
A lightweight representation of a payroll run used in list responses. Contains summary information and the total cost, but not the per-employee breakdown or co…
11 properties 10 required
PayrollCalendarEOR
object
4 properties 4 required
ParamsToCreateExpense
object
All the params needed to create an expense. An expense can be created using the receipt or receipts fields; however, these fields are not allowed together with…
13 properties 5 required
ListPayCodesResponse
object
Response schema listing many paycodes
1 property
BulkCreatePayItemsResponse
object
1 property 1 required
Date
string
UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO8601) format
PayrollCalendarsEORResponse
object
Response schema listing many payrollcalendars
1 property
CostCalculatorEmploymentParam
object
Parameters for a single employment to include in the cost estimate. Provide the region and salary (or total cost) — the calculator will compute all employer co…
11 properties 1 required
CurrencyDefinition
object
Currency object without a UUID identifier
3 properties 3 required
UnauthorizedResponse
object
Returned when the request does not include valid authentication credentials. Ensure you are passing a valid OAuth2 access token or API token in the Authorizati…
1 property 1 required
ListPayrollRunResponse
object
Response containing a list of payroll runs for the company. Each payroll run includes summary information but not per-employee breakdowns.
1 property
Base64File
object
All the params needed upload a base64 file.
2 properties 2 required
DeclineExpenseParams
object
Decline an expense
2 properties 2 required
CostCalculator.CountryLevelRegion
object
A supported country on Remote
8 properties 7 required
ListExpenseResponse
object
Response schema listing many expenses
1 property
ForbiddenResponse
object
Returned when the authenticated user or token does not have permission to perform the requested action. Check that the token has the required OAuth2 scopes and…
1 property 1 required
PayCode
object
7 properties 5 required
Expense
object
A submitted expense record with complete data. All monetary amounts are integers in the currency's minor unit (cents).
19 properties 10 required
UuidSlug
string
Identifier of the employment being terminated.
CreateGLReportParams
object
1 property 1 required
CountrySubdivision
object
A subdivision of a supported country on Remote
3 properties 1 required
DraftExpense
object
A draft expense that the employee has saved but not yet submitted for approval. Draft expenses may have incomplete (null) data since the employee hasn't finali…
19 properties 10 required
PayItemParams
object
5 properties 4 required
Payslip
object
A payslip issued to an employee for a specific payroll period.
6 properties 3 required
GLReportResponse
object
1 property
CostCalculatorDiscount
object
Configuration for applying a discount to a cost estimate. Provide either an amount or percent — not both.
5 properties 1 required
RecurringIncentive
object
A recurring incentive (e.g., monthly meal allowance, housing stipend) that automatically generates individual incentive payments on a monthly schedule.
9 properties 7 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

remote-pay-compensation-api-openapi.yml Raw ↑

Other APIs Remote publishes across the network.

Remote Address Details API
Remote Administrative Details API
Remote Background Checks API
Remote Bank Account Details API
Remote Basic Information API
Remote Benefit Offers API
Remote Benefit Offers By Employment API
Remote Benefit Renewals API
Remote Benefits API
Remote Billing Address Details API
Remote Billing API
Remote Billing Documents API