Remote Benefit Renewals API
The Benefit Renewals API from Remote — 3 operation(s) for benefit renewals.
The Benefit Renewals API from Remote — 3 operation(s) for benefit renewals.
openapi: 3.0.0
info:
title: Remote Address Details Benefit Renewals API
version: 0.1.0
servers:
- url: https://gateway.remote.com/
variables: {}
- url: https://gateway.remote-sandbox.com/
variables: {}
security:
- OAuth2: []
tags:
- name: Benefit Renewals
paths:
/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:
- Benefit Renewals
/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:
- Benefit Renewals
/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:
- Benefit Renewals
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:
- Benefit Renewals
components:
schemas:
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
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
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
BenefitRenewalRequests.UpdateBenefitRenewalRequest:
description: 'Upsert benefit offers Renewal Request.
This endpoint requires and returns country-specific data. The exact required and returned fields will
vary depending on which country the employment is in. To see the list of parameters for each country,
see the **Show form schema** endpoint under the [Show benefit renewal request schema](#tag/Benefit-Renewal-Requests) category.
Please note that the compliance requirements for each country are subject to change according to local
laws. Given its continual updates, using Remote''s [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) should be considered in order to avoid
compliance issues and to have the latest version of a country requirements.
If you are using this endpoint to build an integration, make sure you are dynamically collecting or
displaying the latest parameters for each country by querying the _"Show benefit renewal request schema"_ endpoint.
For more information on JSON Schemas, see the **How JSON Schemas work** documentation.
To learn how you can dynamically generate forms to display in your UI, see the documentation for
the [json-schema-form](https://developer.remote.com/docs/how-json-schemas-work) tool.
'
properties: {}
title: BenefitRenewalRequests.UpdateBenefitRenewalRequest
type: object
SuccessResponse:
description: A generic success response returned by operations that don't produce a specific resource (e.g., updates, deletes).
example:
data:
status: ok
properties:
data:
properties:
status:
description: The result status. Always `"ok"` for successful operations.
type: string
type: object
required:
- data
title: SuccessResponse
type: object
DateTime:
description: UTC date time in YYYY-MM-DDTHH:mm:ss format
example: '2021-07-15T18:18:17'
format: datetime
title: DateTime
type: string
UnauthorizedResponse:
description: Returned when the request does not include valid authentication credentials. Ensure you are passing a valid OAuth2 access token or API token in the Authorization header.
example:
message: Unauthorized
properties:
message:
pattern: Unauthorized
type: string
required:
- message
title: UnauthorizedResponse
type: object
UnprocessableEntityResponse:
anyOf:
- properties:
errors:
type: object
required:
- errors
type: object
- properties:
message:
oneOf:
- type: string
- $ref: '#/components/schemas/ParameterError'
- items:
$ref: '#/components/schemas/ParameterError'
title: ParameterErrors
type: array
- $ref: '#/components/schemas/ActionError'
- items:
$ref: '#/components/schemas/ActionError'
title: ActionErrors
type: array
required:
- message
type: object
example:
errors:
some_field:
- is invalid
title: UnprocessableEntityResponse
type: object
BadRequestResponse:
description: 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 message.
example:
message: invalid {resource}
oneOf:
- properties:
message:
description: A human-readable error message describing what was wrong with the request.
type: string
required:
- message
type: object
- properties:
message:
properties:
code:
type: string
message:
type: string
required:
- code
- message
type: object
type: object
title: BadRequestResponse
type: object
BenefitRenewalRequests.ListBenefitRenewalRequestResponse:
description: Response schema listing many benefit_renewal_requests
example:
benefit_renewal_requests:
- 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'
current_page: 1
total_count: 1
total_pages: 1
properties:
data:
properties:
benefit_renewal_requests:
items:
$ref: '#/components/schemas/BenefitRenewalRequests.BenefitRenewalRequest'
type: array
current_page:
description: The current page among all of the total_pages
type: integer
total_count:
description: The total number of records in the result
type: integer
total_pages:
description: The total number of pages the user can go through
type: integer
type: object
title: BenefitRenewalRequests.ListBenefitRenewalRequestResponse
type: object
ActionError:
properties:
action:
description: The action that lead to the error message.
type: string
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
required:
- code
- message
- action
title: ActionError
type: object
NotFoundResponse:
description: Returned when the requested resource does not exist or is not accessible with the current authentication credentials.
example:
message: '{resource} not found'
properties:
message:
description: A message indicating which resource was not found.
pattern: Not Found
type: string
title: NotFoundResponse
type: object
NullableMinimalBenefitTier:
additionalProperties: false
example:
description: A tier for testing purposes
display_cost: ~$100
id: 163d8f6c-2440-4f45-918b-d095f9e0ef79
name: Premium
nullable: true
properties:
description:
description: A description of what this tier includes.
type: string
display_cost:
description: A human-readable cost estimate for this tier (e.g., "~$100"). Null if cost is not available.
nullable: true
type: string
id:
description: The unique identifier (UUID) of the benefit tier.
type: string
name:
description: The name of the benefit tier (e.g., "Premium", "Standard").
type: string
required:
- id
- name
- description
title: NullableMinimalBenefitTier
type: object
UuidSlug:
description: Identifier of the employment being terminated.
example: 663e0b79-c893-45ff-a1b2-f6dcabc098b5
format: uuid
title: UuidSlug
type: string
BenefitRenewalRequests.BenefitRenewalRequest:
additionalProperties: false
example:
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:
benefit_group:
$ref: '#/components/schemas/BenefitRenewalRequests.MinimalBenefitGroup'
benefit_renewal_response:
allOf:
- $ref: '#/components/schemas/BenefitRenewalRequests.MinimalBenefitRenewalResponse'
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'
nullable: true
title: MaybeBenefitRenewalRequests.MinimalBenefitRenewalResponse
type: object
coverage_end_date:
$ref: '#/components/schemas/Date'
coverage_start_date:
$ref: '#/components/schemas/Date'
current_benefit_tier:
$ref: '#/components/schemas/NullableMinimalBenefitTier'
id:
description: The unique identifier (UUID) of the benefit renewal request.
type: string
number_of_affected_employees:
description: The number of employees who will be affected by this benefit renewal.
type: integer
renewal_selection_end_date:
$ref: '#/components/schemas/Date'
renewal_selection_instructions:
description: Instructions for the employer about the renewal process, available plans, and deadlines.
type: string
renewal_selection_start_date:
$ref: '#/components/schemas/Date'
required:
- id
- coverage_start_date
- coverage_end_date
- renewal_selection_start_date
- renewal_selection_end_date
- renewal_selection_instructions
- benefit_group
- benefit_renewal_response
- number_of_affected_employees
title: BenefitRenewalRequests.BenefitRenewalRequest
type: object
TooManyRequestsResponse:
description: 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.
example:
message: Too many requests
properties:
message:
pattern: Too many requests
type: string
title: TooManyRequestsResponse
type: object
BenefitRenewalRequests.MinimalBenefitGroup:
additionalProperties: false
description: A lightweight benefit group reference used in renewal requests.
example:
country_code: FRA
id: 03b20f23-06b2-4fe2-8f21-49b445ccc1bb
name: Health
properties:
country_code:
description: The ISO 3166-1 3-letter country code for this benefit group.
type: string
id:
description: The unique identifier (UUID) of the benefit group.
type: string
name:
description: The name of the benefit group (e.g., "Health", "Life Insurance").
type: string
required:
- id
- name
- country_code
title: BenefitRenewalRequests.MinimalBenefitGroup
type: object
securitySchemes:
BasicAuth:
description: 'Authenticate using the basic authentication for partners.
Use the CLIENT_ID as login and CLIENT_SECRET as password.
'
scheme: basic
type: http
ClientToken:
description: 'Authenticate a partner using only the the provided `client_token`.
This authentication method only allows accessing marketing endpoints.
'
scheme: bearer
type: http
CustomerAPIToken:
description: 'Authenticate using API Key generated by the customer in their Integration Settings page.
'
scheme: bearer
type: http
OAuth2:
description: 'Authenticate using OAuth 2.0 protocol.
'
flows:
authorizationCode:
authorizationUrl: /auth/oauth2/authorize
scopes:
company_department:read: company_department:read
webhook:write: webhook:write
magic_link:write: magic_link:write
offboarding:write: offboarding:write
custom_field:write: custom_field:write
address:write: address:write
expense:read: expense:read
employment:write: employment:write
identity_verification:write: identity_verification:write
timesheet:write: timesheet:write
travel_letter:write: travel_letter:write
incentive:read: incentive:read
personal_detail:read: personal_detail:read
invoices:write: invoices:write
work_authorization:write: work_authorization:write
timeoff:write: timeoff:write
company_structure:read: company_structure:read
benefit_renewal:write: benefit_renewal:write
benefit_offer:read: benefit_offer:read
employment_documents: employment_documents
onboarding:write: onboarding:write
payroll_run:read: payroll_run:read
risk_reserve:write: risk_reserve:write
invoices: invoices
resignation_letter:read: resignation_letter:read
resignation:read: resignation:read
convert_currency:read: convert_currency:rea
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/remote/refs/heads/main/openapi/remote-benefit-renewals-api-openapi.yml