naftiko: 1.0.0-alpha2 info: label: Slack Lists API — Lists description: 'Slack Lists API — Lists. 6 operations. Lead operation: Create List. Self-contained Naftiko capability covering one Slack business surface.' tags: - Slack - Lists created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SLACK_API_KEY: SLACK_API_KEY capability: consumes: - type: http namespace: lists-lists baseUri: https://slack.com/api description: Slack Lists API — Lists business capability. Self-contained, no shared references. resources: - name: slackLists.create path: /slackLists.create operations: - name: postslacklistscreate method: POST description: Create List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `lists:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: slackLists.items.create path: /slackLists.items.create operations: - name: postslacklistsitemscreate method: POST description: Create List Item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `lists:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: slackLists.items.delete path: /slackLists.items.delete operations: - name: postslacklistsitemsdelete method: POST description: Delete List Item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `lists:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: slackLists.items.list path: /slackLists.items.list operations: - name: getslacklistsitemslist method: GET description: List Items outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `lists:read`' required: true - name: list_id in: query type: string description: ID of the list to retrieve items from. required: true - name: cursor in: query type: string description: Pagination cursor for retrieving additional pages. - name: limit in: query type: integer description: Maximum number of items to return. - name: slackLists.items.update path: /slackLists.items.update operations: - name: postslacklistsitemsupdate method: POST description: Update List Item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `lists:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: slackLists.update path: /slackLists.update operations: - name: postslacklistsupdate method: POST description: Update List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `lists:write`' required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.SLACK_API_KEY}}' exposes: - type: rest namespace: lists-lists-rest port: 8080 description: REST adapter for Slack Lists API — Lists. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/slacklists-create name: slacklists-create description: REST surface for slackLists.create. operations: - method: POST name: postslacklistscreate description: Create List call: lists-lists.postslacklistscreate with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/slacklists-items-create name: slacklists-items-create description: REST surface for slackLists.items.create. operations: - method: POST name: postslacklistsitemscreate description: Create List Item call: lists-lists.postslacklistsitemscreate with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/slacklists-items-delete name: slacklists-items-delete description: REST surface for slackLists.items.delete. operations: - method: POST name: postslacklistsitemsdelete description: Delete List Item call: lists-lists.postslacklistsitemsdelete with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/slacklists-items-list name: slacklists-items-list description: REST surface for slackLists.items.list. operations: - method: GET name: getslacklistsitemslist description: List Items call: lists-lists.getslacklistsitemslist with: token: rest.token list_id: rest.list_id cursor: rest.cursor limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/slacklists-items-update name: slacklists-items-update description: REST surface for slackLists.items.update. operations: - method: POST name: postslacklistsitemsupdate description: Update List Item call: lists-lists.postslacklistsitemsupdate with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/slacklists-update name: slacklists-update description: REST surface for slackLists.update. operations: - method: POST name: postslacklistsupdate description: Update List call: lists-lists.postslacklistsupdate with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: lists-lists-mcp port: 9090 transport: http description: MCP adapter for Slack Lists API — Lists. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-list description: Create List hints: readOnly: false destructive: false idempotent: false call: lists-lists.postslacklistscreate with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: create-list-item description: Create List Item hints: readOnly: true destructive: false idempotent: false call: lists-lists.postslacklistsitemscreate with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: delete-list-item description: Delete List Item hints: readOnly: true destructive: false idempotent: false call: lists-lists.postslacklistsitemsdelete with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: list-items description: List Items hints: readOnly: true destructive: false idempotent: true call: lists-lists.getslacklistsitemslist with: token: tools.token list_id: tools.list_id cursor: tools.cursor limit: tools.limit outputParameters: - type: object mapping: $. - name: update-list-item description: Update List Item hints: readOnly: true destructive: false idempotent: false call: lists-lists.postslacklistsitemsupdate with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: update-list description: Update List hints: readOnly: false destructive: false idempotent: false call: lists-lists.postslacklistsupdate with: token: tools.token body: tools.body outputParameters: - type: object mapping: $.