Using the Admin Oversight API | Slack Developer Docs
guide
Skip to main content
Guides Reference Samples Tools
Changelog Dev Program
MANAGE APPS
* Welcome!
* Quickstart
* Resources
*
* Slack platform concepts
* AI in Slack
* APIs
* App management
* App manifests
* Admin resources
* Overview
* Managing app approvals
* Managing channels
* Managing invite requests
* Managing users
* Managing apps, workflows, and connector permissions
* Using the Admin Oversight API
* Using the Audit Logs API
* Using the Legal Holds API
* Using the Slack SCIM API
* Authentication
* Block Kit
* Enterprise
* Enterprise Search for apps
* GovSlack
* Interactivity
* Messaging
* Slack Marketplace
* Surfaces
* Workflows
*
* Legacy
*
* 日本語版ページ
*
* Admin resources
* Using the Admin Oversight API Copy as markdown
On this page
Using the Admin Oversight API
Access Oversight API
An Organization Owner can contact our team at
[email protected] to request access to the Oversight API.
The Admin Oversight API provides near real-time oversight information for customer administrators in an Enterprise org. This API introduces a new collection of API methods for accessing channel info, channel membership, and specific messages.
Org owners can install Admin Oversight API applications via the typical OAuth process .
This API is not intended for bulk message collection. While you may collect messages with these API methods, they're rate-limited to 100 messages per hour, returning many fewer messages than the conversations.history and conversations.replies Web API methods (which allow 900 messages per hour with 60 calls at 15 messages per call) and equivalent Discovery API methods.
This API is designed to support the admin management use cases such as:
* Automating channel management
* Guest management
* Reporting messages
Scopes
The Admin Oversight API methods rely on combinations of the following scopes. Read a method's Facts to determine which ones that method specifically requires.
* admin.conversations:read
* admin.users:read
* admin.teams:read
* admin.chat:read
* admin.chat:write
Methods
Enterprise and users
Use these methods to gather basic information about the Enterprise organization and its members.
Method Description oversight.enterprise.info Returns basic information about an Enterprise org oversight.user.conversations Returns list IDs for all conversations a user is in oversight.user.info Returns information on a single user oversight.users.list Returns list of all users
Conversations (channels, groups, and DMs)
Use these methods to gather information about and message data from public channels ( channels ), private channels ( channels?private=true ), multiparty DMs ( groups ), and direct messages ( dms ).
Method Description oversight.conversations.info Returns overview of a single channel oversight.conversations.list Returns a list of all conversations oversight.conversations.members Returns list of everyone in a conversation
Individual messages
Use this method to collect a complete history for a single message.
Method Description oversight.chat.info Returns a single message
Tombstone and Deleting Messages
Method Description oversight.chat.delete Deletes a message oversight.chat.tombstone Tombstones a message oversight.chat.restore Restores a message oversight.chat.update Updates a message
oversight.enterprise.info
This method returns basic information about the Enterprise organization where the app is installed, including all workspaces ( teams ).
The teams array is paged at 1000 items by default, but this can also be shortened with the limit parameter.
Docs Call generator
Facts
Description Returns basic information about the Enterprise organization where the app is installed, including all workspaces (teams).
Method Access
* HTTP
* Slack CLI
* JavaScript
* Python
* Java POST https://slack.com/api/oversight.enterprise.info
slack api oversight.enterprise.info
app.client.oversight.enterprise.info
app.client.oversight_enterprise_info
app.client().oversightEnterpriseInfo
Scopes User token: admin.teams:read
Content types application/x-www-form-urlencoded
application/json
Rate Limits 1200 requests per minute. Contributes to org-wide rate limit of ~30 requests per second
Arguments
Required arguments
token string Required
Authentication token bearing required scopes
Example: xxxx-xxxxxxxxx-xxxx
Optional arguments
cursor string Optional
Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request
Example: dXNlcjpVMDYxTkZUVDI=
limit integer Optional
The maximum number of items to return
Example: 20
Example request
{
"token" : "xxxx-xxxxxxxxx-xxxx" ,
"limit" : 1 ,
"cursor" : "cGFnZToz"
}
Example response
Errors
This table lists the expected errors that this method could return. However, other errors can be returned in the case where the service is down or other unexpected factors affect processing. Callers should always check the value of the ok parameter in the response. Error
Description
access_denied
Access to a resource specified in the request is denied.
accesslimited
Access to this method is limited on the current network
account_inactive
Authentication token is for a deleted user or workspace when using a bot token.
deprecated_endpoint
The endpoint has been deprecated.
ekm_access_denied
Administrators have suspended the ability to post a message.
enterprise_is_restricted
The method cannot be called from an Enterprise.
fatal_error
The server could not complete your operation(s) without encountering a catastrophic error. It's possible some aspect of the operation succeeded before the error was raised.
internal_error
The server could not complete your operation(s) without encountering an error, likely due to a transient issue on our end. It's possible some aspect of the operation succeeded before the error was raised.
invalid_arg_name
The method was passed an argument whose name falls outside the bounds of accepted or expected values. This includes very long names and names with non-alphanumeric characters other than _ . If you get this error, it is typically an indication that you have made a very malformed API call.
invalid_arguments
The method was called with invalid arguments.
invalid_array_arg
The method was passed an array as an argument. Please only input valid strings.
invalid_auth
Some aspect of authentication cannot be validated. Either the provided token is invalid or the request originates from an IP address disallowed from making the request.
invalid_charset
The method was called via a POST request, but the charset specified in the Content-Type header was invalid. Valid charset names are: utf-8 iso-8859-1 .
invalid_cursor
invalid_form_data
The method was called via a POST request with Content-Type application/x-www-form-urlencoded or multipart/form-data , but the form data was either missing or syntactically invalid.
invalid_post_type
The method was called via a POST request, but the specified Content-Type was invalid. Valid types are: application/json application/x-www-form-urlencoded multipart/form-data text/plain .
method_deprecated
The method has been deprecated.
missing_post_type
The method was called via a POST request and included a data payload, but the request did not include a Content-Type header.
missing_scope
The token used is not granted the specific scope permissions required to complete this request.
no_permission
The workspace token used in this request does not have the permissions necessary to complete the request. Make sure your app is a member of the conversation it's attempting to post a message to.
not_allowed_token_type
The token type used in this request is not allowed.
not_an_enterprise
not_authed
No authentication token provided.
org_login_required
The workspace is undergoing an enterprise migration and will not be available until migration is complete.
ratelimited
The request has been ratelimited. Refer to the Retry-After header for when to retry the request.
request_timeout
The method was called via a POST request, but the POST data was either missing or truncated.
service_unavailable
The service is temporarily unavailable
team_access_not_granted
The token used is not granted the specific workspace access required to complete this request.
team_added_to_org
The workspace associated with your request is currently undergoing migration to an Enterprise Organization. Web API and other platform operations will be intermittently unavailable until the transition is complete.
token_expired
Authentication token has expired
token_revoked
Authentication token is for a deleted user or workspace or the app has been removed when using a user token.
two_factor_setup_required
Two factor setup is required.
oversight.users.list
This method returns a list of all users.
Very similar to the original users.list API method. Includes an array of workspace IDs that the user belongs to in an Enterprise organization ( teams ).
Docs Call generator
Facts
Description Returns a list of all users in an Enterprise organization
Method Access
* HTTP
* Slack CLI
* JavaScript
* Python
* Java POST https://slack.com/api/oversight.users.list
slack api oversight.users.list
app.client.oversight.users.list
app.client.oversight_users_list
app.client().oversightUsersList
Scopes User token: admin.users:read
Content types application/x-www-form-urlencoded
application/json
Rate Limits 1200 requests per minute. Contributes to org-wide rate limit of ~30 requests per second
Arguments
Required arguments
token string Required
Authentication token bearing required scopes
Example: xxxx-xxxxxxxxx-xxxx
Optional arguments
include_deleted boolean Optional
Include deleted users in the list
Example:
limit integer Optional
Limit the number of users returned (less than 1000)
Example: 100
cursor string Optional
Offset to fetch the next page of records
Example: W0123ABC456
Example request
{
"token" : "xxxx-xxxxxxxxx-xxxx" ,
"include_deleted" : true ,
"offset" : "W0123ABC456"
}
Example response
Errors
This table lists the expected errors that this method could return. However, other errors can be returned in the case where the service is down or other unexpected factors affect processing. Callers should always check the value of the ok parameter in the response. Error
Description
access_denied
Access to a resource specified in the request is denied.
accesslimited
Access to this method is limited on the current network
account_inactive
account_inactive
Authentication token is for a deleted user or workspace when using a bot token.
channel_not_found
deprecated_endpoint
The endpoint has been deprecated.
ekm_access_denied
Administrators have suspended the ability to post a message.
enterprise_is_restricted
The method cannot be called from an Enterprise.
fatal_error
The server could not complete your operation(s) without encountering a catastrophic error. It's possible some aspect of the operation succeeded before the error was raised.
internal_error
The server could not complete your operation(s) without encountering an error, likely due to a transient issue on our end. It's possible some aspect of the operation succeeded before the error was raised.
invalid_arg_name
The method was passed an argument whose name falls outside the bounds of accepted or expected values. This includes very long names and names with non-alphanumeric characters other than _ . If you get this error, it is typically an indication that you have made a very malformed API call.
invalid_arguments
The method was called with invalid arguments.
invalid_array_arg
The method was passed an array as an argument. Please only input valid strings.
invalid_auth
invalid_auth
Some aspect of authentication cannot be validated. Either the provided token is invalid or the request originates from an IP address disallowed from making the request.
invalid_charset
The method was called via a POST request, but the charset specified in the Content-Type header was invalid. Valid charset names are: utf-8 iso-8859-1 .
invalid_form_data
The method was called via a POST request with Content-Type application/x-www-form-urlencoded or multipart/form-data , but the form data was either missing or syntactically invalid.
invalid_post_type
The method was called via a POST request, but the specified Content-Type was invalid. Valid types are: application/json application/x-www-form-urlencoded multipart/form-data text/plain .
method_deprecated
The method has been deprecated.
missing_post_type
The method was called via a POST request and included a data payload, but the request did not include a Content-Type header.
missing_scope
The token used is not granted the specific scope permissions required to complete this request.
no_permission
The workspace token used in this request does not have the permissions necessary to complete the request. Make sure your app is a member of the conversation it's attempting to post a message to.
not_allowed_token_type
The token type used in this request is not allowed.
not_authed
not_authed
No authentication token provided.
org_login_required
The workspace is undergoing an enterprise migration and will not be available until migration is complete.
ratelimited
The request has been ratelimited. Refer to the Retry-After header for when to retry the request.
request_timeout
The method was called via a POST request, but the POST data was either missing or truncated.
service_unavailable
The service is temporarily unavailable
team_access_not_granted
The token used is not granted the specific workspace access required to complete this request.
team_added_to_org
The workspace associated with your request is currently undergoing migration to an Enterprise Organization. Web API and other platform operations will be intermittently unavailable until the transition is complete.
team_not_found
token_expired
Authentication token has expired
token_revoked
Authentication token is for a deleted user or workspace or the app has been removed when using a user token.
two_factor_setup_required
Two factor setup is required.
unknown_method
oversight.user.info
This method returns information on a single user in an Enterprise org.
Docs Call generator
Facts
Description Returns information on a single user in an Enterprise organization
Method Access
* HTTP
* Slack CLI
* JavaScript
* Python
* Java POST https://slack.com/api/oversight.user.info
slack api oversight.user.info
app.client.oversight.user.info
app.client.oversight_user_info
app.client().oversightUserInfo
Scopes User token: admin.users:read
Content types application/x-www-form-urlencoded
application/json
Rate Limits 1200 requests per minute. Contributes to org-wide rate limit of ~30 requests per second
Arguments
Required arguments
token string Required
Authentication token bearing required scopes
Example: xxxx-xxxxxxxxx-xxxx
Optional arguments
user string Optional
ID of user to get information about
Example: W0123ABC456
email string Optional
Email address of the user to get information about
Example:
[email protected]
Users
The response will include an array of workspace IDs that the user belongs to in an Enterprise organization ( teams ). You may search by either user ID ( user ) or email address ( email ), but you must include one of those. Example request
{
"token" : "xxxx-xxxxxxxxx-xxxx" ,
"user" : "W0123ABC456" ,
"email" : "
[email protected]"
}
Example response
Errors
This table lists the expected errors that this method could return. However, other errors can be returned in the case where the service is down or other unexpected factors affect processing. Callers should always check the value of the ok parameter in the response. Error
Description
access_denied
Access to a resource specified in the request is denied.
accesslimited
Access to this method is limited on the current network
account_inactive
Authentication token is for a deleted user or workspace when using a bot token.
deprecated_endpoint
The endpoint has been deprecated.
ekm_access_denied
Administrators have suspended the ability to post a message.
enterprise_is_restricted
The method cannot be called from an Enterprise.
fatal_error
The server could not complete your operation(s) without encountering a catastrophic error. It's possible some aspect of the operation succeeded before the error was raised.
internal_error
The server could not complete your operation(s) without encountering an error, likely due to a transient issue on our end. It's possible some aspect of the operation succeeded before the error was raised.
invalid_arg_name
The method was passed an argument whose name falls outside the bounds of accepted or expected values. This includes very long names and names with non-alphanumeric characters other than _ . If you get this error, it is typically an indication that you have made a very malformed API call.
invalid_args
invalid_arguments
The method was called with invalid arguments.
invalid_array_arg
The method was passed an array as an argument. Please only input valid strings.
invalid_auth
Some aspect of authentication cannot be validated. Either the provided token is invalid or the request originates from an IP address disallowed from making the request.
invalid_charset
The method was called via a POST request, but the charset specified in the Content-Type header was invalid. Valid charset names are: utf-8 iso-8859-1 .
invalid_email
invalid_form_data
The method was called via a POST request with Content-Type application/x-www-form-urlencoded or multipart/form-data , but the form data was either missing or syntactically invalid.
invalid_post_type
The method was called via a POST request, but the specified Content-Type was invalid. Valid types are: application/json application/x-www-form-urlencoded multipart/form-data text/plain .
method_