naftiko: 1.0.0-alpha2 info: label: Pulumi APIs — Webhooks description: 'Pulumi APIs — Webhooks. 16 operations. Lead operation: ListOrganizationWebhooks. Self-contained Naftiko capability covering one Pulumi business surface.' tags: - Pulumi - Webhooks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PULUMI_API_KEY: PULUMI_API_KEY capability: consumes: - type: http namespace: pulumi-webhooks baseUri: '' description: Pulumi APIs — Webhooks business capability. Self-contained, no shared references. resources: - name: api-orgs-orgName-hooks path: /api/orgs/{orgName}/hooks operations: - name: listorganizationwebhooks method: GET description: ListOrganizationWebhooks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: createorganizationwebhook method: POST description: CreateOrganizationWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-orgs-orgName-hooks-hookName path: /api/orgs/{orgName}/hooks/{hookName} operations: - name: deleteorganizationwebhook method: DELETE description: DeleteOrganizationWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: hookName in: path type: string description: The webhook name identifier required: true - name: getorganizationwebhook method: GET description: GetOrganizationWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: hookName in: path type: string description: The webhook name identifier required: true - name: updateorganizationwebhook method: PATCH description: UpdateOrganizationWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: hookName in: path type: string description: The webhook name identifier required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-orgs-orgName-hooks-hookName-deliveries path: /api/orgs/{orgName}/hooks/{hookName}/deliveries operations: - name: getorganizationwebhookdeliveries method: GET description: GetOrganizationWebhookDeliveries outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: hookName in: path type: string description: The webhook name identifier required: true - name: api-orgs-orgName-hooks-hookName-deliveries-event-redeliver path: /api/orgs/{orgName}/hooks/{hookName}/deliveries/{event}/redeliver operations: - name: redeliverorganizationwebhookevent method: POST description: RedeliverOrganizationWebhookEvent outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: hookName in: path type: string description: The webhook name identifier required: true - name: event in: path type: string description: The event identifier to redeliver required: true - name: api-orgs-orgName-hooks-hookName-ping path: /api/orgs/{orgName}/hooks/{hookName}/ping operations: - name: pingorganizationwebhook method: POST description: PingOrganizationWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: hookName in: path type: string description: The webhook name identifier required: true - name: api-stacks-orgName-projectName-stackName-hooks path: /api/stacks/{orgName}/{projectName}/{stackName}/hooks operations: - name: liststackwebhooks method: GET description: ListStackWebhooks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: projectName in: path type: string description: The project name required: true - name: stackName in: path type: string description: The stack name required: true - name: createstackwebhook method: POST description: CreateStackWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: projectName in: path type: string description: The project name required: true - name: stackName in: path type: string description: The stack name required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-stacks-orgName-projectName-stackName-hooks-hookName path: /api/stacks/{orgName}/{projectName}/{stackName}/hooks/{hookName} operations: - name: deletestackwebhook method: DELETE description: DeleteStackWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: projectName in: path type: string description: The project name required: true - name: stackName in: path type: string description: The stack name required: true - name: hookName in: path type: string description: The webhook name required: true - name: getstackwebhook method: GET description: GetStackWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: projectName in: path type: string description: The project name required: true - name: stackName in: path type: string description: The stack name required: true - name: hookName in: path type: string description: The webhook name required: true - name: updatestackwebhook method: PATCH description: UpdateStackWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: projectName in: path type: string description: The project name required: true - name: stackName in: path type: string description: The stack name required: true - name: hookName in: path type: string description: The webhook name required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-stacks-orgName-projectName-stackName-hooks-hookName-deliveries path: /api/stacks/{orgName}/{projectName}/{stackName}/hooks/{hookName}/deliveries operations: - name: getstackwebhookdeliveries method: GET description: GetStackWebhookDeliveries outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: projectName in: path type: string description: The project name required: true - name: stackName in: path type: string description: The stack name required: true - name: hookName in: path type: string description: The webhook name required: true - name: api-stacks-orgName-projectName-stackName-hooks-hookName-deliveries-event-redeliv path: /api/stacks/{orgName}/{projectName}/{stackName}/hooks/{hookName}/deliveries/{event}/redeliver operations: - name: redeliverstackwebhookevent method: POST description: RedeliverStackWebhookEvent outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: projectName in: path type: string description: The project name required: true - name: stackName in: path type: string description: The stack name required: true - name: hookName in: path type: string description: The webhook name required: true - name: event in: path type: string description: The webhook delivery event identifier to redeliver required: true - name: api-stacks-orgName-projectName-stackName-hooks-hookName-ping path: /api/stacks/{orgName}/{projectName}/{stackName}/hooks/{hookName}/ping operations: - name: pingstackwebhook method: POST description: PingStackWebhook outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgName in: path type: string description: The organization name required: true - name: projectName in: path type: string description: The project name required: true - name: stackName in: path type: string description: The stack name required: true - name: hookName in: path type: string description: The webhook name required: true exposes: - type: rest namespace: pulumi-webhooks-rest port: 8080 description: REST adapter for Pulumi APIs — Webhooks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/orgs/{orgname}/hooks name: api-orgs-orgname-hooks description: REST surface for api-orgs-orgName-hooks. operations: - method: GET name: listorganizationwebhooks description: ListOrganizationWebhooks call: pulumi-webhooks.listorganizationwebhooks with: orgName: rest.orgName outputParameters: - type: object mapping: $. - method: POST name: createorganizationwebhook description: CreateOrganizationWebhook call: pulumi-webhooks.createorganizationwebhook with: orgName: rest.orgName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/orgs/{orgname}/hooks/{hookname} name: api-orgs-orgname-hooks-hookname description: REST surface for api-orgs-orgName-hooks-hookName. operations: - method: DELETE name: deleteorganizationwebhook description: DeleteOrganizationWebhook call: pulumi-webhooks.deleteorganizationwebhook with: orgName: rest.orgName hookName: rest.hookName outputParameters: - type: object mapping: $. - method: GET name: getorganizationwebhook description: GetOrganizationWebhook call: pulumi-webhooks.getorganizationwebhook with: orgName: rest.orgName hookName: rest.hookName outputParameters: - type: object mapping: $. - method: PATCH name: updateorganizationwebhook description: UpdateOrganizationWebhook call: pulumi-webhooks.updateorganizationwebhook with: orgName: rest.orgName hookName: rest.hookName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/orgs/{orgname}/hooks/{hookname}/deliveries name: api-orgs-orgname-hooks-hookname-deliveries description: REST surface for api-orgs-orgName-hooks-hookName-deliveries. operations: - method: GET name: getorganizationwebhookdeliveries description: GetOrganizationWebhookDeliveries call: pulumi-webhooks.getorganizationwebhookdeliveries with: orgName: rest.orgName hookName: rest.hookName outputParameters: - type: object mapping: $. - path: /v1/api/orgs/{orgname}/hooks/{hookname}/deliveries/{event}/redeliver name: api-orgs-orgname-hooks-hookname-deliveries-event-redeliver description: REST surface for api-orgs-orgName-hooks-hookName-deliveries-event-redeliver. operations: - method: POST name: redeliverorganizationwebhookevent description: RedeliverOrganizationWebhookEvent call: pulumi-webhooks.redeliverorganizationwebhookevent with: orgName: rest.orgName hookName: rest.hookName event: rest.event outputParameters: - type: object mapping: $. - path: /v1/api/orgs/{orgname}/hooks/{hookname}/ping name: api-orgs-orgname-hooks-hookname-ping description: REST surface for api-orgs-orgName-hooks-hookName-ping. operations: - method: POST name: pingorganizationwebhook description: PingOrganizationWebhook call: pulumi-webhooks.pingorganizationwebhook with: orgName: rest.orgName hookName: rest.hookName outputParameters: - type: object mapping: $. - path: /v1/api/stacks/{orgname}/{projectname}/{stackname}/hooks name: api-stacks-orgname-projectname-stackname-hooks description: REST surface for api-stacks-orgName-projectName-stackName-hooks. operations: - method: GET name: liststackwebhooks description: ListStackWebhooks call: pulumi-webhooks.liststackwebhooks with: orgName: rest.orgName projectName: rest.projectName stackName: rest.stackName outputParameters: - type: object mapping: $. - method: POST name: createstackwebhook description: CreateStackWebhook call: pulumi-webhooks.createstackwebhook with: orgName: rest.orgName projectName: rest.projectName stackName: rest.stackName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/stacks/{orgname}/{projectname}/{stackname}/hooks/{hookname} name: api-stacks-orgname-projectname-stackname-hooks-hookname description: REST surface for api-stacks-orgName-projectName-stackName-hooks-hookName. operations: - method: DELETE name: deletestackwebhook description: DeleteStackWebhook call: pulumi-webhooks.deletestackwebhook with: orgName: rest.orgName projectName: rest.projectName stackName: rest.stackName hookName: rest.hookName outputParameters: - type: object mapping: $. - method: GET name: getstackwebhook description: GetStackWebhook call: pulumi-webhooks.getstackwebhook with: orgName: rest.orgName projectName: rest.projectName stackName: rest.stackName hookName: rest.hookName outputParameters: - type: object mapping: $. - method: PATCH name: updatestackwebhook description: UpdateStackWebhook call: pulumi-webhooks.updatestackwebhook with: orgName: rest.orgName projectName: rest.projectName stackName: rest.stackName hookName: rest.hookName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/stacks/{orgname}/{projectname}/{stackname}/hooks/{hookname}/deliveries name: api-stacks-orgname-projectname-stackname-hooks-hookname-deliveries description: REST surface for api-stacks-orgName-projectName-stackName-hooks-hookName-deliveries. operations: - method: GET name: getstackwebhookdeliveries description: GetStackWebhookDeliveries call: pulumi-webhooks.getstackwebhookdeliveries with: orgName: rest.orgName projectName: rest.projectName stackName: rest.stackName hookName: rest.hookName outputParameters: - type: object mapping: $. - path: /v1/api/stacks/{orgname}/{projectname}/{stackname}/hooks/{hookname}/deliveries/{event}/redeliver name: api-stacks-orgname-projectname-stackname-hooks-hookname-deliveries-event-redeliv description: REST surface for api-stacks-orgName-projectName-stackName-hooks-hookName-deliveries-event-redeliv. operations: - method: POST name: redeliverstackwebhookevent description: RedeliverStackWebhookEvent call: pulumi-webhooks.redeliverstackwebhookevent with: orgName: rest.orgName projectName: rest.projectName stackName: rest.stackName hookName: rest.hookName event: rest.event outputParameters: - type: object mapping: $. - path: /v1/api/stacks/{orgname}/{projectname}/{stackname}/hooks/{hookname}/ping name: api-stacks-orgname-projectname-stackname-hooks-hookname-ping description: REST surface for api-stacks-orgName-projectName-stackName-hooks-hookName-ping. operations: - method: POST name: pingstackwebhook description: PingStackWebhook call: pulumi-webhooks.pingstackwebhook with: orgName: rest.orgName projectName: rest.projectName stackName: rest.stackName hookName: rest.hookName outputParameters: - type: object mapping: $. - type: mcp namespace: pulumi-webhooks-mcp port: 9090 transport: http description: MCP adapter for Pulumi APIs — Webhooks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: listorganizationwebhooks description: ListOrganizationWebhooks hints: readOnly: true destructive: false idempotent: true call: pulumi-webhooks.listorganizationwebhooks with: orgName: tools.orgName outputParameters: - type: object mapping: $. - name: createorganizationwebhook description: CreateOrganizationWebhook hints: readOnly: false destructive: false idempotent: false call: pulumi-webhooks.createorganizationwebhook with: orgName: tools.orgName body: tools.body outputParameters: - type: object mapping: $. - name: deleteorganizationwebhook description: DeleteOrganizationWebhook hints: readOnly: false destructive: true idempotent: true call: pulumi-webhooks.deleteorganizationwebhook with: orgName: tools.orgName hookName: tools.hookName outputParameters: - type: object mapping: $. - name: getorganizationwebhook description: GetOrganizationWebhook hints: readOnly: true destructive: false idempotent: true call: pulumi-webhooks.getorganizationwebhook with: orgName: tools.orgName hookName: tools.hookName outputParameters: - type: object mapping: $. - name: updateorganizationwebhook description: UpdateOrganizationWebhook hints: readOnly: false destructive: false idempotent: true call: pulumi-webhooks.updateorganizationwebhook with: orgName: tools.orgName hookName: tools.hookName body: tools.body outputParameters: - type: object mapping: $. - name: getorganizationwebhookdeliveries description: GetOrganizationWebhookDeliveries hints: readOnly: true destructive: false idempotent: true call: pulumi-webhooks.getorganizationwebhookdeliveries with: orgName: tools.orgName hookName: tools.hookName outputParameters: - type: object mapping: $. - name: redeliverorganizationwebhookevent description: RedeliverOrganizationWebhookEvent hints: readOnly: false destructive: false idempotent: false call: pulumi-webhooks.redeliverorganizationwebhookevent with: orgName: tools.orgName hookName: tools.hookName event: tools.event outputParameters: - type: object mapping: $. - name: pingorganizationwebhook description: PingOrganizationWebhook hints: readOnly: false destructive: false idempotent: false call: pulumi-webhooks.pingorganizationwebhook with: orgName: tools.orgName hookName: tools.hookName outputParameters: - type: object mapping: $. - name: liststackwebhooks description: ListStackWebhooks hints: readOnly: true destructive: false idempotent: true call: pulumi-webhooks.liststackwebhooks with: orgName: tools.orgName projectName: tools.projectName stackName: tools.stackName outputParameters: - type: object mapping: $. - name: createstackwebhook description: CreateStackWebhook hints: readOnly: false destructive: false idempotent: false call: pulumi-webhooks.createstackwebhook with: orgName: tools.orgName projectName: tools.projectName stackName: tools.stackName body: tools.body outputParameters: - type: object mapping: $. - name: deletestackwebhook description: DeleteStackWebhook hints: readOnly: false destructive: true idempotent: true call: pulumi-webhooks.deletestackwebhook with: orgName: tools.orgName projectName: tools.projectName stackName: tools.stackName hookName: tools.hookName outputParameters: - type: object mapping: $. - name: getstackwebhook description: GetStackWebhook hints: readOnly: true destructive: false idempotent: true call: pulumi-webhooks.getstackwebhook with: orgName: tools.orgName projectName: tools.projectName stackName: tools.stackName hookName: tools.hookName outputParameters: - type: object mapping: $. - name: updatestackwebhook description: UpdateStackWebhook hints: readOnly: false destructive: false idempotent: true call: pulumi-webhooks.updatestackwebhook with: orgName: tools.orgName projectName: tools.projectName stackName: tools.stackName hookName: tools.hookName body: tools.body outputParameters: - type: object mapping: $. - name: getstackwebhookdeliveries description: GetStackWebhookDeliveries hints: readOnly: true destructive: false idempotent: true call: pulumi-webhooks.getstackwebhookdeliveries with: orgName: tools.orgName projectName: tools.projectName stackName: tools.stackName hookName: tools.hookName outputParameters: - type: object mapping: $. - name: redeliverstackwebhookevent description: RedeliverStackWebhookEvent hints: readOnly: false destructive: false idempotent: false call: pulumi-webhooks.redeliverstackwebhookevent with: orgName: tools.orgName projectName: tools.projectName stackName: tools.stackName hookName: tools.hookName event: tools.event outputParameters: - type: object mapping: $. - name: pingstackwebhook description: PingStackWebhook hints: readOnly: false destructive: false idempotent: false call: pulumi-webhooks.pingstackwebhook with: orgName: tools.orgName projectName: tools.projectName stackName: tools.stackName hookName: tools.hookName outputParameters: - type: object mapping: $.