Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/bindbee:bindbee-benefits-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bindbee Benefits API
version: 0.1.0
tags:
- name: Benefits
paths:
/api/hris/v1/benefits:
get:
tags:
- Benefits
summary: Get Benefits
description: Returns a list of Benefit objects.
operationId: get_benefits_api_hris_v1_benefits_get
security:
- HTTPBearer: []
parameters:
- name: ids
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The ID of the benefits to fetch
examples:
- 01931edf-04b6-7391-8a5c-93ac4b395316,01931edf-04c8-7649-a470-d85f6161bd1a
title: Ids
description: The ID of the benefits to fetch
- name: employee_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The ID of the employees for the benefits to fetch
examples:
- 01931edf-04b6-7391-8a5c-93ac4b395316,01931edf-04c8-7649-a470-d85f6161bd1a
title: Employee Id
description: The ID of the employees for the benefits to fetch
- name: employer_benefit_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The ID of the employer benefits for the benefits to fetch
examples:
- 01931edf-04b6-7391-8a5c-93ac4b395316,01931edf-04c8-7649-a470-d85f6161bd1a
title: Employer Benefit Id
description: The ID of the employer benefits for the benefits to fetch
- name: benefit_plan_category
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The category of the benefit plan to filter by (e.g., MEDICAL, VISION, DENTAL, RETIREMENT, etc.)
examples:
- MEDICAL
title: Benefit Plan Category
description: The category of the benefit plan to filter by (e.g., MEDICAL, VISION, DENTAL, RETIREMENT, etc.)
- name: remote_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The third-party API ID of the matching object.
examples:
- '3235005483341316245'
title: Remote Id
description: The third-party API ID of the matching object.
- name: coverage_tier
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The coverage tier of the benefit to filter by
examples:
- WAIVED
- EMPLOYEE_ONLY
- EMPLOYEE_SPOUSE
- EMPLOYEE_CHILD
- EMPLOYEE_CHILDREN
- EMPLOYEE_FAMILY
- EMPLOYEE_DOMESTIC_PARTNER
- HSA_FAMILY
- SPOUSE
- EMPLOYEE_1_DEPENDENT
- EMPLOYEE_1_HOUSEHOLD_MEMBER
title: Coverage Tier
description: The coverage tier of the benefit to filter by
- name: include_raw_data
in: query
required: false
schema:
type: boolean
description: Whether to include the original data Bindbee fetched from the third-party to produce these models.
examples:
- false
default: false
title: Include Raw Data
description: Whether to include the original data Bindbee fetched from the third-party to produce these models.
- name: include_custom_fields
in: query
required: false
schema:
type: boolean
description: Whether to include custom fields in the response.
examples:
- false
default: false
title: Include Custom Fields
description: Whether to include custom fields in the response.
- name: modified_after
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'If provided, only objects synced by Bindbee after this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
examples:
- '2024-02-21T21:22:12.993Z'
title: Modified After
description: 'If provided, only objects synced by Bindbee after this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
- name: page_size
in: query
required: false
schema:
type: integer
maximum: 200
minimum: 1
description: Number of results to return per page. Maximum size is 200.
default: 50
title: Page Size
description: Number of results to return per page. Maximum size is 200.
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The pagination cursor value.
title: Cursor
description: The pagination cursor value.
- name: start_date_from
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'If provided, only objects with start_date same or after this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
examples:
- '2024-02-21T21:22:12.993Z'
title: Start Date From
description: 'If provided, only objects with start_date same or after this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
- name: start_date_to
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'If provided, only objects with start_date same or before this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
examples:
- '2024-02-21T21:22:12.993Z'
title: Start Date To
description: 'If provided, only objects with start_date same or before this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
- name: end_date_from
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'If provided, only objects with end_date same or after this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
examples:
- '2024-02-21T21:22:12.993Z'
title: End Date From
description: 'If provided, only objects with end_date same or after this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
- name: end_date_to
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'If provided, only objects with end_date same or before this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
examples:
- '2024-02-21T21:22:12.993Z'
title: End Date To
description: 'If provided, only objects with end_date same or before this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
- name: effective_date_from
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'If provided, only objects with effective_date same or after this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
examples:
- '2024-02-21T21:22:12.993Z'
title: Effective Date From
description: 'If provided, only objects with effective_date same or after this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
- name: effective_date_to
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'If provided, only objects with effective_date same or before this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
examples:
- '2024-02-21T21:22:12.993Z'
title: Effective Date To
description: 'If provided, only objects with effective_date same or before this date time will be returned. Format: DateTime (ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
- name: expand
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. You can also specify required fields in [] for each relation name.
examples:
- manager[first_name,last_name]
title: Expand
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. You can also specify required fields in [] for each relation name.
- name: x-connector-token
in: header
required: true
schema:
type: string
title: X-Connector-Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedResponse_HrisBenefit_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'401':
description: Missing or invalid bearer authentication credentials.
headers:
WWW-Authenticate:
description: Bearer authentication challenge.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The credentials are valid but do not permit access to this resource, e.g. a connector token used on a different API category or a model whose writes are disabled.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
headers:
X-RateLimit-Limit:
description: Maximum requests allowed in the current window.
schema:
type: integer
X-RateLimit-Remaining:
description: Requests remaining in the current window.
schema:
type: integer
X-RateLimit-Reset:
description: Unix timestamp (seconds since epoch) at which the current rate-limit window resets.
schema:
type: integer
Retry-After:
description: Seconds to wait before retrying the request.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/hris/v1/benefits/{id}:
get:
tags:
- Benefits
summary: Get Benefit By Id
description: Returns a Benefit object with the given id.
operationId: get_benefit_by_id_api_hris_v1_benefits__id__get
security:
- HTTPBearer: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
title: Id
- name: include_raw_data
in: query
required: false
schema:
type: boolean
description: Whether to include the original data Bindbee fetched from the third-party to produce these models.
examples:
- false
default: false
title: Include Raw Data
description: Whether to include the original data Bindbee fetched from the third-party to produce these models.
- name: include_custom_fields
in: query
required: false
schema:
type: boolean
description: Whether to include custom fields in the response.
examples:
- false
default: false
title: Include Custom Fields
description: Whether to include custom fields in the response.
- name: expand
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. You can also specify required fields in [] for each relation name.
examples:
- manager[first_name,last_name]
title: Expand
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. You can also specify required fields in [] for each relation name.
- name: x-connector-token
in: header
required: true
schema:
type: string
title: X-Connector-Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/HrisBenefit'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'401':
description: Missing or invalid bearer authentication credentials.
headers:
WWW-Authenticate:
description: Bearer authentication challenge.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The credentials are valid but do not permit access to this resource, e.g. a connector token used on a different API category or a model whose writes are disabled.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
headers:
X-RateLimit-Limit:
description: Maximum requests allowed in the current window.
schema:
type: integer
X-RateLimit-Remaining:
description: Requests remaining in the current window.
schema:
type: integer
X-RateLimit-Reset:
description: Unix timestamp (seconds since epoch) at which the current rate-limit window resets.
schema:
type: integer
Retry-After:
description: Seconds to wait before retrying the request.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ErrorResponse:
type: object
required:
- detail
properties:
detail:
type: string
HrisBenefit:
properties:
id:
type: string
format: uuid
title: Id
examples:
- 018b18ef-c487-703c-afd9-0ca478ccd9d6
remote_id:
anyOf:
- type: string
- type: 'null'
title: Remote Id
description: The third-party API ID of the matching object.
examples:
- '123321'
modified_at:
type: string
format: date-time
title: Modified At
description: This is the datetime that this object was last updated by Bindbee
examples:
- '2021-10-16T00:00:00Z'
raw_data:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Raw Data
description: This is the Raw data
examples:
- key_1: Platform dependent data 1
key_2: Platform dependent data 2
custom_fields:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Custom Fields
description: The custom fields related to the model
examples:
- category_group: REG
disability_type: ASBERG
hire_date: '1991-03-16T00:00:00'
hire_source: REFER
nationality: USA
original_hire_date: '1991-03-16T00:00:00'
employee:
anyOf:
- {}
- type: 'null'
title: Employee
description: The employee on the plan.
examples:
- 018b18ef-c488-7d40-9131-91bbc47c1007
plan_name:
anyOf:
- type: string
- type: 'null'
title: Plan Name
description: The name of the plan.
examples:
- Medical PPO
provider_name:
anyOf:
- type: string
- type: 'null'
title: Provider Name
description: The name of the benefit provider.
examples:
- Anthem
benefit_plan_type:
anyOf:
- type: string
- type: 'null'
title: Benefit Plan Type
description: The type of benefit plan
examples:
- Medical
frequency:
anyOf:
- type: string
- type: 'null'
enum:
- HOURLY
- WEEKLY
- BIWEEKLY
- QUARTERLY
- SEMIANNUALLY
- ANNUALLY
- THIRTEEN-MONTHLY
- PRO_RATA
- SEMIMONTHLY
- MONTHLY
- FOURWEEKLY
- '-'
title: Frequency
description: The frequency of the plan. If the value is not one of the defined enum values, the original value passed through will be returned.
examples:
- SEMIMONTHLY
employee_contribution:
anyOf:
- type: integer
- type: number
- type: 'null'
title: Employee Contribution
description: The employee's contribution.
examples:
- 22.27
company_contribution:
anyOf:
- type: integer
- type: number
- type: 'null'
title: Company Contribution
description: The company's contribution.
examples:
- 77.22
start_date:
anyOf:
- type: string
- type: 'null'
title: Start Date
description: The day and time the benefit started.
examples:
- '2023-10-18T00:00:00Z'
effective_date:
anyOf:
- type: string
- type: 'null'
title: Effective Date
description: The day and time the benefit is effective from.
examples:
- '2023-10-18T00:00:00Z'
end_date:
anyOf:
- type: string
- type: 'null'
title: End Date
description: The day and time the benefit ended.
examples:
- '2024-10-16T00:00:00Z'
employer_benefit:
anyOf:
- {}
- type: 'null'
title: Employer Benefit
description: The employer benefit plan the employee is enrolled in.
examples:
- 018b18ef-c488-7d40-9131-91bbc47c1007
benefit_plan_category:
anyOf:
- type: string
- type: 'null'
enum:
- MEDICAL
- VISION
- DENTAL
- HEALTH_SAVINGS
- FLEXIBLE_SPENDING
- LIFE_INSURANCE
- DISABILITY
- SUPPLEMENTAL_INSURANCE
- RETIREMENT
- WELLNESS
- OTHER
title: Benefit Plan Category
description: The category of the plan. If the value is not one of the defined enum values, the original value passed through will be returned.
examples:
- MEDICAL
coverage_tier:
anyOf:
- type: string
- type: 'null'
enum:
- WAIVED
- EMPLOYEE_ONLY
- EMPLOYEE_SPOUSE
- EMPLOYEE_CHILD
- EMPLOYEE_CHILDREN
- EMPLOYEE_FAMILY
- EMPLOYEE_DOMESTIC_PARTNER
- HSA_FAMILY
- SPOUSE
- EMPLOYEE_1_DEPENDENT
- EMPLOYEE_1_HOUSEHOLD_MEMBER
title: Coverage Tier
description: The coverage tier for the benefit plan. If the value is not one of the defined enum values, the original value passed through will be returned.
examples:
- EMPLOYEE_ONLY
type: object
required:
- id
- remote_id
- modified_at
- custom_fields
- employee
- plan_name
- provider_name
- benefit_plan_type
- frequency
- employee_contribution
- company_contribution
- start_date
- effective_date
- end_date
- employer_benefit
- benefit_plan_category
- coverage_tier
title: HrisBenefit
description: The Benefit object is used to represent a benefit that an employee has enrolled in.
PaginatedResponse_HrisBenefit_:
properties:
cursor:
anyOf:
- type: string
- type: 'null'
title: Cursor
description: Cursor value to fetch next set of items
examples:
- MDE4YjE4ZWYtYzk5Yy03YTg2LTk5NDYtN2I3YzlkNTQzM2U1
page_size:
type: integer
title: Page Size
description: Indicates the count of items in the response
examples:
- 50
items:
items:
$ref: '#/components/schemas/HrisBenefit'
type: array
title: Items
description: List of items in the current response
type: object
required:
- cursor
- page_size
- items
title: PaginatedResponse[HrisBenefit]
securitySchemes:
HTTPBearer:
type: http
scheme: bearer
x-provenance:
method: harvested
publisher: Bindbee
source: https://api.bindbee.dev/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)