Discourse API Documentation
This is the complete API documentation for connecting to the Discourse API using MindCloud's Universal API. If you are new to MindCloud, start with the Introduction to see how one API can sit in front of many different apps.
MindCloud is an integration company that offers one normalized API to access 3,100+ apps from a single place. It cleans up provider-specific quirks, keeps requests and responses consistent, and centralizes authentication so you do not need to manage separate flows for every app. Browse other apps.
Meet Discourse: Manage communities, topics, posts, and users in Discourse forums. Keep reading to get started.
Quickstart
Before you run your first Discourse request, you need three things:
- A MindCloud account — sign in or create an account at MindCloud.
- A MindCloud API Key — create one in API Keys. Keep it on your server.
- At least one Discourse connection — create or choose one in Connections. Note its
connectionId.
Every Discourse action uses the same URL pattern:
https://connect.mindcloud.co/v1/universal/discourse/latest/actions/{actionSlug}You need a MindCloud API Key and a Discourse connection. Then call an action such as Get Category:
curl --request GET \
--url "https://connect.mindcloud.co/v1/universal/discourse/latest/actions/get-category" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--get \
--data-urlencode "connectionId=$CONNECTION_ID"Every response comes back in the same envelope, with your rows in a data array:
{
"success": true,
"data": [
{ "id": "1042", "name": "Ava" }
],
"meta": {}
}After your first request works, use Shape your requests to control arguments, pagination, filtering, fields, and errors.
Authentication
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected Discourse account that should run the action. MindCloud stores and refreshes the Discourse credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions. Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs.
Discourse actions
All 78 published actions for this Discourse version. Each page documents the endpoint, arguments, and response controls.
- DELETEAbort Multipart Upload
- PUTActivate User
- PUTAdd Group Members
- PUTAnonymize User
- POSTBatch Presign Multipart Parts
- PUTBookmark Topic
- PUTChange Password
- POSTComplete External Upload
- POSTComplete Multipart Upload
- POSTCreate Backup
- POSTCreate Badge
- POSTCreate Category
- POSTCreate Group
- POSTCreate Invite
- POSTCreate Multipart Upload
- POSTCreate Multiple Invites
- POSTCreate Tag Group
- POSTCreate Topic
- POSTCreate Topic Timer
- POSTCreate Upload
- POSTCreate User
- PUTDeactivate User
- DELETEDelete Badge
- DELETEDelete Group
- DELETEDelete Post
- DELETEDelete Topic
- DELETEDelete User
- POSTGenerate Presigned Put
- GETGet Category
- GETGet Group
- GETGet Group By Id
- GETGet Notifications
- GETGet Post
- GETGet Site Basic Info
- GETGet Tag
- GETGet Topic
- GETGet Topic By External ID
- GETGet Topic Posts
- GETGet User
- GETGet User Emails
- POSTInvite Group To Topic
- POSTInvite To Topic
- PUTLike Post
- GETList Categories
- GETList Category Topics
- GETList Group Members
- GETList Groups
- GETList Latest Topics
- GETList Post Replies
- GETList Posts
- GETList Public Users
- GETList Tags
- GETList Top Topics
- GETList User Actions
- GETList User Badges
- PUTLock Post
- PUTLog Out User
- PUTMark Notifications As Read
- PUTRefresh Gravatar
- PUTRemove Group Members
- GETSearch
- PUTSend Download Backup Email
- POSTSend Password Reset Email
- PUTSet Topic Notification Level
- PUTSilence User
- PUTSuspend User
- PUTUpdate Avatar
- PUTUpdate Badge
- PUTUpdate Category
- PUTUpdate Email
- PUTUpdate Group
- PUTUpdate Post
- PUTUpdate Tag Group
- PUTUpdate Topic
- PUTUpdate Topic Status
- PUTUpdate Topic Timestamp
- PUTUpdate User
- PUTUpdate Username
Related apps
More Marketing apps on the Universal API, behind the same REST shape. Or browse all apps.