Slack Web API
  1. users.profile
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
      GET
  • admin.conversations.restrictAccess
    • /admin.conversations.restrictAccess.addGroup
      POST
    • /admin.conversations.restrictAccess.listGroups
      GET
    • /admin.conversations.restrictAccess.removeGroup
      POST
  • 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
    • /users.deletePhoto
    • /users.getPresence
    • /users.identity
    • /users.info
    • /users.list
    • /users.lookupByEmail
    • /users.setActive
    • /users.setPhoto
    • /users.setPresence
  • users.profile
    • /users.profile.get
      GET
    • /users.profile.set
      POST
  • views
    • /views.open
    • /views.publish
    • /views.push
    • /views.update
  • workflows
    • /workflows.stepCompleted
    • /workflows.stepFailed
    • /workflows.updateStep
  1. users.profile

/users.profile.set

POST
/users.profile.set
users.profileusers
Set the profile information for a user.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://slack.com/api/users.profile.set' \
--header 'token;'
Response Response Example
200 - response
{
    "ok": true,
    "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_expiration": 0,
        "status_text": "Print is dead",
        "team": "T012AB3C4"
    }
}

Request

Header Params
token
string 
required
Authentication token. Requires scope: users.profile:write
Body Params application/x-www-form-urlencoded
name
string 
optional
Name of a single key to set. Usable only if profile is not passed.
profile
string 
optional
Collection of key:value pairs presented as a URL-encoded JSON hash. At most 50 fields may be set. Each field name is limited to 255 characters.
user
string 
optional
ID of user to change. This argument may only be specified by team admins on paid teams.
value
string 
optional
Value to set a single key to. Usable only if profile is not passed.

Responses

🟢200Typical success response
application/json
Body
Schema for successful response from users.profile.set method
email_pending
string <email>
optional
ok
enum<boolean> 
required
Allowed value:
true
profile
object (User profile object) 
required
always_active
boolean 
optional
api_app_id
string 
optional
Match pattern:
^(A[A-Z0-9]{1,})?$
avatar_hash
string 
required
bot_id
string 
optional
Match pattern:
^B[A-Z0-9]{8,}$
display_name
string 
required
display_name_normalized
string 
required
email
string <email> | null 
optional
fields
required
first_name
string  | null 
optional
guest_expiration_ts
integer  | null 
optional
guest_invited_by
string  | null 
optional
image_1024
string <uri> | null 
optional
image_192
string <uri> | null 
optional
image_24
string <uri> | null 
optional
image_32
string <uri> | null 
optional
image_48
string <uri> | null 
optional
image_512
string <uri> | null 
optional
image_72
string <uri> | null 
optional
image_original
string <uri> | null 
optional
is_app_user
boolean 
optional
is_custom_image
boolean 
optional
is_restricted
boolean  | null 
optional
is_ultra_restricted
boolean  | null 
optional
last_avatar_image_hash
string 
optional
last_name
string  | null 
optional
memberships_count
integer 
optional
name
string  | null 
optional
phone
string 
required
pronouns
string 
optional
real_name
string 
required
real_name_normalized
string 
required
skype
string 
required
status_default_emoji
string 
optional
status_default_text
string 
optional
status_default_text_canonical
string  | null 
optional
status_emoji
string 
required
status_expiration
integer 
optional
status_text
string 
required
status_text_canonical
string  | null 
optional
team
string 
optional
Match pattern:
^[TE][A-Z0-9]{8,}$
title
string 
required
updated
integer 
optional
user_id
string 
optional
username
string  | null 
optional
username
string 
required
🔴500Typical error response
Previous
/users.profile.get
Next
/views.open
Built with