API: Discussion Forum
« Back to the API Documentation overview - authentication, security, response codes, and the full endpoint list.
Online and locked topics. Pass ID to get a single topic with its replies (returned in items[]; the topic itself is returned in a topic object).
| HTTP Request Type | GET |
| Calling URI | https://www.YourDepartment.com/apps/api/discuss/ |
| Request Header | Authorization: Bearer {access_token} |
| Success Codes | 200 OK |
| Failure Codes | 400, 401, 403, 404, 405, 429, 500 - see the error reference |
Parameters
| Parameter | Description |
ID |
Optional. A Topic_ID; response then contains the topic plus its replies. |
StartDate / EndDate |
Optional. Filter topic list by last-post date (yyyy-mm-dd). |
All data endpoints also accept the common MaxRows
(default 100, maximum 500) and StartRow paging parameters.
Response Properties
| Property | Description |
Topic_ID / Topic_Title |
Topic ID and title |
Topic_Locked |
1 = topic is locked (number) |
Topic_CreatedDate / Topic_LastPostDate |
Dates (string) |
Author |
Topic or reply author (string) |
ReplyCount |
List mode: number of online replies (number) |
Reply_ID / Reply_Text / Reply_CreatedDate |
Single-topic mode: each item is one reply |
Records are returned in the items array of the
standard response envelope.
Sample Code
Exchange your refresh token for an access token, then request data. The same two steps
work in any language; JavaScript and Python are shown here.
JavaScript
const BASE = "https://www.YourDepartment.com/apps/api";
const REFRESH_TOKEN = "your-refresh-token-here";
// 1. Exchange the refresh token for an access token (do this from a server,
// not from a public web page, so the refresh token stays secret)
const tokenRes = await fetch(`${BASE}/refresh/`, {
method: "POST",
headers: { "Authorization": `Bearer ${REFRESH_TOKEN}` }
});
const tokenData = await tokenRes.json();
// 2. Call the discuss endpoint (reuse the token for up to 24 hours)
const res = await fetch(`${BASE}/discuss/?MaxRows=10`, {
headers: { "Authorization": `Bearer ${tokenData.access_token}` }
});
const data = await res.json();
data.items.forEach(item => console.log(item));
Python
import requests
BASE = "https://www.YourDepartment.com/apps/api"
REFRESH_TOKEN = "your-refresh-token-here"
# 1. Exchange the refresh token for an access token
token = requests.post(f"{BASE}/refresh/",
headers={"Authorization": f"Bearer {REFRESH_TOKEN}"}).json()
# 2. Call the discuss endpoint (reuse the token for up to 24 hours)
data = requests.get(f"{BASE}/discuss/",
params={"MaxRows": 10},
headers={"Authorization": f"Bearer {token['access_token']}"}).json()
for item in data["items"]:
print(item)
|