Skip to content
Connector

Discourse API Documentation

social · discourse.local

Watched current checked 11h ago
Watched Watched spec-monitored only

Watched for drift — classified from the API's own spec; not yet a gate-proven pack.

77 verified · 7 degraded · 84 total tools
checked daily
score 0

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`, or `application/json`. ### Endpoint Names and Response Content-Type Most API endpoints provide the same content as their HTML counterparts. For example the URL `/categories` serves a list of categories, the `/categories.json` API provides the same information in JSON format. Instead of sending API requests to `/categories.json` you may also send them to `/categories` and add an `Accept: application/json` header to the request to get the JSON response. Sending requests with the `Accept` header is necessary if you want to use URLs for related endpoints returned by the API, such as pagination URLs. These URLs are returned without the `.json` prefix so you need to add the header in order to get the correct response format. ### Authentication Some endpoints do not require any authentication, pretty much anything else will require you to be authenticated. To become authenticated you will need to create an API Key from the admin panel. Once you have your API Key you can pass it in along with your API Username as an HTTP header like this: ``` curl -X GET "http://127.0.0.1:3000/admin/users/list/active.json" \ -H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \ -H "Api-Username: system" ``` and this is how POST requests will look: ``` curl -X POST "http://127.0.0.1:3000/categories" \ -H "Content-Type: multipart/form-data;" \ -H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \ -H "Api-Username: system" \ -F "name=89853c20-4409-e91a-a8ea-f6cdff96aaaa" \ -F "color=49d9e9" \ -F "text_color=f0fcfd" ``` ### Boolean values If an endpoint accepts a boolean be sure to specify it as a lowercase `true` or `false` value unless noted otherwise.

Watch Discourse API Documentation for drift →

Install

watched · not yet packaged
npx verifyport add discourse-local --lang python
npx verifyport add discourse-local --lang go
npx verifyport add discourse-local --lang node

Agent trust (law 4)

the agent verdict →
agent: degraded score 55

A tool has degraded — pin to a known-good version.

Behavioral replay

spec-monitored only

No live replays yet — this connector is spec-monitored. Behavioral proof arrives with credentialed, read-only replay.

Drift timeline

No drift recorded yet — the spec has held its shape.

Spec history

  • 11h ago 84 tools CLEAN:77 BAD_SPEC:7 residual 8%