Discourse API Documentation
This page contains the documentation on how to use Discourse through API calls.
Latency
2768ms p95
Uptime
0.0% 30d
Playground
Verified
live
Endpoints
/users/password-reset/{token}.json
Change password
/invites.json
Create an invite
/admin/backups.json
List backups
/admin/backups.json
Create backup
/admin/backups/{filename}
Download backup
/admin/backups/{filename}
Send download backup email
/admin/badges.json
List badges
/admin/badges.json
Create badge
/admin/badges/{id}.json
Delete badge
/admin/badges/{id}.json
Update badge
/admin/groups.json
Create a group
/admin/groups/{id}.json
Delete a group
/t/{id}/invite.json
Invite to topic
/t/{id}/notifications.json
Set notification level
/admin/users/list/{flag}.json
Get a list of users
/admin/users/{id}.json
Delete a user
/admin/users/{id}.json
Get a user by id
/admin/users/{id}/anonymize.json
Anonymize a user
/admin/users/{id}/log_out.json
Log a user out
/admin/users/{id}/silence.json
Silence a user
/admin/users/{id}/suspend.json
Suspend a user
/c/{id}/show.json
Show category
/c/{slug}/{id}.json
List topics
/categories.json
Retrieves a list of categories
/categories.json
Creates a category
/categories/{id}.json
Updates a category
/t/{id}/posts.json
Get specific posts from a topic
/user_avatar/{username}/refresh_gravatar.json
Refresh gravatar
/directory_items.json
Get a public list of users
/groups.json
List groups
/groups/{id}.json
Get a group
/groups/{id}.json
Update a group
/groups/{id}/members.json
Remove group members
/groups/{id}/members.json
List group members
/groups/{id}/members.json
Add group members
/latest.json
Get the latest topics
/notifications.json
Get the notifications that belong to the current user
/notifications/mark-read.json
Mark notifications as read
/post_actions.json
Like a post and other actions
/posts.json
List latest posts across topics
/posts.json
Creates a new topic, a new post, or a private message
/posts/{id}.json
delete a single post
/posts/{id}.json
Retrieve a single post
/posts/{id}.json
Update a single post
/posts/{id}/locked.json
Lock a post from being edited
/posts/{id}/replies.json
List replies to a post
/search.json
Search for a term
/session/forgot_password.json
Send password reset email
/site.json
Get site info
/t/-/{id}.json
Update a topic
/t/external_id/{external_id}.json
Get topic by external_id
/t/{id}.json
Remove a topic
/t/{id}.json
Get a single topic
/t/{id}/bookmark.json
Bookmark topic
/t/{id}/change-timestamp.json
Update topic timestamp
/users.json
Creates a user
/t/{id}/status.json
Update the status of a topic
/t/{id}/timer.json
Create topic timer
/tag/{name}.json
Get a specific tag
/tag_groups.json
Get a list of tag groups
/tag_groups.json
Creates a tag group
/tag_groups/{id}.json
Get a single tag group
/tag_groups/{id}.json
Update tag group
/tags.json
Get a list of tags
/top.json
Get the top topics filtered by period
/topics/private-messages-sent/{username}.json
Get a list of private messages sent for a user
/topics/private-messages/{username}.json
Get a list of private messages for a user
/u/by-external/{external_id}.json
Get a user by external_id
/u/by-external/{provider}/{external_id}.json
Get a user by identity provider external ID
/u/{username}.json
Get a single user by username
/u/{username}.json
Update a user
/u/{username}/emails.json
Get email addresses belonging to a user
/u/{username}/preferences/avatar/pick.json
Update avatar
/u/{username}/preferences/email.json
Update email
/u/{username}/preferences/username.json
Update username
/uploads.json
Creates an upload
/uploads/abort-multipart.json
Abort multipart upload
/uploads/batch-presign-multipart-parts.json
Generates batches of presigned URLs for multipart parts
/uploads/complete-external-upload.json
Completes a direct external upload
/uploads/complete-multipart.json
Complete multipart upload
/uploads/create-multipart.json
Creates a multipart external upload
/uploads/generate-presigned-put.json
Initiates a direct external upload
/user-badges/{username}.json
List badges for a user
/user_actions.json
Get a list of user actions
84 endpoints auto-detected
curl -X PUT \
"http://discourse.local/users/password-reset/{token}.json"discourse.local · HTTPS only