naftiko: 1.0.0-alpha2 info: label: Slack Chat API — Post description: 'Slack Chat API — Post. 8 operations. Lead operation: Slack Post Chat Delete. Self-contained Naftiko capability covering one Slack business surface.' tags: - Slack - Post created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SLACK_API_KEY: SLACK_API_KEY capability: consumes: - type: http namespace: chat-post baseUri: '' description: Slack Chat API — Post business capability. Self-contained, no shared references. resources: - name: chat.delete path: /chat.delete operations: - name: postchatdelete method: POST description: Slack Post Chat Delete outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `chat:write`' - name: body in: body type: object description: Request body (JSON). required: false - name: chat.deleteScheduledMessage path: /chat.deleteScheduledMessage operations: - name: postchatdeletescheduledmessage method: POST description: Slack Post Chat Deletescheduledmessage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `chat:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: chat.meMessage path: /chat.meMessage operations: - name: postchatmemessage method: POST description: Slack Post Chat Memessage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `chat:write`' - name: body in: body type: object description: Request body (JSON). required: false - name: chat.postEphemeral path: /chat.postEphemeral operations: - name: postchatpostephemeral method: POST description: Slack Post Chat Postephemeral outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `chat:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: chat.postMessage path: /chat.postMessage operations: - name: postchatpostmessage method: POST description: Slack Post Chat Postmessage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `chat:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: chat.scheduleMessage path: /chat.scheduleMessage operations: - name: postchatschedulemessage method: POST description: Slack Post Chat Schedulemessage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `chat:write`' - name: body in: body type: object description: Request body (JSON). required: false - name: chat.unfurl path: /chat.unfurl operations: - name: postchatunfurl method: POST description: Slack Post Chat Unfurl outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `links:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: chat.update path: /chat.update operations: - name: postchatupdate method: POST description: Slack Post Chat Update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `chat:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: chat-post-rest port: 8080 description: REST adapter for Slack Chat API — Post. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/chat-delete name: chat-delete description: REST surface for chat.delete. operations: - method: POST name: postchatdelete description: Slack Post Chat Delete call: chat-post.postchatdelete with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/chat-deletescheduledmessage name: chat-deletescheduledmessage description: REST surface for chat.deleteScheduledMessage. operations: - method: POST name: postchatdeletescheduledmessage description: Slack Post Chat Deletescheduledmessage call: chat-post.postchatdeletescheduledmessage with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/chat-memessage name: chat-memessage description: REST surface for chat.meMessage. operations: - method: POST name: postchatmemessage description: Slack Post Chat Memessage call: chat-post.postchatmemessage with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/chat-postephemeral name: chat-postephemeral description: REST surface for chat.postEphemeral. operations: - method: POST name: postchatpostephemeral description: Slack Post Chat Postephemeral call: chat-post.postchatpostephemeral with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/chat-postmessage name: chat-postmessage description: REST surface for chat.postMessage. operations: - method: POST name: postchatpostmessage description: Slack Post Chat Postmessage call: chat-post.postchatpostmessage with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/chat-schedulemessage name: chat-schedulemessage description: REST surface for chat.scheduleMessage. operations: - method: POST name: postchatschedulemessage description: Slack Post Chat Schedulemessage call: chat-post.postchatschedulemessage with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/chat-unfurl name: chat-unfurl description: REST surface for chat.unfurl. operations: - method: POST name: postchatunfurl description: Slack Post Chat Unfurl call: chat-post.postchatunfurl with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/chat-update name: chat-update description: REST surface for chat.update. operations: - method: POST name: postchatupdate description: Slack Post Chat Update call: chat-post.postchatupdate with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: chat-post-mcp port: 9090 transport: http description: MCP adapter for Slack Chat API — Post. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: slack-post-chat-delete description: Slack Post Chat Delete hints: readOnly: false destructive: false idempotent: false call: chat-post.postchatdelete with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: slack-post-chat-deletescheduledmessage description: Slack Post Chat Deletescheduledmessage hints: readOnly: false destructive: false idempotent: false call: chat-post.postchatdeletescheduledmessage with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: slack-post-chat-memessage description: Slack Post Chat Memessage hints: readOnly: false destructive: false idempotent: false call: chat-post.postchatmemessage with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: slack-post-chat-postephemeral description: Slack Post Chat Postephemeral hints: readOnly: false destructive: false idempotent: false call: chat-post.postchatpostephemeral with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: slack-post-chat-postmessage description: Slack Post Chat Postmessage hints: readOnly: false destructive: false idempotent: false call: chat-post.postchatpostmessage with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: slack-post-chat-schedulemessage description: Slack Post Chat Schedulemessage hints: readOnly: false destructive: false idempotent: false call: chat-post.postchatschedulemessage with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: slack-post-chat-unfurl description: Slack Post Chat Unfurl hints: readOnly: false destructive: false idempotent: false call: chat-post.postchatunfurl with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: slack-post-chat-update description: Slack Post Chat Update hints: readOnly: false destructive: false idempotent: false call: chat-post.postchatupdate with: token: tools.token body: tools.body outputParameters: - type: object mapping: $.