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 Expenses API

The Expenses API from Remote — 7 operation(s) for expenses.

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

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

This API exposes 11 operations across 7 paths, and defines 28 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/.

11 operations 7 paths 28 schemas 7 GET1 PATCH2 POST1 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 Expenses 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 11

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

Expenses 11
GET
/v1/expenses
List expenses
get_v1_expenses 3 params → 201400401404422429
POST
/v1/expenses
Create expense
post_v1_expenses 1 param body → 201400401404422429
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/employee/expense-categories
List expense categories for the authenticated employee
get_v1_employee_expense-categories 2 params → 200401403404
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
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/employee/expenses
List expenses for the authenticated employee
get_v1_employee_expenses → 200401403404
POST
/v1/employee/expenses
Create an expense for the authenticated employee
post_v1_employee_expenses body → 201400401403422

Schemas 28

The contract defines 28 schemas that model the data the API accepts and returns. The most detailed are DraftExpense (19 properties), Expense (19 properties), ParamsToCreateExpense (13 properties), ExpenseCategoryNode (10 properties). Each schema is shown below with its type and property counts.

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
ParameterError
object
3 properties 3 required
UpdateExpenseParams
object
Update expense params
ApproveExpenseParams
object
Approve an expense
1 property 1 required
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
Timezone
string
[TZ identifier](https://www.iana.org/time-zones)
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
UnprocessableEntityResponse
object
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…
Base64File
object
All the params needed upload a base64 file.
2 properties 2 required
DeclineExpenseParams
object
Decline an expense
2 properties 2 required
ActionError
object
3 properties 3 required
ListExpenseResponse
object
Response schema listing many expenses
1 property
ExpenseResponse
object
Response containing a single expense record.
1 property 1 required
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
NotFoundResponse
object
Returned when the requested resource does not exist or is not accessible with the current authentication credentials.
1 property
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
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
ParamsToCreateEmployeeExpense
object
Params for creating an expense as the authenticated employee. The employment is implied by the access token, so employmentid is not accepted. reviewerid and re…
10 properties 4 required
DateTimeIso8601
string
UTC date time in [ISO 8601][] format. [ISO 8601]: https://en.wikipedia.org/wiki/ISO8601
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
ExpenseCategoryNode
object
A single expense category in the flat list structure
10 properties
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

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

remote-expenses-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