Kombo website screenshot

Kombo

Kombo is a unified API for HR and ATS integrations, enabling B2B SaaS companies to connect with HRIS, payroll, recruiting, and learning systems through a single integration.

5 APIs 0 Features
ATSEmbedded iPaaSHRISLMSPayrollUnified API

APIs

Kombo Unified API

Kombo provides a unified API that connects B2B SaaS products with HR, payroll, applicant tracking, and learning management systems through a single integration point, handling d...

Kombo Unified HRIS API

Unified HRIS API for accessing employee data, absence management, time-off tracking, document management, and provisioning workflows across HR systems.

Kombo Unified ATS API

Unified ATS API for managing job postings, candidates, applications, and recruitment pipelines across applicant tracking systems.

Kombo Unified ATS-Assessment API

Unified ATS-Assessment API for assessment writing, notifications, and result submission across ATS platforms.

Kombo Unified LMS API

Unified LMS API for user management, courses, and learning progress tracking across learning management systems.

Collections

Kombo API

OPEN

Pricing Plans

Kombo Plans Pricing

3 plans

PLANS

Rate Limits

Kombo Rate Limits

2 limits

RATE LIMITS

FinOps

Kombo Finops

FINOPS

JSON Structure

Kombo Structure

0 properties

JSON STRUCTURE

Example Payloads

Kombo Getatsjobs Example

6 fields

EXAMPLE

Kombo Getatsoffers Example

6 fields

EXAMPLE

Kombo Getatsroles Example

6 fields

EXAMPLE

Kombo Getatstags Example

6 fields

EXAMPLE

Kombo Getatsusers Example

6 fields

EXAMPLE

Kombo Getcheckapikey Example

6 fields

EXAMPLE

Kombo Gethrisgroups Example

6 fields

EXAMPLE

Kombo Gethrisskills Example

6 fields

EXAMPLE

Kombo Gethristeams Example

6 fields

EXAMPLE

Kombo Getlmscourses Example

6 fields

EXAMPLE

Kombo Getlmsskills Example

6 fields

EXAMPLE

Kombo Getlmsusers Example

6 fields

EXAMPLE

Kombo Postforcesync Example

6 fields

EXAMPLE

Kombo Posthrisskills Example

6 fields

EXAMPLE

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
OpenAPI
OpenAPI
📦
SDKs
SDKs
🔗
Security
Security
💬
Support
Support
👥
GitHubOrganization
GitHubOrganization
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Kombo API
  version: 1.0.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: General
    type: folder
  items:
  - info:
      name: Check API key
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/check-api-key
    docs: Check whether your API key is working properly.
  - info:
      name: Trigger sync
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/force-sync
      headers:
      - name: X-Integration-Id
        value: workday:HWUTwvyx2wLoSUHphiWVrp28
      body:
        type: json
        data: '{}'
    docs: 'Trigger a sync for a specific integration.


      <Warning>Please note that it is **not** necessary nor recommended to call this endpoint periodically on your side. Kombo
      already performs periodic syncs for you and you should only trigger syncs yourself in special cases (like when a user
      clicks on a "Sync" button in your app).</Warning>'
  - info:
      name: Send passthrough request
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/passthrough/:tool/:api
      headers:
      - name: X-Integration-Id
        value: greenhouse:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: tool
        value: ''
        type: path
        description: The ID of the tool whose passthrough API you want to call (e.g., `personio`).
      - name: api
        value: ''
        type: path
        description: The ID of the passthrough API you want to call (some tools provide multiple). Check the endpoint description
          for a list of all available APIs.
      body:
        type: json
        data: '{}'
    docs: 'Send a request to the specified integration''s native API.


      At Kombo we put a lot of work into making sure that our unified API covers all our customers'' use cases and that they
      never have to think about integration-specific logic again. There are cases, however, where our customers want to build
      features that are very integration-specific. That''s where this endpoint comes in.


      Pass in details about the request you want to make to the integration''s API and we''ll forward it for you. We''ll also
      tak'
  - info:
      name: Get integration details
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/integrations/:integration_id
      params:
      - name: integration_id
        value: ''
        type: path
        description: GET /integrations/:integration_id Parameter
    docs: Get the specified integration with everything you need to display it to your customer.
  - info:
      name: Delete integration
      type: http
    http:
      method: DELETE
      url: https://api.kombo.dev/v1/integrations/:integration_id
      params:
      - name: integration_id
        value: ''
        type: path
        description: DELETE /integrations/:integration_id Parameter
      body:
        type: json
        data: '{}'
    docs: 'Delete the specified integration.

      **⚠️ This can not be undone!**'
  - info:
      name: Set integration enabled
      type: http
    http:
      method: PUT
      url: https://api.kombo.dev/v1/integrations/:integration_id/enabled
      params:
      - name: integration_id
        value: ''
        type: path
        description: PUT /integrations/:integration_id/enabled Parameter
      body:
        type: json
        data: '{}'
    docs: 'Enable or disable the specified integration. When disabling, all currently running syncs will be cancelled.


      All authentication credentials and configuration are preserved. Syncs can be resumed by re-enabling the integration.


      You may use this to, for example, pause syncing for customers that are temporarily not using the integration.'
  - info:
      name: Create reconnection link
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/integrations/:integration_id/relink
      params:
      - name: integration_id
        value: ''
        type: path
        description: POST /integrations/:integration_id/relink Parameter
      body:
        type: json
        data: '{}'
    docs: "Create a link that will allow the user to reconnect an integration. This is useful if you want to allow your users\
      \ to update the credentials if the old ones for example expired.\n\nEmbed this the same way you would [embed the connect\
      \ link](/connect/embedded-flow). By default, the link will be valid for 1 hour.\n\n### Example Request Body\n\n```json\n\
      {\n  \"language\": \"en\",\n  \"scope_config_id\": \"9Pv6aCFwNDEzPNmwjSsY9SQx\",\n  \"link_type\": \"EMBEDDED\"\n}\n\
      ```"
  - info:
      name: Create Setup Flow link
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/integrations/:integration_id/setup-link
      params:
      - name: integration_id
        value: ''
        type: path
        description: POST /integrations/:integration_id/setup-link Parameter
      body:
        type: json
        data: '{}'
    docs: 'Create a link that lets your customer run the [Setup Flow](/hris/features/setup-flow/introduction) for an integration.
      Use this to send customers back into setup steps like field mapping or employee filtering without having to go through
      the initial connection flow again. Pass the returned URL to `showKomboConnect` from the Kombo Connect SDK, the same
      way you do with a connection link.


      The integration must have at least one Setup Flow step enabled (e.g. field mapping or employee filtering); oth'
  - info:
      name: Get integration fields
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/integrations/:integration_id/integration-fields
      params:
      - name: integration_id
        value: ''
        type: path
        description: GET /integrations/:integration_id/integration-fields Parameter
      - name: cursor
        value: ''
        type: query
        description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
          previous page response.
      - name: page_size
        value: ''
        type: query
        description: The number of results to return per page. Maximum is 2000.
    docs: 'Get all fields available on the specified integration.

      **This includes the mapping to your custom fields**'
  - info:
      name: Updates an integration fields passthrough setting
      type: http
    http:
      method: PATCH
      url: https://api.kombo.dev/v1/integrations/:integration_id/integration-fields/:integration_field_id
      params:
      - name: integration_id
        value: ''
        type: path
        description: PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter
      - name: integration_field_id
        value: ''
        type: path
        description: PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter
      body:
        type: json
        data: '{}'
    docs: When enabled, the integration field will be passed as part of the `integration_fields` array on the specific model
      endpoint. Providing false will disable the passthrough for the specified field.
  - info:
      name: Get custom fields with current mappings
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/integrations/:integration_id/custom-fields
      params:
      - name: integration_id
        value: ''
        type: path
        description: GET /integrations/:integration_id/custom-fields Parameter
      - name: cursor
        value: ''
        type: query
        description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
          previous page response.
      - name: page_size
        value: ''
        type: query
        description: The number of results to return per page. Maximum is 250.
    docs: 'Get all custom fields available on the specified integration.

      **This includes the mapping to the corresponding integration field if applicable*'
  - info:
      name: Put custom field mappings
      type: http
    http:
      method: PUT
      url: https://api.kombo.dev/v1/integrations/:integration_id/custom-fields/:custom_field_id
      params:
      - name: integration_id
        value: ''
        type: path
        description: The unique ID of the integration where the custom field mapping should be updated
      - name: custom_field_id
        value: ''
        type: path
        description: The unique ID of the custom field that should be updated
      body:
        type: json
        data: '{}'
    docs: Updates the mapping of a given custom field. If the custom field is already mapped, it will be updated.
  - info:
      name: Get tools
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/tools/:category
      params:
      - name: category
        value: ''
        type: path
        description: GET /tools/:category Parameter
    docs: "Get a list of the tools (i.e., integrations) enabled in your environment.\n This can (in combination with the `integration_tool`\
      \ parameter of [the \"Create Link\" endpoint](/v1/post-create-link)) be used to, for example, display a custom list\
      \ or grid of available integrations to your end users instead of exposing Kombo Connect's standard tool selector."
- info:
    name: Unified HRIS API
    type: folder
  items:
  - info:
      name: Get provisioning diff
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/hris/provisioning-groups/:group_id/diff
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: group_id
        value: ''
        type: path
        description: ID of the provisioning group (currently only `default` is allowed).
      body:
        type: json
        data: '{}'
    docs: Get the list of users to provision, deprovision, and optionally update based on the users you've already provisioned
      in your system.
  - info:
      name: Create provisioning setup link (deprecated)
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/hris/provisioning-groups/:group_id/setup-links
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: group_id
        value: ''
        type: path
        description: ID of the provisioning group (currently only `default` is allowed).
      body:
        type: json
        data: '{}'
    docs: "Create a new link that can be passed to the Kombo Connect SDK to open the provisioning setup UI.\n\n<Warning>\n\
      \  **This endpoint is deprecated!**\n\n  Please use the [Create Setup Flow link endpoint](/v1/post-integrations-integration-id-setup-link)\
      \ instead. It supports the full Setup Flow (including filtering, field mapping, and any other enabled steps) and works\
      \ for any integration category, not just HRIS.\n</Warning>"
  - info:
      name: Get employees
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/hris/employees
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: cursor
        value: ''
        type: query
        description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
          previous page response.
      - name: page_size
        value: ''
        type: query
        description: The number of results to return per page. Maximum is 250.
      - name: updated_after
        value: ''
        type: query
        description: 'Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records
          where either the record itself **OR** its nested data has been updated since this timestamp, even if the record''s
          own `changed_at` field remains unchanged.


          If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted
          entries will be hidden.


          For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).


          For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described
          below.


          | Path | Added/Removed | Linked Record |

          | --- | --- | --- |

          | `employments` | ✓ Yes | ✓ Yes |

          | `time_off_balances` | ✓ Yes | ✓ Yes |

          | `manager` | n/a | ✓ Yes |

          | `group_memberships` | ✓ Yes | ✗ No |

          | `legal_entity` | n/a | ✓ Yes |

          | `work_location` | n/a | ✓ Yes |


          _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records).
          **Linked Record**: Whether changes to the linked record itself trigger an update._'
      - name: include_deleted
        value: ''
        type: query
        description: By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted
          entries too.
      - name: ignore_unsupported_filters
        value: ''
        type: query
        description: When set to `true`, filters targeting fields not supported by this integration will be ignored instead
          of filtering out all results.
      - name: ids
        value: ''
        type: query
        description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
      - name: remote_ids
        value: ''
        type: query
        description: Filter by a comma-separated list of remote IDs.
      - name: employment_status
        value: ''
        type: query
        description: '**(⚠️ Deprecated - Use the `employment_statuses` filter instead.)** Filter by the `employment_status`
          field.'
      - name: employment_statuses
        value: ''
        type: query
        description: "Filter by a comma-separated list of `ACTIVE`, `PENDING`, `INACTIVE`, `LEAVE` \n* `ACTIVE`: the employee\
          \ is **actively employed** \n* `PENDING`: the employee is **not actively employed yet** (but they signed their contract\
          \ or are part of an onboarding process) \n* `INACTIVE`: a full-time employee is no longer employed, or, for a contract\
          \ worker when their contract runs out \n* `LEAVE`: the employee is still employed but **currently on leave** (note\
          \ that not all HR systems support this status — use our absences API for detailed information) \n \n\nLeave this\
          \ blank to get results matching all values."
      - name: group_ids
        value: ''
        type: query
        description: Filter by a comma-separated list of group IDs. We will only return employees that are members of _any_
          of the groups.
      - name: legal_entity_ids
        value: ''
        type: query
        description: Filter by a comma-separated list of legal entity IDs. We will only return employees that are members
          of _any_ of the legal entities.
      - name: work_location_ids
        value: ''
        type: query
        description: Filter by a comma-separated list of work location IDs. We will only return employees who are at _any_
          of the work locations.
      - name: work_emails
        value: ''
        type: query
        description: Filter by a comma-separated list of work emails. We will only return employees who have _any_ of the
          work emails. The format of the emails is case-insensitive.
      - name: personal_emails
        value: ''
        type: query
        description: Filter by a comma-separated list of personal emails. We will only return employees who have _any_ of
          the personal emails. The format of the emails is case-insensitive.
      - name: custom_fields
        value: ''
        type: query
        description: A JSON string with a single key-value pair like {"fieldKey":"fieldValue"} to filter employees by a specific
          custom field value. Note that the value must be a string, number, boolean or null and the key must be a valid custom
          field key. Custom fields with a value of type array or object are not supported.
    docs: 'Retrieve all employees.


      <Note>Not interested in most fields? You can use our [our Scopes feature](/scopes) to customize what data points are
      synced.</Note>


      Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will
      be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`'
  - info:
      name: '[DEPRECATED] Create employee'
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/hris/employees
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      body:
        type: json
        data: '{}'
    docs: "Create a new employee.\n\n<Warning>\n  We are deprecating this endpoint in favor of the new [create employee form](/hris/features/create-employee)\
      \ endpoint.\n</Warning>\n\n<Note>\n  This endpoint requires the permission **Create and manage employees** to be enabled\
      \ in [your scope config](/scopes).\n</Note>\n\n### Example Request Body\n\n```json\n{\n  \"first_name\": \"John\",\n\
      \  \"last_name\": \"Doe\",\n  \"work_email\": \"john.doe@acme.com\",\n  \"gender\": \"MALE\",\n  \"date_of_birth\":\
      \ \"1986-01-01\",\n  \"start_date\": \"2020-04-07"
  - info:
      name: Get employee form
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/hris/employees/form
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
    docs: "Get the form for creating an employee. This form can be rendered dynamically on your frontend to allow your customers\
      \ to create employees in their HRIS.\n\nFollow our [create employee guide here](/hris/features/create-employee) to learn\
      \ how this form is generated and how you can use it.\n\n### Example Form\n```json\n{\n  \"properties\": {\n    \"firstName\"\
      : {\n      \"type\": \"text\",\n      \"label\": \"First Name\",\n      \"required\": true,\n      \"description\":\
      \ \"Employee's first name\",\n      \"unified_key\": \"first_"
  - info:
      name: Create employee with form
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/hris/employees/form
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      body:
        type: json
        data: '{}'
    docs: "Create an employee, based on the form schema.\n\n<Note>\n  This endpoint requires the permission **Create and manage\
      \ employees** to be enabled in [your scope config](/scopes).\n</Note>\n\n### Example Request Body\n\n```json\n{\n  \"\
      properties\": {\n    \"firstName\": \"John\",\n    \"startDate\": \"2025-01-01\",\n    \"workLocation\": {\n      \"\
      site\": \"8e422bf8cav\",\n      \"keyNumbers\": [\n        142,\n        525,\n        63\n      ]\n    }\n  }\n}\n\
      ```"
  - info:
      name: Update employee
      type: http
    http:
      method: PATCH
      url: https://api.kombo.dev/v1/hris/employees/:employee_id
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: employee_id
        value: ''
        type: path
        description: The ID of the employee that should be updated. You can use their Kombo `id` or their ID in the remote
          system by prefixing it with `remote:` (e.g., `remote:12312`)
      body:
        type: json
        data: '{}'
    docs: "Update an employee.\n\n<Note>\n  This endpoint requires the permission **Create and manage employees** to be enabled\
      \ in [your scope config](/scopes).\n</Note>\n\n### Example Request Body\n\n```json\n{\n  \"employee_id\": \"BkgfzSr5muN9cUTMD4wDQFn4\"\
      ,\n  \"first_name\": \"John\",\n  \"last_name\": \"Doe\",\n  \"work_email\": \"john.doe@acme.com\",\n  \"ssn\": \"555-32-6395\"\
      ,\n  \"tax_id\": \"12 345 678 901\",\n  \"gender\": \"MALE\",\n  \"marital_status\": \"MARRIED\",\n  \"date_of_birth\"\
      : \"1986-01-01\",\n  \"start_date\": \"2020-04-07\",\n  \"terminati"
  - info:
      name: Add document to employee
      type: http
    http:
      method: POST
      url: https://api.kombo.dev/v1/hris/employees/:employee_id/documents
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: employee_id
        value: ''
        type: path
        description: POST /hris/employees/:employee_id/documents Parameter
      body:
        type: json
        data: '{}'
    docs: "Uploads an document file for the specified employee.\n\n<Note>\n  This endpoint requires the permission **Manage\
      \ documents** to be enabled in [your scope config](/scopes).\n</Note>\n\n### Example Request Body\n\n```json\n{\n  \"\
      category_id\": \"3Cjwu7nA7pH5cX5X1NAPmb7M\",\n  \"document\": {\n    \"name\": \"Frank Doe Employment Contract.txt\"\
      ,\n    \"data\": \"SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=\"\
      ,\n    \"content_type\": \"text/plain\"\n  }\n}\n```"
  - info:
      name: Get employee document categories
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/hris/employee-document-categories
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: cursor
        value: ''
        type: query
        description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
          previous page response.
      - name: page_size
        value: ''
        type: query
        description: The number of results to return per page. Maximum is 250.
      - name: updated_after
        value: ''
        type: query
        description: 'Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records
          where either the record itself **OR** its nested data has been updated since this timestamp, even if the record''s
          own `changed_at` field remains unchanged.


          If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted
          entries will be hidden.


          For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).


          For this endpoint, only changes to the returned record itself are considered.'
      - name: include_deleted
        value: ''
        type: query
        description: By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted
          entries too.
      - name: ignore_unsupported_filters
        value: ''
        type: query
        description: When set to `true`, filters targeting fields not supported by this integration will be ignored instead
          of filtering out all results.
      - name: ids
        value: ''
        type: query
        description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
      - name: remote_ids
        value: ''
        type: query
        description: Filter by a comma-separated list of remote IDs.
    docs: 'Get employee document categories.


      Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will
      be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`'
  - info:
      name: Get teams (deprecated)
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/hris/teams
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: cursor
        value: ''
        type: query
        description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
          previous page response.
      - name: page_size
        value: ''
        type: query
        description: The number of results to return per page. Maximum is 250.
      - name: updated_after
        value: ''
        type: query
        description: 'Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records
          where either the record itself **OR** its nested data has been updated since this timestamp, even if the record''s
          own `changed_at` field remains unchanged.


          If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted
          entries will be hidden.


          For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).


          For this endpoint, only changes to the returned record itself are considered.'
      - name: include_deleted
        value: ''
        type: query
        description: By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted
          entries too.
      - name: ignore_unsupported_filters
        value: ''
        type: query
        description: When set to `true`, filters targeting fields not supported by this integration will be ignored instead
          of filtering out all results.
      - name: ids
        value: ''
        type: query
        description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
      - name: remote_ids
        value: ''
        type: query
        description: Filter by a comma-separated list of remote IDs.
    docs: "Get the teams.\n\n<Warning>\n  **This endpoint is deprecated!**\n\n  Please use [the `/groups` endpoint](/hris/v1/get-groups)\
      \ instead. It returns the same data but the naming makes more sense as the model not only includes teams but also departments\
      \ and cost centers..\n</Warning>\n\nTop level filters use AND, while individual filters use OR if they accept multiple\
      \ arguments. That means filters will be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`"
  - info:
      name: Get groups
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/hris/groups
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: cursor
        value: ''
        type: query
        description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
          previous page response.
      - name: page_size
        value: ''
        type: query
        description: The number of results to return per page. Maximum is 250.
      - name: updated_after
        value: ''
        type: query
        description: 'Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records
          where either the record itself **OR** its nested data has been updated since this timestamp, even if the record''s
          own `changed_at` field remains unchanged.


          If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted
          entries will be hidden.


          For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).


          For this endpoint, only changes to the returned record itself are considered.'
      - name: include_deleted
        value: ''
        type: query
        description: By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted
          entries too.
      - name: ignore_unsupported_filters
        value: ''
        type: query
        description: When set to `true`, filters targeting fields not supported by this integration will be ignored instead
          of filtering out all results.
      - name: ids
        value: ''
        type: query
        description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
      - name: remote_ids
        value: ''
        type: query
        description: Filter by a comma-separated list of remote IDs.
      - name: types
        value: ''
        type: query
        description: "Filter by a comma-separated list of group types: `DEPARTMENT`, `TEAM`, `COST_CENTER`, or `null` to filter\
          \ groups without a type. \n\nLeave this blank to get results matching all values."
      - name: name_contains
        value: ''
        type: query
        description: Filter by the `name` field. Can be used to find a group by keywords present in the group name.
    docs: 'Retrieve all "groups" (teams, departments, and cost centers).


      Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will
      be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`'
  - info:
      name: Get employments
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/hris/employments
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: cursor
        value: ''
        type: query
        description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
          previous page response.
      - name: page_size
        value: ''
        type: query
        description: The number of results to return per page. Maximum is 250.
      - name: updated_after
        value: ''
        type: query
        description: 'Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records
          where either the record itself **OR** its nested data has been updated since this timestamp, even if the record''s
          own `changed_at` field remains unchanged.


          If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted
          entries will be hidden.


          For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).


          For this endpoint, only changes to the returned record itself are considered.'
      - name: include_deleted
        value: ''
        type: query
        description: By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted
          entries too.
      - name: ignore_unsupported_filters
        value: ''
        type: query
        description: When set to `true`, filters targeting fields not supported by this integration will be ignored instead
          of filtering out all results.
      - name: ids
        value: ''
        type: query
        description: Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
      - name: remote_ids
        value: ''
        type: query
        description: Filter by a comma-separated list of remote IDs.
    docs: 'Retrieve all employments.


      Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will
      be resolved like this: `(id IN ids) AND (remote_id IN remote_ids)`'
  - info:
      name: Get work locations
      type: http
    http:
      method: GET
      url: https://api.kombo.dev/v1/hris/locations
      headers:
      - name: X-Integration-Id
        value: bamboohr:HWUTwvyx2wLoSUHphiWVrp28
      params:
      - name: cursor
        value: ''
        type: query
        description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
          previous page response.
      - name: page_size
        value: ''
        type: query
        description: The number of results to return per page. Maximum i

# --- truncated at 32 KB (158 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kombo/refs/heads/main/apis.yml