Slack Web API
  1. users
Slack Web API
  • admin.apps
    • /admin.apps.approve
      POST
    • /admin.apps.restrict
      POST
  • admin.apps.approved
    • /admin.apps.approved.list
      GET
  • admin.apps.requests
    • /admin.apps.requests.list
      GET
  • admin.apps.restricted
    • /admin.apps.restricted.list
      GET
  • admin.conversations
    • /admin.conversations.archive
      POST
    • /admin.conversations.convertToPrivate
      POST
    • /admin.conversations.create
      POST
    • /admin.conversations.delete
      POST
    • /admin.conversations.disconnectShared
      POST
    • /admin.conversations.getConversationPrefs
      GET
    • /admin.conversations.getTeams
      GET
    • /admin.conversations.invite
      POST
    • /admin.conversations.rename
      POST
    • /admin.conversations.search
      GET
    • /admin.conversations.setConversationPrefs
      POST
    • /admin.conversations.setTeams
      POST
    • /admin.conversations.unarchive
      POST
  • admin.conversations.ekm
    • /admin.conversations.ekm.listOriginalConnectedChannelInfo
  • admin.conversations.restrictAccess
    • /admin.conversations.restrictAccess.addGroup
    • /admin.conversations.restrictAccess.listGroups
    • /admin.conversations.restrictAccess.removeGroup
  • admin.emoji
    • /admin.emoji.add
    • /admin.emoji.addAlias
    • /admin.emoji.list
    • /admin.emoji.remove
    • /admin.emoji.rename
  • admin.inviteRequests
    • /admin.inviteRequests.approve
    • /admin.inviteRequests.deny
    • /admin.inviteRequests.list
  • admin.inviteRequests.approved
    • /admin.inviteRequests.approved.list
  • admin.inviteRequests.denied
    • /admin.inviteRequests.denied.list
  • admin.teams.admins
    • /admin.teams.admins.list
  • admin.teams
    • /admin.teams.create
    • /admin.teams.list
  • admin.teams.owners
    • /admin.teams.owners.list
  • admin.teams.settings
    • /admin.teams.settings.info
    • /admin.teams.settings.setDefaultChannels
    • /admin.teams.settings.setDescription
    • /admin.teams.settings.setDiscoverability
    • /admin.teams.settings.setIcon
    • /admin.teams.settings.setName
  • admin.usergroups
    • /admin.usergroups.addChannels
    • /admin.usergroups.addTeams
    • /admin.usergroups.listChannels
    • /admin.usergroups.removeChannels
  • admin.users
    • /admin.users.assign
    • /admin.users.invite
    • /admin.users.list
    • /admin.users.remove
    • /admin.users.setAdmin
    • /admin.users.setExpiration
    • /admin.users.setOwner
    • /admin.users.setRegular
  • admin.users.session
    • /admin.users.session.invalidate
    • /admin.users.session.reset
  • api
    • /api.test
  • apps.event.authorizations
    • /apps.event.authorizations.list
  • apps.permissions
    • /apps.permissions.info
    • /apps.permissions.request
  • apps.permissions.resources
    • /apps.permissions.resources.list
  • apps.permissions.scopes
    • /apps.permissions.scopes.list
  • apps.permissions.users
    • /apps.permissions.users.list
    • /apps.permissions.users.request
  • apps
    • /apps.uninstall
  • auth
    • /auth.revoke
    • /auth.test
  • bots
    • /bots.info
  • calls
    • /calls.add
    • /calls.end
    • /calls.info
    • /calls.update
  • calls.participants
    • /calls.participants.add
    • /calls.participants.remove
  • chat
    • /chat.delete
    • /chat.deleteScheduledMessage
    • /chat.getPermalink
    • /chat.meMessage
    • /chat.postEphemeral
    • /chat.postMessage
    • /chat.scheduleMessage
    • /chat.unfurl
    • /chat.update
  • chat.scheduledMessages
    • /chat.scheduledMessages.list
  • conversations
    • /conversations.archive
    • /conversations.close
    • /conversations.create
    • /conversations.history
    • /conversations.info
    • /conversations.invite
    • /conversations.join
    • /conversations.kick
    • /conversations.leave
    • /conversations.list
    • /conversations.mark
    • /conversations.members
    • /conversations.open
    • /conversations.rename
    • /conversations.replies
    • /conversations.setPurpose
    • /conversations.setTopic
    • /conversations.unarchive
  • dialog
    • /dialog.open
  • dnd
    • /dnd.endDnd
    • /dnd.endSnooze
    • /dnd.info
    • /dnd.setSnooze
    • /dnd.teamInfo
  • emoji
    • /emoji.list
  • files.comments
    • /files.comments.delete
  • files
    • /files.delete
    • /files.info
    • /files.list
    • /files.revokePublicURL
    • /files.sharedPublicURL
    • /files.upload
  • files.remote
    • /files.remote.add
    • /files.remote.info
    • /files.remote.list
    • /files.remote.remove
    • /files.remote.share
    • /files.remote.update
  • migration
    • /migration.exchange
  • oauth
    • /oauth.access
    • /oauth.token
  • oauth.v2
    • /oauth.v2.access
  • pins
    • /pins.add
    • /pins.list
    • /pins.remove
  • reactions
    • /reactions.add
    • /reactions.get
    • /reactions.list
    • /reactions.remove
  • reminders
    • /reminders.add
    • /reminders.complete
    • /reminders.delete
    • /reminders.info
    • /reminders.list
  • rtm
    • /rtm.connect
  • search
    • /search.messages
  • stars
    • /stars.add
    • /stars.list
    • /stars.remove
  • team
    • /team.accessLogs
    • /team.billableInfo
    • /team.info
    • /team.integrationLogs
  • team.profile
    • /team.profile.get
  • usergroups
    • /usergroups.create
    • /usergroups.disable
    • /usergroups.enable
    • /usergroups.list
    • /usergroups.update
  • usergroups.users
    • /usergroups.users.list
    • /usergroups.users.update
  • users
    • /users.conversations
      GET
    • /users.deletePhoto
      POST
    • /users.getPresence
      GET
    • /users.identity
      GET
    • /users.info
      GET
    • /users.list
      GET
    • /users.lookupByEmail
      GET
    • /users.setActive
      POST
    • /users.setPhoto
      POST
    • /users.setPresence
      POST
  • users.profile
    • /users.profile.get
    • /users.profile.set
  • views
    • /views.open
    • /views.publish
    • /views.push
    • /views.update
  • workflows
    • /workflows.stepCompleted
    • /workflows.stepFailed
    • /workflows.updateStep
  1. users

/users.list

GET
/users.list
users
Lists all users in a Slack team.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET 'https://slack.com/api/users.list'
Response Response Example
200 - response
{
    "cache_ts": 1498777272,
    "members": [
        {
            "color": "9f69e7",
            "deleted": false,
            "has_2fa": false,
            "id": "W012A3CDE",
            "is_admin": true,
            "is_app_user": false,
            "is_bot": false,
            "is_owner": false,
            "is_primary_owner": false,
            "is_restricted": false,
            "is_ultra_restricted": false,
            "name": "spengler",
            "profile": {
                "avatar_hash": "ge3b51ca72de",
                "display_name": "spengler",
                "display_name_normalized": "spengler",
                "email": "spengler@ghostbusters.example.com",
                "image_192": "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
                "image_24": "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
                "image_32": "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
                "image_48": "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
                "image_512": "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
                "image_72": "https://.../avatar/e3b51ca72dee4ef87916ae2b9240df50.jpg",
                "real_name": "Egon Spengler",
                "real_name_normalized": "Egon Spengler",
                "status_emoji": ":books:",
                "status_text": "Print is dead",
                "team": "T012AB3C4"
            },
            "real_name": "spengler",
            "team_id": "T012AB3C4",
            "tz": "America/Los_Angeles",
            "tz_label": "Pacific Daylight Time",
            "tz_offset": -25200,
            "updated": 1502138686
        },
        {
            "color": "9f69e7",
            "deleted": false,
            "has_2fa": false,
            "id": "W07QCRPA4",
            "is_admin": true,
            "is_bot": false,
            "is_owner": false,
            "is_primary_owner": false,
            "is_restricted": false,
            "is_ultra_restricted": false,
            "name": "glinda",
            "profile": {
                "avatar_hash": "8fbdd10b41c6",
                "display_name": "Glinda the Fairly Good",
                "display_name_normalized": "Glinda the Fairly Good",
                "email": "glenda@south.oz.coven",
                "first_name": "Glinda",
                "image_1024": "https://a.slack-edge.com...png",
                "image_192": "https://a.slack-edge.com...png",
                "image_24": "https://a.slack-edge.com...png",
                "image_32": "https://a.slack-edge.com...png",
                "image_48": "https://a.slack-edge.com...png",
                "image_512": "https://a.slack-edge.com...png",
                "image_72": "https://a.slack-edge.com...png",
                "image_original": "https://a.slack-edge.com...png",
                "last_name": "Southgood",
                "phone": "",
                "real_name": "Glinda Southgood",
                "real_name_normalized": "Glinda Southgood",
                "skype": "",
                "title": "Glinda the Good"
            },
            "real_name": "Glinda Southgood",
            "team_id": "T0G9PQBBK",
            "tz": "America/Los_Angeles",
            "tz_label": "Pacific Daylight Time",
            "tz_offset": -25200,
            "updated": 1480527098
        }
    ],
    "ok": true,
    "response_metadata": {
        "next_cursor": "dXNlcjpVMEc5V0ZYTlo="
    }
}

Request

Query Params
token
string 
optional
Authentication token. Requires scope: users:read
limit
integer 
optional
The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached. Providing no limit value will result in Slack attempting to deliver you the entire result set. If the collection is too large you may experience limit_required or HTTP 500 errors.
cursor
string 
optional
Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
include_locale
string 
optional
Set this to true to receive the locale for users. Defaults to false

Responses

🟢200Typical success response
application/json
Body
Schema for successful response from users.list method
cache_ts
integer 
required
members
array[array (objs_user) {1}] 
required
>= 1 items
optional
ok
enum<boolean> 
required
Allowed value:
true
response_metadata
array [anyOf] 
optional
object 
new paging style
optional
object 
deprecation_warning
optional
object 
deprecation_warning and paging style together
optional
🔴500Typical error response
Previous
/users.info
Next
/users.lookupByEmail
Built with