slackened 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1104 @@
1
+ module Slackened
2
+ class Methods
3
+ METHODS = {
4
+ 'admin.analytics.getFile' => {
5
+ path: '/admin.analytics.getFile',
6
+ desc: 'Retrieve analytics data for a given date, presented as a compressed JSON file'
7
+ },
8
+ 'admin.apps.activities.list' => {
9
+ path: '/admin.apps.activities.list',
10
+ desc: 'Get logs for a specified team/org'
11
+ },
12
+ 'admin.apps.approve' => {
13
+ path: '/admin.apps.approve',
14
+ desc: 'Approve an app for installation on a workspace.'
15
+ },
16
+ 'admin.apps.clearResolution' => {
17
+ path: '/admin.apps.clearResolution',
18
+ desc: 'Clear an app resolution'
19
+ },
20
+ 'admin.apps.restrict' => {
21
+ path: '/admin.apps.restrict',
22
+ desc: 'Restrict an app for installation on a workspace.'
23
+ },
24
+ 'admin.apps.uninstall' => {
25
+ path: '/admin.apps.uninstall',
26
+ desc: 'Uninstall an app from one or many workspaces, or an entire enterprise organization.'
27
+ },
28
+ 'admin.apps.approved.list' => {
29
+ path: '/admin.apps.approved.list',
30
+ desc: 'List approved apps for an org or workspace.'
31
+ },
32
+ 'admin.apps.config.lookup' => {
33
+ path: '/admin.apps.config.lookup',
34
+ desc: 'Look up the app config for connectors by their IDs'
35
+ },
36
+ 'admin.apps.config.set' => {
37
+ path: '/admin.apps.config.set',
38
+ desc: 'Set the app config for a connector'
39
+ },
40
+ 'admin.apps.requests.cancel' => {
41
+ path: '/admin.apps.requests.cancel',
42
+ desc: 'Cancel app request for team'
43
+ },
44
+ 'admin.apps.requests.list' => {
45
+ path: '/admin.apps.requests.list',
46
+ desc: 'List app requests for a team/workspace.'
47
+ },
48
+ 'admin.apps.restricted.list' => {
49
+ path: '/admin.apps.restricted.list',
50
+ desc: 'List restricted apps for an org or workspace.'
51
+ },
52
+ 'admin.audit.anomaly.allow.getItem' => {
53
+ path: '/admin.audit.anomaly.allow.getItem',
54
+ desc: 'API to allow enterprise grid admins to read the allow list of IP blocks and ASNs from the enterprise configuration.'
55
+ },
56
+ 'admin.audit.anomaly.allow.updateItem' => {
57
+ path: '/admin.audit.anomaly.allow.updateItem',
58
+ desc: 'API to allow enterprise grid admins to write/overwrite the allow list of IP blocks and ASNs from the enterprise configuration.'
59
+ },
60
+ 'admin.auth.policy.assignEntities' => {
61
+ path: '/admin.auth.policy.assignEntities',
62
+ desc: 'Assign entities to a particular authentication policy.'
63
+ },
64
+ 'admin.auth.policy.getEntities' => {
65
+ path: '/admin.auth.policy.getEntities',
66
+ desc: 'Fetch all the entities assigned to a particular authentication policy by name.'
67
+ },
68
+ 'admin.auth.policy.removeEntities' => {
69
+ path: '/admin.auth.policy.removeEntities',
70
+ desc: 'Remove specified entities from a specified authentication policy.'
71
+ },
72
+ 'admin.barriers.create' => {
73
+ path: '/admin.barriers.create',
74
+ desc: 'Create an Information Barrier'
75
+ },
76
+ 'admin.barriers.delete' => {
77
+ path: '/admin.barriers.delete',
78
+ desc: 'Delete an existing Information Barrier'
79
+ },
80
+ 'admin.barriers.list' => {
81
+ path: '/admin.barriers.list',
82
+ desc: 'Get all Information Barriers for your organization'
83
+ },
84
+ 'admin.barriers.update' => {
85
+ path: '/admin.barriers.update',
86
+ desc: 'Update an existing Information Barrier'
87
+ },
88
+ 'admin.conversations.archive' => {
89
+ path: '/admin.conversations.archive',
90
+ desc: 'Archive a public or private channel.'
91
+ },
92
+ 'admin.conversations.bulkArchive' => {
93
+ path: '/admin.conversations.bulkArchive',
94
+ desc: 'Archive public or private channels in bulk.'
95
+ },
96
+ 'admin.conversations.bulkDelete' => {
97
+ path: '/admin.conversations.bulkDelete',
98
+ desc: 'Delete public or private channels in bulk'
99
+ },
100
+ 'admin.conversations.bulkMove' => {
101
+ path: '/admin.conversations.bulkMove',
102
+ desc: 'Move public or private channels in bulk.'
103
+ },
104
+ 'admin.conversations.convertToPrivate' => {
105
+ path: '/admin.conversations.convertToPrivate',
106
+ desc: 'Convert a public channel to a private channel.'
107
+ },
108
+ 'admin.conversations.convertToPublic' => {
109
+ path: '/admin.conversations.convertToPublic',
110
+ desc: 'Convert a private channel to a public channel.'
111
+ },
112
+ 'admin.conversations.create' => {
113
+ path: '/admin.conversations.create',
114
+ desc: 'Create a public or private channel-based conversation.'
115
+ },
116
+ 'admin.conversations.delete' => {
117
+ path: '/admin.conversations.delete',
118
+ desc: 'Delete a public or private channel.'
119
+ },
120
+ 'admin.conversations.disconnectShared' => {
121
+ path: '/admin.conversations.disconnectShared',
122
+ desc: 'Disconnect a connected channel from one or more workspaces.'
123
+ },
124
+ 'admin.conversations.getConversationPrefs' => {
125
+ path: '/admin.conversations.getConversationPrefs',
126
+ desc: 'Get conversation preferences for a public or private channel.'
127
+ },
128
+ 'admin.conversations.getCustomRetention' => {
129
+ path: '/admin.conversations.getCustomRetention',
130
+ desc: 'This API endpoint can be used by any admin to get a conversation\'s retention policy.'
131
+ },
132
+ 'admin.conversations.getTeams' => {
133
+ path: '/admin.conversations.getTeams',
134
+ desc: 'Get all the workspaces a given public or private channel is connected to within this Enterprise org.'
135
+ },
136
+ 'admin.conversations.invite' => {
137
+ path: '/admin.conversations.invite',
138
+ desc: 'Invite a user to a public or private channel.'
139
+ },
140
+ 'admin.conversations.lookup' => {
141
+ path: '/admin.conversations.lookup',
142
+ desc: 'Returns channels on the given team using the filters.'
143
+ },
144
+ 'admin.conversations.removeCustomRetention' => {
145
+ path: '/admin.conversations.removeCustomRetention',
146
+ desc: 'This API endpoint can be used by any admin to remove a conversation\'s retention policy.'
147
+ },
148
+ 'admin.conversations.rename' => {
149
+ path: '/admin.conversations.rename',
150
+ desc: 'Rename a public or private channel.'
151
+ },
152
+ 'admin.conversations.search' => {
153
+ path: '/admin.conversations.search',
154
+ desc: 'Search for public or private channels in an Enterprise organization.'
155
+ },
156
+ 'admin.conversations.setConversationPrefs' => {
157
+ path: '/admin.conversations.setConversationPrefs',
158
+ desc: 'Set the posting permissions for a public or private channel.'
159
+ },
160
+ 'admin.conversations.setCustomRetention' => {
161
+ path: '/admin.conversations.setCustomRetention',
162
+ desc: 'This API endpoint can be used by any admin to set a conversation\'s retention policy.'
163
+ },
164
+ 'admin.conversations.setTeams' => {
165
+ path: '/admin.conversations.setTeams',
166
+ desc: 'Set the workspaces in an Enterprise grid org that connect to a public or private channel.'
167
+ },
168
+ 'admin.conversations.unarchive' => {
169
+ path: '/admin.conversations.unarchive',
170
+ desc: 'Unarchive a public or private channel.'
171
+ },
172
+ 'admin.conversations.ekm.listOriginalConnectedChannelInfo' => {
173
+ path: '/admin.conversations.ekm.listOriginalConnectedChannelInfo',
174
+ desc: 'List all disconnected channels—i.e., channels that were once connected to other workspaces and then disconnected—and the corresponding original channel IDs for key revocation with EKM.'
175
+ },
176
+ 'admin.conversations.restrictAccess.addGroup' => {
177
+ path: '/admin.conversations.restrictAccess.addGroup',
178
+ desc: 'Add an allowlist of IDP groups for accessing a channel'
179
+ },
180
+ 'admin.conversations.restrictAccess.listGroups' => {
181
+ path: '/admin.conversations.restrictAccess.listGroups',
182
+ desc: 'List all IDP Groups linked to a channel'
183
+ },
184
+ 'admin.conversations.restrictAccess.removeGroup' => {
185
+ path: '/admin.conversations.restrictAccess.removeGroup',
186
+ desc: 'Remove a linked IDP group linked from a private channel'
187
+ },
188
+ 'admin.emoji.add' => {
189
+ path: '/admin.emoji.add',
190
+ desc: 'Add an emoji.'
191
+ },
192
+ 'admin.emoji.addAlias' => {
193
+ path: '/admin.emoji.addAlias',
194
+ desc: 'Add an emoji alias.'
195
+ },
196
+ 'admin.emoji.list' => {
197
+ path: '/admin.emoji.list',
198
+ desc: 'List emoji for an Enterprise Grid organization.'
199
+ },
200
+ 'admin.emoji.remove' => {
201
+ path: '/admin.emoji.remove',
202
+ desc: 'Remove an emoji across an Enterprise Grid organization'
203
+ },
204
+ 'admin.emoji.rename' => {
205
+ path: '/admin.emoji.rename',
206
+ desc: 'Rename an emoji.'
207
+ },
208
+ 'admin.functions.list' => {
209
+ path: '/admin.functions.list',
210
+ desc: 'Look up functions by a set of apps'
211
+ },
212
+ 'admin.functions.permissions.lookup' => {
213
+ path: '/admin.functions.permissions.lookup',
214
+ desc: 'Lookup the visibility of multiple Slack functions and include the users if it is limited to particular named entities.'
215
+ },
216
+ 'admin.functions.permissions.set' => {
217
+ path: '/admin.functions.permissions.set',
218
+ desc: 'Set the visibility of a Slack function and define the users or workspaces if it is set to named_entities'
219
+ },
220
+ 'admin.inviteRequests.approve' => {
221
+ path: '/admin.inviteRequests.approve',
222
+ desc: 'Approve a workspace invite request.'
223
+ },
224
+ 'admin.inviteRequests.deny' => {
225
+ path: '/admin.inviteRequests.deny',
226
+ desc: 'Deny a workspace invite request.'
227
+ },
228
+ 'admin.inviteRequests.list' => {
229
+ path: '/admin.inviteRequests.list',
230
+ desc: 'List all pending workspace invite requests.'
231
+ },
232
+ 'admin.inviteRequests.approved.list' => {
233
+ path: '/admin.inviteRequests.approved.list',
234
+ desc: 'List all approved workspace invite requests.'
235
+ },
236
+ 'admin.inviteRequests.denied.list' => {
237
+ path: '/admin.inviteRequests.denied.list',
238
+ desc: 'List all denied workspace invite requests.'
239
+ },
240
+ 'admin.roles.addAssignments' => {
241
+ path: '/admin.roles.addAssignments',
242
+ desc: 'Adds members to the specified role with the specified scopes'
243
+ },
244
+ 'admin.roles.listAssignments' => {
245
+ path: '/admin.roles.listAssignments',
246
+ desc: 'Lists assignments for all roles across entities. Options to scope results by any combination of roles or entities'
247
+ },
248
+ 'admin.roles.removeAssignments' => {
249
+ path: '/admin.roles.removeAssignments',
250
+ desc: 'Removes a set of users from a role for the given scopes and entities'
251
+ },
252
+ 'admin.teams.admins.list' => {
253
+ path: '/admin.teams.admins.list',
254
+ desc: 'List all of the admins on a given workspace.'
255
+ },
256
+ 'admin.teams.create' => {
257
+ path: '/admin.teams.create',
258
+ desc: 'Create an Enterprise team.'
259
+ },
260
+ 'admin.teams.list' => {
261
+ path: '/admin.teams.list',
262
+ desc: 'List all teams on an Enterprise organization'
263
+ },
264
+ 'admin.teams.owners.list' => {
265
+ path: '/admin.teams.owners.list',
266
+ desc: 'List all of the owners on a given workspace.'
267
+ },
268
+ 'admin.teams.settings.info' => {
269
+ path: '/admin.teams.settings.info',
270
+ desc: 'Fetch information about settings in a workspace'
271
+ },
272
+ 'admin.teams.settings.setDefaultChannels' => {
273
+ path: '/admin.teams.settings.setDefaultChannels',
274
+ desc: 'Set the default channels of a workspace.'
275
+ },
276
+ 'admin.teams.settings.setDescription' => {
277
+ path: '/admin.teams.settings.setDescription',
278
+ desc: 'Set the description of a given workspace.'
279
+ },
280
+ 'admin.teams.settings.setDiscoverability' => {
281
+ path: '/admin.teams.settings.setDiscoverability',
282
+ desc: 'An API path that allows admins to set the discoverability of a given workspace'
283
+ },
284
+ 'admin.teams.settings.setIcon' => {
285
+ path: '/admin.teams.settings.setIcon',
286
+ desc: 'Sets the icon of a workspace.'
287
+ },
288
+ 'admin.teams.settings.setName' => {
289
+ path: '/admin.teams.settings.setName',
290
+ desc: 'Set the name of a given workspace.'
291
+ },
292
+ 'admin.usergroups.addChannels' => {
293
+ path: '/admin.usergroups.addChannels',
294
+ desc: 'Add up to one hundred default channels to an IDP group.'
295
+ },
296
+ 'admin.usergroups.addTeams' => {
297
+ path: '/admin.usergroups.addTeams',
298
+ desc: 'Associate one or more default workspaces with an organization-wide IDP group.'
299
+ },
300
+ 'admin.usergroups.listChannels' => {
301
+ path: '/admin.usergroups.listChannels',
302
+ desc: 'List the channels linked to an org-level IDP group (user group).'
303
+ },
304
+ 'admin.usergroups.removeChannels' => {
305
+ path: '/admin.usergroups.removeChannels',
306
+ desc: 'Remove one or more default channels from an org-level IDP group (user group).'
307
+ },
308
+ 'admin.users.assign' => {
309
+ path: '/admin.users.assign',
310
+ desc: 'Add an Enterprise user to a workspace.'
311
+ },
312
+ 'admin.users.invite' => {
313
+ path: '/admin.users.invite',
314
+ desc: 'Invite a user to a workspace.'
315
+ },
316
+ 'admin.users.list' => {
317
+ path: '/admin.users.list',
318
+ desc: 'List users on a workspace'
319
+ },
320
+ 'admin.users.remove' => {
321
+ path: '/admin.users.remove',
322
+ desc: 'Remove a user from a workspace.'
323
+ },
324
+ 'admin.users.setAdmin' => {
325
+ path: '/admin.users.setAdmin',
326
+ desc: 'Set an existing regular user or owner to be a workspace admin.'
327
+ },
328
+ 'admin.users.setExpiration' => {
329
+ path: '/admin.users.setExpiration',
330
+ desc: 'Set an expiration for a guest user'
331
+ },
332
+ 'admin.users.setOwner' => {
333
+ path: '/admin.users.setOwner',
334
+ desc: 'Set an existing regular user or admin to be a workspace owner.'
335
+ },
336
+ 'admin.users.setRegular' => {
337
+ path: '/admin.users.setRegular',
338
+ desc: 'Set an existing guest user, admin user, or owner to be a regular user.'
339
+ },
340
+ 'admin.users.session.clearSettings' => {
341
+ path: '/admin.users.session.clearSettings',
342
+ desc: 'Clear user-specific session settings—the session duration and what happens when the client closes—for a list of users.'
343
+ },
344
+ 'admin.users.session.getSettings' => {
345
+ path: '/admin.users.session.getSettings',
346
+ desc: 'Get user-specific session settings—the session duration and what happens when the client closes—given a list of users.'
347
+ },
348
+ 'admin.users.session.invalidate' => {
349
+ path: '/admin.users.session.invalidate',
350
+ desc: 'Revoke a single session for a user. The user will be forced to login to Slack.'
351
+ },
352
+ 'admin.users.session.list' => {
353
+ path: '/admin.users.session.list',
354
+ desc: 'List active user sessions for an organization'
355
+ },
356
+ 'admin.users.session.reset' => {
357
+ path: '/admin.users.session.reset',
358
+ desc: 'Wipes all valid sessions on all devices for a given user'
359
+ },
360
+ 'admin.users.session.resetBulk' => {
361
+ path: '/admin.users.session.resetBulk',
362
+ desc: 'Enqueues an asynchronous job to wipe all valid sessions on all devices for a given list of users'
363
+ },
364
+ 'admin.users.session.setSettings' => {
365
+ path: '/admin.users.session.setSettings',
366
+ desc: 'Configure the user-level session settings—the session duration and what happens when the client closes—for one or more users.'
367
+ },
368
+ 'admin.users.unsupportedVersions.export' => {
369
+ path: '/admin.users.unsupportedVersions.export',
370
+ desc: 'Ask Slackbot to send you an export listing all workspace members using unsupported software, presented as a zipped CSV file.'
371
+ },
372
+ 'admin.workflows.collaborators.add' => {
373
+ path: '/admin.workflows.collaborators.add',
374
+ desc: 'Add collaborators to workflows within the team or enterprise'
375
+ },
376
+ 'admin.workflows.collaborators.remove' => {
377
+ path: '/admin.workflows.collaborators.remove',
378
+ desc: 'Remove collaborators from workflows within the team or enterprise'
379
+ },
380
+ 'admin.workflows.permissions.lookup' => {
381
+ path: '/admin.workflows.permissions.lookup',
382
+ desc: 'Look up the permissions for a set of workflows'
383
+ },
384
+ 'admin.workflows.search' => {
385
+ path: '/admin.workflows.search',
386
+ desc: 'Search workflows within the team or enterprise'
387
+ },
388
+ 'admin.workflows.unpublish' => {
389
+ path: '/admin.workflows.unpublish',
390
+ desc: 'Unpublish workflows within the team or enterprise'
391
+ },
392
+ 'admin.workflows.triggers.types.permissions.lookup' => {
393
+ path: '/admin.workflows.triggers.types.permissions.lookup',
394
+ desc: 'list the permissions for using each trigger type in workflow builder'
395
+ },
396
+ 'admin.workflows.triggers.types.permissions.set' => {
397
+ path: '/admin.workflows.triggers.types.permissions.set',
398
+ desc: 'Set the permissions for using a trigger type in workflow builder'
399
+ },
400
+ 'api.test' => {
401
+ path: '/api.test',
402
+ desc: 'Checks API calling code.'
403
+ },
404
+ 'apps.activities.list' => {
405
+ path: '/apps.activities.list',
406
+ desc: 'Get logs for a specified app'
407
+ },
408
+ 'apps.auth.external.delete' => {
409
+ path: '/apps.auth.external.delete',
410
+ desc: 'Delete external auth tokens only on the Slack side'
411
+ },
412
+ 'apps.auth.external.get' => {
413
+ path: '/apps.auth.external.get',
414
+ desc: 'Get the access token for the provided token ID'
415
+ },
416
+ 'apps.connections.open' => {
417
+ path: '/apps.connections.open',
418
+ desc: 'Generate a temporary Socket Mode WebSocket URL that your app can connect to in order to receive events and interactive payloads over.'
419
+ },
420
+ 'apps.datastore.bulkDelete' => {
421
+ path: '/apps.datastore.bulkDelete',
422
+ desc: 'Delete items from a datastore in bulk'
423
+ },
424
+ 'apps.datastore.bulkGet' => {
425
+ path: '/apps.datastore.bulkGet',
426
+ desc: 'Get items from a datastore in bulk'
427
+ },
428
+ 'apps.datastore.bulkPut' => {
429
+ path: '/apps.datastore.bulkPut',
430
+ desc: 'Creates or replaces existing items in bulk'
431
+ },
432
+ 'apps.datastore.count' => {
433
+ path: '/apps.datastore.count',
434
+ desc: 'Count the number of items in a datastore that match a query'
435
+ },
436
+ 'apps.datastore.delete' => {
437
+ path: '/apps.datastore.delete',
438
+ desc: 'Delete an item from a datastore'
439
+ },
440
+ 'apps.datastore.get' => {
441
+ path: '/apps.datastore.get',
442
+ desc: 'Get an item from a datastore'
443
+ },
444
+ 'apps.datastore.put' => {
445
+ path: '/apps.datastore.put',
446
+ desc: 'Creates a new item, or replaces an old item with a new item.'
447
+ },
448
+ 'apps.datastore.query' => {
449
+ path: '/apps.datastore.query',
450
+ desc: 'Query a datastore for items'
451
+ },
452
+ 'apps.datastore.update' => {
453
+ path: '/apps.datastore.update',
454
+ desc: 'Edits an existing item\'s attributes, or adds a new item if it does not already exist.'
455
+ },
456
+ 'apps.event.authorizations.list' => {
457
+ path: '/apps.event.authorizations.list',
458
+ desc: 'Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to.'
459
+ },
460
+ 'apps.manifest.create' => {
461
+ path: '/apps.manifest.create',
462
+ desc: 'Create an app from an app manifest.'
463
+ },
464
+ 'apps.manifest.delete' => {
465
+ path: '/apps.manifest.delete',
466
+ desc: 'Permanently deletes an app created through app manifests'
467
+ },
468
+ 'apps.manifest.export' => {
469
+ path: '/apps.manifest.export',
470
+ desc: 'Export an app manifest from an existing app'
471
+ },
472
+ 'apps.manifest.update' => {
473
+ path: '/apps.manifest.update',
474
+ desc: 'Update an app from an app manifest'
475
+ },
476
+ 'apps.manifest.validate' => {
477
+ path: '/apps.manifest.validate',
478
+ desc: 'Validate an app manifest'
479
+ },
480
+ 'apps.uninstall' => {
481
+ path: '/apps.uninstall',
482
+ desc: 'Uninstalls your app from a workspace.'
483
+ },
484
+ 'auth.revoke' => {
485
+ path: '/auth.revoke',
486
+ desc: 'Revokes a token.'
487
+ },
488
+ 'auth.test' => {
489
+ path: '/auth.test',
490
+ desc: 'Checks authentication & identity.'
491
+ },
492
+ 'auth.teams.list' => {
493
+ path: '/auth.teams.list',
494
+ desc: 'Obtain a full list of workspaces your org-wide app has been approved for.'
495
+ },
496
+ 'bookmarks.add' => {
497
+ path: '/bookmarks.add',
498
+ desc: 'Add bookmark to a channel.'
499
+ },
500
+ 'bookmarks.edit' => {
501
+ path: '/bookmarks.edit',
502
+ desc: 'Edit bookmark.'
503
+ },
504
+ 'bookmarks.list' => {
505
+ path: '/bookmarks.list',
506
+ desc: 'List bookmark for the channel.'
507
+ },
508
+ 'bookmarks.remove' => {
509
+ path: '/bookmarks.remove',
510
+ desc: 'Remove bookmark from the channel.'
511
+ },
512
+ 'bots.info' => {
513
+ path: '/bots.info',
514
+ desc: 'Gets information about a bot user.'
515
+ },
516
+ 'calls.add' => {
517
+ path: '/calls.add',
518
+ desc: 'Registers a new Call.'
519
+ },
520
+ 'calls.end' => {
521
+ path: '/calls.end',
522
+ desc: 'Ends a Call.'
523
+ },
524
+ 'calls.info' => {
525
+ path: '/calls.info',
526
+ desc: 'Returns information about a Call.'
527
+ },
528
+ 'calls.update' => {
529
+ path: '/calls.update',
530
+ desc: 'Updates information about a Call.'
531
+ },
532
+ 'calls.participants.add' => {
533
+ path: '/calls.participants.add',
534
+ desc: 'Registers new participants added to a Call.'
535
+ },
536
+ 'calls.participants.remove' => {
537
+ path: '/calls.participants.remove',
538
+ desc: 'Registers participants removed from a Call.'
539
+ },
540
+ 'canvases.access.delete' => {
541
+ path: '/canvases.access.delete',
542
+ desc: 'Remove access to a canvas for specified entities'
543
+ },
544
+ 'canvases.access.set' => {
545
+ path: '/canvases.access.set',
546
+ desc: 'Sets the access level to a canvas for specified entities'
547
+ },
548
+ 'canvases.create' => {
549
+ path: '/canvases.create',
550
+ desc: 'Create Canvas for a user.'
551
+ },
552
+ 'canvases.delete' => {
553
+ path: '/canvases.delete',
554
+ desc: 'Deletes a canvas.'
555
+ },
556
+ 'canvases.edit' => {
557
+ path: '/canvases.edit',
558
+ desc: 'Update an existing canvas'
559
+ },
560
+ 'canvases.sections.lookup' => {
561
+ path: '/canvases.sections.lookup',
562
+ desc: 'Find sections matching the provided criteria'
563
+ },
564
+ 'chat.delete' => {
565
+ path: '/chat.delete',
566
+ desc: 'Deletes a message.'
567
+ },
568
+ 'chat.deleteScheduledMessage' => {
569
+ path: '/chat.deleteScheduledMessage',
570
+ desc: 'Deletes a pending scheduled message from the queue.'
571
+ },
572
+ 'chat.getPermalink' => {
573
+ path: '/chat.getPermalink',
574
+ desc: 'Retrieve a permalink URL for a specific extant message'
575
+ },
576
+ 'chat.meMessage' => {
577
+ path: '/chat.meMessage',
578
+ desc: 'Share a me message into a channel.'
579
+ },
580
+ 'chat.postEphemeral' => {
581
+ path: '/chat.postEphemeral',
582
+ desc: 'Sends an ephemeral message to a user in a channel.'
583
+ },
584
+ 'chat.postMessage' => {
585
+ path: '/chat.postMessage',
586
+ desc: 'Sends a message to a channel.'
587
+ },
588
+ 'chat.scheduleMessage' => {
589
+ path: '/chat.scheduleMessage',
590
+ desc: 'Schedules a message to be sent to a channel.'
591
+ },
592
+ 'chat.unfurl' => {
593
+ path: '/chat.unfurl',
594
+ desc: 'Provide custom unfurl behavior for user-posted URLs'
595
+ },
596
+ 'chat.update' => {
597
+ path: '/chat.update',
598
+ desc: 'Updates a message.'
599
+ },
600
+ 'chat.scheduledMessages.list' => {
601
+ path: '/chat.scheduledMessages.list',
602
+ desc: 'Returns a list of scheduled messages.'
603
+ },
604
+ 'conversations.acceptSharedInvite' => {
605
+ path: '/conversations.acceptSharedInvite',
606
+ desc: 'Accepts an invitation to a Slack Connect channel.'
607
+ },
608
+ 'conversations.approveSharedInvite' => {
609
+ path: '/conversations.approveSharedInvite',
610
+ desc: 'Approves an invitation to a Slack Connect channel'
611
+ },
612
+ 'conversations.archive' => {
613
+ path: '/conversations.archive',
614
+ desc: 'Archives a conversation.'
615
+ },
616
+ 'conversations.close' => {
617
+ path: '/conversations.close',
618
+ desc: 'Closes a direct message or multi-person direct message.'
619
+ },
620
+ 'conversations.create' => {
621
+ path: '/conversations.create',
622
+ desc: 'Initiates a public or private channel-based conversation'
623
+ },
624
+ 'conversations.declineSharedInvite' => {
625
+ path: '/conversations.declineSharedInvite',
626
+ desc: 'Declines a Slack Connect channel invite.'
627
+ },
628
+ 'conversations.history' => {
629
+ path: '/conversations.history',
630
+ desc: 'Fetches a conversation\'s history of messages and events.'
631
+ },
632
+ 'conversations.info' => {
633
+ path: '/conversations.info',
634
+ desc: 'Retrieve information about a conversation.'
635
+ },
636
+ 'conversations.invite' => {
637
+ path: '/conversations.invite',
638
+ desc: 'Invites users to a channel.'
639
+ },
640
+ 'conversations.inviteShared' => {
641
+ path: '/conversations.inviteShared',
642
+ desc: 'Sends an invitation to a Slack Connect channel'
643
+ },
644
+ 'conversations.join' => {
645
+ path: '/conversations.join',
646
+ desc: 'Joins an existing conversation.'
647
+ },
648
+ 'conversations.kick' => {
649
+ path: '/conversations.kick',
650
+ desc: 'Removes a user from a conversation.'
651
+ },
652
+ 'conversations.leave' => {
653
+ path: '/conversations.leave',
654
+ desc: 'Leaves a conversation.'
655
+ },
656
+ 'conversations.list' => {
657
+ path: '/conversations.list',
658
+ desc: 'Lists all channels in a Slack team.'
659
+ },
660
+ 'conversations.listConnectInvites' => {
661
+ path: '/conversations.listConnectInvites',
662
+ desc: 'Lists shared channel invites that have been generated or received but have not been approved by all parties'
663
+ },
664
+ 'conversations.mark' => {
665
+ path: '/conversations.mark',
666
+ desc: 'Sets the read cursor in a channel.'
667
+ },
668
+ 'conversations.members' => {
669
+ path: '/conversations.members',
670
+ desc: 'Retrieve members of a conversation.'
671
+ },
672
+ 'conversations.open' => {
673
+ path: '/conversations.open',
674
+ desc: 'Opens or resumes a direct message or multi-person direct message.'
675
+ },
676
+ 'conversations.rename' => {
677
+ path: '/conversations.rename',
678
+ desc: 'Renames a conversation.'
679
+ },
680
+ 'conversations.replies' => {
681
+ path: '/conversations.replies',
682
+ desc: 'Retrieve a thread of messages posted to a conversation'
683
+ },
684
+ 'conversations.setPurpose' => {
685
+ path: '/conversations.setPurpose',
686
+ desc: 'Sets the purpose for a conversation.'
687
+ },
688
+ 'conversations.setTopic' => {
689
+ path: '/conversations.setTopic',
690
+ desc: 'Sets the topic for a conversation.'
691
+ },
692
+ 'conversations.unarchive' => {
693
+ path: '/conversations.unarchive',
694
+ desc: 'Reverses conversation archival.'
695
+ },
696
+ 'conversations.canvases.create' => {
697
+ path: '/conversations.canvases.create',
698
+ desc: 'Create a Channel Canvas for a channel.'
699
+ },
700
+ 'conversations.externalInvitePermissions.set' => {
701
+ path: '/conversations.externalInvitePermissions.set',
702
+ desc: 'Upgrade or downgrade Slack Connect channel permissions between \'can post only\' and \'can post and invite\'.'
703
+ },
704
+ 'dialog.open' => {
705
+ path: '/dialog.open',
706
+ desc: 'Open a dialog with a user'
707
+ },
708
+ 'dnd.endDnd' => {
709
+ path: '/dnd.endDnd',
710
+ desc: 'Ends the current user\'s Do Not Disturb session immediately.'
711
+ },
712
+ 'dnd.endSnooze' => {
713
+ path: '/dnd.endSnooze',
714
+ desc: 'Ends the current user\'s snooze mode immediately.'
715
+ },
716
+ 'dnd.info' => {
717
+ path: '/dnd.info',
718
+ desc: 'Retrieves a user\'s current Do Not Disturb status.'
719
+ },
720
+ 'dnd.setSnooze' => {
721
+ path: '/dnd.setSnooze',
722
+ desc: 'Turns on Do Not Disturb mode for the current user, or changes its duration.'
723
+ },
724
+ 'dnd.teamInfo' => {
725
+ path: '/dnd.teamInfo',
726
+ desc: 'Retrieves the Do Not Disturb status for up to 50 users on a team.'
727
+ },
728
+ 'emoji.list' => {
729
+ path: '/emoji.list',
730
+ desc: 'Lists custom emoji for a team.'
731
+ },
732
+ 'files.comments.delete' => {
733
+ path: '/files.comments.delete',
734
+ desc: 'Deletes an existing comment on a file.'
735
+ },
736
+ 'files.completeUploadExternal' => {
737
+ path: '/files.completeUploadExternal',
738
+ desc: 'Finishes an upload started with files.getUploadURLExternal'
739
+ },
740
+ 'files.delete' => {
741
+ path: '/files.delete',
742
+ desc: 'Deletes a file.'
743
+ },
744
+ 'files.getUploadURLExternal' => {
745
+ path: '/files.getUploadURLExternal',
746
+ desc: 'Gets a URL for an edge external file upload'
747
+ },
748
+ 'files.info' => {
749
+ path: '/files.info',
750
+ desc: 'Gets information about a file.'
751
+ },
752
+ 'files.list' => {
753
+ path: '/files.list',
754
+ desc: 'List for a team, in a channel, or from a user with applied filters.'
755
+ },
756
+ 'files.revokePublicURL' => {
757
+ path: '/files.revokePublicURL',
758
+ desc: 'Revokes public/external sharing access for a file'
759
+ },
760
+ 'files.sharedPublicURL' => {
761
+ path: '/files.sharedPublicURL',
762
+ desc: 'Enables a file for public/external sharing.'
763
+ },
764
+ 'files.upload' => {
765
+ path: '/files.upload',
766
+ desc: 'Uploads or creates a file.'
767
+ },
768
+ 'files.remote.add' => {
769
+ path: '/files.remote.add',
770
+ desc: 'Adds a file from a remote service'
771
+ },
772
+ 'files.remote.info' => {
773
+ path: '/files.remote.info',
774
+ desc: 'Retrieve information about a remote file added to Slack'
775
+ },
776
+ 'files.remote.list' => {
777
+ path: '/files.remote.list',
778
+ desc: 'Retrieve information about a remote file added to Slack'
779
+ },
780
+ 'files.remote.remove' => {
781
+ path: '/files.remote.remove',
782
+ desc: 'Remove a remote file.'
783
+ },
784
+ 'files.remote.share' => {
785
+ path: '/files.remote.share',
786
+ desc: 'Share a remote file into a channel.'
787
+ },
788
+ 'files.remote.update' => {
789
+ path: '/files.remote.update',
790
+ desc: 'Updates an existing remote file.'
791
+ },
792
+ 'functions.completeError' => {
793
+ path: '/functions.completeError',
794
+ desc: 'Signal that a function failed to complete'
795
+ },
796
+ 'functions.completeSuccess' => {
797
+ path: '/functions.completeSuccess',
798
+ desc: 'Signal the successful completion of a function'
799
+ },
800
+ 'functions.distributions.permissions.add' => {
801
+ path: '/functions.distributions.permissions.add',
802
+ desc: 'Grant users access to a custom slack function if its permission_type is set to named_entities'
803
+ },
804
+ 'functions.distributions.permissions.list' => {
805
+ path: '/functions.distributions.permissions.list',
806
+ desc: 'List the access type of a custom slack function and include the users with access if its permission_type is set to named_entities'
807
+ },
808
+ 'functions.distributions.permissions.remove' => {
809
+ path: '/functions.distributions.permissions.remove',
810
+ desc: 'Revoke user access to a custom slack function if permission_type set to named_entities'
811
+ },
812
+ 'functions.distributions.permissions.set' => {
813
+ path: '/functions.distributions.permissions.set',
814
+ desc: 'Set the access type of a custom slack function and define the users to be granted access if permission_type is set to named_entities'
815
+ },
816
+ 'functions.workflows.steps.list' => {
817
+ path: '/functions.workflows.steps.list',
818
+ desc: 'List the steps of a specific function of a workflow\'s versions'
819
+ },
820
+ 'functions.workflows.steps.responses.export' => {
821
+ path: '/functions.workflows.steps.responses.export',
822
+ desc: 'Download form responses of a workflow'
823
+ },
824
+ 'migration.exchange' => {
825
+ path: '/migration.exchange',
826
+ desc: 'For Enterprise Grid workspaces, map local user IDs to global user IDs'
827
+ },
828
+ 'oauth.access' => {
829
+ path: '/oauth.access',
830
+ desc: 'Exchanges a temporary OAuth verifier code for an access token.'
831
+ },
832
+ 'oauth.v2.access' => {
833
+ path: '/oauth.v2.access',
834
+ desc: 'Exchanges a temporary OAuth verifier code for an access token.'
835
+ },
836
+ 'oauth.v2.exchange' => {
837
+ path: '/oauth.v2.exchange',
838
+ desc: 'Exchanges a legacy access token for a new expiring access token and refresh token'
839
+ },
840
+ 'openid.connect.token' => {
841
+ path: '/openid.connect.token',
842
+ desc: 'Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack.'
843
+ },
844
+ 'openid.connect.userInfo' => {
845
+ path: '/openid.connect.userInfo',
846
+ desc: 'Get the identity of a user who has authorized Sign in with Slack.'
847
+ },
848
+ 'pins.add' => {
849
+ path: '/pins.add',
850
+ desc: 'Pins an item to a channel.'
851
+ },
852
+ 'pins.list' => {
853
+ path: '/pins.list',
854
+ desc: 'Lists items pinned to a channel.'
855
+ },
856
+ 'pins.remove' => {
857
+ path: '/pins.remove',
858
+ desc: 'Un-pins an item from a channel.'
859
+ },
860
+ 'reactions.add' => {
861
+ path: '/reactions.add',
862
+ desc: 'Adds a reaction to an item.'
863
+ },
864
+ 'reactions.get' => {
865
+ path: '/reactions.get',
866
+ desc: 'Gets reactions for an item.'
867
+ },
868
+ 'reactions.list' => {
869
+ path: '/reactions.list',
870
+ desc: 'Lists reactions made by a user.'
871
+ },
872
+ 'reactions.remove' => {
873
+ path: '/reactions.remove',
874
+ desc: 'Removes a reaction from an item.'
875
+ },
876
+ 'reminders.add' => {
877
+ path: '/reminders.add',
878
+ desc: 'Creates a reminder.'
879
+ },
880
+ 'reminders.complete' => {
881
+ path: '/reminders.complete',
882
+ desc: 'Marks a reminder as complete.'
883
+ },
884
+ 'reminders.delete' => {
885
+ path: '/reminders.delete',
886
+ desc: 'Deletes a reminder.'
887
+ },
888
+ 'reminders.info' => {
889
+ path: '/reminders.info',
890
+ desc: 'Gets information about a reminder.'
891
+ },
892
+ 'reminders.list' => {
893
+ path: '/reminders.list',
894
+ desc: 'Lists all reminders created by or for a given user.'
895
+ },
896
+ 'rtm.connect' => {
897
+ path: '/rtm.connect',
898
+ desc: 'Starts a Real Time Messaging session.'
899
+ },
900
+ 'rtm.start' => {
901
+ path: '/rtm.start',
902
+ desc: 'Deprecated: Starts a Real Time Messaging session. Use rtm.connect instead.'
903
+ },
904
+ 'search.all' => {
905
+ path: '/search.all',
906
+ desc: 'Searches for messages and files matching a query.'
907
+ },
908
+ 'search.files' => {
909
+ path: '/search.files',
910
+ desc: 'Searches for files matching a query.'
911
+ },
912
+ 'search.messages' => {
913
+ path: '/search.messages',
914
+ desc: 'Searches for messages matching a query.'
915
+ },
916
+ 'stars.add' => {
917
+ path: '/stars.add',
918
+ desc: 'Save an item for later. Formerly known as adding a star.'
919
+ },
920
+ 'stars.list' => {
921
+ path: '/stars.list',
922
+ desc: 'Listed a user\'s saved items, formerly known as stars.'
923
+ },
924
+ 'stars.remove' => {
925
+ path: '/stars.remove',
926
+ desc: 'Removes a saved item (star) from an item.'
927
+ },
928
+ 'team.accessLogs' => {
929
+ path: '/team.accessLogs',
930
+ desc: 'Gets the access logs for the current team.'
931
+ },
932
+ 'team.billableInfo' => {
933
+ path: '/team.billableInfo',
934
+ desc: 'Gets billable users information for the current team.'
935
+ },
936
+ 'team.info' => {
937
+ path: '/team.info',
938
+ desc: 'Gets information about the current team.'
939
+ },
940
+ 'team.integrationLogs' => {
941
+ path: '/team.integrationLogs',
942
+ desc: 'Gets the integration logs for the current team.'
943
+ },
944
+ 'team.billing.info' => {
945
+ path: '/team.billing.info',
946
+ desc: 'Reads a workspace\'s billing plan information.'
947
+ },
948
+ 'team.externalTeams.disconnect' => {
949
+ path: '/team.externalTeams.disconnect',
950
+ desc: 'Disconnect an external organization.'
951
+ },
952
+ 'team.externalTeams.list' => {
953
+ path: '/team.externalTeams.list',
954
+ desc: 'Returns a list of all the external teams connected and details about the connection.'
955
+ },
956
+ 'team.preferences.list' => {
957
+ path: '/team.preferences.list',
958
+ desc: 'Retrieve a list of a workspace\'s team preferences.'
959
+ },
960
+ 'team.profile.get' => {
961
+ path: '/team.profile.get',
962
+ desc: 'Retrieve a team\'s profile.'
963
+ },
964
+ 'tooling.tokens.rotate' => {
965
+ path: '/tooling.tokens.rotate',
966
+ desc: 'Exchanges a refresh token for a new app configuration token.'
967
+ },
968
+ 'usergroups.create' => {
969
+ path: '/usergroups.create',
970
+ desc: 'Create a User Group.'
971
+ },
972
+ 'usergroups.disable' => {
973
+ path: '/usergroups.disable',
974
+ desc: 'Disable an existing User Group.'
975
+ },
976
+ 'usergroups.enable' => {
977
+ path: '/usergroups.enable',
978
+ desc: 'Enable a User Group.'
979
+ },
980
+ 'usergroups.list' => {
981
+ path: '/usergroups.list',
982
+ desc: 'List all User Groups for a team.'
983
+ },
984
+ 'usergroups.update' => {
985
+ path: '/usergroups.update',
986
+ desc: 'Update an existing User Group.'
987
+ },
988
+ 'usergroups.users.list' => {
989
+ path: '/usergroups.users.list',
990
+ desc: 'List all users in a User Group.'
991
+ },
992
+ 'usergroups.users.update' => {
993
+ path: '/usergroups.users.update',
994
+ desc: 'Update the list of users for a user group.'
995
+ },
996
+ 'users.conversations' => {
997
+ path: '/users.conversations',
998
+ desc: 'List conversations the calling user may access.'
999
+ },
1000
+ 'users.deletePhoto' => {
1001
+ path: '/users.deletePhoto',
1002
+ desc: 'Delete the user profile photo'
1003
+ },
1004
+ 'users.getPresence' => {
1005
+ path: '/users.getPresence',
1006
+ desc: 'Gets user presence information.'
1007
+ },
1008
+ 'users.identity' => {
1009
+ path: '/users.identity',
1010
+ desc: 'Get a user\'s identity.'
1011
+ },
1012
+ 'users.info' => {
1013
+ path: '/users.info',
1014
+ desc: 'Gets information about a user.'
1015
+ },
1016
+ 'users.list' => {
1017
+ path: '/users.list',
1018
+ desc: 'Lists all users in a Slack team.'
1019
+ },
1020
+ 'users.lookupByEmail' => {
1021
+ path: '/users.lookupByEmail',
1022
+ desc: 'Find a user with an email address.'
1023
+ },
1024
+ 'users.setActive' => {
1025
+ path: '/users.setActive',
1026
+ desc: 'Marked a user as active. Deprecated and non-functional.'
1027
+ },
1028
+ 'users.setPhoto' => {
1029
+ path: '/users.setPhoto',
1030
+ desc: 'Set the user profile photo'
1031
+ },
1032
+ 'users.setPresence' => {
1033
+ path: '/users.setPresence',
1034
+ desc: 'Manually sets user presence.'
1035
+ },
1036
+ 'users.discoverableContacts.lookup' => {
1037
+ path: '/users.discoverableContacts.lookup',
1038
+ desc: 'Look up an email address to see if someone is discoverable on Slack'
1039
+ },
1040
+ 'users.profile.get' => {
1041
+ path: '/users.profile.get',
1042
+ desc: 'Retrieve a user\'s profile information, including their custom status.'
1043
+ },
1044
+ 'users.profile.set' => {
1045
+ path: '/users.profile.set',
1046
+ desc: 'Set a user\'s profile information, including custom status.'
1047
+ },
1048
+ 'views.open' => {
1049
+ path: '/views.open',
1050
+ desc: 'Open a view for a user.'
1051
+ },
1052
+ 'views.publish' => {
1053
+ path: '/views.publish',
1054
+ desc: 'Publish a static view for a User.'
1055
+ },
1056
+ 'views.push' => {
1057
+ path: '/views.push',
1058
+ desc: 'Push a view onto the stack of a root view.'
1059
+ },
1060
+ 'views.update' => {
1061
+ path: '/views.update',
1062
+ desc: 'Update an existing view.'
1063
+ },
1064
+ 'workflows.stepCompleted' => {
1065
+ path: '/workflows.stepCompleted',
1066
+ desc: 'Indicate that an app\'s step in a workflow completed execution.'
1067
+ },
1068
+ 'workflows.stepFailed' => {
1069
+ path: '/workflows.stepFailed',
1070
+ desc: 'Indicate that an app\'s step in a workflow failed to execute.'
1071
+ },
1072
+ 'workflows.updateStep' => {
1073
+ path: '/workflows.updateStep',
1074
+ desc: 'Update the configuration for a workflow step.'
1075
+ },
1076
+ 'workflows.triggers.permissions.add' => {
1077
+ path: '/workflows.triggers.permissions.add',
1078
+ desc: 'Allows users to run a trigger that has its permission type set to named_entities'
1079
+ },
1080
+ 'workflows.triggers.permissions.list' => {
1081
+ path: '/workflows.triggers.permissions.list',
1082
+ desc: 'Returns the permission type of a trigger and if applicable, includes the entities that have been granted access'
1083
+ },
1084
+ 'workflows.triggers.permissions.remove' => {
1085
+ path: '/workflows.triggers.permissions.remove',
1086
+ desc: 'Revoke an entity\'s access to a trigger that has its permission type set to named_entities'
1087
+ },
1088
+ 'workflows.triggers.permissions.set' => {
1089
+ path: '/workflows.triggers.permissions.set',
1090
+ desc: 'Set the permission type for who can run a trigger'
1091
+ }
1092
+ }
1093
+
1094
+ class << self
1095
+ def get(key)
1096
+ METHODS.fetch(key)
1097
+ end
1098
+
1099
+ def path(key)
1100
+ get(key)[:path]
1101
+ end
1102
+ end
1103
+ end
1104
+ end