Remote Benefits API
The Benefits API from Remote — 7 operation(s) for benefits.
The Benefits API from Remote — 7 operation(s) for benefits.
openapi: 3.0.0
info:
title: Remote Address Details Benefits API
version: 0.1.0
servers:
- url: https://gateway.remote.com/
variables: {}
- url: https://gateway.remote-sandbox.com/
variables: {}
security:
- OAuth2: []
tags:
- name: Benefits
paths:
/v1/employments/{employment_id}/benefit-offers:
get:
callbacks: {}
deprecated: false
description: '## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage company resources (`company_admin`) | View benefit offers (`benefit_offer:read`) | Manage benefit offers (`benefit_offer:write`) |
'
operationId: get_v1_employments_employment_id_benefit-offers
parameters:
- 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
- description: Unique identifier of the employment
in: path
name: employment_id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Employments.BenefitOffers.ListBenefitOffers'
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
- benefit_offer:read
- benefit_offer:write
- company_admin
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- benefit_offer:read
- benefit_offer:write
- company_admin
- all:write
- all:read
summary: Get employment benefit offers
tags:
- Benefits
put:
callbacks: {}
deprecated: false
operationId: put_v1_employments_employment_id_benefit-offers
parameters:
- description: Unique identifier of the employment
in: path
name: employment_id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
- 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/Unified.Employment.UpsertBenefitOffersRequest'
description: Upsert employment benefit offers request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
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
summary: Upserts employment benefit offers
tags:
- Benefits
/v1/benefit-renewal-requests/{benefit_renewal_request_id}/schema:
get:
callbacks: {}
deprecated: false
description: 'Returns the json schema of the `benefit_renewal_request` form for a specific request.
This endpoint requires a company access token, as forms are dependent on certain
properties of companies and their current employments.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage company resources (`company_admin`) | View benefit renewals (`benefit_renewal:read`) | Manage benefit renewals (`benefit_renewal:write`) |
'
operationId: get_v1_benefit-renewal-requests_benefit_renewal_request_id_schema
parameters:
- description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.
The refresh token needs to have been obtained through the Authorization Code flow.
'
example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
in: header
name: Authorization
required: true
schema:
type: string
- description: Benefit Renewal Request Id
example: 31b8e49b-aa1c-47af-849c-3d0a53e20e0d
in: path
name: benefit_renewal_request_id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
- 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
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BenefitRenewalRequests.BenefitRenewalRequestFormResponse'
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
- benefit_renewal:read
- benefit_renewal:write
- company_admin
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- benefit_renewal:read
- benefit_renewal:write
- company_admin
- all:write
- all:read
summary: Show benefit renewal request schema
tags:
- Benefits
/v1/benefit-renewal-requests:
get:
callbacks: {}
deprecated: false
description: 'List Benefit Renewal Requests for each country.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage company resources (`company_admin`) | View benefit renewals (`benefit_renewal:read`) | Manage benefit renewals (`benefit_renewal:write`) |
'
operationId: get_v1_benefit-renewal-requests
parameters:
- description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.
The refresh token needs to have been obtained through the Authorization Code flow.
'
example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
in: header
name: Authorization
required: true
schema:
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/BenefitRenewalRequests.ListBenefitRenewalRequestResponse'
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
'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
- benefit_renewal:read
- benefit_renewal:write
- company_admin
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- benefit_renewal:read
- benefit_renewal:write
- company_admin
- all:write
- all:read
summary: List Benefit Renewal Requests
tags:
- Benefits
/v1/employments/{employment_id}/benefit-offers/schema:
get:
callbacks: {}
deprecated: false
description: '## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage company resources (`company_admin`) | View benefit offers (`benefit_offer:read`) | Manage benefit offers (`benefit_offer:write`) |
'
operationId: get_v1_employments_employment_id_benefit-offers_schema
parameters:
- description: Unique identifier of the employment
in: path
name: employment_id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
- 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
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Unified.Employments.BenefitOffersJSONSchemaResponse'
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
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: Unprocessable Entity
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- benefit_offer:read
- benefit_offer:write
- company_admin
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- benefit_offer:read
- benefit_offer:write
- company_admin
- all:write
- all:read
summary: Get a employment benefit offers JSON schema
tags:
- Benefits
/v1/benefit-renewal-requests/{benefit_renewal_request_id}:
get:
callbacks: {}
deprecated: false
description: 'Show Benefit Renewal Request details.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage company resources (`company_admin`) | View benefit renewals (`benefit_renewal:read`) | Manage benefit renewals (`benefit_renewal:write`) |
'
operationId: get_v1_benefit-renewal-requests_benefit_renewal_request_id
parameters:
- description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.
The refresh token needs to have been obtained through the Authorization Code flow.
'
example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
in: header
name: Authorization
required: true
schema:
type: string
- description: Benefit Renewal Request Id
example: 31b8e49b-aa1c-47af-849c-3d0a53e20e0d
in: path
name: benefit_renewal_request_id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BenefitRenewalRequests.BenefitRenewalRequestResponse'
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
- benefit_renewal:read
- benefit_renewal:write
- company_admin
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- benefit_renewal:read
- benefit_renewal:write
- company_admin
- all:write
- all:read
summary: Show Benefit Renewal Request
tags:
- Benefits
post:
callbacks: {}
deprecated: false
description: 'Updates a Benefit Renewal Request with the given response.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage company resources (`company_admin`) | - | Manage benefit renewals (`benefit_renewal:write`) |
'
operationId: post_v1_benefit-renewal-requests_benefit_renewal_request_id
parameters:
- description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.
The refresh token needs to have been obtained through the Authorization Code flow.
'
example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
in: header
name: Authorization
required: true
schema:
type: string
- description: Benefit Renewal Request Id
example: 31b8e49b-aa1c-47af-849c-3d0a53e20e0d
in: path
name: benefit_renewal_request_id
required: true
schema:
$ref: '#/components/schemas/UuidSlug'
- 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/BenefitRenewalRequests.UpdateBenefitRenewalRequest'
description: Benefit Renewal Request Response
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
description: Success
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: Unauthorized
'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
- benefit_renewal:write
- company_admin
- all:write
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- benefit_renewal:write
- company_admin
- all:write
summary: Updates a Benefit Renewal Request Response
tags:
- Benefits
/v1/benefit-offers/country-summaries:
get:
callbacks: {}
deprecated: false
description: 'List benefit offers for each country.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage company resources (`company_admin`) | View benefit offers (`benefit_offer:read`) | Manage benefit offers (`benefit_offer:write`) |
'
operationId: get_v1_benefit-offers_country-summaries
parameters:
- description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.
The refresh token needs to have been obtained through the Authorization Code flow.
'
example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
in: header
name: Authorization
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CountrySummariesResponse'
description: Success
'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
- benefit_offer:read
- benefit_offer:write
- company_admin
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- benefit_offer:read
- benefit_offer:write
- company_admin
- all:write
- all:read
summary: List Benefit Offers
tags:
- Benefits
/v1/benefit-offers:
get:
callbacks: {}
deprecated: false
description: 'List benefit offers by employment.
## Scopes
| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage company resources (`company_admin`) | View benefit offers (`benefit_offer:read`) | Manage benefit offers (`benefit_offer:write`) |
'
operationId: get_v1_benefit-offers
parameters:
- description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.
The refresh token needs to have been obtained through the Authorization Code flow.
'
example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
in: header
name: Authorization
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BenefitOfferByEmploymentResponse'
description: Success
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: Not Found
security:
- CustomerAPIToken:
- https://gateway.remote.com/company.manage
- benefit_offer:read
- benefit_offer:write
- company_admin
- all:write
- all:read
OAuth2AuthorizationCode:
- https://gateway.remote.com/company.manage
- benefit_offer:read
- benefit_offer:write
- company_admin
- all:write
- all:read
summary: List Benefit Offers By Employment
tags:
- Benefits
components:
schemas:
BenefitGroup:
additionalProperties: false
description: A category of benefits (e.g., "Health", "Dental", "Life Insurance") with a defined policy period. Each group contains one or more tiers representing different coverage levels.
example:
id: 54297cfd-cf60-4cf4-a70f-ac2061d72b44
name: Health
policy_end_date: '2024-12-31'
policy_start_date: '2024-01-01'
properties:
id:
description: The unique identifier (UUID) of the benefit group.
type: string
name:
description: The name of the benefit category (e.g., "Health", "Dental", "Life Insurance").
type: string
policy_end_date:
description: The date when the policy period ends for this benefit group (ISO 8601 format). Benefits may need to be renewed after this date.
format: date
type: string
policy_start_date:
description: The date when the policy period begins for this benefit group (ISO 8601 format).
format: date
type: string
required:
- id
- name
- policy_start_date
- policy_end_date
title: BenefitGroup
type: object
BenefitRenewalRequests.BenefitRenewalRequestFormResponse:
additionalProperties: false
description: 'Benefit Renewal Request Form Response, an object with required and optional fields, its descriptions and suggested presentation.
'
properties:
data:
type: object
title: BenefitRenewalRequests.BenefitRenewalRequestFormResponse
type: object
Unified.Employment.BenefitOffer:
additionalProperties: false
description: The benefit offer for an employment schema
example:
benefit_group:
filter:
name: Benefit Group
slug: 663e0b79-c893-45ff-a1b2-f6dcabc098b5
name: Benefit Group
slug: 663e0b79-c893-45ff-a1b2-f6dcabc098b5
benefit_tier:
display_cost: $1337 + pension
name: Benefit Tier 1
slug: 663e0b79-c893-45ff-a1b2-f6dcabc098b5
properties:
benefit_group:
$ref: '#/components/schemas/Unified.Employment.BenefitGroup'
benefit_tier:
allOf:
- $ref: '#/components/schemas/Unified.Employment.BenefitTier'
example:
display_cost: $1337 + pension
name: Benefit Tier 1
slug: 663e0b79-c893-45ff-a1b2-f6dcabc098b5
nullable: true
title: MaybeUnified.Employment.BenefitTier
type: object
required:
- benefit_group
- benefit_tier
title: Unified.Employment.BenefitOffer
type: object
ParameterError:
example:
code: invalid_param
message: Invalid parameter
param: employment_id
properties:
code:
description: An error code that describes the nature of the error.
type: string
message:
description: A developer friendly error message that gives details on what the error was and how it may be remedied.
type: string
param:
description: The parameter that lead to the error message.
type: string
required:
- code
- message
- param
title: ParameterError
type: object
BenefitRenewalRequests.MinimalBenefitRenewalResponse:
additionalProperties: false
example:
benefit_tier:
description: A tier for testing purposes
display_cost: ~$100
id: 163d8f6c-2440-4f45-918b-d095f9e0ef79
name: Premium
updated_at: '2021-07-01T00:00:00Z'
properties:
benefit_tier:
$ref: '#/components/schemas/NullableMinimalBenefitTier'
updated_at:
$ref: '#/components/schemas/DateTime'
required:
- benefit_tier
- updated_at
title: BenefitRenewalRequests.MinimalBenefitRenewalResponse
type: object
BenefitTier:
additionalProperties: false
description: A specific coverage level within a benefit group. For example, a "Health" benefit group might have tiers like "Basic", "Standard", and "Premium", each with different coverage and providers.
example:
description: This is the premium tier for 2023 that includes medical, dental and vision benefits.
id: 66297cfd-cf60-4cf4-a70f-ac2561d92b04
name: Premium 2023 (Medical, Dental and Vision)
providers:
- id: 88297cfd-cf60-4cf4-a70f-ac2861d92b87
name: Health Provider
properties:
description:
description: A detailed description of what this tier covers, including the types of benefits included.
type: string
id:
description: The unique identifier (UUID) of the benefit tier.
type: string
name:
description: The name of this tier (e.g., "Premium 2024 (Medical, Dental and Vision)").
type: string
providers:
description: The insurance carriers or providers associated with this tier.
items:
$ref: '#/components/schemas/BenefitProvider'
type: array
required:
- id
- name
- description
- providers
title: BenefitTier
type: object
BenefitRenewalRequests.BenefitRenewalRequestResponse:
additionalProperties: false
description: Benefit Renewal Request Response
example:
data:
benefit_renewal_request:
benefit_group:
country_code: FRA
id: 03b20f23-06b2-4fe2-8f21-49b445ccc1bb
name: Health
benefit_renewal_response:
benefit_tier:
description: A tier for testing purposes
display_cost: ~$100
id: 163d8f6c-2440-4f45-918b-d095f9e0ef79
name: Premium
updated_at: '2021-07-01T00:00:00Z'
coverage_end_date: '2022-07-01'
coverage_start_date: '2021-07-01'
current_benefit_tier:
description: A tier for testing purposes
display_cost: ~$100
id: 163d8f6c-2440-4f45-918b-d095f9e0ef79
name: Premium
id: 0073f4b5-b669-4b4a-b963-2a477f4e75a1
number_of_affected_employees: 10
renewal_selection_end_date: '2021-05-01'
renewal_selection_instructions: 'We are delighted to announce our new Global Life Insurance plans, now available in 66 countries.
This addition is set to significantly enhance the benefits package for your international team.
Selection Deadline: Review and choose the right Global Life Insurance plan for each country where your team is based by 11:59 PM on December 31, 2023.
We offer flexible coverage options from $50,000 to $600,000, so take your time to decide what''s best for your team.
If you don''t make a selection within this period, your team members won''t be enrolled in the Global Life Insurance.
If you wish to do so anytime next year, please reach out to help@remote.com
For more information on how benefits work in different countries, check out our Global <a href="https://remote.com/benefits-guide/global-life-insurance">benefits guide</a>.
'
renewal_selection_start_date: '2021-03-01'
properties:
data:
additionalProperties: false
properties:
benefit_renewal_request:
$ref: '#/components/schemas/BenefitRenewalRequests.BenefitRenewalRequest'
required:
- benefit_renewal_request
type: object
required:
- data
title: BenefitRenewalRequests.BenefitRenewalRequestResponse
type: object
Date:
description: UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
example: '2021-07-01'
format: date
title: Date
type: string
OfferedBenefitGroup:
additionalProperties: false
description: A benefit group that has been offered to employees, including enrollment statistics aggregated across all tiers and the individual offered tiers with their own statistics.
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_enrolled: 10
number_of_employees_offered: 12
offered_benefit_tiers:
- benefit_tier:
description: This is the premium tier for 2023 that includes medical, dental and vision benefits.
id: 66297cfd-cf60-4cf4-a70f-ac2561d92b04
name: Premium 2023 (Medical, Dental and Vision)
providers:
- id: 88297cfd-cf60-4cf4-a70f-ac2861d92b87
name: Health Provider
employee_stats:
number_of_employees_enrolled: 10
number_of_employees_offered: 12
properties:
benefit_group:
$ref: '#/components/schemas/BenefitGroup'
employee_stats:
$ref: '#/components/schemas/EmployeeStats'
offered_benefit_tiers:
description: The individual tiers within this group that have been offered, each with their own enrollment statistics.
items:
$ref: '#/components/schemas/OfferedBenefitTier'
type: array
required:
- benefit_group
- employee_stats
- offered_benefit_tiers
title: OfferedBenefitGroup
type: object
Unified.MinimalBenefitGroup:
example:
name: Benefit Group
slug: 663e0b79-c893-45ff-a1b2-f6dcabc098b5
properties:
name:
nullable: true
type: string
slug:
$ref: '#/components/schemas/Slug'
requir
# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/remote/refs/heads/main/openapi/remote-benefits-api-openapi.yml