naftiko: 1.0.0-alpha2 info: label: Slack Admin API — Applications description: 'Slack Admin API — Applications. 5 operations. Lead operation: Slack Post Admin Apps Approve. Self-contained Naftiko capability covering one Slack business surface.' tags: - Slack - Applications created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SLACK_API_KEY: SLACK_API_KEY capability: consumes: - type: http namespace: admin-applications baseUri: '' description: Slack Admin API — Applications business capability. Self-contained, no shared references. resources: - name: admin.apps.approve path: /admin.apps.approve operations: - name: postadminappsapprove method: POST description: Slack Post Admin Apps Approve outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.apps:write`' required: true - name: body in: body type: object description: Request body (JSON). required: false - 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.restrict path: /admin.apps.restrict operations: - name: postadminappsrestrict method: POST description: Slack Post Admin Apps Restrict outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: header type: string description: 'Authentication token. Requires scope: `admin.apps:write`' required: true - name: body in: body type: object description: Request body (JSON). required: false - 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 exposes: - type: rest namespace: admin-applications-rest port: 8080 description: REST adapter for Slack Admin API — Applications. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/admin-apps-approve name: admin-apps-approve description: REST surface for admin.apps.approve. operations: - method: POST name: postadminappsapprove description: Slack Post Admin Apps Approve call: admin-applications.postadminappsapprove with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - 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-applications.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-applications.getadminappsrequestslist with: token: rest.token limit: rest.limit cursor: rest.cursor team_id: rest.team_id outputParameters: - type: object mapping: $. - path: /v1/admin-apps-restrict name: admin-apps-restrict description: REST surface for admin.apps.restrict. operations: - method: POST name: postadminappsrestrict description: Slack Post Admin Apps Restrict call: admin-applications.postadminappsrestrict with: token: rest.token body: rest.body 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-applications.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: $. - type: mcp namespace: admin-applications-mcp port: 9090 transport: http description: MCP adapter for Slack Admin API — Applications. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: slack-post-admin-apps-approve description: Slack Post Admin Apps Approve hints: readOnly: false destructive: false idempotent: false call: admin-applications.postadminappsapprove with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: slack-get-admin-apps-approved description: Slack Get Admin Apps Approved List hints: readOnly: true destructive: false idempotent: true call: admin-applications.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-applications.getadminappsrequestslist with: token: tools.token limit: tools.limit cursor: tools.cursor team_id: tools.team_id outputParameters: - type: object mapping: $. - name: slack-post-admin-apps-restrict description: Slack Post Admin Apps Restrict hints: readOnly: false destructive: false idempotent: false call: admin-applications.postadminappsrestrict with: token: tools.token body: tools.body 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-applications.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: $.