Kombo · Capability

Kombo API

Kombo API. 13 operations. Lead operation: Check API key. Self-contained Naftiko capability covering one Kombo business surface.

Run with Naftiko Kombo

What You Can Do

GET
Getcheckapikey — Check API key
/v1/check-api-key
POST
Postforcesync — Trigger sync
/v1/force-sync
DELETE
Deleteintegrationsintegrationid — Delete integration
/v1/integrations/{integration-id}
GET
Getintegrationsintegrationid — Get integration details
/v1/integrations/{integration-id}
GET
Getintegrationsintegrationidcustomfields — Get custom fields with current mappings
/v1/integrations/{integration-id}/custom-fields
PUT
Putintegrationsintegrationidcustomfieldscustomfieldid — Put custom field mappings
/v1/integrations/{integration-id}/custom-fields/{custom-field-id}
PUT
Putintegrationsintegrationidenabled — Set integration enabled
/v1/integrations/{integration-id}/enabled
GET
Getintegrationsintegrationidintegrationfields — Get integration fields
/v1/integrations/{integration-id}/integration-fields
PATCH
Patchintegrationsintegrationidintegrationfieldsintegrationfieldid — Updates an integration fields passthrough setting
/v1/integrations/{integration-id}/integration-fields/{integration-field-id}
POST
Postintegrationsintegrationidrelink — Create reconnection link
/v1/integrations/{integration-id}/relink
POST
Postintegrationsintegrationidsetuplink — Create Setup Flow link
/v1/integrations/{integration-id}/setup-link
POST
Postpassthroughtoolapi — Send passthrough request
/v1/passthrough/{tool}/{api}
GET
Gettoolscategory — Get tools
/v1/tools/{category}

MCP Tools

check-api-key

Check API key

read-only idempotent
trigger-sync

Trigger sync

delete-integration

Delete integration

idempotent
get-integration-details

Get integration details

read-only idempotent
get-custom-fields-current-mappings

Get custom fields with current mappings

read-only idempotent
put-custom-field-mappings

Put custom field mappings

idempotent
set-integration-enabled

Set integration enabled

idempotent
get-integration-fields

Get integration fields

read-only idempotent
updates-integration-fields-passthrough-setting

Updates an integration fields passthrough setting

idempotent
create-reconnection-link

Create reconnection link

create-setup-flow-link

Create Setup Flow link

send-passthrough-request

Send passthrough request

get-tools

Get tools

read-only idempotent

Capability Spec

kombo-general.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Kombo API
  description: 'Kombo API. 13 operations. Lead operation: Check API key. Self-contained Naftiko capability covering one Kombo
    business surface.'
  tags:
  - Kombo
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KOMBO_API_KEY: KOMBO_API_KEY
capability:
  consumes:
  - type: http
    namespace: kombo-general
    baseUri: https://api.kombo.dev/v1
    description: Kombo API business capability. Self-contained, no shared references.
    resources:
    - name: check-api-key
      path: /check-api-key
      operations:
      - name: getcheckapikey
        method: GET
        description: Check API key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: force-sync
      path: /force-sync
      operations:
      - name: postforcesync
        method: POST
        description: Trigger sync
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Integration-Id
          in: header
          type: string
          description: ID of the integration you want to interact with.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: integrations-integration_id
      path: /integrations/{integration_id}
      operations:
      - name: deleteintegrationsintegrationid
        method: DELETE
        description: Delete integration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: DELETE /integrations/:integration_id Parameter
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getintegrationsintegrationid
        method: GET
        description: Get integration details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: GET /integrations/:integration_id Parameter
          required: true
    - name: integrations-integration_id-custom-fields
      path: /integrations/{integration_id}/custom-fields
      operations:
      - name: getintegrationsintegrationidcustomfields
        method: GET
        description: Get custom fields with current mappings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: GET /integrations/:integration_id/custom-fields Parameter
          required: true
        - name: cursor
          in: query
          type: string
          description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
            previous page response.
        - name: page_size
          in: query
          type: string
          description: The number of results to return per page. Maximum is 250.
    - name: integrations-integration_id-custom-fields-custom_field_id
      path: /integrations/{integration_id}/custom-fields/{custom_field_id}
      operations:
      - name: putintegrationsintegrationidcustomfieldscustomfieldid
        method: PUT
        description: Put custom field mappings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: The unique ID of the integration where the custom field mapping should be updated
          required: true
        - name: custom_field_id
          in: path
          type: string
          description: The unique ID of the custom field that should be updated
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: integrations-integration_id-enabled
      path: /integrations/{integration_id}/enabled
      operations:
      - name: putintegrationsintegrationidenabled
        method: PUT
        description: Set integration enabled
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: PUT /integrations/:integration_id/enabled Parameter
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: integrations-integration_id-integration-fields
      path: /integrations/{integration_id}/integration-fields
      operations:
      - name: getintegrationsintegrationidintegrationfields
        method: GET
        description: Get integration fields
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: GET /integrations/:integration_id/integration-fields Parameter
          required: true
        - name: cursor
          in: query
          type: string
          description: An optional cursor string used for pagination. This can be retrieved from the `next` property of the
            previous page response.
        - name: page_size
          in: query
          type: string
          description: The number of results to return per page. Maximum is 2000.
    - name: integrations-integration_id-integration-fields-integration_field_id
      path: /integrations/{integration_id}/integration-fields/{integration_field_id}
      operations:
      - name: patchintegrationsintegrationidintegrationfieldsintegrationfieldid
        method: PATCH
        description: Updates an integration fields passthrough setting
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter
          required: true
        - name: integration_field_id
          in: path
          type: string
          description: PATCH /integrations/:integration_id/integration-fields/:integration_field_id Parameter
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: integrations-integration_id-relink
      path: /integrations/{integration_id}/relink
      operations:
      - name: postintegrationsintegrationidrelink
        method: POST
        description: Create reconnection link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: POST /integrations/:integration_id/relink Parameter
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: integrations-integration_id-setup-link
      path: /integrations/{integration_id}/setup-link
      operations:
      - name: postintegrationsintegrationidsetuplink
        method: POST
        description: Create Setup Flow link
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: integration_id
          in: path
          type: string
          description: POST /integrations/:integration_id/setup-link Parameter
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: passthrough-tool-api
      path: /passthrough/{tool}/{api}
      operations:
      - name: postpassthroughtoolapi
        method: POST
        description: Send passthrough request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Integration-Id
          in: header
          type: string
          description: ID of the integration you want to interact with.
          required: true
        - name: tool
          in: path
          type: string
          description: The ID of the tool whose passthrough API you want to call (e.g., `personio`).
          required: true
        - name: api
          in: path
          type: string
          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.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: tools-category
      path: /tools/{category}
      operations:
      - name: gettoolscategory
        method: GET
        description: Get tools
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: category
          in: path
          type: string
          description: GET /tools/:category Parameter
          required: true
    authentication:
      type: bearer
      token: '{{env.KOMBO_API_KEY}}'
  exposes:
  - type: rest
    namespace: kombo-general-rest
    port: 8080
    description: REST adapter for Kombo API. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/check-api-key
      name: check-api-key
      description: REST surface for check-api-key.
      operations:
      - method: GET
        name: getcheckapikey
        description: Check API key
        call: kombo-general.getcheckapikey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/force-sync
      name: force-sync
      description: REST surface for force-sync.
      operations:
      - method: POST
        name: postforcesync
        description: Trigger sync
        call: kombo-general.postforcesync
        with:
          X-Integration-Id: rest.X-Integration-Id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/integrations/{integration-id}
      name: integrations-integration-id
      description: REST surface for integrations-integration_id.
      operations:
      - method: DELETE
        name: deleteintegrationsintegrationid
        description: Delete integration
        call: kombo-general.deleteintegrationsintegrationid
        with:
          integration_id: rest.integration_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getintegrationsintegrationid
        description: Get integration details
        call: kombo-general.getintegrationsintegrationid
        with:
          integration_id: rest.integration_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/integrations/{integration-id}/custom-fields
      name: integrations-integration-id-custom-fields
      description: REST surface for integrations-integration_id-custom-fields.
      operations:
      - method: GET
        name: getintegrationsintegrationidcustomfields
        description: Get custom fields with current mappings
        call: kombo-general.getintegrationsintegrationidcustomfields
        with:
          integration_id: rest.integration_id
          cursor: rest.cursor
          page_size: rest.page_size
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/integrations/{integration-id}/custom-fields/{custom-field-id}
      name: integrations-integration-id-custom-fields-custom-field-id
      description: REST surface for integrations-integration_id-custom-fields-custom_field_id.
      operations:
      - method: PUT
        name: putintegrationsintegrationidcustomfieldscustomfieldid
        description: Put custom field mappings
        call: kombo-general.putintegrationsintegrationidcustomfieldscustomfieldid
        with:
          integration_id: rest.integration_id
          custom_field_id: rest.custom_field_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/integrations/{integration-id}/enabled
      name: integrations-integration-id-enabled
      description: REST surface for integrations-integration_id-enabled.
      operations:
      - method: PUT
        name: putintegrationsintegrationidenabled
        description: Set integration enabled
        call: kombo-general.putintegrationsintegrationidenabled
        with:
          integration_id: rest.integration_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/integrations/{integration-id}/integration-fields
      name: integrations-integration-id-integration-fields
      description: REST surface for integrations-integration_id-integration-fields.
      operations:
      - method: GET
        name: getintegrationsintegrationidintegrationfields
        description: Get integration fields
        call: kombo-general.getintegrationsintegrationidintegrationfields
        with:
          integration_id: rest.integration_id
          cursor: rest.cursor
          page_size: rest.page_size
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/integrations/{integration-id}/integration-fields/{integration-field-id}
      name: integrations-integration-id-integration-fields-integration-field-id
      description: REST surface for integrations-integration_id-integration-fields-integration_field_id.
      operations:
      - method: PATCH
        name: patchintegrationsintegrationidintegrationfieldsintegrationfieldid
        description: Updates an integration fields passthrough setting
        call: kombo-general.patchintegrationsintegrationidintegrationfieldsintegrationfieldid
        with:
          integration_id: rest.integration_id
          integration_field_id: rest.integration_field_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/integrations/{integration-id}/relink
      name: integrations-integration-id-relink
      description: REST surface for integrations-integration_id-relink.
      operations:
      - method: POST
        name: postintegrationsintegrationidrelink
        description: Create reconnection link
        call: kombo-general.postintegrationsintegrationidrelink
        with:
          integration_id: rest.integration_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/integrations/{integration-id}/setup-link
      name: integrations-integration-id-setup-link
      description: REST surface for integrations-integration_id-setup-link.
      operations:
      - method: POST
        name: postintegrationsintegrationidsetuplink
        description: Create Setup Flow link
        call: kombo-general.postintegrationsintegrationidsetuplink
        with:
          integration_id: rest.integration_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/passthrough/{tool}/{api}
      name: passthrough-tool-api
      description: REST surface for passthrough-tool-api.
      operations:
      - method: POST
        name: postpassthroughtoolapi
        description: Send passthrough request
        call: kombo-general.postpassthroughtoolapi
        with:
          X-Integration-Id: rest.X-Integration-Id
          tool: rest.tool
          api: rest.api
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tools/{category}
      name: tools-category
      description: REST surface for tools-category.
      operations:
      - method: GET
        name: gettoolscategory
        description: Get tools
        call: kombo-general.gettoolscategory
        with:
          category: rest.category
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: kombo-general-mcp
    port: 9090
    transport: http
    description: MCP adapter for Kombo API. One tool per consumed operation, routed inline through this capability's consumes
      block.
    tools:
    - name: check-api-key
      description: Check API key
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kombo-general.getcheckapikey
      outputParameters:
      - type: object
        mapping: $.
    - name: trigger-sync
      description: Trigger sync
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: kombo-general.postforcesync
      with:
        X-Integration-Id: tools.X-Integration-Id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-integration
      description: Delete integration
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: kombo-general.deleteintegrationsintegrationid
      with:
        integration_id: tools.integration_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-integration-details
      description: Get integration details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kombo-general.getintegrationsintegrationid
      with:
        integration_id: tools.integration_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-custom-fields-current-mappings
      description: Get custom fields with current mappings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kombo-general.getintegrationsintegrationidcustomfields
      with:
        integration_id: tools.integration_id
        cursor: tools.cursor
        page_size: tools.page_size
      outputParameters:
      - type: object
        mapping: $.
    - name: put-custom-field-mappings
      description: Put custom field mappings
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: kombo-general.putintegrationsintegrationidcustomfieldscustomfieldid
      with:
        integration_id: tools.integration_id
        custom_field_id: tools.custom_field_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-integration-enabled
      description: Set integration enabled
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: kombo-general.putintegrationsintegrationidenabled
      with:
        integration_id: tools.integration_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-integration-fields
      description: Get integration fields
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kombo-general.getintegrationsintegrationidintegrationfields
      with:
        integration_id: tools.integration_id
        cursor: tools.cursor
        page_size: tools.page_size
      outputParameters:
      - type: object
        mapping: $.
    - name: updates-integration-fields-passthrough-setting
      description: Updates an integration fields passthrough setting
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: kombo-general.patchintegrationsintegrationidintegrationfieldsintegrationfieldid
      with:
        integration_id: tools.integration_id
        integration_field_id: tools.integration_field_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-reconnection-link
      description: Create reconnection link
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: kombo-general.postintegrationsintegrationidrelink
      with:
        integration_id: tools.integration_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-setup-flow-link
      description: Create Setup Flow link
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: kombo-general.postintegrationsintegrationidsetuplink
      with:
        integration_id: tools.integration_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: send-passthrough-request
      description: Send passthrough request
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: kombo-general.postpassthroughtoolapi
      with:
        X-Integration-Id: tools.X-Integration-Id
        tool: tools.tool
        api: tools.api
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-tools
      description: Get tools
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kombo-general.gettoolscategory
      with:
        category: tools.category
      outputParameters:
      - type: object
        mapping: $.