Knock · Capability

Knock Management API (mAPI) — Management

Knock Management API (mAPI) — Management. 65 operations. Lead operation: validateworkflow. Self-contained Naftiko capability covering one Knock business surface.

Knock Management API (mAPI) — Management is a Naftiko capability published by Knock, one of 13 capabilities the APIs.io network indexes for this provider. It bundles 65 operations across the GET, PUT, DELETE, and POST methods rooted at /v1/v1.

The capability includes 31 read-only operations and 34 state-changing operations. Lead operation: Get an environment. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Knock and Management.

Run with Naftiko KnockManagement

What You Can Do

GET
Getenvironment — Get an environment
/v1/v1/environments/{environment_slug}
GET
Listbranches — List branches
/v1/v1/branches
PUT
Validateworkflow — Validate a workflow
/v1/v1/workflows/{workflow_key}/validate
PUT
Runworkflow — Run a workflow
/v1/v1/workflows/{workflow_key}/run
GET
Listemaillayouts — List email layouts
/v1/v1/email_layouts
DELETE
Archiveguide — Archive a guide
/v1/v1/guides/{guide_key}
GET
Getguide — Get a guide
/v1/v1/guides/{guide_key}
PUT
Upsertguide — Upsert a guide
/v1/v1/guides/{guide_key}
PUT
Sendbroadcast — Send a broadcast
/v1/v1/broadcasts/{broadcast_key}/send
GET
Listguides — List guides
/v1/v1/guides
PUT
Validatebroadcast — Validate a broadcast
/v1/v1/broadcasts/{broadcast_key}/validate
GET
Getvariable — Get a variable
/v1/v1/variables/{key}
GET
Listtranslations — List translations
/v1/v1/translations
POST
Previewworkflowtemplate — Preview a workflow template
/v1/v1/workflows/{workflow_key}/steps/{step_ref}/preview_template
POST
Previewtemplate — Preview a template
/v1/v1/templates/preview
PUT
Activateguide — Activate a guide
/v1/v1/guides/{guide_key}/activate
GET
Listpartials — List partials
/v1/v1/partials
GET
Getpartial — Get a partial
/v1/v1/partials/{partial_key}
PUT
Upsertpartial — Upsert a partial
/v1/v1/partials/{partial_key}
GET
Listchannels — List channels
/v1/v1/channels
DELETE
Removemember — Remove a member
/v1/v1/members/{id}
GET
Getmember — Get a member
/v1/v1/members/{id}
GET
Getemaillayout — Get email layout
/v1/v1/email_layouts/{email_layout_key}
PUT
Upsertemaillayout — Upsert email layout
/v1/v1/email_layouts/{email_layout_key}
GET
Listchannelgroups — List channel groups
/v1/v1/channel_groups
GET
Listworkflows — List workflows
/v1/v1/workflows
GET
Listbroadcasts — List broadcasts
/v1/v1/broadcasts
PUT
Validatetranslation — Validate translation
/v1/v1/translations/{locale_code}/validate
GET
Getwhoami — Verify scope
/v1/v1/whoami
DELETE
Archiveaudience — Archive an audience
/v1/v1/audiences/{audience_key}
GET
Getaudience — Get an audience
/v1/v1/audiences/{audience_key}
PUT
Upsertaudience — Upsert an audience
/v1/v1/audiences/{audience_key}
GET
Getcommit — Get a commit
/v1/v1/commits/{id}
PUT
Validateaudience — Validate an audience
/v1/v1/audiences/{audience_key}/validate
GET
Listvariables — List variables
/v1/v1/variables
PUT
Activateworkflow — Activate a workflow
/v1/v1/workflows/{workflow_key}/activate
PUT
Validatepartial — Validate a partial
/v1/v1/partials/{partial_key}/validate
PUT
Validatemessagetype — Validate message type
/v1/v1/message_types/{message_type_key}/validate
GET
Gettranslation — Get translation
/v1/v1/translations/{locale_code}
PUT
Upserttranslation — Upsert translation
/v1/v1/translations/{locale_code}
GET
Listenvironments — List environments
/v1/v1/environments
PUT
Validateemaillayout — Validate email layout
/v1/v1/email_layouts/{email_layout_key}/validate
PUT
Promoteonecommit — Promote one commit
/v1/v1/commits/{id}/promote
PUT
Validateguide — Validate a guide
/v1/v1/guides/{guide_key}/validate
DELETE
Deletechannelgroup — Delete a channel group
/v1/v1/channel_groups/{channel_group_key}
GET
Getchannelgroup — Get a channel group
/v1/v1/channel_groups/{channel_group_key}
PUT
Upsertchannelgroup — Upsert a channel group
/v1/v1/channel_groups/{channel_group_key}
GET
Getmessagetype — Get message type
/v1/v1/message_types/{message_type_key}
PUT
Upsertmessagetype — Upsert message type
/v1/v1/message_types/{message_type_key}
GET
Getworkflow — Get a workflow
/v1/v1/workflows/{workflow_key}
PUT
Upsertworkflow — Upsert a workflow
/v1/v1/workflows/{workflow_key}
DELETE
Deletebranch — Delete a branch
/v1/v1/branches/{branch_slug}
GET
Getbranch — Get a branch
/v1/v1/branches/{branch_slug}
POST
Createbranch — Create a branch
/v1/v1/branches/{branch_slug}
PUT
Promoteallcommits — Promote all changes
/v1/v1/commits/promote
GET
Listcommits — List commits
/v1/v1/commits
PUT
Commitallchanges — Commit all changes
/v1/v1/commits
GET
Listaudiences — List audiences
/v1/v1/audiences
GET
Listmembers — List members
/v1/v1/members
POST
Exchangeforapikey — Exchange for API key
/v1/v1/api_keys/exchange
GET
Getbroadcast — Get a broadcast
/v1/v1/broadcasts/{broadcast_key}
PUT
Upsertbroadcast — Upsert a broadcast
/v1/v1/broadcasts/{broadcast_key}
GET
Listmessagetypes — List message types
/v1/v1/message_types
GET
Getchannel — Get a channel
/v1/v1/channels/{channel_key}
PUT
Cancelbroadcast — Cancel a scheduled broadcast
/v1/v1/broadcasts/{broadcast_key}/cancel

MCP Tools

knock-getenvironment

Get an environment

read-only idempotent
knock-listbranches

List branches

read-only idempotent
knock-validateworkflow

Validate a workflow

idempotent
knock-runworkflow

Run a workflow

idempotent
knock-listemaillayouts

List email layouts

read-only idempotent
knock-archiveguide

Archive a guide

idempotent
knock-getguide

Get a guide

read-only idempotent
knock-upsertguide

Upsert a guide

idempotent
knock-sendbroadcast

Send a broadcast

idempotent
knock-listguides

List guides

read-only idempotent
knock-validatebroadcast

Validate a broadcast

idempotent
knock-getvariable

Get a variable

read-only idempotent
knock-listtranslations

List translations

read-only idempotent
knock-previewworkflowtemplate

Preview a workflow template

knock-previewtemplate

Preview a template

knock-activateguide

Activate a guide

idempotent
knock-listpartials

List partials

read-only idempotent
knock-getpartial

Get a partial

read-only idempotent
knock-upsertpartial

Upsert a partial

idempotent
knock-listchannels

List channels

read-only idempotent
knock-removemember

Remove a member

idempotent
knock-getmember

Get a member

read-only idempotent
knock-getemaillayout

Get email layout

read-only idempotent
knock-upsertemaillayout

Upsert email layout

idempotent
knock-listchannelgroups

List channel groups

read-only idempotent
knock-listworkflows

List workflows

read-only idempotent
knock-listbroadcasts

List broadcasts

read-only idempotent
knock-validatetranslation

Validate translation

idempotent
knock-getwhoami

Verify scope

read-only idempotent
knock-archiveaudience

Archive an audience

idempotent
knock-getaudience

Get an audience

read-only idempotent
knock-upsertaudience

Upsert an audience

idempotent
knock-getcommit

Get a commit

read-only idempotent
knock-validateaudience

Validate an audience

idempotent
knock-listvariables

List variables

read-only idempotent
knock-activateworkflow

Activate a workflow

idempotent
knock-validatepartial

Validate a partial

idempotent
knock-validatemessagetype

Validate message type

idempotent
knock-gettranslation

Get translation

read-only idempotent
knock-upserttranslation

Upsert translation

idempotent
knock-listenvironments

List environments

read-only idempotent
knock-validateemaillayout

Validate email layout

idempotent
knock-promoteonecommit

Promote one commit

idempotent
knock-validateguide

Validate a guide

idempotent
knock-deletechannelgroup

Delete a channel group

idempotent
knock-getchannelgroup

Get a channel group

read-only idempotent
knock-upsertchannelgroup

Upsert a channel group

idempotent
knock-getmessagetype

Get message type

read-only idempotent
knock-upsertmessagetype

Upsert message type

idempotent
knock-getworkflow

Get a workflow

read-only idempotent
knock-upsertworkflow

Upsert a workflow

idempotent
knock-deletebranch

Delete a branch

idempotent
knock-getbranch

Get a branch

read-only idempotent
knock-createbranch

Create a branch

knock-promoteallcommits

Promote all changes

idempotent
knock-listcommits

List commits

read-only idempotent
knock-commitallchanges

Commit all changes

idempotent
knock-listaudiences

List audiences

read-only idempotent
knock-listmembers

List members

read-only idempotent
knock-exchangeforapikey

Exchange for API key

knock-getbroadcast

Get a broadcast

read-only idempotent
knock-upsertbroadcast

Upsert a broadcast

idempotent
knock-listmessagetypes

List message types

read-only idempotent
knock-getchannel

Get a channel

read-only idempotent
knock-cancelbroadcast

Cancel a scheduled broadcast

idempotent

Capability Spec

management.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Knock Management API (mAPI) — Management
  description: 'Knock Management API (mAPI) — Management. 65 operations. Lead operation: validateworkflow. Self-contained Naftiko capability covering one Knock business surface.'
  tags:
  - Knock
  - Management
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    KNOCK_API_KEY: KNOCK_API_KEY
capability:
  consumes:
  - type: http
    namespace: management
    baseUri: https://control.knock.app
    description: Knock Knock Management API (mAPI) business capability. Self-contained, no shared references.
    resources:
    - name: v1-environments-environment_slug
      path: /v1/environments/{environment_slug}
      operations:
      - name: getenvironment
        method: GET
        description: Get an environment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: environment_slug
          in: path
          type: string
          required: true
    - name: v1-branches
      path: /v1/branches
      operations:
      - name: listbranches
        method: GET
        description: List branches
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-workflows-workflow_key-validate
      path: /v1/workflows/{workflow_key}/validate
      operations:
      - name: validateworkflow
        method: PUT
        description: Validate a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-workflows-workflow_key-run
      path: /v1/workflows/{workflow_key}/run
      operations:
      - name: runworkflow
        method: PUT
        description: Run a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-email_layouts
      path: /v1/email_layouts
      operations:
      - name: listemaillayouts
        method: GET
        description: List email layouts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-guides-guide_key
      path: /v1/guides/{guide_key}
      operations:
      - name: archiveguide
        method: DELETE
        description: Archive a guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guide_key
          in: path
          type: string
          required: true
      - name: getguide
        method: GET
        description: Get a guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guide_key
          in: path
          type: string
          required: true
      - name: upsertguide
        method: PUT
        description: Upsert a guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guide_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-broadcasts-broadcast_key-send
      path: /v1/broadcasts/{broadcast_key}/send
      operations:
      - name: sendbroadcast
        method: PUT
        description: Send a broadcast
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: broadcast_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-guides
      path: /v1/guides
      operations:
      - name: listguides
        method: GET
        description: List guides
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-broadcasts-broadcast_key-validate
      path: /v1/broadcasts/{broadcast_key}/validate
      operations:
      - name: validatebroadcast
        method: PUT
        description: Validate a broadcast
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: broadcast_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-variables-key
      path: /v1/variables/{key}
      operations:
      - name: getvariable
        method: GET
        description: Get a variable
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: key
          in: path
          type: string
          required: true
    - name: v1-translations
      path: /v1/translations
      operations:
      - name: listtranslations
        method: GET
        description: List translations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-workflows-workflow_key-steps-step_ref-preview_template
      path: /v1/workflows/{workflow_key}/steps/{step_ref}/preview_template
      operations:
      - name: previewworkflowtemplate
        method: POST
        description: Preview a workflow template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_key
          in: path
          type: string
          required: true
        - name: step_ref
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-templates-preview
      path: /v1/templates/preview
      operations:
      - name: previewtemplate
        method: POST
        description: Preview a template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: v1-guides-guide_key-activate
      path: /v1/guides/{guide_key}/activate
      operations:
      - name: activateguide
        method: PUT
        description: Activate a guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guide_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-partials
      path: /v1/partials
      operations:
      - name: listpartials
        method: GET
        description: List partials
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-partials-partial_key
      path: /v1/partials/{partial_key}
      operations:
      - name: getpartial
        method: GET
        description: Get a partial
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: partial_key
          in: path
          type: string
          required: true
      - name: upsertpartial
        method: PUT
        description: Upsert a partial
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: partial_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-channels
      path: /v1/channels
      operations:
      - name: listchannels
        method: GET
        description: List channels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-members-id
      path: /v1/members/{id}
      operations:
      - name: removemember
        method: DELETE
        description: Remove a member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: getmember
        method: GET
        description: Get a member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: v1-email_layouts-email_layout_key
      path: /v1/email_layouts/{email_layout_key}
      operations:
      - name: getemaillayout
        method: GET
        description: Get email layout
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: email_layout_key
          in: path
          type: string
          required: true
      - name: upsertemaillayout
        method: PUT
        description: Upsert email layout
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: email_layout_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-channel_groups
      path: /v1/channel_groups
      operations:
      - name: listchannelgroups
        method: GET
        description: List channel groups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-workflows
      path: /v1/workflows
      operations:
      - name: listworkflows
        method: GET
        description: List workflows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-broadcasts
      path: /v1/broadcasts
      operations:
      - name: listbroadcasts
        method: GET
        description: List broadcasts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-translations-locale_code-validate
      path: /v1/translations/{locale_code}/validate
      operations:
      - name: validatetranslation
        method: PUT
        description: Validate translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locale_code
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-whoami
      path: /v1/whoami
      operations:
      - name: getwhoami
        method: GET
        description: Verify scope
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-audiences-audience_key
      path: /v1/audiences/{audience_key}
      operations:
      - name: archiveaudience
        method: DELETE
        description: Archive an audience
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: audience_key
          in: path
          type: string
          required: true
      - name: getaudience
        method: GET
        description: Get an audience
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: audience_key
          in: path
          type: string
          required: true
      - name: upsertaudience
        method: PUT
        description: Upsert an audience
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: audience_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-commits-id
      path: /v1/commits/{id}
      operations:
      - name: getcommit
        method: GET
        description: Get a commit
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: v1-audiences-audience_key-validate
      path: /v1/audiences/{audience_key}/validate
      operations:
      - name: validateaudience
        method: PUT
        description: Validate an audience
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: audience_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-variables
      path: /v1/variables
      operations:
      - name: listvariables
        method: GET
        description: List variables
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-workflows-workflow_key-activate
      path: /v1/workflows/{workflow_key}/activate
      operations:
      - name: activateworkflow
        method: PUT
        description: Activate a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-partials-partial_key-validate
      path: /v1/partials/{partial_key}/validate
      operations:
      - name: validatepartial
        method: PUT
        description: Validate a partial
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: partial_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-message_types-message_type_key-validate
      path: /v1/message_types/{message_type_key}/validate
      operations:
      - name: validatemessagetype
        method: PUT
        description: Validate message type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_type_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-translations-locale_code
      path: /v1/translations/{locale_code}
      operations:
      - name: gettranslation
        method: GET
        description: Get translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locale_code
          in: path
          type: string
          required: true
      - name: upserttranslation
        method: PUT
        description: Upsert translation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locale_code
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-environments
      path: /v1/environments
      operations:
      - name: listenvironments
        method: GET
        description: List environments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-email_layouts-email_layout_key-validate
      path: /v1/email_layouts/{email_layout_key}/validate
      operations:
      - name: validateemaillayout
        method: PUT
        description: Validate email layout
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: email_layout_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-commits-id-promote
      path: /v1/commits/{id}/promote
      operations:
      - name: promoteonecommit
        method: PUT
        description: Promote one commit
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-guides-guide_key-validate
      path: /v1/guides/{guide_key}/validate
      operations:
      - name: validateguide
        method: PUT
        description: Validate a guide
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: guide_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-channel_groups-channel_group_key
      path: /v1/channel_groups/{channel_group_key}
      operations:
      - name: deletechannelgroup
        method: DELETE
        description: Delete a channel group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: channel_group_key
          in: path
          type: string
          required: true
      - name: getchannelgroup
        method: GET
        description: Get a channel group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: channel_group_key
          in: path
          type: string
          required: true
      - name: upsertchannelgroup
        method: PUT
        description: Upsert a channel group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: channel_group_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-message_types-message_type_key
      path: /v1/message_types/{message_type_key}
      operations:
      - name: getmessagetype
        method: GET
        description: Get message type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_type_key
          in: path
          type: string
          required: true
      - name: upsertmessagetype
        method: PUT
        description: Upsert message type
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: message_type_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-workflows-workflow_key
      path: /v1/workflows/{workflow_key}
      operations:
      - name: getworkflow
        method: GET
        description: Get a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_key
          in: path
          type: string
          required: true
      - name: upsertworkflow
        method: PUT
        description: Upsert a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-branches-branch_slug
      path: /v1/branches/{branch_slug}
      operations:
      - name: deletebranch
        method: DELETE
        description: Delete a branch
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: branch_slug
          in: path
          type: string
          required: true
      - name: getbranch
        method: GET
        description: Get a branch
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: branch_slug
          in: path
          type: string
          required: true
      - name: createbranch
        method: POST
        description: Create a branch
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: branch_slug
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-commits-promote
      path: /v1/commits/promote
      operations:
      - name: promoteallcommits
        method: PUT
        description: Promote all changes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: v1-commits
      path: /v1/commits
      operations:
      - name: listcommits
        method: GET
        description: List commits
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: commitallchanges
        method: PUT
        description: Commit all changes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: v1-audiences
      path: /v1/audiences
      operations:
      - name: listaudiences
        method: GET
        description: List audiences
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-members
      path: /v1/members
      operations:
      - name: listmembers
        method: GET
        description: List members
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-api_keys-exchange
      path: /v1/api_keys/exchange
      operations:
      - name: exchangeforapikey
        method: POST
        description: Exchange for API key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: v1-broadcasts-broadcast_key
      path: /v1/broadcasts/{broadcast_key}
      operations:
      - name: getbroadcast
        method: GET
        description: Get a broadcast
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: broadcast_key
          in: path
          type: string
          required: true
      - name: upsertbroadcast
        method: PUT
        description: Upsert a broadcast
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: broadcast_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    - name: v1-message_types
      path: /v1/message_types
      operations:
      - name: listmessagetypes
        method: GET
        description: List message types
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-channels-channel_key
      path: /v1/channels/{channel_key}
      operations:
      - name: getchannel
        method: GET
        description: Get a channel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: channel_key
          in: path
          type: string
          required: true
    - name: v1-broadcasts-broadcast_key-cancel
      path: /v1/broadcasts/{broadcast_key}/cancel
      operations:
      - name: cancelbroadcast
        method: PUT
        description: Cancel a scheduled broadcast
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: broadcast_key
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
    authentication:
      type: bearer
      value: '{{env.KNOCK_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: management-rest
    port: 8080
    description: REST adapter for Knock Knock Management API (mAPI).
    resources:
    - path: /v1/v1/environments/{environment_slug}
      name: v1-environments-environment_slug
      description: REST surface for v1-environments-environment_slug.
      operations:
      - method: GET
        name: getenvironment
        description: Get an environment
        call: management.getenvironment
        with:
          environment_slug: rest.environment_slug
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/branches
      name: v1-branches
      description: REST surface for v1-branches.
      operations:
      - method: GET
        name: listbranches
        description: List branches
        call: management.listbranches
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/workflows/{workflow_key}/validate
      name: v1-workflows-workflow_key-validate
      description: REST surface for v1-workflows-workflow_key-validate.
      operations:
      - method: PUT
        name: validateworkflow
        description: Validate a workflow
        call: management.validateworkflow
        with:
          workflow_key: rest.workflow_key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/workflows/{workflow_key}/run
      name: v1-workflows-workflow_key-run
      description: REST surface for v1-workflows-workflow_key-run.
      operations:
      - method: PUT
        name: runworkflow
        description: Run a workflow
        call: management.runworkflow
        with:
          workflow_key: rest.workflow_key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/email_layouts
      name: v1-email_layouts
      description: REST surface for v1-email_layouts.
      operations:
      - method: GET
        name: listemaillayouts
        description: List email layouts
        call: management.listemaillayouts
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/guides/{guide_key}
      name: v1-guides-guide_key
      description: REST surface for v1-guides-guide_key.
      operations:
      - method: DELETE
        name: archiveguide
        description: Archive a guide
        call: management.archiveguide
        with:
          guide_key: rest.guide_key
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getguide
        description: Get a guide
        call: management.getguide
        with:
          guide_key: rest.guide_key
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: upsertguide
        description: Upsert a guide
        call: management.upsertguide
        with:
          guide_key: rest.guide_key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/broadcasts/{broadcast_key}/send
      name: v1-broadcasts-broadcast_key-send
      description: REST surface for v1-broadcasts-broadcast_key-send.
      operations:
      - method: PUT
        name: sendbroadcast
        description: Send a broadcast
        call: management.sendbroadcast
        with:
          broadcast_key: rest.broadcast_key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/guides
      name: v1-guides
      description: REST surface for v1-guides.
      operations:
      - method: GET
        name: listguides
        description: List guides
        call: management.listguides
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/broadcasts/{broadcast_key}/validate
      name: v1-broadcasts-broadcast_key-validate
      description: REST surface for v1-broadcasts-broadcast_key-validate.
      operations:
      - method: PUT
        name: validatebroadcast
        description: Validate a broadcast
        call: management.validatebroadcast
        with:
          broadcast_key: rest.broadcast_key
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/variables/{key}
      name: v1-variables-key
      description: REST surface for v1-variables-key.
      operations:
      - method: GET
        name: getvariable
        description: Get a variable
        call: management.getvariable
        with:
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/translations
      name: v1-translations
      description: REST surface for v1-translations.
      operations:
      - method: GET
        name: listtranslations
        description: List translations
        call: management.listtranslations
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/workflows/{workflow_key}/steps/{step_ref}/preview_template
      name: v1-workflows-workflow_key-steps-step_ref-preview_template
      description: REST surface for v1-workflows-workflow_key-steps-step_ref-preview_template.
      operations:
      - method: POST
        name: previewworkflowtemplate
        description: Preview a workflow template
        call: management.previewworkflowtemplate
        with:
          workflow_key: rest.workflow_key
          step_ref: rest.step_ref
          body: rest.body
        outputParameters:
        - type: object
          mappin

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/knock-app/refs/heads/main/capabilities/management.yaml