Remote Contractors API
The Contractors API from Remote — 17 operation(s) for contractors.
The Contractors API from Remote — 17 operation(s) for contractors.
openapi: 3.0.0
info:
title: Remote Address Details Contractors API
version: 0.1.0
servers:
- url: https://gateway.remote.com/
variables: {}
- url: https://gateway.remote-sandbox.com/
variables: {}
security:
- OAuth2: []
tags:
- name: Contractors
paths:
/v1/contractor-invoices/{id}:
get:
callbacks: {}
deprecated: false
description: 'Shows a single Contractor Invoice record.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage invoices (`invoices`) | View invoices (`invoices:read`) | Manage invoices (`invoices:write`) |
'
operationId: get_v1_contractor-invoices_id
parameters:
- description: Resource unique identifier
example: 2ba34003-78d5-4792-9240-998d473184ce
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ContractorInvoiceResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- invoices:read
- invoices:write
- invoices
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- invoices:read
- invoices:write
- invoices
- all:write
- all:read
summary: Show Contractor Invoice
tags:
- Contractors
/v1/contractor-invoices:
get:
callbacks: {}
deprecated: false
description: 'Lists Contractor Invoice records.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage invoices (`invoices`) | View invoices (`invoices:read`) | Manage invoices (`invoices:write`) |
'
operationId: get_v1_contractor-invoices
parameters:
- description: Filters contractor invoices by status matching the value.
example: issued
in: query
name: status
required: false
schema:
$ref: '#/components/schemas/ContractorInvoiceStatus'
- description: Filters contractor invoices by invoice schedule ID matching the value.
example: d3745787-1b2b-424c-ab83-cdda8b5cea37
in: query
name: contractor_invoice_schedule_id
required: false
schema:
$ref: '#/components/schemas/UuidSlug'
- description: Filters contractor invoices by date greater than or equal to the value.
example: '2021-01-01'
in: query
name: date_from
required: false
schema:
$ref: '#/components/schemas/Date'
- description: Filters contractor invoices by date less than or equal to the value.
example: '2021-01-01'
in: query
name: date_to
required: false
schema:
$ref: '#/components/schemas/Date'
- description: Filters contractor invoices by due date greater than or equal to the value.
example: '2021-01-01'
in: query
name: due_date_from
required: false
schema:
$ref: '#/components/schemas/Date'
- description: Filters contractor invoices by due date less than or equal to the value.
example: '2021-01-01'
in: query
name: due_date_to
required: false
schema:
$ref: '#/components/schemas/Date'
- description: Filters contractor invoices by approved date greater than or equal to the value.
example: '2021-01-01'
in: query
name: approved_date_from
required: false
schema:
$ref: '#/components/schemas/Date'
- description: Filters contractor invoices by approved date less than or equal to the value.
example: '2021-01-01'
in: query
name: approved_date_to
required: false
schema:
$ref: '#/components/schemas/Date'
- description: Filters contractor invoices by paid out date greater than or equal to the value.
example: '2021-01-01'
in: query
name: paid_out_date_from
required: false
schema:
$ref: '#/components/schemas/Date'
- description: Filters contractor invoices by paid out date less than or equal to the value.
example: '2021-01-01'
in: query
name: paid_out_date_to
required: false
schema:
$ref: '#/components/schemas/Date'
- description: Field to sort by
example: date
in: query
name: sort_by
required: false
schema:
enum:
- date
- due_date
- approved_at
- paid_out_at
type: string
- description: Sort order
example: asc
in: query
name: order
required: false
schema:
enum:
- asc
- desc
type: string
- description: Starts fetching records after the given page
example: 1
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: integer
- description: Number of items per page
example: 20
in: query
name: page_size
required: false
schema:
default: 20
minimum: 1
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListContractorInvoicesResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- invoices:read
- invoices:write
- invoices
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- invoices:read
- invoices:write
- invoices
- all:write
- all:read
summary: List Contractor Invoices
tags:
- Contractors
/v1/contractors/employments/{employment_id}/contractor-subscriptions:
get:
callbacks: {}
deprecated: false
description: 'Endpoint that can be used to list contractor subscriptions.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employments (`employments`) | View employments (`employment:read`) | Manage employments (`employment:write`) |
'
operationId: get_v1_contractors_employments_employment_id_contractor-subscriptions
parameters:
- description: Employment ID
example: c0a167b8-459d-4e96-9766-7a04c160892e
in: path
name: employment_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ContractorSubscriptionSummariesResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- employment:read
- employment:write
- employments
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- employment:read
- employment:write
- employments
- all:write
- all:read
summary: List contractor subscriptions
tags:
- Contractors
/v1/contractors/cor-termination-requests:
get:
callbacks: {}
deprecated: false
description: 'Lists Contractor of Record termination requests for your company,
optionally filtered by employment and status.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employments (`employments`) | View employments (`employment:read`) | Manage employments (`employment:write`) |
'
operationId: get_v1_contractors_cor-termination-requests
parameters:
- description: Filter termination requests by employment ID.
example: c0a167b8-459d-4e96-9766-7a04c160892e
in: query
name: employment_id
required: false
schema:
$ref: '#/components/schemas/UuidSlug'
- description: Filter termination requests by status.
example: initiated
in: query
name: status
required: false
schema:
enum:
- initiated
- executed
- cancelled
type: string
- description: Starts fetching records after the given page
example: 1
in: query
name: page
required: false
schema:
default: 1
minimum: 1
type: integer
- description: Number of items per page
example: 20
in: query
name: page_size
required: false
schema:
default: 20
maximum: 100
minimum: 1
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/IndexCorTerminationRequestsResponse'
description: Success
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- employment:read
- employment:write
- employments
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- employment:read
- employment:write
- employments
- all:write
- all:read
summary: List contractor of record (COR) termination requests
tags:
- Contractors
/v1/contractors/employments/{employment_id}/contract-documents/{id}:
get:
callbacks: {}
deprecated: false
description: '## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employment documents (`employment_documents`) | View documents (`document:read`) | Manage documents (`document:write`) |
'
operationId: get_v1_contractors_employments_employment_id_contract-documents_id
parameters:
- description: Employment ID
example: 93t3j-file-id-9suej43
in: path
name: employment_id
required: true
schema:
type: string
- description: Document ID
example: 93t3j-file-id-9suej43
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ContractDocumentResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- document:read
- document:write
- employment_documents
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- document:read
- document:write
- employment_documents
- all:write
- all:read
summary: Return a base64 encoded version of the contract document
tags:
- Contractors
/v1/contractors/employments/{employment_id}/contractor-currencies:
get:
callbacks: {}
deprecated: false
description: 'The currencies are listed in the following order:
1. billing currency of the company
2. currencies of contractor’s existing withdrawal methods
3. currency of the contractor’s country
4. the rest, alphabetical.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employments (`employments`) | View employments (`employment:read`) | Manage employments (`employment:write`) |
'
operationId: get_v1_contractors_employments_employment_id_contractor-currencies
parameters:
- description: Employment ID
example: 663e0b79-c893-45ff-a1b2-f6dcabc098b5
in: path
name: employment_id
required: true
schema:
type: string
- description: 'Restrict to currencies which payout is guaranteed (default: true)'
example: false
in: query
name: restrict_to_guaranteed_pay_out_currencies
required: false
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ContractorCurrencyResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
description: Internal Server Error
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- employment:read
- employment:write
- employments
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- employment:read
- employment:write
- employments
- all:write
- all:read
summary: List all currencies for the contractor
tags:
- Contractors
/v1/contractors/employments/{employment_id}/cor-termination-requests:
post:
callbacks: {}
deprecated: false
description: 'Initiates a termination request for a Contractor of Record employment.
When a termination request is sent, a stop work order is issued and the contractor remains active until a final invoice is paid or waived.
Currently, only Contractor of Record employments can be terminated.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employments (`employments`) | - | Manage employments (`employment:write`) |
'
operationId: post_v1_contractors_employments_employment_id_cor-termination-requests
parameters:
- description: Employment ID
example: c0a167b8-459d-4e96-9766-7a04c160892e
in: path
name: employment_id
required: true
schema:
type: string
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CorTerminationRequestCreatedResponse'
description: Created
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
description: Bad Request
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- employment:write
- employments
- all:write
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- employment:write
- employments
- all:write
summary: Create a contractor of record (COR) termination request
tags:
- Contractors
/v1/contractor-invoice-schedules/{id}:
get:
callbacks: {}
deprecated: false
description: 'Shows a single Contractor Invoice Schedule record
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage invoices (`invoices`) | View invoices (`invoices:read`) | Manage invoices (`invoices:write`) |
'
operationId: get_v1_contractor-invoice-schedules_id
parameters:
- description: Resource unique identifier
example: a6ef7b64-5c02-4ce2-a8c8-e17a99724365
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ContractorInvoiceScheduleResponse'
description: Success
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- invoices:read
- invoices:write
- invoices
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- invoices:read
- invoices:write
- invoices
- all:write
- all:read
summary: Show Contractor Invoice Schedule
tags:
- Contractors
patch:
callbacks: {}
deprecated: false
description: 'Updates a contractor invoice schedule record
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage invoices (`invoices`) | - | Manage invoices (`invoices:write`) |
'
operationId: patch_v1_contractor-invoice-schedules_id (2)
parameters:
- description: Resource unique identifier
example: b3e8b42c-830a-48e5-abb7-39fdbae2a9fe
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScheduleContractorInvoiceParams'
description: Update parameters
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ContractorInvoiceScheduleResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- invoices:write
- invoices
- all:write
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- invoices:write
- invoices
- all:write
summary: Updates Contractor Invoice Schedule
tags:
- Contractors
put:
callbacks: {}
deprecated: false
description: 'Updates a contractor invoice schedule record
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage invoices (`invoices`) | - | Manage invoices (`invoices:write`) |
'
operationId: patch_v1_contractor-invoice-schedules_id
parameters:
- description: Resource unique identifier
example: 5a10e9c3-97c9-4f8a-88f3-274842726d32
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScheduleContractorInvoiceParams'
description: Update parameters
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ContractorInvoiceScheduleResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- invoices:write
- invoices
- all:write
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- invoices:write
- invoices
- all:write
summary: Updates Contractor Invoice Schedule
tags:
- Contractors
/v1/contractors/eligibility-questionnaire:
post:
callbacks: {}
deprecated: false
description: 'Submits an eligibility questionnaire for a contractor employment.
The questionnaire determines if the contractor is eligible for certain products or features.
The responses are validated against the JSON schema for the questionnaire type.
**Requirements:**
- Employment must be of type `contractor`
- Employment must be in `created` status
- Responses must conform to the questionnaire JSON schema
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employments (`employments`) | - | Manage employments (`employment:write`) |
'
operationId: post_v1_contractors_eligibility-questionnaire
parameters:
- description: Version of the form schema
example: 1
in: query
name: json_schema_version
required: false
schema:
default: latest
oneOf:
- description: Specific version number
minimum: 1
type: integer
- description: Use latest version
enum:
- latest
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitEligibilityQuestionnaireRequest'
description: Eligibility questionnaire submission
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/EligibilityQuestionnaireResponse'
description: Questionnaire submitted successfully
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: Forbidden
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictErrorResponse'
description: Conflict
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- employment:write
- employments
- all:write
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- employment:write
- employments
- all:write
summary: Submit eligibility questionnaire
tags:
- Contractors
/v1/contractors/employments/{employment_id}/contract-documents:
post:
callbacks: {}
deprecated: false
description: 'Create a contract document for a contractor.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employment documents (`employment_documents`) | - | Manage documents (`document:write`) |
'
operationId: post_v1_contractors_employments_employment_id_contract-documents
parameters:
- description: Employment ID
example: 1a716003-ae89-4810-aa00-25df6e799162
in: path
name: employment_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContractDocument'
description: CreateContractDocumentParams
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContractDocumentResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- document:write
- employment_documents
- all:write
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- document:write
- employment_documents
- all:write
summary: Create a contract document for a contractor
tags:
- Contractors
/v1/contractors/employments/{employment_id}/cor-termination-requests/{termination_request_id}:
get:
callbacks: {}
deprecated: false
description: 'Retrieves a Contractor of Record termination request by ID.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage employments (`employments`) | View employments (`employment:read`) | Manage employments (`employment:write`) |
'
operationId: get_v1_contractors_employments_employment_id_cor-termination-requests_termination_request_id
parameters:
- description: Employment ID
example: c0a167b8-459d-4e96-9766-7a04c160892e
in: path
name: employment_id
required: true
schema:
type: string
- description: Termination Request ID
example: c0a167b8-459d-4e96-9766-7a04c160892e
in: path
name: termination_request_id
required: true
schema:
type: string
re
# --- truncated at 32 KB (128 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/remote/refs/heads/main/openapi/remote-contractors-api-openapi.yml