naftiko: 1.0.0-alpha2 info: label: Slack Admin API — Get description: 'Slack Admin API — Get. 18 operations. Lead operation: Slack Get Admin Apps Approved List. Self-contained Naftiko capability covering one Slack business surface.' tags: - Slack - Get created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SLACK_API_KEY: SLACK_API_KEY capability: consumes: - type: http namespace: admin-get baseUri: '' description: Slack Admin API — Get business capability. Self-contained, no shared references. resources: - name: admin.apps.approved.list path: /admin.apps.approved.list operations: - name: getadminappsapprovedlist method: GET description: Slack Get Admin Apps Approved List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `admin.apps:read`' required: true - name: limit in: query type: integer description: The maximum number of items to return. Must be between 1 - 1000 both inclusive. - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page - name: team_id in: query type: string - name: enterprise_id in: query type: string - name: admin.apps.requests.list path: /admin.apps.requests.list operations: - name: getadminappsrequestslist method: GET description: Slack Get Admin Apps Requests List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `admin.apps:read`' required: true - name: limit in: query type: integer description: The maximum number of items to return. Must be between 1 - 1000 both inclusive. - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page - name: team_id in: query type: string - name: admin.apps.restricted.list path: /admin.apps.restricted.list operations: - name: getadminappsrestrictedlist method: GET description: Slack Get Admin Apps Restricted List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `admin.apps:read`' required: true - name: limit in: query type: integer description: The maximum number of items to return. Must be between 1 - 1000 both inclusive. - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page - name: team_id in: query type: string - name: enterprise_id in: query type: string - name: admin.conversations.ekm.listOriginalConnectedChannelInfo path: /admin.conversations.ekm.listOriginalConnectedChannelInfo operations: - name: getadminconversationsekmlistoriginalconnectedchannelinfo method: GET description: Slack Get Admin Conversations Ekm Listoriginalconnectedchannelinfo outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `admin.conversations:read`' required: true - name: channel_ids in: query type: string description: A comma-separated list of channels to filter to. - name: team_ids in: query type: string description: A comma-separated list of the workspaces to which the channels you would like returned belong. - name: limit in: query type: integer description: The maximum number of items to return. Must be between 1 - 1000 both inclusive. - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. - name: admin.conversations.getConversationPrefs path: /admin.conversations.getConversationPrefs operations: - name: getadminconversationsgetconversationprefs method: GET description: Slack Get Admin Conversations Getconversationprefs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.conversations:read`' required: true - name: channel_id in: query type: string description: The channel to get preferences for. required: true - name: admin.conversations.getTeams path: /admin.conversations.getTeams operations: - name: getadminconversationsgetteams method: GET description: Slack Get Admin Conversations Getteams outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.conversations:read`' required: true - name: channel_id in: query type: string description: The channel to determine connected workspaces within the organization for. required: true - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page - name: limit in: query type: integer description: The maximum number of items to return. Must be between 1 - 1000 both inclusive. - name: admin.conversations.restrictAccess.listGroups path: /admin.conversations.restrictAccess.listGroups operations: - name: getadminconversationsrestrictaccesslistgroups method: GET description: Slack Get Admin Conversations Restrictaccess Listgroups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `admin.conversations:read`' required: true - name: channel_id in: query type: string required: true - name: team_id in: query type: string description: The workspace where the channel exists. This argument is required for channels only tied to one workspace, and optional for channels that are shared across an o - name: admin.conversations.search path: /admin.conversations.search operations: - name: getadminconversationssearch method: GET description: Slack Get Admin Conversations Search outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.conversations:read`' required: true - name: team_ids in: query type: string description: Comma separated string of team IDs, signifying the workspaces to search through. - name: query in: query type: string description: Name of the the channel to query by. - name: limit in: query type: integer description: Maximum number of items to be returned. Must be between 1 - 20 both inclusive. Default is 10. - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. - name: search_channel_types in: query type: string description: The type of channel to include or exclude in the search. For example `private` will search private channels, while `private_exclude` will exclude them. For a fu - name: sort in: query type: string description: Possible values are `relevant` (search ranking based on what we think is closest), `name` (alphabetical), `member_count` (number of users in the channel), and ` - name: sort_dir in: query type: string description: Sort direction. Possible values are `asc` for ascending order like (1, 2, 3) or (a, b, c), and `desc` for descending order like (3, 2, 1) or (c, b, a) - name: admin.emoji.list path: /admin.emoji.list operations: - name: getadminemojilist method: GET description: Slack Get Admin Emoji List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `admin.teams:read`' required: true - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page - name: limit in: query type: integer description: The maximum number of items to return. Must be between 1 - 1000 both inclusive. - name: admin.inviteRequests.approved.list path: /admin.inviteRequests.approved.list operations: - name: getadmininviterequestsapprovedlist method: GET description: Slack Get Admin Inviterequests Approved List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.invites:read`' required: true - name: team_id in: query type: string description: ID for the workspace where the invite requests were made. - name: cursor in: query type: string description: Value of the `next_cursor` field sent as part of the previous API response - name: limit in: query type: integer description: The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive - name: admin.inviteRequests.denied.list path: /admin.inviteRequests.denied.list operations: - name: getadmininviterequestsdeniedlist method: GET description: Slack Get Admin Inviterequests Denied List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.invites:read`' required: true - name: team_id in: query type: string description: ID for the workspace where the invite requests were made. - name: cursor in: query type: string description: Value of the `next_cursor` field sent as part of the previous api response - name: limit in: query type: integer description: The number of results that will be returned by the API on each invocation. Must be between 1 - 1000 both inclusive - name: admin.inviteRequests.list path: /admin.inviteRequests.list operations: - name: getadmininviterequestslist method: GET description: Slack Get Admin Inviterequests List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.invites:read`' required: true - name: team_id in: query type: string description: ID for the workspace where the invite requests were made. - name: cursor in: query type: string description: Value of the `next_cursor` field sent as part of the previous API response - name: limit in: query type: integer description: The number of results that will be returned by the API on each invocation. Must be between 1 - 1000, both inclusive - name: admin.teams.admins.list path: /admin.teams.admins.list operations: - name: getadminteamsadminslist method: GET description: Slack Get Admin Teams Admins List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `admin.teams:read`' required: true - name: limit in: query type: integer description: The maximum number of items to return. - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. - name: team_id in: query type: string required: true - name: admin.teams.list path: /admin.teams.list operations: - name: getadminteamslist method: GET description: Slack Get Admin Teams List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.teams:read`' required: true - name: limit in: query type: integer description: The maximum number of items to return. Must be between 1 - 100 both inclusive. - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. - name: admin.teams.owners.list path: /admin.teams.owners.list operations: - name: getadminteamsownerslist method: GET description: Slack Get Admin Teams Owners List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: query type: string description: 'Authentication token. Requires scope: `admin.teams:read`' required: true - name: team_id in: query type: string required: true - name: limit in: query type: integer description: The maximum number of items to return. Must be between 1 - 1000 both inclusive. - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. - name: admin.teams.settings.info path: /admin.teams.settings.info operations: - name: getadminteamssettingsinfo method: GET description: Slack Get Admin Teams Settings Info outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.teams:read`' required: true - name: team_id in: query type: string required: true - name: admin.usergroups.listChannels path: /admin.usergroups.listChannels operations: - name: getadminusergroupslistchannels method: GET description: Slack Get Admin Usergroups Listchannels outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.usergroups:read`' required: true - name: usergroup_id in: query type: string description: ID of the IDP group to list default channels for. required: true - name: team_id in: query type: string description: ID of the the workspace. - name: include_num_members in: query type: boolean description: Flag to include or exclude the count of members per channel. - name: admin.users.list path: /admin.users.list operations: - name: getadminuserslist method: GET description: Slack Get Admin Users List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.users:read`' required: true - name: team_id in: query type: string description: The ID (`T1234`) of the workspace. required: true - name: cursor in: query type: string description: Set `cursor` to `next_cursor` returned by the previous call to list items in the next page. - name: limit in: query type: integer description: Limit for how many users to be retrieved per page exposes: - type: rest namespace: admin-get-rest port: 8080 description: REST adapter for Slack Admin API — Get. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/admin-apps-approved-list name: admin-apps-approved-list description: REST surface for admin.apps.approved.list. operations: - method: GET name: getadminappsapprovedlist description: Slack Get Admin Apps Approved List call: admin-get.getadminappsapprovedlist with: token: rest.token limit: rest.limit cursor: rest.cursor team_id: rest.team_id enterprise_id: rest.enterprise_id outputParameters: - type: object mapping: $. - path: /v1/admin-apps-requests-list name: admin-apps-requests-list description: REST surface for admin.apps.requests.list. operations: - method: GET name: getadminappsrequestslist description: Slack Get Admin Apps Requests List call: admin-get.getadminappsrequestslist with: token: rest.token limit: rest.limit cursor: rest.cursor team_id: rest.team_id outputParameters: - type: object mapping: $. - path: /v1/admin-apps-restricted-list name: admin-apps-restricted-list description: REST surface for admin.apps.restricted.list. operations: - method: GET name: getadminappsrestrictedlist description: Slack Get Admin Apps Restricted List call: admin-get.getadminappsrestrictedlist with: token: rest.token limit: rest.limit cursor: rest.cursor team_id: rest.team_id enterprise_id: rest.enterprise_id outputParameters: - type: object mapping: $. - path: /v1/admin-conversations-ekm-listoriginalconnectedchannelinfo name: admin-conversations-ekm-listoriginalconnectedchannelinfo description: REST surface for admin.conversations.ekm.listOriginalConnectedChannelInfo. operations: - method: GET name: getadminconversationsekmlistoriginalconnectedchannelinfo description: Slack Get Admin Conversations Ekm Listoriginalconnectedchannelinfo call: admin-get.getadminconversationsekmlistoriginalconnectedchannelinfo with: token: rest.token channel_ids: rest.channel_ids team_ids: rest.team_ids limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/admin-conversations-getconversationprefs name: admin-conversations-getconversationprefs description: REST surface for admin.conversations.getConversationPrefs. operations: - method: GET name: getadminconversationsgetconversationprefs description: Slack Get Admin Conversations Getconversationprefs call: admin-get.getadminconversationsgetconversationprefs with: token: rest.token channel_id: rest.channel_id outputParameters: - type: object mapping: $. - path: /v1/admin-conversations-getteams name: admin-conversations-getteams description: REST surface for admin.conversations.getTeams. operations: - method: GET name: getadminconversationsgetteams description: Slack Get Admin Conversations Getteams call: admin-get.getadminconversationsgetteams with: token: rest.token channel_id: rest.channel_id cursor: rest.cursor limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/admin-conversations-restrictaccess-listgroups name: admin-conversations-restrictaccess-listgroups description: REST surface for admin.conversations.restrictAccess.listGroups. operations: - method: GET name: getadminconversationsrestrictaccesslistgroups description: Slack Get Admin Conversations Restrictaccess Listgroups call: admin-get.getadminconversationsrestrictaccesslistgroups with: token: rest.token channel_id: rest.channel_id team_id: rest.team_id outputParameters: - type: object mapping: $. - path: /v1/admin-conversations-search name: admin-conversations-search description: REST surface for admin.conversations.search. operations: - method: GET name: getadminconversationssearch description: Slack Get Admin Conversations Search call: admin-get.getadminconversationssearch with: token: rest.token team_ids: rest.team_ids query: rest.query limit: rest.limit cursor: rest.cursor search_channel_types: rest.search_channel_types sort: rest.sort sort_dir: rest.sort_dir outputParameters: - type: object mapping: $. - path: /v1/admin-emoji-list name: admin-emoji-list description: REST surface for admin.emoji.list. operations: - method: GET name: getadminemojilist description: Slack Get Admin Emoji List call: admin-get.getadminemojilist with: token: rest.token cursor: rest.cursor limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/admin-inviterequests-approved-list name: admin-inviterequests-approved-list description: REST surface for admin.inviteRequests.approved.list. operations: - method: GET name: getadmininviterequestsapprovedlist description: Slack Get Admin Inviterequests Approved List call: admin-get.getadmininviterequestsapprovedlist with: token: rest.token team_id: rest.team_id cursor: rest.cursor limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/admin-inviterequests-denied-list name: admin-inviterequests-denied-list description: REST surface for admin.inviteRequests.denied.list. operations: - method: GET name: getadmininviterequestsdeniedlist description: Slack Get Admin Inviterequests Denied List call: admin-get.getadmininviterequestsdeniedlist with: token: rest.token team_id: rest.team_id cursor: rest.cursor limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/admin-inviterequests-list name: admin-inviterequests-list description: REST surface for admin.inviteRequests.list. operations: - method: GET name: getadmininviterequestslist description: Slack Get Admin Inviterequests List call: admin-get.getadmininviterequestslist with: token: rest.token team_id: rest.team_id cursor: rest.cursor limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/admin-teams-admins-list name: admin-teams-admins-list description: REST surface for admin.teams.admins.list. operations: - method: GET name: getadminteamsadminslist description: Slack Get Admin Teams Admins List call: admin-get.getadminteamsadminslist with: token: rest.token limit: rest.limit cursor: rest.cursor team_id: rest.team_id outputParameters: - type: object mapping: $. - path: /v1/admin-teams-list name: admin-teams-list description: REST surface for admin.teams.list. operations: - method: GET name: getadminteamslist description: Slack Get Admin Teams List call: admin-get.getadminteamslist with: token: rest.token limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/admin-teams-owners-list name: admin-teams-owners-list description: REST surface for admin.teams.owners.list. operations: - method: GET name: getadminteamsownerslist description: Slack Get Admin Teams Owners List call: admin-get.getadminteamsownerslist with: token: rest.token team_id: rest.team_id limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/admin-teams-settings-info name: admin-teams-settings-info description: REST surface for admin.teams.settings.info. operations: - method: GET name: getadminteamssettingsinfo description: Slack Get Admin Teams Settings Info call: admin-get.getadminteamssettingsinfo with: token: rest.token team_id: rest.team_id outputParameters: - type: object mapping: $. - path: /v1/admin-usergroups-listchannels name: admin-usergroups-listchannels description: REST surface for admin.usergroups.listChannels. operations: - method: GET name: getadminusergroupslistchannels description: Slack Get Admin Usergroups Listchannels call: admin-get.getadminusergroupslistchannels with: token: rest.token usergroup_id: rest.usergroup_id team_id: rest.team_id include_num_members: rest.include_num_members outputParameters: - type: object mapping: $. - path: /v1/admin-users-list name: admin-users-list description: REST surface for admin.users.list. operations: - method: GET name: getadminuserslist description: Slack Get Admin Users List call: admin-get.getadminuserslist with: token: rest.token team_id: rest.team_id cursor: rest.cursor limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp namespace: admin-get-mcp port: 9090 transport: http description: MCP adapter for Slack Admin API — Get. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: slack-get-admin-apps-approved description: Slack Get Admin Apps Approved List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminappsapprovedlist with: token: tools.token limit: tools.limit cursor: tools.cursor team_id: tools.team_id enterprise_id: tools.enterprise_id outputParameters: - type: object mapping: $. - name: slack-get-admin-apps-requests description: Slack Get Admin Apps Requests List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminappsrequestslist with: token: tools.token limit: tools.limit cursor: tools.cursor team_id: tools.team_id outputParameters: - type: object mapping: $. - name: slack-get-admin-apps-restricted description: Slack Get Admin Apps Restricted List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminappsrestrictedlist with: token: tools.token limit: tools.limit cursor: tools.cursor team_id: tools.team_id enterprise_id: tools.enterprise_id outputParameters: - type: object mapping: $. - name: slack-get-admin-conversations-ekm description: Slack Get Admin Conversations Ekm Listoriginalconnectedchannelinfo hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminconversationsekmlistoriginalconnectedchannelinfo with: token: tools.token channel_ids: tools.channel_ids team_ids: tools.team_ids limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: slack-get-admin-conversations-getconversationprefs description: Slack Get Admin Conversations Getconversationprefs hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminconversationsgetconversationprefs with: token: tools.token channel_id: tools.channel_id outputParameters: - type: object mapping: $. - name: slack-get-admin-conversations-getteams description: Slack Get Admin Conversations Getteams hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminconversationsgetteams with: token: tools.token channel_id: tools.channel_id cursor: tools.cursor limit: tools.limit outputParameters: - type: object mapping: $. - name: slack-get-admin-conversations-restrictaccess description: Slack Get Admin Conversations Restrictaccess Listgroups hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminconversationsrestrictaccesslistgroups with: token: tools.token channel_id: tools.channel_id team_id: tools.team_id outputParameters: - type: object mapping: $. - name: slack-get-admin-conversations-search description: Slack Get Admin Conversations Search hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminconversationssearch with: token: tools.token team_ids: tools.team_ids query: tools.query limit: tools.limit cursor: tools.cursor search_channel_types: tools.search_channel_types sort: tools.sort sort_dir: tools.sort_dir outputParameters: - type: object mapping: $. - name: slack-get-admin-emoji-list description: Slack Get Admin Emoji List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminemojilist with: token: tools.token cursor: tools.cursor limit: tools.limit outputParameters: - type: object mapping: $. - name: slack-get-admin-inviterequests-approved description: Slack Get Admin Inviterequests Approved List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadmininviterequestsapprovedlist with: token: tools.token team_id: tools.team_id cursor: tools.cursor limit: tools.limit outputParameters: - type: object mapping: $. - name: slack-get-admin-inviterequests-denied description: Slack Get Admin Inviterequests Denied List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadmininviterequestsdeniedlist with: token: tools.token team_id: tools.team_id cursor: tools.cursor limit: tools.limit outputParameters: - type: object mapping: $. - name: slack-get-admin-inviterequests-list description: Slack Get Admin Inviterequests List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadmininviterequestslist with: token: tools.token team_id: tools.team_id cursor: tools.cursor limit: tools.limit outputParameters: - type: object mapping: $. - name: slack-get-admin-teams-admins description: Slack Get Admin Teams Admins List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminteamsadminslist with: token: tools.token limit: tools.limit cursor: tools.cursor team_id: tools.team_id outputParameters: - type: object mapping: $. - name: slack-get-admin-teams-list description: Slack Get Admin Teams List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminteamslist with: token: tools.token limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: slack-get-admin-teams-owners description: Slack Get Admin Teams Owners List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminteamsownerslist with: token: tools.token team_id: tools.team_id limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: slack-get-admin-teams-settings description: Slack Get Admin Teams Settings Info hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminteamssettingsinfo with: token: tools.token team_id: tools.team_id outputParameters: - type: object mapping: $. - name: slack-get-admin-usergroups-listchannels description: Slack Get Admin Usergroups Listchannels hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminusergroupslistchannels with: token: tools.token usergroup_id: tools.usergroup_id team_id: tools.team_id include_num_members: tools.include_num_members outputParameters: - type: object mapping: $. - name: slack-get-admin-users-list description: Slack Get Admin Users List hints: readOnly: true destructive: false idempotent: true call: admin-get.getadminuserslist with: token: tools.token team_id: tools.team_id cursor: tools.cursor limit: tools.limit outputParameters: - type: object mapping: $.