UNPKG

slack-web-api-client

Version:
1,253 lines 40.1 kB
import type { EventTriggerSettings, ScheduleTriggerSettings, WebhookTriggerSettings } from "./automation-response/types"; import type { AnyMessageBlock } from "../block-kit/blocks"; import type { LinkUnfurls } from "../block-kit/link-unfurls"; import type { MessageAttachment } from "../block-kit/message-attachment"; import type { MessageMetadata } from "../block-kit/message-metadata"; import type { ModalView, HomeTabView } from "../block-kit/views"; import type { ManifestParams } from "../manifest/manifest-params"; export interface SlackAPIRequest { token?: string; } export interface LocaleAware { include_locale?: boolean; } export interface Searchable { query: string; highlight?: boolean; sort: "score" | "timestamp"; sort_dir: "asc" | "desc"; team_id?: string; } export interface CursorPaginationEnabled { limit?: number; cursor?: string; } export interface TimelinePaginationEnabled { oldest?: string; latest?: string; inclusive?: boolean; } export interface TraditionalPagingEnabled { page?: number; count?: number; } export interface AdminAnalyticsGetFileRequest extends SlackAPIRequest { type: string; date?: string; metadata_only?: boolean; } export interface AdminAppsApproveRequest extends SlackAPIRequest { app_id?: string; request_id?: string; team_id?: string; } export interface AdminAppsApprovedListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id?: string; enterprise_id?: string; } export interface AdminAppsClearResolutionRequest extends SlackAPIRequest { app_id: string; enterprise_id?: string; team_id?: string; } export interface AdminAppsRequestsCancelRequest extends SlackAPIRequest { request_id: string; enterprise_id?: string; team_id?: string; } export interface AdminAppsRequestsListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id?: string; } export interface AdminAppsRestrictRequest extends SlackAPIRequest { app_id?: string; request_id?: string; team_id?: string; } export interface AdminAppsRestrictedListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id?: string; enterprise_id?: string; } export interface AdminAppsUninstallRequest extends SlackAPIRequest { app_id: string; enterprise_id?: string; team_ids?: string[]; } export interface AdminAppsActivitiesListRequest extends SlackAPIRequest, CursorPaginationEnabled { app_id?: string; component_id?: string; component_type?: "events_api" | "workflows" | "functions" | "tables"; log_event_type?: string; max_date_created?: number; min_date_created?: number; min_log_level?: "trace" | "debug" | "info" | "warn" | "error" | "fatal"; sort_direction?: "asc" | "desc"; source?: "slack" | "developer"; team_id?: string; trace_id?: string; } export interface AdminAppsConfigLookupRequest extends SlackAPIRequest { app_ids: string[]; } export interface AdminAppsConfigSetRequest extends SlackAPIRequest { app_id: string; domain_restrictions?: { urls?: string[]; emails?: string[]; }; workflow_auth_strategy?: "builder_choice" | "end_user_only"; } export interface AdminAuthPolicyAssignEntitiesRequest extends SlackAPIRequest { entity_ids: string[]; entity_type: "USER"; policy_name: "email_password"; } export interface AdminAuthPolicyGetEntitiesRequest extends SlackAPIRequest, CursorPaginationEnabled { policy_name: "email_password"; entity_type?: "USER"; } export interface AdminAuthPolicyRemoveEntitiesRequest extends SlackAPIRequest { entity_ids: string[]; entity_type: "USER"; policy_name: "email_password"; } export interface AdminBarriersCreateRequest extends SlackAPIRequest { barriered_from_usergroup_ids: string[]; primary_usergroup_id: string; restricted_subjects: ["im", "mpim", "call"]; } export interface AdminBarriersDeleteRequest extends SlackAPIRequest { barrier_id: string; } export interface AdminBarriersListRequest extends SlackAPIRequest, CursorPaginationEnabled { } export interface AdminBarriersUpdateRequest extends SlackAPIRequest { barrier_id: string; barriered_from_usergroup_ids: string[]; primary_usergroup_id: string; restricted_subjects: ["im", "mpim", "call"]; } export interface AdminConversationsArchiveRequest extends SlackAPIRequest { channel_id: string; } export interface AdminConversationsBulkArchiveRequest extends SlackAPIRequest { channel_ids: string[]; } export interface AdminConversationsBulkDeleteRequest extends SlackAPIRequest { channel_ids: string[]; } export interface AdminConversationsBulkMoveRequest extends SlackAPIRequest { channel_ids: string[]; target_team_id: string; } export interface AdminConversationsConvertToPrivateRequest extends SlackAPIRequest { channel_id: string; } export interface AdminConversationsConvertToPublicRequest extends SlackAPIRequest { channel_id: string; } export interface AdminConversationsCreateRequest extends SlackAPIRequest { is_private: boolean; name: string; description?: string; org_wide?: boolean; team_id?: string; } export interface AdminConversationsDeleteRequest extends SlackAPIRequest { channel_id: string; } export interface AdminConversationsDisconnectSharedRequest extends SlackAPIRequest { channel_id: string; leaving_team_ids?: string[]; } export interface AdminConversationsEKMListOriginalConnectedChannelInfoRequest extends SlackAPIRequest, CursorPaginationEnabled { channel_ids?: string[]; team_ids?: string[]; } export interface AdminConversationsGetConversationPrefsRequest extends SlackAPIRequest { channel_id: string; } export interface AdminConversationsGetTeamsRequest extends SlackAPIRequest, CursorPaginationEnabled { channel_id: string; } export interface AdminConversationsInviteRequest extends SlackAPIRequest { channel_id: string; user_ids: string[]; } export interface AdminConversationsRenameRequest extends SlackAPIRequest { channel_id: string; name: string; } export interface AdminConversationsRestrictAccessAddGroupRequest extends SlackAPIRequest { channel_id: string; group_id: string; team_id?: string; } export interface AdminConversationsRestrictAccessListGroupsRequest extends SlackAPIRequest { channel_id: string; team_id?: string; } export interface AdminConversationsRestrictAccessRemoveGroupRequest extends SlackAPIRequest { channel_id: string; group_id: string; team_id: string; } export interface AdminConversationsGetCustomRetentionRequest extends SlackAPIRequest { channel_id: string; } export interface AdminConversationsSetCustomRetentionRequest extends SlackAPIRequest { channel_id: string; duration_days: number; } export interface AdminConversationsRemoveCustomRetentionRequest extends SlackAPIRequest { channel_id: string; } export interface AdminConversationsLookupRequest extends SlackAPIRequest, CursorPaginationEnabled { last_message_activity_before: number; team_ids: string[]; max_member_count?: number; } export interface AdminConversationsSearchRequest extends SlackAPIRequest, CursorPaginationEnabled { query?: string; search_channel_types?: string[]; sort?: "relevant" | "name" | "member_count" | "created"; sort_dir?: "asc" | "desc"; team_ids?: string[]; } export interface AdminConversationsSetConversationPrefsRequest extends SlackAPIRequest { channel_id: string; prefs: { who_can_post?: string; can_thread?: string; can_huddle?: string; enable_at_channel?: string; enable_at_here?: string; }; } export interface AdminConversationsSetTeamsRequest extends SlackAPIRequest { channel_id: string; team_id?: string; target_team_ids?: string[]; org_channel?: boolean; } export interface AdminConversationsUnarchiveRequest extends SlackAPIRequest { channel_id: string; } export interface AdminEmojiAddRequest extends SlackAPIRequest { name: string; url: string; } export interface AdminEmojiAddAliasRequest extends SlackAPIRequest { name: string; alias_for: string; } export interface AdminEmojiListRequest extends SlackAPIRequest, CursorPaginationEnabled { } export interface AdminEmojiRemoveRequest extends SlackAPIRequest { name: string; } export interface AdminEmojiRenameRequest extends SlackAPIRequest { name: string; new_name: string; } export interface AdminFunctionsListRequest extends SlackAPIRequest, CursorPaginationEnabled { app_ids: string[]; team_id?: string; } export interface AdminFunctionsPermissionsLookupRequest extends SlackAPIRequest { function_ids: string[]; } export interface AdminFunctionsPermissionsSetRequest extends SlackAPIRequest { function_id: string; visibility: "everyone" | "app_collaborators" | "named_entities" | "no_one"; user_ids?: string[]; } export interface AdminInviteRequestsApproveRequest extends SlackAPIRequest { invite_request_id: string; team_id: string; } export interface AdminInviteRequestsApprovedListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id: string; } export interface AdminInviteRequestsDenyRequest extends SlackAPIRequest { invite_request_id: string; team_id: string; } export interface AdminInviteRequestsDeniedListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id: string; } export interface AdminInviteRequestsListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id: string; } export interface AdminRolesAddAssignmentsRequest extends SlackAPIRequest { role_id: string; entity_ids: string[]; user_ids: string[]; } export interface AdminRolesListAssignmentsRequest extends SlackAPIRequest, CursorPaginationEnabled { entity_ids?: string[]; role_ids?: string[]; sort_dir?: "ASC" | "DESC"; } export interface AdminRolesRemoveAssignmentsRequest extends SlackAPIRequest { role_id: string; entity_ids: string[]; user_ids: string[]; } export interface AdminTeamsAdminsListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id: string; } export interface AdminTeamsCreateRequest extends SlackAPIRequest { team_domain: string; team_name: string; team_description?: string; team_discoverability?: "open" | "closed" | "invite_only" | "unlisted"; } export interface AdminTeamsListRequest extends SlackAPIRequest, CursorPaginationEnabled { } export interface AdminTeamsOwnersListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id: string; } export interface AdminTeamsSettingsInfoRequest extends SlackAPIRequest { team_id: string; } export interface AdminTeamsSettingsSetDefaultChannelsRequest extends SlackAPIRequest { team_id: string; channel_ids: string[]; } export interface AdminTeamsSettingsSetDescriptionRequest extends SlackAPIRequest { team_id: string; description: string; } export interface AdminTeamsSettingsSetDiscoverabilityRequest extends SlackAPIRequest { team_id: string; discoverability: "open" | "invite_only" | "closed" | "unlisted"; } export interface AdminTeamsSettingsSetIconRequest extends SlackAPIRequest { team_id: string; image_url: string; } export interface AdminTeamsSettingsSetNameRequest extends SlackAPIRequest { team_id: string; name: string; } export interface AdminUsergroupsAddChannelsRequest extends SlackAPIRequest { usergroup_id: string; team_id?: string; channel_ids: string | string[]; } export interface AdminUsergroupsAddTeamsRequest extends SlackAPIRequest { usergroup_id: string; team_ids: string | string[]; auto_provision?: boolean; } export interface AdminUsergroupsListChannelsRequest extends SlackAPIRequest { usergroup_id: string; include_num_members?: boolean; team_id?: string; } export interface AdminUsergroupsRemoveChannelsRequest extends SlackAPIRequest { usergroup_id: string; channel_ids: string | string[]; } export interface AdminUsersAssignRequest extends SlackAPIRequest { team_id: string; user_id: string; is_restricted?: boolean; is_ultra_restricted?: boolean; } export interface AdminUsersInviteRequest extends SlackAPIRequest { channel_ids: string | string[]; email: string; team_id: string; custom_message?: string; email_password_policy_enabled?: boolean; guest_expiration_ts?: string; is_restricted?: boolean; is_ultra_restricted?: boolean; real_name?: string; resend?: boolean; } export interface AdminUsersListRequest extends SlackAPIRequest, CursorPaginationEnabled { team_id: string; include_deactivated_user_workspaces?: boolean; is_active?: boolean; } export interface AdminUsersRemoveRequest extends SlackAPIRequest { team_id: string; user_id: string; } export interface AdminUsersSetAdminRequest extends SlackAPIRequest { team_id: string; user_id: string; } export interface AdminUsersSetExpirationRequest extends SlackAPIRequest { team_id: string; user_id: string; expiration_ts: number; } export interface AdminUsersSetOwnerRequest extends SlackAPIRequest { team_id: string; user_id: string; } export interface AdminUsersSetRegularRequest extends SlackAPIRequest { team_id: string; user_id: string; } export interface AdminUsersSessionListRequest extends SlackAPIRequest, CursorPaginationEnabled { user_id?: string; team_id?: string; } export interface AdminUsersSessionResetRequest extends SlackAPIRequest { user_id: string; mobile_only?: boolean; web_only?: boolean; } export interface AdminUsersSessionResetBulkRequest extends SlackAPIRequest { user_ids: string[]; mobile_only?: boolean; web_only?: boolean; } export interface AdminUsersSessionInvalidateRequest extends SlackAPIRequest { session_id: string; team_id: string; } export interface AdminUsersSessionGetSettingsRequest extends SlackAPIRequest { user_ids: string[]; } export interface AdminUsersSessionSetSettingsRequest extends SlackAPIRequest { user_ids: string[]; desktop_app_browser_quit?: boolean; duration?: number; } export interface AdminUsersSessionClearSettingsRequest extends SlackAPIRequest { user_ids: string[]; } export interface AdminUsersUnsupportedVersionsExportRequest extends SlackAPIRequest { date_end_of_support?: number; date_sessions_started?: number; } export interface AdminWorkflowsCollaboratorsAddRequest extends SlackAPIRequest { collaborator_ids: string[]; workflow_ids: string[]; } export interface AdminWorkflowsCollaboratorsRemoveRequest extends SlackAPIRequest { collaborator_ids: string[]; workflow_ids: string[]; } export interface AdminWorkflowsPermissionsLookupRequest extends SlackAPIRequest { workflow_ids: string[]; max_workflow_triggers?: number; } export interface AdminWorkflowsSearchRequest extends SlackAPIRequest, CursorPaginationEnabled { app_id?: string; collaborator_ids?: string[]; no_collaborators?: boolean; num_trigger_ids?: number; query?: string; sort?: string; sort_dir?: string; source?: string; } export interface AdminWorkflowsUnpublishRequest extends SlackAPIRequest { workflow_ids: string[]; } export type APITestRequest = SlackAPIRequest; export type AppsConnectionsOpenRequest = SlackAPIRequest; export interface AppsDatastorePutRequest extends SlackAPIRequest { datastore: string; item: Record<string, any>; } export interface AppsDatastoreUpdateRequest extends SlackAPIRequest { datastore: string; item: Record<string, any>; } export interface AppsDatastoreGetRequest extends SlackAPIRequest { datastore: string; id: string; } export interface AppsDatastoreQueryRequest extends SlackAPIRequest { datastore: string; app_id?: string; cursor?: string; expression_attributes?: Record<string, any>; expression_values?: Record<string, any>; limit?: number; } export interface AppsDatastoreDeleteRequest extends SlackAPIRequest { datastore: string; id: string; } export interface AppsEventAuthorizationsListRequest extends SlackAPIRequest, CursorPaginationEnabled { event_context: string; } export interface AppsManifestCreateRequest extends SlackAPIRequest { manifest: ManifestParams | string; } export interface AppsManifestDeleteRequest extends SlackAPIRequest { app_id: string; } export interface AppsManifestUpdateRequest extends SlackAPIRequest { app_id: string; manifest: ManifestParams | string; } export interface AppsManifestExportRequest extends SlackAPIRequest { app_id: string; } export interface AppsManifestValidateRequest extends SlackAPIRequest { app_id?: string; manifest: ManifestParams | string; } export interface AppsUninstallRequest extends SlackAPIRequest { client_id: string; client_secret: string; } export interface AssistantThreadsSetStatusRequest extends SlackAPIRequest { channel_id: string; thread_ts: string; status: string; } export interface AssistantThreadsSetSuggestedPromptsRequest extends SlackAPIRequest { channel_id: string; thread_ts: string; title?: string; prompts: { title: string; message: string; }[]; } export interface AssistantThreadsSetTitleRequest extends SlackAPIRequest { channel_id: string; thread_ts: string; title: string; } export interface AuthRevokeRequest extends SlackAPIRequest { test?: boolean; } export interface AuthTeamsListRequest extends SlackAPIRequest, CursorPaginationEnabled { include_icon?: boolean; } export type AuthTestRequest = SlackAPIRequest; export interface BotsInfoRequest extends SlackAPIRequest { bot: string; team_id?: string; } export interface BookmarksAddRequest extends SlackAPIRequest { channel_id: string; title: string; type: string; emoji?: string; entity_id?: string; link?: string; parent_id?: string; } export interface BookmarksEditRequest extends SlackAPIRequest { bookmark_id: string; channel_id: string; emoji?: string; link?: string; title?: string; } export interface BookmarksListRequest extends SlackAPIRequest { channel_id: string; } export interface BookmarksRemoveRequest extends SlackAPIRequest { bookmark_id: string; channel_id: string; } export interface CanvasesAccessDeleteRequest extends SlackAPIRequest { canvas_id: string; user_ids?: string[]; channel_ids?: string[]; } export interface CanvasesAccessSetRequest extends SlackAPIRequest { canvas_id: string; access_level: "read" | "write"; user_ids?: string[]; channel_ids?: string[]; } export interface CanvasDocumentContent { type: "markdown"; markdown: string; } export interface CanvasesCreateRequest extends SlackAPIRequest { title?: string; document_content: CanvasDocumentContent; } export interface CanvasesDeleteRequest extends SlackAPIRequest { canvas_id: string; } export interface CanvasesEditRequest extends SlackAPIRequest { canvas_id: string; changes: { operation: "insert_after" | "insert_before" | "insert_at_start" | "insert_at_end" | "replace" | "delete"; section_id: string; document_content?: CanvasDocumentContent; }[]; } export interface CanvasesSectionsLookupRequest extends SlackAPIRequest { canvas_id: string; criteria: { section_types?: ("any_header" | "h1" | "h2" | "h3")[]; contains_text?: string; }; } export interface ChatDeleteRequest extends SlackAPIRequest { channel: string; ts: string; as_user?: boolean; } export interface ChatDeleteScheduledMessageRequest extends SlackAPIRequest { channel: string; scheduled_message_id: string; as_user?: boolean; } export interface ChatGetPermalinkRequest extends SlackAPIRequest { channel: string; message_ts: string; } export interface ChatMeMessageRequest extends SlackAPIRequest { channel: string; text: string; } export interface ChatPostEphemeralRequest extends SlackAPIRequest { channel: string; text: string; user: string; blocks?: AnyMessageBlock[]; attachments?: MessageAttachment[]; thread_ts?: string; icon_emoji?: string; icon_url?: string; username?: string; link_names?: boolean; parse?: "full" | "none"; as_user?: boolean; } export interface ChatPostMessageRequest extends SlackAPIRequest { channel: string; text: string; blocks?: AnyMessageBlock[]; attachments?: MessageAttachment[]; metadata?: MessageMetadata; thread_ts?: string; reply_broadcast?: boolean; unfurl_links?: boolean; unfurl_media?: boolean; icon_emoji?: string; icon_url?: string; username?: string; link_names?: boolean; mrkdwn?: boolean; parse?: "full" | "none"; as_user?: boolean; } export interface ChatScheduleMessageRequest extends SlackAPIRequest { channel: string; text: string; post_at: string | number; blocks?: AnyMessageBlock[]; attachments?: MessageAttachment[]; thread_ts?: string; metadata?: MessageMetadata; reply_broadcast?: boolean; team_id?: string; unfurl_links?: boolean; unfurl_media?: boolean; link_names?: boolean; as_user?: boolean; parse?: "full" | "none"; } export interface ChatScheduledMessagesListRequest extends SlackAPIRequest, CursorPaginationEnabled { channel: string; latest: number; oldest: number; team_id?: string; } interface ChannelAndTSRequest { channel: string; ts: string; } interface SourceAndUnfurlIDRequest { source: "composer" | "conversations_history"; unfurl_id: string; } export type ChatUnfurlRequest = (ChannelAndTSRequest | SourceAndUnfurlIDRequest) & SlackAPIRequest & { unfurls: LinkUnfurls; user_auth_message?: string; user_auth_required?: boolean; user_auth_url?: string; user_auth_blocks?: AnyMessageBlock[]; }; export interface ChatUpdateRequest extends SlackAPIRequest { channel: string; text: string; ts: string; blocks?: AnyMessageBlock[]; attachments?: MessageAttachment[]; metadata?: MessageMetadata; file_ids?: string[]; reply_broadcast?: boolean; link_names?: boolean; parse?: "full" | "none"; as_user?: boolean; } export interface ConversationsAcceptSharedInviteRequest extends SlackAPIRequest { channel_name: string; channel_id?: string; free_trial_accepted?: boolean; invite_id?: string; is_private?: boolean; team_id?: string; } export interface ConversationsApproveSharedInviteRequest extends SlackAPIRequest { invite_id: string; target_team?: string; } export interface ConversationsArchiveRequest extends SlackAPIRequest { channel: string; } export interface ConversationsCloseRequest extends SlackAPIRequest { channel: string; } export interface ConversationsCreateRequest extends SlackAPIRequest { name: string; is_private?: boolean; team_id?: string; } export interface ConversationsDeclineSharedInviteRequest extends SlackAPIRequest { invite_id: string; target_team?: string; } export interface ConversationsHistoryRequest extends SlackAPIRequest, CursorPaginationEnabled, TimelinePaginationEnabled { channel: string; include_all_metadata?: boolean; } export interface ConversationsInfoRequest extends SlackAPIRequest, LocaleAware { channel: string; include_num_members?: boolean; } export interface ConversationsInviteRequest extends SlackAPIRequest { channel: string; users: string | string[]; force?: boolean; } export interface ConversationsInviteSharedRequest extends SlackAPIRequest { channel: string; emails?: string[]; user_ids?: string[]; } export interface ConversationsJoinRequest extends SlackAPIRequest { channel: string; } export interface ConversationsKickRequest extends SlackAPIRequest { channel: string; user: string; } export interface ConversationsLeaveRequest extends SlackAPIRequest { channel: string; } export interface ConversationsListRequest extends SlackAPIRequest, CursorPaginationEnabled { exclude_archived?: boolean; types?: ("public_channel" | "private_channel" | "mpim" | "im")[]; team_id?: string; } export interface ConversationsListConnectInvitesRequest extends SlackAPIRequest { count?: number; cursor?: string; team_id?: string; } export interface ConversationsMarkRequest extends SlackAPIRequest { channel: string; ts: string; } export interface ConversationsMembersRequest extends SlackAPIRequest, CursorPaginationEnabled { channel: string; } export interface ConversationsOpenRequest extends SlackAPIRequest { channel?: string; users?: string | string[]; prevent_creation?: boolean; return_im?: boolean; } export interface ConversationsRenameRequest extends SlackAPIRequest { channel: string; name: string; } export interface ConversationsRepliesRequest extends SlackAPIRequest, CursorPaginationEnabled, TimelinePaginationEnabled { channel: string; ts: string; include_all_metadata?: boolean; } export interface ConversationsSetPurposeRequest extends SlackAPIRequest { channel: string; purpose: string; } export interface ConversationsSetTopicRequest extends SlackAPIRequest { channel: string; topic: string; } export interface ConversationsUnarchiveRequest extends SlackAPIRequest { channel: string; } export interface ConversationsCanvasesCreateRequest extends SlackAPIRequest { channel_id: string; document_content: CanvasDocumentContent; } export interface ConversationsExternalInvitePermissionsSetRequest extends SlackAPIRequest { action: "upgrade" | "downgrade"; channel: string; target_team: string; } export interface ConversationsRequestSharedInviteApproveRequest extends SlackAPIRequest { invite_id: string; team_id?: string; is_external_limited?: boolean; message?: { text: string; is_override: boolean; }; } export interface ConversationsRequestSharedInviteDenyRequest extends SlackAPIRequest { invite_id: string; message: string; } export interface ConversationsRequestSharedInviteListRequest extends SlackAPIRequest, CursorPaginationEnabled { include_approved?: boolean; include_denied?: boolean; include_expired?: boolean; invite_ids?: string[]; user_id?: string; } export type DndEndDndRequest = SlackAPIRequest; export type DndEndSnoozeRequest = SlackAPIRequest; export interface DndInfoRequest extends SlackAPIRequest { user: string; } export interface DndSetSnoozeRequest extends SlackAPIRequest { num_minutes: number; } export interface DndTeamInfoRequest extends SlackAPIRequest { users?: string | string[]; } export interface EmojiListRequest extends SlackAPIRequest { include_categories?: boolean; } export interface FilesDeleteRequest extends SlackAPIRequest { file: string; } export interface FilesInfoRequest extends SlackAPIRequest, CursorPaginationEnabled { file: string; count?: number; page?: number; } export interface FilesListRequest extends SlackAPIRequest, TraditionalPagingEnabled { channel?: string; user?: string; ts_from?: string; ts_to?: string; types?: string | string[]; show_files_hidden_by_limit?: boolean; team_id?: string; } export interface FilesRevokePublicURLRequest extends SlackAPIRequest { file: string; } export interface FilesSharedPublicURLRequest extends SlackAPIRequest { file: string; } /** * Legacy files.upload API files upload Request * @deprecated use files.uploadV2 instead * */ interface FileUpload { channels?: string | string[]; content?: string; file?: Blob | ArrayBuffer; filename?: string; filetype?: string; initial_comment?: string; thread_ts?: string; title?: string; } /** * @deprecated use files.uploadV2 instead */ export type FilesUploadRequest = FileUpload & SlackAPIRequest; /** * files.upload V2 API files upload Request * */ export interface FileUploadV2 { filename: string; title?: string; alt_text?: string; snippet_type?: string; content?: string; file?: Blob | ArrayBuffer; filetype?: string; } export interface FileUploadV2Share { channel_id?: string; thread_ts?: string; initial_comment?: string; } export interface FilesUploadV2Request1 extends SlackAPIRequest, FileUploadV2, FileUploadV2Share { } export interface FilesUploadV2RequestN extends SlackAPIRequest, FileUploadV2Share { files: FileUploadV2[]; } export type FilesUploadV2Request = FilesUploadV2Request1 | FilesUploadV2RequestN; /** * Gets a URL for an edge external file upload. Method: * {@link https://api.slack.com/methods/files.getUploadURLExternal files.getUploadURLExternal} */ export interface FilesGetUploadURLExternalRequest extends SlackAPIRequest { filename: string; length: number; alt_text?: string; snippet_type?: string; } /** * Finishes an upload started with files.getUploadURLExternal. Method: * {@link https://api.slack.com/methods/files.completeUploadExternal files.completeUploadExternal} * */ export interface FilesCompleteUploadExternalRequest extends SlackAPIRequest { files: FileUploadComplete[]; channel_id?: string; initial_comment?: string; thread_ts?: string; } export interface FileUploadComplete { id: string; title?: string; } export interface FilesRemoteInfoRequest extends SlackAPIRequest { file?: string; external_id?: string; } export interface FilesRemoteListRequest extends SlackAPIRequest, CursorPaginationEnabled { ts_from?: string; ts_to?: string; channel?: string; } export interface FilesRemoteAddRequest extends SlackAPIRequest { title: string; external_url: string; external_id: string; filetype: string; preview_image?: Uint8Array; indexable_file_contents?: Uint8Array; } export interface FilesRemoteUpdateRequest extends SlackAPIRequest { title?: string; external_url?: string; filetype?: string; preview_image?: Uint8Array; indexable_file_contents?: Uint8Array; file?: string; external_id?: string; } export interface FilesRemoteRemoveRequest extends SlackAPIRequest { file?: string; external_id?: string; } export interface FilesRemoteShareRequest extends SlackAPIRequest { channels: string | string[]; file?: string; external_id?: string; } export interface FunctionsCompleteSuccessRequest extends SlackAPIRequest { outputs: Record<string, any>; function_execution_id: string; } export interface FunctionsCompleteErrorRequest extends SlackAPIRequest { error: string; function_execution_id: string; } export interface MigrationExchangeRequest extends SlackAPIRequest { users: string | string[]; to_old?: boolean; team_id?: string; } export interface OAuthV2AccessRequest extends SlackAPIRequest { client_id: string; client_secret: string; code?: string; redirect_uri?: string; grant_type?: string; refresh_token?: string; } export interface OAuthV2ExchangeRequest extends SlackAPIRequest { client_id: string; client_secret: string; } export interface OpenIDConnectTokenRequest extends SlackAPIRequest { client_id: string; client_secret: string; code?: string; redirect_uri?: string; grant_type?: "authorization_code" | "refresh_token"; refresh_token?: string; } export type OpenIDConnectUserInfoRequest = SlackAPIRequest; export interface PinsAddRequest extends SlackAPIRequest { channel: string; timestamp: string; } export interface PinsListRequest extends SlackAPIRequest { channel: string; } export interface PinsRemoveRequest extends SlackAPIRequest { channel: string; timestamp: string; } export interface ReactionsAddRequest extends SlackAPIRequest { name: string; channel?: string; timestamp?: string; file?: string; file_comment?: string; } export interface ReactionsGetRequest extends SlackAPIRequest { full?: boolean; channel?: string; timestamp?: string; file?: string; file_comment?: string; } export interface ReactionsListRequest extends SlackAPIRequest, TraditionalPagingEnabled, CursorPaginationEnabled { user?: string; full?: boolean; team_id?: string; } export interface ReactionsRemoveRequest extends SlackAPIRequest { name: string; channel?: string; timestamp?: string; file?: string; file_comment?: string; } export interface RemindersAddRequest extends SlackAPIRequest { text: string; time: string | number; user?: string; } export interface RemindersCompleteRequest extends SlackAPIRequest { reminder: string; } export interface RemindersDeleteRequest extends SlackAPIRequest { reminder: string; } export interface RemindersInfoRequest extends SlackAPIRequest { reminder: string; } export type RemindersListRequest = SlackAPIRequest; export interface SearchAllRequest extends SlackAPIRequest, TraditionalPagingEnabled, Searchable { } export interface SearchFilesRequest extends SlackAPIRequest, TraditionalPagingEnabled, Searchable { } export interface SearchMessagesRequest extends SlackAPIRequest, TraditionalPagingEnabled, Searchable { } export interface StarsAddRequest extends SlackAPIRequest { channel?: string; timestamp?: string; file?: string; file_comment?: string; } export interface StarsListRequest extends SlackAPIRequest, TraditionalPagingEnabled, CursorPaginationEnabled { } export interface StarsRemoveRequest extends SlackAPIRequest { channel?: string; timestamp?: string; file?: string; file_comment?: string; } export interface TeamAccessLogsRequest extends SlackAPIRequest { before?: number; count?: number; page?: number; team_id?: string; } export interface TeamBillableInfoRequest extends SlackAPIRequest, CursorPaginationEnabled { user?: string; team_id?: string; } export type TeamBillingInfoRequest = SlackAPIRequest; export interface TeamInfoRequest extends SlackAPIRequest { team?: string; domain?: string; } export interface TeamIntegrationLogsRequest extends SlackAPIRequest { app_id?: string; change_type?: "added" | "removed" | "enabled" | "disabled" | "updated"; count?: number; page?: number; service_id?: string; user?: string; team_id?: string; } export interface TeamProfileGetRequest extends SlackAPIRequest { visibility?: "all" | "visible" | "hidden"; team_id?: string; } export type TeamPreferencesListRequest = SlackAPIRequest; export interface TeamExternalTeamsListRequest extends SlackAPIRequest { connection_status_filter?: "CONNECTED" | "DISCONNECTED" | "BLOCKED" | "IN_REVIEW"; limit?: number; slack_connect_pref_filter?: string[]; sort_direction?: "asc" | "desc"; sort_field?: "team_name" | "last_active_timestamp" | "connection_status"; workspace_filter?: string[]; } export interface TeamExternalTeamsDisconnectRequest extends SlackAPIRequest { target_team: string; } export interface ToolingTokensRotateRequest extends SlackAPIRequest { refresh_token: string; } export interface UsergroupsCreateRequest extends SlackAPIRequest { name: string; channels?: string | string[]; description?: string; handle?: string; include_count?: boolean; } export interface UsergroupsDisableRequest extends SlackAPIRequest { usergroup: string; include_count?: boolean; } export interface UsergroupsEnableRequest extends SlackAPIRequest { usergroup: string; include_count?: boolean; } export interface UsergroupsListRequest extends SlackAPIRequest { include_count?: boolean; include_disabled?: boolean; include_users?: boolean; } export interface UsergroupsUpdateRequest extends SlackAPIRequest { usergroup: string; channels?: string | string[]; description?: string; handle?: string; include_count?: boolean; name?: string; } export interface UsergroupsUsersListRequest extends SlackAPIRequest { usergroup: string; include_disabled?: boolean; } export interface UsergroupsUsersUpdateRequest extends SlackAPIRequest { usergroup: string; users: string | string[]; include_count?: boolean; } export interface UsersConversationsRequest extends SlackAPIRequest, CursorPaginationEnabled { exclude_archived?: boolean; types?: ("public_channel" | "private_channel" | "mpim" | "im")[]; user?: string; team_id?: string; } export type UsersDeletePhotoRequest = SlackAPIRequest; export interface UsersGetPresenceRequest extends SlackAPIRequest { user: string; } export type UsersIdentityRequest = SlackAPIRequest; export interface UsersInfoRequest extends SlackAPIRequest, LocaleAware { user: string; } export interface UsersListRequest extends SlackAPIRequest, CursorPaginationEnabled, LocaleAware { presence?: boolean; team_id?: string; } export interface UsersLookupByEmailRequest extends SlackAPIRequest { email: string; } export interface UsersSetPhotoRequest extends SlackAPIRequest { image: Uint8Array; crop_w?: number; crop_x?: number; crop_y?: number; } export interface UsersSetPresenceRequest extends SlackAPIRequest { presence: "auto" | "away"; } export interface UsersProfileGetRequest extends SlackAPIRequest { include_labels?: boolean; user?: string; } export interface UsersProfileSetRequest extends SlackAPIRequest { profile?: Record<string, unknown> | string; user?: string; name?: string; value?: string; } export interface UsersDiscoverableContactsLookupRequest extends SlackAPIRequest { email: string; } export type ViewsOpenRequest = ViewsOpenAppPlatformRequest | ViewsOpenAutomationPlatformRequest; export interface ViewsOpenAppPlatformRequest extends SlackAPIRequest { trigger_id: string; view: ModalView; } export interface ViewsOpenAutomationPlatformRequest extends SlackAPIRequest { interactivity_pointer: string; view: ModalView; } export type ViewsPushRequest = ViewsPushAppPlatformRequest | ViewsPushAutomationPlatformRequest; export interface ViewsPushAppPlatformRequest extends SlackAPIRequest { trigger_id: string; view: ModalView; } export interface ViewsPushAutomationPlatformRequest extends SlackAPIRequest { interactivity_pointer: string; view: ModalView; } export interface ViewsPublishRequest extends SlackAPIRequest { user_id: string; view: HomeTabView; hash?: string; } export interface ViewsUpdateRequest extends SlackAPIRequest { view_id?: string; view: ModalView; external_id?: string; hash?: string; } export interface CommonTriggerParameters { type: string; name: string; description?: string; workflow: string; inputs: Record<string, { value: any; }>; } export interface LinkTriggerParameters extends CommonTriggerParameters { type: "shortcut"; } export interface ScheduledTriggerParameters extends CommonTriggerParameters { type: "scheduled"; schedule: ScheduleTriggerSettings; } export interface WebhookTriggerParameters extends CommonTriggerParameters { type: "webhook"; webhook?: WebhookTriggerSettings; } export interface EventTriggerParameters extends CommonTriggerParameters { type: "event"; event: EventTriggerSettings; } export type AnyTriggerParameters = LinkTriggerParameters | ScheduledTriggerParameters | WebhookTriggerParameters | EventTriggerParameters; export type WorkflowsTriggersCreateRequest = SlackAPIRequest & AnyTriggerParameters; export type WorkflowsTriggersUpdateRequest = SlackAPIRequest & AnyTriggerParameters & { trigger_id: string; }; export interface WorkflowsTriggersDeleteRequest extends SlackAPIRequest { trigger_id: string; } export interface WorkflowsTriggersListRequest extends SlackAPIRequest, CursorPaginationEnabled { is_owner?: boolean; is_published?: boolean; } export {}; //# sourceMappingURL=request.d.ts.map