Hookdeck · Capability

Hookdeck Admin REST API — Sources

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

Hookdeck Admin REST API — Sources 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/sources.

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

Tagged areas include Hookdeck and Sources.

Run with Naftiko HookdeckSources

What You Can Do

GET
Getsources — Retrieve sources
/v1/sources
POST
Createsource — Create a source
/v1/sources
PUT
Upsertsource — Create/Update a source
/v1/sources
GET
Countsources — Count sources
/v1/sources/count
GET
Getsource — Retrieve a source
/v1/sources/{id}
PUT
Updatesource — Update a source
/v1/sources/{id}
DELETE
Deletesource — Delete a source
/v1/sources/{id}
PUT
Disablesource — Disable a source
/v1/sources/{id}/disable
PUT
Disablesourcearchive — Disable a source
/v1/sources/{id}/archive
PUT
Enablesource — Enable a source
/v1/sources/{id}/enable
PUT
Enablesourceunarchive — Enable a source
/v1/sources/{id}/unarchive

MCP Tools

hookdeck-getsources

Retrieve sources

read-only idempotent
hookdeck-createsource

Create a source

hookdeck-upsertsource

Create/Update a source

idempotent
hookdeck-countsources

Count sources

read-only idempotent
hookdeck-getsource

Retrieve a source

read-only idempotent
hookdeck-updatesource

Update a source

idempotent
hookdeck-deletesource

Delete a source

idempotent
hookdeck-disablesource

Disable a source

idempotent
hookdeck-disablesourcearchive

Disable a source

idempotent
hookdeck-enablesource

Enable a source

idempotent
hookdeck-enablesourceunarchive

Enable a source

idempotent

Capability Spec

hookdeck-sources.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Hookdeck Admin REST API — Sources
  description: 'Hookdeck Admin REST API — Sources. 11 operations. Lead operation: Retrieve sources. Self-contained Naftiko capability covering one business surface.'
  tags:
  - Hookdeck
  - Sources
  created: '2026-05-20'
  modified: '2026-05-20'
binds:
- namespace: env
  keys:
    HOOKDECK_API_KEY: HOOKDECK_API_KEY
capability:
  consumes:
  - type: http
    namespace: hookdeck-sources
    baseUri: https://api.hookdeck.com/2025-07-01
    description: Hookdeck Admin REST API — Sources business capability. Self-contained, no shared references.
    resources:
    - name: sources
      path: /sources
      operations:
      - name: getsources
        method: GET
        description: Retrieve sources
        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: createsource
        method: POST
        description: Create a source
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: upsertsource
        method: PUT
        description: Create/Update a source
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: sources-count
      path: /sources/count
      operations:
      - name: countsources
        method: GET
        description: Count sources
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters: []
    - name: sources-id
      path: /sources/{id}
      operations:
      - name: getsource
        method: GET
        description: Retrieve a source
        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: updatesource
        method: PUT
        description: Update a source
        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: deletesource
        method: DELETE
        description: Delete a source
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: path parameter id.
          required: true
    - name: sources-id-disable
      path: /sources/{id}/disable
      operations:
      - name: disablesource
        method: PUT
        description: Disable a source
        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: sources-id-archive
      path: /sources/{id}/archive
      operations:
      - name: disablesourcearchive
        method: PUT
        description: Disable a source
        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: sources-id-enable
      path: /sources/{id}/enable
      operations:
      - name: enablesource
        method: PUT
        description: Enable a source
        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: sources-id-unarchive
      path: /sources/{id}/unarchive
      operations:
      - name: enablesourceunarchive
        method: PUT
        description: Enable a source
        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-sources-rest
    port: 8080
    description: REST adapter for Hookdeck Admin REST API — Sources. One resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/sources
      name: sources
      description: REST surface for sources.
      operations:
      - method: GET
        name: getsources
        description: Retrieve sources
        call: hookdeck-sources.getsources
        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: createsource
        description: Create a source
        call: hookdeck-sources.createsource
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: upsertsource
        description: Create/Update a source
        call: hookdeck-sources.upsertsource
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sources/count
      name: sources-count
      description: REST surface for sources-count.
      operations:
      - method: GET
        name: countsources
        description: Count sources
        call: hookdeck-sources.countsources
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sources/{id}
      name: sources-id
      description: REST surface for sources-id.
      operations:
      - method: GET
        name: getsource
        description: Retrieve a source
        call: hookdeck-sources.getsource
        with:
          include: rest.include
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatesource
        description: Update a source
        call: hookdeck-sources.updatesource
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletesource
        description: Delete a source
        call: hookdeck-sources.deletesource
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sources/{id}/disable
      name: sources-id-disable
      description: REST surface for sources-id-disable.
      operations:
      - method: PUT
        name: disablesource
        description: Disable a source
        call: hookdeck-sources.disablesource
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sources/{id}/archive
      name: sources-id-archive
      description: REST surface for sources-id-archive.
      operations:
      - method: PUT
        name: disablesourcearchive
        description: Disable a source
        call: hookdeck-sources.disablesourcearchive
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sources/{id}/enable
      name: sources-id-enable
      description: REST surface for sources-id-enable.
      operations:
      - method: PUT
        name: enablesource
        description: Enable a source
        call: hookdeck-sources.enablesource
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sources/{id}/unarchive
      name: sources-id-unarchive
      description: REST surface for sources-id-unarchive.
      operations:
      - method: PUT
        name: enablesourceunarchive
        description: Enable a source
        call: hookdeck-sources.enablesourceunarchive
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: hookdeck-sources-mcp
    port: 9090
    transport: http
    description: MCP adapter for Hookdeck Admin REST API — Sources. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: hookdeck-getsources
      description: Retrieve sources
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hookdeck-sources.getsources
      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-createsource
      description: Create a source
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: hookdeck-sources.createsource
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-upsertsource
      description: Create/Update a source
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-sources.upsertsource
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-countsources
      description: Count sources
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hookdeck-sources.countsources
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-getsource
      description: Retrieve a source
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hookdeck-sources.getsource
      with:
        include: tools.include
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-updatesource
      description: Update a source
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-sources.updatesource
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-deletesource
      description: Delete a source
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: hookdeck-sources.deletesource
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-disablesource
      description: Disable a source
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-sources.disablesource
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-disablesourcearchive
      description: Disable a source
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-sources.disablesourcearchive
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-enablesource
      description: Enable a source
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-sources.enablesource
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: hookdeck-enablesourceunarchive
      description: Enable a source
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: hookdeck-sources.enablesourceunarchive
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.