Hookdeck · Capability

Hookdeck Admin REST API — Destinations

Hookdeck Admin REST API — Destinations. 11 operations. Lead operation: Retrieve destinations. Self-contained Naftiko capability covering one business surface.

Hookdeck Admin REST API — Destinations is a Naftiko capability published by Hookdeck, one of 29 capabilities the APIs.io network indexes for this provider. It bundles 11 operations across the PUT, GET, POST, and DELETE methods rooted at /v1/destinations.

The capability includes 3 read-only operations and 8 state-changing operations. Lead operation: Retrieve destinations. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Hookdeck and Destinations.

Run with Naftiko HookdeckDestinations

What You Can Do

GET
Getdestinations — Retrieve destinations
/v1/destinations
POST
Createdestination — Create a destination
/v1/destinations
PUT
Upsertdestination — Create/Update a destination
/v1/destinations
GET
Countdestinations — Count destinations
/v1/destinations/count
GET
Getdestination — Retrieve a destination
/v1/destinations/{id}
PUT
Updatedestination — Update a destination
/v1/destinations/{id}
DELETE
Deletedestination — Delete a destination
/v1/destinations/{id}
PUT
Disabledestination — Disable a destination
/v1/destinations/{id}/disable
PUT
Disabledestinationarchive — Disable a destination
/v1/destinations/{id}/archive
PUT
Enabledestination — Enable a destination
/v1/destinations/{id}/enable
PUT
Enabledestinationunarchive — Enable a destination
/v1/destinations/{id}/unarchive

MCP Tools

hookdeck-getdestinations

Retrieve destinations

read-only idempotent
hookdeck-createdestination

Create a destination

hookdeck-upsertdestination

Create/Update a destination

idempotent
hookdeck-countdestinations

Count destinations

read-only idempotent
hookdeck-getdestination

Retrieve a destination

read-only idempotent
hookdeck-updatedestination

Update a destination

idempotent
hookdeck-deletedestination

Delete a destination

idempotent
hookdeck-disabledestination

Disable a destination

idempotent
hookdeck-disabledestinationarchive

Disable a destination

idempotent
hookdeck-enabledestination

Enable a destination

idempotent
hookdeck-enabledestinationunarchive

Enable a destination

idempotent

Capability Spec

hookdeck-destinations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Hookdeck Admin REST API — Destinations
  description: 'Hookdeck Admin REST API — Destinations. 11 operations. Lead operation: Retrieve destinations. Self-contained Naftiko capability covering one business surface.'
  tags:
  - Hookdeck
  - Destinations
  created: '2026-05-20'
  modified: '2026-05-20'
binds:
- namespace: env
  keys:
    HOOKDECK_API_KEY: HOOKDECK_API_KEY
capability:
  consumes:
  - type: http
    namespace: hookdeck-destinations
    baseUri: https://api.hookdeck.com/2025-07-01
    description: Hookdeck Admin REST API — Destinations business capability. Self-contained, no shared references.
    resources:
    - name: destinations
      path: /destinations
      operations:
      - name: getdestinations
        method: GET
        description: Retrieve destinations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: string
          description: query parameter id.
        - name: name
          in: query
          type: string
          description: query parameter name.
        - name: type
          in: query
          type: string
          description: query parameter type.
        - name: disabled
          in: query
          type: boolean
          description: query parameter disabled.
        - name: disabled_at
          in: query
          type: string
          description: query parameter disabled_at.
        - name: order_by
          in: query
          type: string
          description: query parameter order_by.
        - name: dir
          in: query
          type: string
          description: query parameter dir.
        - name: limit
          in: query
          type: integer
          description: query parameter limit.
        - name: next
          in: query
          type: string
          description: query parameter next.
        - name: prev
          in: query
          type: string
          description: query parameter prev.
      - name: createdestination
        method: POST
        description: Create a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: upsertdestination
        method: PUT
        description: Create/Update a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: destinations-count
      path: /destinations/count
      operations:
      - name: countdestinations
        method: GET
        description: Count destinations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: string
          description: query parameter id.
        - name: name
          in: query
          type: string
          description: query parameter name.
        - name: disabled
          in: query
          type: boolean
          description: query parameter disabled.
        - name: disabled_at
          in: query
          type: string
          description: query parameter disabled_at.
    - name: destinations-id
      path: /destinations/{id}
      operations:
      - name: getdestination
        method: GET
        description: Retrieve a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: include
          in: query
          type: string
          description: query parameter include.
        - name: id
          in: path
          type: string
          description: path parameter id.
          required: true
      - name: updatedestination
        method: PUT
        description: Update a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: path parameter id.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletedestination
        method: DELETE
        description: Delete a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: path parameter id.
          required: true
    - name: destinations-id-disable
      path: /destinations/{id}/disable
      operations:
      - name: disabledestination
        method: PUT
        description: Disable a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: path parameter id.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: destinations-id-archive
      path: /destinations/{id}/archive
      operations:
      - name: disabledestinationarchive
        method: PUT
        description: Disable a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: path parameter id.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: destinations-id-enable
      path: /destinations/{id}/enable
      operations:
      - name: enabledestination
        method: PUT
        description: Enable a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: path parameter id.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: destinations-id-unarchive
      path: /destinations/{id}/unarchive
      operations:
      - name: enabledestinationunarchive
        method: PUT
        description: Enable a destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: path parameter id.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
  exposes:
  - type: rest
    namespace: hookdeck-destinations-rest
    port: 8080
    description: REST adapter for Hookdeck Admin REST API — Destinations. One resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/destinations
      name: destinations
      description: REST surface for destinations.
      operations:
      - method: GET
        name: getdestinations
        description: Retrieve destinations
        call: hookdeck-destinations.getdestinations
        with:
          id: rest.id
          name: rest.name
          type: rest.type
          disabled: rest.disabled
          disabled_at: rest.disabled_at
          order_by: rest.order_by
          dir: rest.dir
          limit: rest.limit
          next: rest.next
          prev: rest.prev
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createdestination
        description: Create a destination
        call: hookdeck-destinations.createdestination
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: upsertdestination
        description: Create/Update a destination
        call: hookdeck-destinations.upsertdestination
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/destinations/count
      name: destinations-count
      description: REST surface for destinations-count.
      operations:
      - method: GET
        name: countdestinations
        description: Count destinations
        call: hookdeck-destinations.countdestinations
        with:
          id: rest.id
          name: rest.name
          disabled: rest.disabled
          disabled_at: rest.disabled_at
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/destinations/{id}
      name: destinations-id
      description: REST surface for destinations-id.
      operations:
      - method: GET
        name: getdestination
        description: Retrieve a destination
        call: hookdeck-destinations.getdestination
        with:
          include: rest.include
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatedestination
        description: Update a destination
        call: hookdeck-destinations.updatedestination
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletedestination
        description: Delete a destination
        call: hookdeck-destinations.deletedestination
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/destinations/{id}/disable
      name: destinations-id-disable
      description: REST surface for destinations-id-disable.
      operations:
      - method: PUT
        name: disabledestination
        description: Disable a destination
        call: hookdeck-destinations.disabledestination
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/destinations/{id}/archive
      name: destinations-id-archive
      description: REST surface for destinations-id-archive.
      operations:
      - method: PUT
        name: disabledestinationarchive
        description: Disable a destination
        call: hookdeck-destinations.disabledestinationarchive
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/destinations/{id}/enable
      name: destinations-id-enable
      description: REST surface for destinations-id-enable.
      operations:
      - method: PUT
        name: enabledestination
        description: Enable a destination
        call: hookdeck-destinations.enabledestination
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/destinations/{id}/unarchive
      name: destinations-id-unarchive
      description: REST surface for destinations-id-unarchive.
      operations:
      - method: PUT
        name: enabledestinationunarchive
        description: Enable a destination
        call: hookdeck-destinations.enabledestinationunarchive
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: hookdeck-destinations-mcp
    port: 9090
    transport: http
    description: MCP adapter for Hookdeck Admin REST API — Destinations. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: hookdeck-getdestinations
      description: Retrieve destinations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hookdeck-destinations.getdestinations
      with:
        id: tools.id
        name: tools.name
        type: tools.type
        disabled: tools.disabled
        disabled_at: tools.disabled_at
        order_by: tools.order_by
        dir: tools.dir
        limit: tools.limit
        next: tools.next
        prev: tools.prev
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-createdestination
      description: Create a destination
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: hookdeck-destinations.createdestination
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-upsertdestination
      description: Create/Update a destination
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-destinations.upsertdestination
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-countdestinations
      description: Count destinations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hookdeck-destinations.countdestinations
      with:
        id: tools.id
        name: tools.name
        disabled: tools.disabled
        disabled_at: tools.disabled_at
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-getdestination
      description: Retrieve a destination
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hookdeck-destinations.getdestination
      with:
        include: tools.include
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-updatedestination
      description: Update a destination
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-destinations.updatedestination
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-deletedestination
      description: Delete a destination
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: hookdeck-destinations.deletedestination
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-disabledestination
      description: Disable a destination
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-destinations.disabledestination
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-disabledestinationarchive
      description: Disable a destination
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-destinations.disabledestinationarchive
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-enabledestination
      description: Enable a destination
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-destinations.enabledestination
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-enabledestinationunarchive
      description: Enable a destination
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-destinations.enabledestinationunarchive
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.