UNPKG

@itentialopensource/adapter-slack

Version:

This adapter integrates with system Slack

1,496 lines 553 kB
openapi: 3.0.0 info: title: Slack Web API description: One way to interact with the Slack platform is its HTTP RPC-based Web API, a collection of methods requiring OAuth 2.0-based user, bot, or workspace tokens blessed with related OAuth scopes. contact: {} version: '1.0.6' servers: - url: https://slack.com/api variables: {} - url: https://slack.com/oauth variables: {} paths: /api.test: get: tags: - api summary: api_test description: Checks API calling code. externalDocs: description: API method documentation url: https://api.slack.com/methods/api.test operationId: api_test parameters: [] responses: '200': description: Standard success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/api.testsuccessschema' - description: Schema for successful response api.test method example: ok: 'true' example: ok: 'true' default: description: Artificial error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/api.testerrorschema' - description: Schema for error response api.test method example: args: error: my_error error: my_error ok: 'false' example: args: error: my_error error: my_error ok: 'false' deprecated: false security: - oauth2: - none /apps.permissions.info: get: tags: - apps.permissions - apps summary: apps_permissions_info description: Returns list of permissions this app has on a team. externalDocs: description: API method documentation url: https://api.slack.com/methods/apps.permissions.info operationId: apps_permissions_info parameters: - name: token in: query description: 'Authentication token. Requires scope: `none`' style: form explode: true schema: type: string responses: '200': description: Standard success response when used with a user token headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/Defaultsuccesstemplate' - description: Verbose schema not yet ready for this method. example: info: app_home: resources: ids: - D0C0NU1Q8 - D0BH95DLH scopes: - chat:write - im:history - im:read channel: resources: excluded_ids: [] ids: - C061FA5PB wildcard: false scopes: - channels:read group: resources: ids: [] scopes: [] im: resources: ids: [] scopes: [] mpim: resources: ids: [] scopes: [] team: resources: ids: [] scopes: [] ok: 'true' example: info: app_home: resources: ids: - D0C0NU1Q8 - D0BH95DLH scopes: - chat:write - im:history - im:read channel: resources: excluded_ids: [] ids: - C061FA5PB wildcard: false scopes: - channels:read group: resources: ids: [] scopes: [] im: resources: ids: [] scopes: [] mpim: resources: ids: [] scopes: [] team: resources: ids: [] scopes: [] ok: 'true' default: description: Standard failure response when used with an invalid token headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/Defaultsuccesstemplate' - description: Verbose schema not yet ready for this method. example: error: invalid_auth ok: 'false' example: error: invalid_auth ok: 'false' deprecated: false security: - oauth2: - none /apps.permissions.request: get: tags: - apps.permissions - apps summary: apps_permissions_request description: Allows an app to request additional scopes externalDocs: description: API method documentation url: https://api.slack.com/methods/apps.permissions.request operationId: apps_permissions_request parameters: - name: scopes in: query description: A comma separated list of scopes to request for style: form explode: true schema: type: string - name: token in: query description: 'Authentication token. Requires scope: `none`' style: form explode: true schema: type: string - name: trigger_id in: query description: Token used to trigger the permissions API style: form explode: true schema: type: string responses: '200': description: Standard success response when used with a user token headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/apps.permissions.requestschema' - description: Schema for successful response from apps.permissions.request method example: ok: 'true' example: ok: 'true' default: description: Standard failure response when trigger_id is invalid headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/apps.permissions.requesterrorschema' - description: Schema for error response from apps.permissions.request method deprecated: false security: - oauth2: - none /apps.permissions.resources.list: get: tags: - apps.permissions.resources - apps summary: apps_permissions_resources_list description: Returns list of resource grants this app has on a team. externalDocs: description: API method documentation url: https://api.slack.com/methods/apps.permissions.resources.list operationId: apps_permissions_resources_list parameters: - name: cursor in: query description: Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's `response_metadata`. Default value fetches the first "page" of the collection. See [pagination](/docs/pagination) for more detail. style: form explode: true schema: type: string - name: token in: query description: 'Authentication token. Requires scope: `none`' style: form explode: true schema: type: string - name: limit in: query description: The maximum number of items to return. style: form explode: true schema: type: integer format: int32 responses: '200': description: Typical successful paginated response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/apps.permissions.resources.listsuccessschema' - description: Schema for successful response apps.permissions.resources.list method example: ok: 'true' resources: - id: T0DES3UAN type: team - id: D024BFF1M type: app_home - id: C024BE91L type: channel response_metadata: next_cursor: dGVhbTpDMUg5UkVTR0w= example: ok: 'true' resources: - id: T0DES3UAN type: team - id: D024BFF1M type: app_home - id: C024BE91L type: channel response_metadata: next_cursor: dGVhbTpDMUg5UkVTR0w= default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/apps.permissions.resources.listerrorschema' - description: Schema for error response from apps.permissions.resources.list method example: error: invalid_cursor ok: 'false' example: error: invalid_cursor ok: 'false' deprecated: false security: - oauth2: - none /apps.permissions.scopes.list: get: tags: - apps.permissions.scopes - apps summary: apps_permissions_scopes_list description: Returns list of scopes this app has on a team. externalDocs: description: API method documentation url: https://api.slack.com/methods/apps.permissions.scopes.list operationId: apps_permissions_scopes_list parameters: - name: token in: query description: 'Authentication token. Requires scope: `none`' style: form explode: true schema: type: string responses: '200': description: Typical successful paginated response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/api.permissions.scopes.listsuccessschema' - description: Schema for successful response api.permissions.scopes.list method example: ok: 'true' scopes: app_home: - chat:write - im:history - im:read channel: - channels:history - chat:write group: - chat:write im: - chat:write mpim: - chat:write team: - users:read user: [] example: ok: 'true' scopes: app_home: - chat:write - im:history - im:read channel: - channels:history - chat:write group: - chat:write im: - chat:write mpim: - chat:write team: - users:read user: [] default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/apps.permissions.scopes.listerrorschema' - description: Schema for error response from apps.permissions.scopes.list method example: error: invalid_auth ok: 'false' example: error: invalid_auth ok: 'false' deprecated: false security: - oauth2: - none /auth.revoke: get: tags: - auth summary: auth_revoke description: Revokes a token. externalDocs: description: API method documentation url: https://api.slack.com/methods/auth.revoke operationId: auth_revoke parameters: - name: test in: query description: Setting this parameter to `1` triggers a _testing mode_ where the specified token will not actually be revoked. style: form explode: true schema: type: boolean - name: token in: query description: 'Authentication token. Requires scope: `none`' style: form explode: true schema: type: string responses: '200': description: Typical success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/auth.revokeschema' - description: Schema for successful response from auth.revoke method example: ok: 'true' revoked: true example: ok: 'true' revoked: true default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/auth.revokeerrorschema' - description: Schema for error response from auth.revoke method example: error: invalid_auth ok: 'false' example: error: invalid_auth ok: 'false' deprecated: false security: - oauth2: - none /auth.test: get: tags: - auth summary: auth_test description: Checks authentication & identity. externalDocs: description: API method documentation url: https://api.slack.com/methods/auth.test operationId: auth_test parameters: - name: token in: header description: 'Authentication token. Requires scope: `none`' style: simple schema: type: string responses: '200': description: Standard success response when used with a user token headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/auth.testsuccessschema' - description: Schema for successful response auth.test method example: ok: 'true' team: Subarachnoid Workspace team_id: T12345678 url: https://subarachnoid.slack.com/ user: grace user_id: W12345678 example: ok: 'true' team: Subarachnoid Workspace team_id: T12345678 url: https://subarachnoid.slack.com/ user: grace user_id: W12345678 default: description: Standard failure response when used with an invalid token headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/auth.testerrorschema' - description: Schema for error response auth.test method example: error: invalid_auth ok: 'false' example: error: invalid_auth ok: 'false' deprecated: false security: - oauth2: - none /bots.info: get: tags: - bots summary: bots_info description: Gets information about a bot user. externalDocs: description: API method documentation url: https://api.slack.com/methods/bots.info operationId: bots_info parameters: - name: token in: query description: 'Authentication token. Requires scope: `users:read`' style: form explode: true schema: type: string - name: bot in: query description: Bot user to get info on style: form explode: true schema: type: string responses: '200': description: When successful, returns bot info by bot ID. headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/bots.infoschema' - description: Schema for successful response from bots.info method example: bot: app_id: A061BLERW deleted: false icons: image_36: https://... image_48: https://... image_72: https://... id: B061F7JQ1 name: commandeer updated: 1449272004 ok: 'true' example: bot: app_id: A061BLERW deleted: false icons: image_36: https://... image_48: https://... image_72: https://... id: B061F7JQ1 name: commandeer updated: 1449272004 ok: 'true' default: description: When no bot can be found, it returns an error. headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/bots.infoerrorschema' - description: Schema for error response from bots.info method example: error: bot_not_found ok: 'false' example: error: bot_not_found ok: 'false' deprecated: false security: - oauth2: - users:read /channels.archive: post: tags: - channels summary: channels_archive description: Archives a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.archive operationId: channels_archive parameters: - name: token in: header description: 'Authentication token. Requires scope: `channels:write`' style: simple schema: type: string requestBody: description: Channel to archive content: text/plain: schema: type: string description: Channel to archive required: false responses: '200': description: Typical success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.archivesuccessschema' - description: Schema for successful response from channels.archive method example: ok: 'true' example: ok: 'true' default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.archiveerrorschema' - description: Schema for error response channels.archive method example: error: invalid_auth ok: 'false' example: error: invalid_auth ok: 'false' deprecated: false security: - oauth2: - channels:write /channels.create: post: tags: - channels summary: channels_create description: Creates a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.create operationId: channels_create parameters: - name: token in: header description: 'Authentication token. Requires scope: `channels:write`' style: simple schema: type: string - name: Content-Type in: header description: '' required: true style: simple schema: enum: - application/x-www-form-urlencoded type: string requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: type: object properties: validate: type: boolean description: Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria. name: type: string description: Name of channel to create required: false responses: '200': description: Typical success response resulting in a new channel headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.createerrorschema' - description: Schema for successful response channels.create method default: description: Example error response when an invalid name is provided headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.createerrorschema1' - description: Schema for error response channels.create method example: detail: Value passed for `name` contained unallowed special characters. error: invalid_name_specials ok: 'false' example: detail: Value passed for `name` contained unallowed special characters. error: invalid_name_specials ok: 'false' deprecated: false security: - oauth2: - channels:write /channels.history: get: tags: - channels summary: channels_history description: Fetches history of messages and events from a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.history operationId: channels_history parameters: - name: count in: query description: Number of messages to return, between 1 and 1000. style: form explode: true schema: type: integer format: int32 - name: unreads in: query description: Include `unread_count_display` in the output? style: form explode: true schema: type: boolean - name: inclusive in: query description: Include messages with latest or oldest timestamp in results. style: form explode: true schema: type: boolean - name: token in: query description: 'Authentication token. Requires scope: `channels:history`' style: form explode: true schema: type: string - name: oldest in: query description: Start of time range of messages to include in results. style: form explode: true schema: type: number format: double - name: channel in: query description: Channel to fetch history for. style: form explode: true schema: type: string - name: latest in: query description: End of time range of messages to include in results. style: form explode: true schema: type: number format: double responses: '200': description: Typical success response containing the channel's history headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.historysuccessschema' - description: Schema for successful response channels.history method default: description: Error response when the specified channel cannot be found headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.historyerrorschema' - description: Schema for error response channels.history method example: error: channel_not_found ok: 'false' example: error: channel_not_found ok: 'false' deprecated: false security: - oauth2: - channels:history /channels.info: get: tags: - channels summary: channels_info description: Gets information about a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.info operationId: channels_info parameters: - name: token in: query description: 'Authentication token. Requires scope: `channels:read`' style: form explode: true schema: type: string - name: include_locale in: query description: Set this to `true` to receive the locale for this channel. Defaults to `false` style: form explode: true schema: type: boolean - name: channel in: query description: Channel to get info on style: form explode: true schema: type: string responses: '200': description: Typical success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.infosuccessschema' - description: Schema for successful response channels.info method default: description: Error response when the specified channel cannot be found headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.infoerrorschema' - description: Schema for error response channels.info method example: error: channel_not_found ok: 'false' example: error: channel_not_found ok: 'false' deprecated: false security: - oauth2: - channels:read /channels.invite: post: tags: - channels summary: channels_invite description: Invites a user to a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.invite operationId: channels_invite parameters: - name: token in: header description: 'Authentication token. Requires scope: `channels:write`' style: simple schema: type: string - name: Content-Type in: header description: '' required: true style: simple schema: enum: - application/x-www-form-urlencoded type: string requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: type: object properties: user: type: string description: User to invite to channel. channel: type: string description: Channel to invite user to. required: false responses: '200': description: Typical success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.inviteerrorschema' - description: Schema for successful response channels.invite method default: description: A somewhat typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.inviteerrorschema1' - description: Schema for error response channels.invite method example: error: cant_invite ok: 'false' example: error: cant_invite ok: 'false' deprecated: false security: - oauth2: - channels:write /channels.join: post: tags: - channels summary: channels_join description: Joins a channel, creating it if needed. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.join operationId: channels_join parameters: - name: token in: header description: 'Authentication token. Requires scope: `channels:write`' style: simple schema: type: string - name: Content-Type in: header description: '' required: true style: simple schema: enum: - application/x-www-form-urlencoded type: string requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: type: object properties: validate: type: boolean description: Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria. name: type: string description: Name of channel to join required: false responses: '200': description: Typical success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.joinschema' - description: Schema for successful response from channels.join method example: already_in_channel: true channel: created: 1466025154 creator: U0G9QF9C6 id: C1H9RESGL is_archived: false is_channel: true is_general: false is_member: true is_mpim: false is_org_shared: false is_private: false is_shared: false members: - U0G9QF9C6 - U1QNSQB9U name: busting name_normalized: busting previous_names: [] purpose: creator: U0G9QF9C6 last_set: 1503435128 value: My Purpose topic: creator: U0G9QF9C6 last_set: 1503435128 value: My Topic ok: 'true' example: already_in_channel: true channel: created: 1466025154 creator: U0G9QF9C6 id: C1H9RESGL is_archived: false is_channel: true is_general: false is_member: true is_mpim: false is_org_shared: false is_private: false is_shared: false members: - U0G9QF9C6 - U1QNSQB9U name: busting name_normalized: busting previous_names: [] purpose: creator: U0G9QF9C6 last_set: 1503435128 value: My Purpose topic: creator: U0G9QF9C6 last_set: 1503435128 value: My Topic ok: 'true' default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.joinerrorschema' - description: Schema for error response from channels.join method example: error: channel_not_found ok: 'false' example: error: channel_not_found ok: 'false' deprecated: false security: - oauth2: - channels:write /channels.kick: post: tags: - channels summary: channels_kick description: Removes a user from a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.kick operationId: channels_kick parameters: - name: token in: header description: 'Authentication token. Requires scope: `channels:write`' style: simple schema: type: string - name: Content-Type in: header description: '' required: true style: simple schema: enum: - application/x-www-form-urlencoded type: string requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: type: object properties: user: type: string description: User to remove from channel. channel: type: string description: Channel to remove user from. required: false responses: '200': description: Typical success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.kickschema' - description: Schema for successful response from channels.kick method example: ok: 'true' example: ok: 'true' default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.kickerrorschema' - description: Schema for error response from channels.kick method example: error: not_in_channel ok: 'false' example: error: not_in_channel ok: 'false' deprecated: false security: - oauth2: - channels:write /channels.leave: post: tags: - channels summary: channels_leave description: Leaves a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.leave operationId: channels_leave parameters: - name: token in: header description: 'Authentication token. Requires scope: `channels:write`' style: simple schema: type: string requestBody: description: Channel to leave content: text/plain: schema: type: string description: Channel to leave required: false responses: '200': description: Typical success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/Defaultsuccesstemplate' - description: Verbose schema not yet ready for this method. example: ok: 'true' example: ok: 'true' default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/Defaultsuccesstemplate' - description: Verbose schema not yet ready for this method. example: error: invalid_auth ok: 'false' example: error: invalid_auth ok: 'false' deprecated: false security: - oauth2: - channels:write /channels.list: get: tags: - channels summary: channels_list description: Lists all channels in a Slack team. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.list operationId: channels_list parameters: - name: exclude_members in: query description: Exclude the `members` collection from each `channel` style: form explode: true schema: type: boolean - name: cursor in: query description: Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's `response_metadata`. Default value fetches the first "page" of the collection. See [pagination](/docs/pagination) for more detail. style: form explode: true schema: type: string - name: token in: query description: 'Authentication token. Requires scope: `channels:read`' style: form explode: true schema: type: string - name: limit in: query description: The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached. style: form explode: true schema: type: integer format: int32 - name: exclude_archived in: query description: Exclude archived channels from the list style: form explode: true schema: type: boolean responses: '200': description: Typical cursored success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.listsuccessschema' - description: Schema for successful response channels.list method example: channels: - created: 1449709280 creator: U0G9QF9C6 id: C0G9QF9GW is_archived: false is_channel: true is_general: false is_member: true is_mpim: false is_org_shared: false is_private: false is_shared: false members: - U0G9QF9C6 - U0G9WFXNZ name: random name_normalized: random num_members: 2 previous_names: [] purpose: creator: '' last_set: 0 value: A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels. topic: creator: U0G9QF9C6 last_set: 1449709352 value: Other stuff - created: 1449709280 creator: U0G9QF9C6 id: C0G9QKBBL is_archived: false is_channel: true is_general: true is_member: true is_mpim: false is_org_shared: false is_private: false is_shared: false members: - U0G9QF9C6 - U0G9WFXNZ name: general name_normalized: general num_members: 2 previous_names: [] purpose: creator: U0G9QF9C6 last_set: 1449709334 value: To talk about anything! topic: creator: U0G9QF9C6 last_set: 1449709364 value: Talk about anything! ok: 'true' response_metadata: next_cursor: dGVhbTpDMUg5UkVTR0w= example: channels: - created: 1449709280 creator: U0G9QF9C6 id: C0G9QF9GW is_archived: false is_channel: true is_general: false is_member: true is_mpim: false is_org_shared: false is_private: false is_shared: false members: - U0G9QF9C6 - U0G9WFXNZ name: random name_normalized: random num_members: 2 previous_names: [] purpose: creator: '' last_set: 0 value: A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels. topic: creator: U0G9QF9C6 last_set: 1449709352 value: Other stuff - created: 1449709280 creator: U0G9QF9C6 id: C0G9QKBBL is_archived: false is_channel: true is_general: true is_member: true is_mpim: false is_org_shared: false is_private: false is_shared: false members: - U0G9QF9C6 - U0G9WFXNZ name: general name_normalized: general num_members: 2 previous_names: [] purpose: creator: U0G9QF9C6 last_set: 1449709334 value: To talk about anything! topic: creator: U0G9QF9C6 last_set: 1449709364 value: Talk about anything! ok: 'true' response_metadata: next_cursor: dGVhbTpDMUg5UkVTR0w= default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.listerrorschema' - description: Schema for error response channels.list method example: error: invalid_auth ok: 'false' example: error: invalid_auth ok: 'false' deprecated: false security: - oauth2: - channels:read /channels.mark: post: tags: - channels summary: channels_mark description: Sets the read cursor in a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.mark operationId: channels_mark parameters: - name: token in: header description: 'Authentication token. Requires scope: `channels:write`' style: simple schema: type: string - name: Content-Type in: header description: '' required: true style: simple schema: enum: - application/x-www-form-urlencoded type: string requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: type: object properties: ts: type: number description: Timestamp of the most recently seen message. format: double channel: type: string description: Channel to set reading cursor in. required: false responses: '200': description: Typical success response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.marksuccessschema' - description: Schema for successful response channels.mark method example: ok: 'true' example: ok: 'true' default: description: Typical error response headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/channels.markerrorschema' - description: Schema for error response channels.mark method example: error: invalid_auth ok: 'false' example: error: invalid_auth ok: 'false' deprecated: false security: - oauth2: - channels:write /channels.rename: post: tags: - channels summary: channels_rename description: Renames a channel. externalDocs: description: API method documentation url: https://api.slack.com/methods/channels.rename operationId: channels_rename parameters: - name: token in: header descripti