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 mapping: $. - path: /v1/v1/templates/preview name: v1-templates-preview description: REST surface for v1-templates-preview. operations: - method: POST name: previewtemplate description: Preview a template call: management.previewtemplate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/guides/{guide_key}/activate name: v1-guides-guide_key-activate description: REST surface for v1-guides-guide_key-activate. operations: - method: PUT name: activateguide description: Activate a guide call: management.activateguide with: guide_key: rest.guide_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/partials name: v1-partials description: REST surface for v1-partials. operations: - method: GET name: listpartials description: List partials call: management.listpartials with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/partials/{partial_key} name: v1-partials-partial_key description: REST surface for v1-partials-partial_key. operations: - method: GET name: getpartial description: Get a partial call: management.getpartial with: partial_key: rest.partial_key outputParameters: - type: object mapping: $. - method: PUT name: upsertpartial description: Upsert a partial call: management.upsertpartial with: partial_key: rest.partial_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/channels name: v1-channels description: REST surface for v1-channels. operations: - method: GET name: listchannels description: List channels call: management.listchannels with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/members/{id} name: v1-members-id description: REST surface for v1-members-id. operations: - method: DELETE name: removemember description: Remove a member call: management.removemember with: id: rest.id outputParameters: - type: object mapping: $. - method: GET name: getmember description: Get a member call: management.getmember with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/v1/email_layouts/{email_layout_key} name: v1-email_layouts-email_layout_key description: REST surface for v1-email_layouts-email_layout_key. operations: - method: GET name: getemaillayout description: Get email layout call: management.getemaillayout with: email_layout_key: rest.email_layout_key outputParameters: - type: object mapping: $. - method: PUT name: upsertemaillayout description: Upsert email layout call: management.upsertemaillayout with: email_layout_key: rest.email_layout_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/channel_groups name: v1-channel_groups description: REST surface for v1-channel_groups. operations: - method: GET name: listchannelgroups description: List channel groups call: management.listchannelgroups with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/workflows name: v1-workflows description: REST surface for v1-workflows. operations: - method: GET name: listworkflows description: List workflows call: management.listworkflows with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/broadcasts name: v1-broadcasts description: REST surface for v1-broadcasts. operations: - method: GET name: listbroadcasts description: List broadcasts call: management.listbroadcasts with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/translations/{locale_code}/validate name: v1-translations-locale_code-validate description: REST surface for v1-translations-locale_code-validate. operations: - method: PUT name: validatetranslation description: Validate translation call: management.validatetranslation with: locale_code: rest.locale_code body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/whoami name: v1-whoami description: REST surface for v1-whoami. operations: - method: GET name: getwhoami description: Verify scope call: management.getwhoami with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/audiences/{audience_key} name: v1-audiences-audience_key description: REST surface for v1-audiences-audience_key. operations: - method: DELETE name: archiveaudience description: Archive an audience call: management.archiveaudience with: audience_key: rest.audience_key outputParameters: - type: object mapping: $. - method: GET name: getaudience description: Get an audience call: management.getaudience with: audience_key: rest.audience_key outputParameters: - type: object mapping: $. - method: PUT name: upsertaudience description: Upsert an audience call: management.upsertaudience with: audience_key: rest.audience_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/commits/{id} name: v1-commits-id description: REST surface for v1-commits-id. operations: - method: GET name: getcommit description: Get a commit call: management.getcommit with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/v1/audiences/{audience_key}/validate name: v1-audiences-audience_key-validate description: REST surface for v1-audiences-audience_key-validate. operations: - method: PUT name: validateaudience description: Validate an audience call: management.validateaudience with: audience_key: rest.audience_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/variables name: v1-variables description: REST surface for v1-variables. operations: - method: GET name: listvariables description: List variables call: management.listvariables with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/workflows/{workflow_key}/activate name: v1-workflows-workflow_key-activate description: REST surface for v1-workflows-workflow_key-activate. operations: - method: PUT name: activateworkflow description: Activate a workflow call: management.activateworkflow with: workflow_key: rest.workflow_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/partials/{partial_key}/validate name: v1-partials-partial_key-validate description: REST surface for v1-partials-partial_key-validate. operations: - method: PUT name: validatepartial description: Validate a partial call: management.validatepartial with: partial_key: rest.partial_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/message_types/{message_type_key}/validate name: v1-message_types-message_type_key-validate description: REST surface for v1-message_types-message_type_key-validate. operations: - method: PUT name: validatemessagetype description: Validate message type call: management.validatemessagetype with: message_type_key: rest.message_type_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/translations/{locale_code} name: v1-translations-locale_code description: REST surface for v1-translations-locale_code. operations: - method: GET name: gettranslation description: Get translation call: management.gettranslation with: locale_code: rest.locale_code outputParameters: - type: object mapping: $. - method: PUT name: upserttranslation description: Upsert translation call: management.upserttranslation with: locale_code: rest.locale_code body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/environments name: v1-environments description: REST surface for v1-environments. operations: - method: GET name: listenvironments description: List environments call: management.listenvironments with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/email_layouts/{email_layout_key}/validate name: v1-email_layouts-email_layout_key-validate description: REST surface for v1-email_layouts-email_layout_key-validate. operations: - method: PUT name: validateemaillayout description: Validate email layout call: management.validateemaillayout with: email_layout_key: rest.email_layout_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/commits/{id}/promote name: v1-commits-id-promote description: REST surface for v1-commits-id-promote. operations: - method: PUT name: promoteonecommit description: Promote one commit call: management.promoteonecommit with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/guides/{guide_key}/validate name: v1-guides-guide_key-validate description: REST surface for v1-guides-guide_key-validate. operations: - method: PUT name: validateguide description: Validate a guide call: management.validateguide with: guide_key: rest.guide_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/channel_groups/{channel_group_key} name: v1-channel_groups-channel_group_key description: REST surface for v1-channel_groups-channel_group_key. operations: - method: DELETE name: deletechannelgroup description: Delete a channel group call: management.deletechannelgroup with: channel_group_key: rest.channel_group_key outputParameters: - type: object mapping: $. - method: GET name: getchannelgroup description: Get a channel group call: management.getchannelgroup with: channel_group_key: rest.channel_group_key outputParameters: - type: object mapping: $. - method: PUT name: upsertchannelgroup description: Upsert a channel group call: management.upsertchannelgroup with: channel_group_key: rest.channel_group_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/message_types/{message_type_key} name: v1-message_types-message_type_key description: REST surface for v1-message_types-message_type_key. operations: - method: GET name: getmessagetype description: Get message type call: management.getmessagetype with: message_type_key: rest.message_type_key outputParameters: - type: object mapping: $. - method: PUT name: upsertmessagetype description: Upsert message type call: management.upsertmessagetype with: message_type_key: rest.message_type_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/workflows/{workflow_key} name: v1-workflows-workflow_key description: REST surface for v1-workflows-workflow_key. operations: - method: GET name: getworkflow description: Get a workflow call: management.getworkflow with: workflow_key: rest.workflow_key outputParameters: - type: object mapping: $. - method: PUT name: upsertworkflow description: Upsert a workflow call: management.upsertworkflow with: workflow_key: rest.workflow_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/branches/{branch_slug} name: v1-branches-branch_slug description: REST surface for v1-branches-branch_slug. operations: - method: DELETE name: deletebranch description: Delete a branch call: management.deletebranch with: branch_slug: rest.branch_slug outputParameters: - type: object mapping: $. - method: GET name: getbranch description: Get a branch call: management.getbranch with: branch_slug: rest.branch_slug outputParameters: - type: object mapping: $. - method: POST name: createbranch description: Create a branch call: management.createbranch with: branch_slug: rest.branch_slug body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/commits/promote name: v1-commits-promote description: REST surface for v1-commits-promote. operations: - method: PUT name: promoteallcommits description: Promote all changes call: management.promoteallcommits with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/commits name: v1-commits description: REST surface for v1-commits. operations: - method: GET name: listcommits description: List commits call: management.listcommits with: {} outputParameters: - type: object mapping: $. - method: PUT name: commitallchanges description: Commit all changes call: management.commitallchanges with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/audiences name: v1-audiences description: REST surface for v1-audiences. operations: - method: GET name: listaudiences description: List audiences call: management.listaudiences with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/members name: v1-members description: REST surface for v1-members. operations: - method: GET name: listmembers description: List members call: management.listmembers with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/api_keys/exchange name: v1-api_keys-exchange description: REST surface for v1-api_keys-exchange. operations: - method: POST name: exchangeforapikey description: Exchange for API key call: management.exchangeforapikey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/broadcasts/{broadcast_key} name: v1-broadcasts-broadcast_key description: REST surface for v1-broadcasts-broadcast_key. operations: - method: GET name: getbroadcast description: Get a broadcast call: management.getbroadcast with: broadcast_key: rest.broadcast_key outputParameters: - type: object mapping: $. - method: PUT name: upsertbroadcast description: Upsert a broadcast call: management.upsertbroadcast with: broadcast_key: rest.broadcast_key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/message_types name: v1-message_types description: REST surface for v1-message_types. operations: - method: GET name: listmessagetypes description: List message types call: management.listmessagetypes with: {} outputParameters: - type: object mapping: $. - path: /v1/v1/channels/{channel_key} name: v1-channels-channel_key description: REST surface for v1-channels-channel_key. operations: - method: GET name: getchannel description: Get a channel call: management.getchannel with: channel_key: rest.channel_key outputParameters: - type: object mapping: $. - path: /v1/v1/broadcasts/{broadcast_key}/cancel name: v1-broadcasts-broadcast_key-cancel description: REST surface for v1-broadcasts-broadcast_key-cancel. operations: - method: PUT name: cancelbroadcast description: Cancel a scheduled broadcast call: management.cancelbroadcast with: broadcast_key: rest.broadcast_key body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: management-mcp port: 9090 transport: http description: MCP adapter for Knock Knock Management API (mAPI). One tool per consumed operation. tools: - name: knock-getenvironment description: Get an environment hints: readOnly: true destructive: false idempotent: true call: management.getenvironment with: environment_slug: tools.environment_slug outputParameters: - type: object mapping: $. - name: knock-listbranches description: List branches hints: readOnly: true destructive: false idempotent: true call: management.listbranches with: {} outputParameters: - type: object mapping: $. - name: knock-validateworkflow description: Validate a workflow hints: readOnly: false destructive: false idempotent: true call: management.validateworkflow with: workflow_key: tools.workflow_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-runworkflow description: Run a workflow hints: readOnly: false destructive: false idempotent: true call: management.runworkflow with: workflow_key: tools.workflow_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-listemaillayouts description: List email layouts hints: readOnly: true destructive: false idempotent: true call: management.listemaillayouts with: {} outputParameters: - type: object mapping: $. - name: knock-archiveguide description: Archive a guide hints: readOnly: false destructive: true idempotent: true call: management.archiveguide with: guide_key: tools.guide_key outputParameters: - type: object mapping: $. - name: knock-getguide description: Get a guide hints: readOnly: true destructive: false idempotent: true call: management.getguide with: guide_key: tools.guide_key outputParameters: - type: object mapping: $. - name: knock-upsertguide description: Upsert a guide hints: readOnly: false destructive: false idempotent: true call: management.upsertguide with: guide_key: tools.guide_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-sendbroadcast description: Send a broadcast hints: readOnly: false destructive: false idempotent: true call: management.sendbroadcast with: broadcast_key: tools.broadcast_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-listguides description: List guides hints: readOnly: true destructive: false idempotent: true call: management.listguides with: {} outputParameters: - type: object mapping: $. - name: knock-validatebroadcast description: Validate a broadcast hints: readOnly: false destructive: false idempotent: true call: management.validatebroadcast with: broadcast_key: tools.broadcast_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-getvariable description: Get a variable hints: readOnly: true destructive: false idempotent: true call: management.getvariable with: key: tools.key outputParameters: - type: object mapping: $. - name: knock-listtranslations description: List translations hints: readOnly: true destructive: false idempotent: true call: management.listtranslations with: {} outputParameters: - type: object mapping: $. - name: knock-previewworkflowtemplate description: Preview a workflow template hints: readOnly: false destructive: false idempotent: false call: management.previewworkflowtemplate with: workflow_key: tools.workflow_key step_ref: tools.step_ref body: tools.body outputParameters: - type: object mapping: $. - name: knock-previewtemplate description: Preview a template hints: readOnly: false destructive: false idempotent: false call: management.previewtemplate with: body: tools.body outputParameters: - type: object mapping: $. - name: knock-activateguide description: Activate a guide hints: readOnly: false destructive: false idempotent: true call: management.activateguide with: guide_key: tools.guide_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-listpartials description: List partials hints: readOnly: true destructive: false idempotent: true call: management.listpartials with: {} outputParameters: - type: object mapping: $. - name: knock-getpartial description: Get a partial hints: readOnly: true destructive: false idempotent: true call: management.getpartial with: partial_key: tools.partial_key outputParameters: - type: object mapping: $. - name: knock-upsertpartial description: Upsert a partial hints: readOnly: false destructive: false idempotent: true call: management.upsertpartial with: partial_key: tools.partial_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-listchannels description: List channels hints: readOnly: true destructive: false idempotent: true call: management.listchannels with: {} outputParameters: - type: object mapping: $. - name: knock-removemember description: Remove a member hints: readOnly: false destructive: true idempotent: true call: management.removemember with: id: tools.id outputParameters: - type: object mapping: $. - name: knock-getmember description: Get a member hints: readOnly: true destructive: false idempotent: true call: management.getmember with: id: tools.id outputParameters: - type: object mapping: $. - name: knock-getemaillayout description: Get email layout hints: readOnly: true destructive: false idempotent: true call: management.getemaillayout with: email_layout_key: tools.email_layout_key outputParameters: - type: object mapping: $. - name: knock-upsertemaillayout description: Upsert email layout hints: readOnly: false destructive: false idempotent: true call: management.upsertemaillayout with: email_layout_key: tools.email_layout_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-listchannelgroups description: List channel groups hints: readOnly: true destructive: false idempotent: true call: management.listchannelgroups with: {} outputParameters: - type: object mapping: $. - name: knock-listworkflows description: List workflows hints: readOnly: true destructive: false idempotent: true call: management.listworkflows with: {} outputParameters: - type: object mapping: $. - name: knock-listbroadcasts description: List broadcasts hints: readOnly: true destructive: false idempotent: true call: management.listbroadcasts with: {} outputParameters: - type: object mapping: $. - name: knock-validatetranslation description: Validate translation hints: readOnly: false destructive: false idempotent: true call: management.validatetranslation with: locale_code: tools.locale_code body: tools.body outputParameters: - type: object mapping: $. - name: knock-getwhoami description: Verify scope hints: readOnly: true destructive: false idempotent: true call: management.getwhoami with: {} outputParameters: - type: object mapping: $. - name: knock-archiveaudience description: Archive an audience hints: readOnly: false destructive: true idempotent: true call: management.archiveaudience with: audience_key: tools.audience_key outputParameters: - type: object mapping: $. - name: knock-getaudience description: Get an audience hints: readOnly: true destructive: false idempotent: true call: management.getaudience with: audience_key: tools.audience_key outputParameters: - type: object mapping: $. - name: knock-upsertaudience description: Upsert an audience hints: readOnly: false destructive: false idempotent: true call: management.upsertaudience with: audience_key: tools.audience_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-getcommit description: Get a commit hints: readOnly: true destructive: false idempotent: true call: management.getcommit with: id: tools.id outputParameters: - type: object mapping: $. - name: knock-validateaudience description: Validate an audience hints: readOnly: false destructive: false idempotent: true call: management.validateaudience with: audience_key: tools.audience_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-listvariables description: List variables hints: readOnly: true destructive: false idempotent: true call: management.listvariables with: {} outputParameters: - type: object mapping: $. - name: knock-activateworkflow description: Activate a workflow hints: readOnly: false destructive: false idempotent: true call: management.activateworkflow with: workflow_key: tools.workflow_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-validatepartial description: Validate a partial hints: readOnly: false destructive: false idempotent: true call: management.validatepartial with: partial_key: tools.partial_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-validatemessagetype description: Validate message type hints: readOnly: false destructive: false idempotent: true call: management.validatemessagetype with: message_type_key: tools.message_type_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-gettranslation description: Get translation hints: readOnly: true destructive: false idempotent: true call: management.gettranslation with: locale_code: tools.locale_code outputParameters: - type: object mapping: $. - name: knock-upserttranslation description: Upsert translation hints: readOnly: false destructive: false idempotent: true call: management.upserttranslation with: locale_code: tools.locale_code body: tools.body outputParameters: - type: object mapping: $. - name: knock-listenvironments description: List environments hints: readOnly: true destructive: false idempotent: true call: management.listenvironments with: {} outputParameters: - type: object mapping: $. - name: knock-validateemaillayout description: Validate email layout hints: readOnly: false destructive: false idempotent: true call: management.validateemaillayout with: email_layout_key: tools.email_layout_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-promoteonecommit description: Promote one commit hints: readOnly: false destructive: false idempotent: true call: management.promoteonecommit with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: knock-validateguide description: Validate a guide hints: readOnly: false destructive: false idempotent: true call: management.validateguide with: guide_key: tools.guide_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-deletechannelgroup description: Delete a channel group hints: readOnly: false destructive: true idempotent: true call: management.deletechannelgroup with: channel_group_key: tools.channel_group_key outputParameters: - type: object mapping: $. - name: knock-getchannelgroup description: Get a channel group hints: readOnly: true destructive: false idempotent: true call: management.getchannelgroup with: channel_group_key: tools.channel_group_key outputParameters: - type: object mapping: $. - name: knock-upsertchannelgroup description: Upsert a channel group hints: readOnly: false destructive: false idempotent: true call: management.upsertchannelgroup with: channel_group_key: tools.channel_group_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-getmessagetype description: Get message type hints: readOnly: true destructive: false idempotent: true call: management.getmessagetype with: message_type_key: tools.message_type_key outputParameters: - type: object mapping: $. - name: knock-upsertmessagetype description: Upsert message type hints: readOnly: false destructive: false idempotent: true call: management.upsertmessagetype with: message_type_key: tools.message_type_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-getworkflow description: Get a workflow hints: readOnly: true destructive: false idempotent: true call: management.getworkflow with: workflow_key: tools.workflow_key outputParameters: - type: object mapping: $. - name: knock-upsertworkflow description: Upsert a workflow hints: readOnly: false destructive: false idempotent: true call: management.upsertworkflow with: workflow_key: tools.workflow_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-deletebranch description: Delete a branch hints: readOnly: false destructive: true idempotent: true call: management.deletebranch with: branch_slug: tools.branch_slug outputParameters: - type: object mapping: $. - name: knock-getbranch description: Get a branch hints: readOnly: true destructive: false idempotent: true call: management.getbranch with: branch_slug: tools.branch_slug outputParameters: - type: object mapping: $. - name: knock-createbranch description: Create a branch hints: readOnly: false destructive: false idempotent: false call: management.createbranch with: branch_slug: tools.branch_slug body: tools.body outputParameters: - type: object mapping: $. - name: knock-promoteallcommits description: Promote all changes hints: readOnly: false destructive: false idempotent: true call: management.promoteallcommits with: body: tools.body outputParameters: - type: object mapping: $. - name: knock-listcommits description: List commits hints: readOnly: true destructive: false idempotent: true call: management.listcommits with: {} outputParameters: - type: object mapping: $. - name: knock-commitallchanges description: Commit all changes hints: readOnly: false destructive: false idempotent: true call: management.commitallchanges with: body: tools.body outputParameters: - type: object mapping: $. - name: knock-listaudiences description: List audiences hints: readOnly: true destructive: false idempotent: true call: management.listaudiences with: {} outputParameters: - type: object mapping: $. - name: knock-listmembers description: List members hints: readOnly: true destructive: false idempotent: true call: management.listmembers with: {} outputParameters: - type: object mapping: $. - name: knock-exchangeforapikey description: Exchange for API key hints: readOnly: false destructive: false idempotent: false call: management.exchangeforapikey with: body: tools.body outputParameters: - type: object mapping: $. - name: knock-getbroadcast description: Get a broadcast hints: readOnly: true destructive: false idempotent: true call: management.getbroadcast with: broadcast_key: tools.broadcast_key outputParameters: - type: object mapping: $. - name: knock-upsertbroadcast description: Upsert a broadcast hints: readOnly: false destructive: false idempotent: true call: management.upsertbroadcast with: broadcast_key: tools.broadcast_key body: tools.body outputParameters: - type: object mapping: $. - name: knock-listmessagetypes description: List message types hints: readOnly: true destructive: false idempotent: true call: management.listmessagetypes with: {} outputParameters: - type: object mapping: $. - name: knock-getchannel description: Get a channel hints: readOnly: true destructive: false idempotent: true call: management.getchannel with: channel_key: tools.channel_key outputParameters: - type: object mapping: $. - name: knock-cancelbroadcast description: Cancel a scheduled broadcast hints: readOnly: false destructive: false idempotent: true call: management.cancelbroadcast with: broadcast_key: tools.broadcast_key body: tools.body outputParameters: - type: object mapping: $.