> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kombo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get tools

> Get a list of the tools (i.e., integrations) enabled in your environment.

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.


## OpenAPI

````yaml GET /tools/{category}
openapi: 3.1.0
info:
  title: Kombo API
  version: 1.0.0
servers:
  - url: https://api.kombo.dev/v1
    description: Kombo EU API
  - url: https://api.us.kombo.dev/v1
    description: Kombo US API
security:
  - ApiKey: []
tags:
  - name: General
  - name: Kombo Connect
    description: >-
      Endpoints for Kombo Connect, our end-user-facing flow for setting up new
      integrations.
  - name: Unified HRIS API
    description: Unified endpoints to access all the HR concepts you might need.
  - name: Unified ATS API
    description: Unified endpoints to access all the ATS concepts you might need.
  - name: Unified ATS (Assessment & Background Check) API
    description: >-
      Unified endpoints to operate Assessments and Background Checks for many
      applicant tracking systems.
  - name: Unified LMS API
    description: Unified endpoints to access all the LMS concepts you might need.
  - name: AI Apply
    description: Endpoints for AI-powered job application features.
  - name: Custom Endpoints
    description: Custom integration-specific endpoints.
paths:
  /tools/{category}:
    get:
      tags:
        - General
      summary: Get tools
      description: >-
        Get a list of the tools (i.e., integrations) enabled in your
        environment.
         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.
      operationId: GetToolsCategory
      parameters:
        - name: category
          in: path
          required: true
          description: GET /tools/:category Parameter
          schema:
            $ref: '#/components/schemas/GetToolsCategoryParameterCategory'
      responses:
        '200':
          description: GET /tools/:category Positive response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetToolsCategoryPositiveResponse'
              examples:
                example1:
                  value:
                    status: success
                    data:
                      tools:
                        - id: factorial
                          label: Factorial
                          internal_label: null
                          assets:
                            logo_url: >-
                              https://storage.googleapis.com/kombo-assets/integrations/factorial/logo.svg
                            icon_url: >-
                              https://storage.googleapis.com/kombo-assets/integrations/factorial/icon.svg
                            icon_black_url: >-
                              https://storage.googleapis.com/kombo-assets/integrations/factorial/icon-black.svg
                          paid_api_details_markdown: null
                          fast_track_details_markdown: null
                          partner_only_details_markdown: null
                          connection_guide_url: >-
                            https://help.kombo.dev/hc/en-us/articles/18743884123409-Factorial-HR-How-do-I-link-my-account
                          coverage:
                            read_models:
                              - id: hris_employees
                                label: Employees
                                coverage_status: SUPPORTED
                                fields:
                                  - id: date_of_birth
                                    coverage_status: SUPPORTED
                              - id: hris_teams
                                label: Groups
                                coverage_status: UNSUPPORTED
                                fields:
                                  - id: parent_id
                                    coverage_status: UNSUPPORTED
                            write_actions:
                              - id: hris_create_employee
                                label: Create employee
                                coverage_status: SUPPORTED
                                fields:
                                  - id: first_name
                                    coverage_status: SUPPORTED
                            features:
                              - id: automatic_source_writing
                                label: Automatic Source Writing
                                coverage_status: SUPPORTED
        default:
          $ref: '#/components/responses/ErrorResponseGeneral'
      x-codeSamples:
        - lang: python
          label: GetToolsCategory
          source: |-
            from kombo import Kombo


            with Kombo(
                api_key="<YOUR_BEARER_TOKEN_HERE>",
            ) as k_client:

                res = k_client.general.get_tools(category="ats")

                # Handle response
                print(res)
        - lang: typescript
          label: GetToolsCategory
          source: |-
            import { Kombo } from "@kombo-api/sdk";

            const kombo = new Kombo({
              api_key: "<YOUR_BEARER_TOKEN_HERE>",
            });

            async function run() {
              const result = await kombo.general.getTools({
                category: "ats",
              });

              console.log(result);
            }

            run();
        - lang: ruby
          label: GetToolsCategory
          source: >-
            require 'kombo'


            Models = ::Kombo::Models

            s = ::Kombo::Kombo.new(
              security: Models::Shared::Security.new(
                api_key: '<YOUR_BEARER_TOKEN_HERE>'
              )
            )

            res = s.general.get_tools(category:
            Models::Shared::GetToolsCategoryParameterCategory::ATS)


            unless res.get_tools_category_positive_response.nil?
              # handle response
            end
components:
  schemas:
    GetToolsCategoryParameterCategory:
      type: string
      enum:
        - hris
        - ats
        - assessment
        - lms
    GetToolsCategoryPositiveResponse:
      type: object
      properties:
        status:
          type: string
          const: success
        data:
          type: object
          properties:
            tools:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  label:
                    type: string
                  internal_label:
                    type:
                      - string
                      - 'null'
                    description: >-
                      Internal label that can help you debug specific variants
                      of the integration. Only show the `label` to your users.
                  assets:
                    type: object
                    properties:
                      logo_url:
                        type: string
                      icon_url:
                        type: string
                      icon_black_url:
                        type: string
                    required:
                      - logo_url
                      - icon_url
                      - icon_black_url
                  paid_api_details_markdown:
                    type:
                      - string
                      - 'null'
                    description: >-
                      Markdown formatted text that describes details about the
                      paid API. `null` if the tool is not paid.
                  fast_track_details_markdown:
                    type:
                      - string
                      - 'null'
                    description: >-
                      Markdown formatted text that describes details about the
                      fast track process. `null` if the fast track process is
                      not available.
                  partner_only_details_markdown:
                    type:
                      - string
                      - 'null'
                    description: >-
                      Markdown formatted text that describes partnership
                      requirements. `null` if the tool does not require a
                      partnership.
                  connection_guide_url:
                    type:
                      - string
                      - 'null'
                    description: >-
                      URL to the connection guide for this tool. `null` if no
                      connection guide is available.
                  coverage:
                    type: object
                    properties:
                      read_models:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: ID of the model (e.g. hris_employees).
                            label:
                              type: string
                              description: Label of the model (e.g. Employees).
                            coverage_status:
                              type: string
                              enum:
                                - SUPPORTED
                                - UNSUPPORTED
                                - NOT_IMPLEMENTED
                                - UNKNOWN
                              description: >-
                                The status of a datapoint of an integrated tool:


                                - `SUPPORTED`: the tool supports the datapoint
                                and it can be used through Kombo.

                                - `UNSUPPORTED`: the tool does not support the
                                datapoint.

                                - `NOT_IMPLEMENTED`: tool supports the datapoint
                                but it was not integrated by Kombo for a given
                                reason (see coverage grid).

                                - `UNKNOWN`: the datapoint is not integrated yet
                                and Kombo has no information about it's
                                availability in the tool.
                            fields:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      Key of the field in the model (e.g.
                                      first_name).
                                  coverage_status:
                                    type: string
                                    enum:
                                      - SUPPORTED
                                      - UNSUPPORTED
                                      - NOT_IMPLEMENTED
                                      - UNKNOWN
                                    description: >-
                                      The status of a datapoint of an integrated
                                      tool:


                                      - `SUPPORTED`: the tool supports the
                                      datapoint and it can be used through
                                      Kombo.

                                      - `UNSUPPORTED`: the tool does not support
                                      the datapoint.

                                      - `NOT_IMPLEMENTED`: tool supports the
                                      datapoint but it was not integrated by
                                      Kombo for a given reason (see coverage
                                      grid).

                                      - `UNKNOWN`: the datapoint is not
                                      integrated yet and Kombo has no
                                      information about it's availability in the
                                      tool.
                                required:
                                  - id
                                  - coverage_status
                          required:
                            - id
                            - label
                            - coverage_status
                            - fields
                          description: List of models we can read for this tool.
                      write_actions:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            coverage_status:
                              type: string
                              enum:
                                - SUPPORTED
                                - UNSUPPORTED
                                - NOT_IMPLEMENTED
                                - UNKNOWN
                              description: >-
                                The status of a datapoint of an integrated tool:


                                - `SUPPORTED`: the tool supports the datapoint
                                and it can be used through Kombo.

                                - `UNSUPPORTED`: the tool does not support the
                                datapoint.

                                - `NOT_IMPLEMENTED`: tool supports the datapoint
                                but it was not integrated by Kombo for a given
                                reason (see coverage grid).

                                - `UNKNOWN`: the datapoint is not integrated yet
                                and Kombo has no information about it's
                                availability in the tool.
                            fields:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      Key of the input field (e.g.
                                      `candidate.first_name`).
                                  coverage_status:
                                    type: string
                                    enum:
                                      - SUPPORTED
                                      - UNSUPPORTED
                                      - NOT_IMPLEMENTED
                                      - UNKNOWN
                                    description: >-
                                      The status of a datapoint of an integrated
                                      tool:


                                      - `SUPPORTED`: the tool supports the
                                      datapoint and it can be used through
                                      Kombo.

                                      - `UNSUPPORTED`: the tool does not support
                                      the datapoint.

                                      - `NOT_IMPLEMENTED`: tool supports the
                                      datapoint but it was not integrated by
                                      Kombo for a given reason (see coverage
                                      grid).

                                      - `UNKNOWN`: the datapoint is not
                                      integrated yet and Kombo has no
                                      information about it's availability in the
                                      tool.
                                required:
                                  - id
                                  - coverage_status
                          required:
                            - id
                            - label
                            - coverage_status
                            - fields
                          description: List of supported write actions for this tool.
                      features:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            label:
                              type: string
                            coverage_status:
                              type: string
                              enum:
                                - SUPPORTED
                                - UNSUPPORTED
                                - NOT_IMPLEMENTED
                                - UNKNOWN
                              description: >-
                                The status of a datapoint of an integrated tool:


                                - `SUPPORTED`: the tool supports the datapoint
                                and it can be used through Kombo.

                                - `UNSUPPORTED`: the tool does not support the
                                datapoint.

                                - `NOT_IMPLEMENTED`: tool supports the datapoint
                                but it was not integrated by Kombo for a given
                                reason (see coverage grid).

                                - `UNKNOWN`: the datapoint is not integrated yet
                                and Kombo has no information about it's
                                availability in the tool.
                          required:
                            - id
                            - label
                            - coverage_status
                    required:
                      - read_models
                      - write_actions
                      - features
                    description: >-
                      This describes the supported models and actions of this
                      tool.
                required:
                  - id
                  - label
                  - internal_label
                  - assets
                  - paid_api_details_markdown
                  - fast_track_details_markdown
                  - partner_only_details_markdown
                  - connection_guide_url
                  - coverage
          required:
            - tools
          examples:
            - tools:
                - id: factorial
                  label: Factorial
                  internal_label: null
                  assets:
                    logo_url: >-
                      https://storage.googleapis.com/kombo-assets/integrations/factorial/logo.svg
                    icon_url: >-
                      https://storage.googleapis.com/kombo-assets/integrations/factorial/icon.svg
                    icon_black_url: >-
                      https://storage.googleapis.com/kombo-assets/integrations/factorial/icon-black.svg
                  paid_api_details_markdown: null
                  fast_track_details_markdown: null
                  partner_only_details_markdown: null
                  connection_guide_url: >-
                    https://help.kombo.dev/hc/en-us/articles/18743884123409-Factorial-HR-How-do-I-link-my-account
                  coverage:
                    read_models:
                      - id: hris_employees
                        label: Employees
                        coverage_status: SUPPORTED
                        fields:
                          - id: date_of_birth
                            coverage_status: SUPPORTED
                      - id: hris_teams
                        label: Groups
                        coverage_status: UNSUPPORTED
                        fields:
                          - id: parent_id
                            coverage_status: UNSUPPORTED
                    write_actions:
                      - id: hris_create_employee
                        label: Create employee
                        coverage_status: SUPPORTED
                        fields:
                          - id: first_name
                            coverage_status: SUPPORTED
                    features:
                      - id: automatic_source_writing
                        label: Automatic Source Writing
                        coverage_status: SUPPORTED
      required:
        - status
        - data
  responses:
    ErrorResponseGeneral:
      description: The standard error response with just the platform error codes.
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                  - error
              error:
                type: object
                properties:
                  code:
                    type:
                      - string
                      - 'null'
                    enum:
                      - PLATFORM.RATE_LIMIT_EXCEEDED
                      - PLATFORM.CONCURRENCY_LIMIT_EXCEEDED
                      - PLATFORM.INTEGRATION_NOT_FOUND
                      - PLATFORM.INPUT_INVALID
                      - PLATFORM.UNKNOWN_ERROR
                      - PLATFORM.IP_NOT_WHITELISTED
                      - PLATFORM.AUTHENTICATION_INVALID
                      - PLATFORM.TASK_TIMED_OUT
                    example: PLATFORM.RATE_LIMIT_EXCEEDED
                    description: >-
                      Some errors include an error code that can be used to
                      identify their cause. See the [Error Handling
                      Docs](https://docs.kombo.dev/guides/errors) for more
                      information. For your error handling logic please use the
                      error `code` instead of other properties (e.g. message,
                      http status code, ...).
                  title:
                    type:
                      - string
                      - 'null'
                    description: A static, human-readable label.
                  message:
                    type: string
                    description: >-
                      A dynamic, detailed description of what went wrong in this
                      specific instance.
                  log_url:
                    type:
                      - string
                      - 'null'
                    format: uri
                    description: >-
                      The log page in the Kombo UI lists every interaction with
                      full details. If you need assistance, share that link with
                      our support team.
                required:
                  - code
                  - title
                  - message
                  - log_url
                description: Error details with structured code for programmatic handling.
            required:
              - status
              - error
          examples:
            Error Response:
              description: >-
                When building error handling logic, always use the `code` field
                to identify specific error types programmatically. See the
                complete list of error codes in the
                [docs](https://docs.kombo.dev/guides/errors).
              value:
                status: error
                error:
                  code: INTEGRATION.MODEL_NOT_AVAILABLE
                  title: >-
                    This data model isn't supported for the selected
                    integration.
                  message: >-
                    The "employees" model is not yet available for Greenhouse.
                    Please reach out to Kombo if you need this functionality.
                  log_url: https://app.kombo.dev/my-prod/logs?interactionId=123456
            Minimal Error Response:
              description: >-
                The "message" is always required while other fields can also be
                `null`. See the [docs](https://docs.kombo.dev/guides/errors) for
                more information.
              value:
                status: error
                error:
                  code: null
                  title: null
                  message: The message is always in the response.
                  log_url: null
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: >-
        Create an API key on the [Secrets](https://app.kombo.dev/secrets) page
        in the Kombo dashboard.

````