Automate Discourse Documentation
HumDay reads Discourse Documentation’s own published API description and derives 84 operations from it. Describe the outcome you want in plain words — you get a program that is written, proven on real data, and run for you.
What Discourse Documentation is
This page contains the documentation on how to use Discourse through API calls. > Note: For any endpoints not listed you can follow the [reverse engineer the Discourse API](https://meta.discourse.org/t/-/20576) guide to figure out how to use an API endpoint. ### Request Content-Type The Content-Type for POST and PUT requests can be set to `application/x-www-form-urlencoded`, `multipart/form-data`,
API host: discourse.local
What HumDay can do in Discourse Documentation
49 documented operations change something in Discourse Documentation.
- POSTCreates a new topic, a new post, or a private message
/posts.json - POSTCreates a user
/users.json - POSTSend password reset email
/session/forgot_password.json - POSTCreates a multipart external upload
/uploads/create-multipart.json - POSTCreate an invite
/invites.json - POSTCreates an upload
/uploads.json - POSTLike a post and other actions
/post_actions.json - DELETEdelete a single post
/posts/{id}.json - PUTUpdate a single post
/posts/{id}.json - PUTUpdate a user
/u/{username}.json - POSTCreates a category
/categories.json - POSTCreates a tag group
/tag_groups.json - PUTLock a post from being edited
/posts/{id}/locked.json - POSTAbort multipart upload
/uploads/abort-multipart.json - PUTUpdate email
/u/{username}/preferences/email.json - POSTComplete multipart upload
/uploads/complete-multipart.json - POSTInitiates a direct external upload
/uploads/generate-presigned-put.json - POSTCompletes a direct external upload
/uploads/complete-external-upload.json - POSTCreate topic timer
/t/{id}/timer.json - POSTInvite to topic
/t/{id}/invite.json - PUTAdd group members
/groups/{id}/members.json - POSTSet notification level
/t/{id}/notifications.json - PUTChange password
/users/password-reset/{token}.json - POSTRefresh gravatar
/user_avatar/{username}/refresh_gravatar.json - DELETERemove a topic
/t/{id}.json - PUTMark notifications as read
/notifications/mark-read.json - PUTUpdate a group
/groups/{id}.json - PUTUpdate username
/u/{username}/preferences/username.json - PUTUpdates a category
/categories/{id}.json - PUTUpdate tag group
/tag_groups/{id}.json - POSTGenerates batches of presigned URLs for multipart parts
/uploads/batch-presign-multipart-parts.json - PUTUpdate a topic
/t/-/{id}.json - PUTUpdate the status of a topic
/t/{id}/status.json - PUTBookmark topic
/t/{id}/bookmark.json - PUTUpdate avatar
/u/{username}/preferences/avatar/pick.json - DELETERemove group members
/groups/{id}/members.json - PUTUpdate topic timestamp
/t/{id}/change-timestamp.json - PUTSend download backup email
/admin/backups/{filename} - DELETEDelete a user
/admin/users/{id}.json - POSTCreate badge
/admin/badges.json - POSTCreate a group
/admin/groups.json - POSTCreate backup
/admin/backups.json - POSTLog a user out
/admin/users/{id}/log_out.json - PUTSilence a user
/admin/users/{id}/silence.json - PUTSuspend a user
/admin/users/{id}/suspend.json - PUTAnonymize a user
/admin/users/{id}/anonymize.json - DELETEDelete badge
/admin/badges/{id}.json - PUTUpdate badge
/admin/badges/{id}.json - DELETEDelete a group
/admin/groups/{id}.json
What HumDay can read from Discourse Documentation
These are the operations a schedule or a trigger can watch.
- GETGet a list of user actions
/user_actions.json - GETGet email addresses belonging to a user
/u/{username}/emails.json - GETList latest posts across topics
/posts.json - GETList replies to a post
/posts/{id}/replies.json - GETGet a public list of users
/directory_items.json - GETGet a list of private messages for a user
/topics/private-messages/{username}.json - GETGet a list of private messages sent for a user
/topics/private-messages-sent/{username}.json - GETRetrieve a single post
/posts/{id}.json - GETGet a single user by username
/u/{username}.json - GETList badges for a user
/user-badges/{username}.json - GETGet a list of tags
/tags.json - GETList groups
/groups.json - GETSearch for a term
/search.json - GETRetrieves a list of categories
/categories.json - GETGet a list of tag groups
/tag_groups.json - GETGet the notifications that belong to the current user
/notifications.json - GETGet a user by externalid
/u/by-external/{external_id}.json - GETGet the top topics filtered by period
/top.json - GETGet site info
/site.json - GETGet the latest topics
/latest.json - GETGet specific posts from a topic
/t/{id}/posts.json - GETGet a user by identity provider external ID
/u/by-external/{provider}/{external_id}.json - GETList group members
/groups/{id}/members.json - GETList topics
/c/{slug}/{id}.json - GETGet a single topic
/t/{id}.json - GETGet a specific tag
/tag/{name}.json - GETGet a group
/groups/{id}.json - GETGet a single tag group
/tag_groups/{id}.json - GETShow category
/c/{id}/show.json - GETGet topic by externalid
/t/external_id/{external_id}.json - GETGet a user by id
/admin/users/{id}.json - GETList badges
/admin/badges.json - GETList backups
/admin/backups.json - GETGet a list of users
/admin/users/list/{flag}.json - GETDownload backup
/admin/backups/{filename}
How automating Discourse Documentation works
- Describe the outcome. Say what you want to happen, in your own words. No node graphs, no field mapping.
- Approve the contract. HumDay writes down exactly what it will do, what it will touch, and what it will never do. You approve it before anything is built.
- See it proven. The program runs and shows you the result before it is allowed near your live Discourse Documentation account.
- Grant access, then go live. You approve the specific Discourse Documentation operations it may use — and only those.
Automate Discourse Documentation with these
- Discord242 operations
- CPY PeerTube185 operations
- Mastodon Specification (https //github.com/mastodon/mastodon)127 operations
- spoonacular99 operations
- Twitter80 operations
- Trashnothing trash nothing76 operations
- Contribly44 operations
- Clubhouseapi Clubhouse41 operations
- Semantria41 operations
- DEV Forem40 operations
- Medium32 operations
- Instagram24 operations
Categories
Questions about Discourse Documentation automation
- Can HumDay connect to Discourse Documentation?
- Yes. HumDay reads Discourse Documentation's own published API description and derives the operations from it, so there is no hand-built connector to wait for. 84 operations are documented.
- Do I need to write code to automate Discourse Documentation?
- No. You describe the outcome you want in plain words. HumDay agrees a contract with you, writes the program, and shows you a test run before anything touches your Discourse Documentation account.
- What can HumDay do in Discourse Documentation?
- 49 of the 84 documented operations change something in Discourse Documentation, and 35 read from it. HumDay only ever uses the specific operations your approved contract needs.
- Is my Discourse Documentation account safe?
- Your credentials are stored encrypted and are never shown in chat, code, or logs. Every run is limited to the operations you explicitly approved, and anything that writes to Discourse Documentation is held behind that approval.
Where this came from
The operations above are read from a published API description for Discourse Documentation at docs.discourse.org/openapi.json. Descriptions are the provider’s own words, not ours. Last published 2023-03-06.