Quickstart
1. Create a developer account
Register with your work email and confirm the verification link. Sandbox accounts are free.
2. Create an application
On Applications & keys, create an app and choose scopes (start with cases:read). Copy the client secret right away; it is shown only once.
3. Get an access token
bash
curl -s -u "$CLIENT_ID:$CLIENT_SECRET" \
-d grant_type=client_credentials \
-d scope="cases:read" \
https://dev.ironbrick.us/oauth/tokenResponse
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6ImF0K2p3dCJ9...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "cases:read"
}4. Validate it (optional)
Paste the token into the Auth Validator to see each check (signature, issuer, audience, expiry, client status, scope), or call token introspection.
5. Call an API
bash
curl -s -H "Authorization: Bearer $TOKEN" \
"https://dev.ironbrick.us/sandbox/cases/v1/cases?status=in_review"You can also use the Try it buttons on any API reference page while signed in.
Python
python
import os, requests
tok = requests.post("https://dev.ironbrick.us/oauth/token",
auth=(os.environ["CLIENT_ID"], os.environ["CLIENT_SECRET"]),
data={"grant_type": "client_credentials", "scope": "cases:read"}, timeout=10).json()
r = requests.get("https://dev.ironbrick.us/sandbox/cases/v1/cases",
headers={"Authorization": f"Bearer {tok['access_token']}"}, timeout=10)
r.raise_for_status()
print(r.json()["data"][0]["caseId"], r.headers["X-RateLimit-Remaining"])Node.js
javascript
const basic = Buffer.from(`${process.env.CLIENT_ID}:${process.env.CLIENT_SECRET}`).toString("base64");
const { access_token } = await (await fetch("https://dev.ironbrick.us/oauth/token", {
method: "POST",
headers: { Authorization: `Basic ${basic}`, "Content-Type": "application/x-www-form-urlencoded" },
body: "grant_type=client_credentials&scope=cases:read",
})).json();
const cases = await (await fetch("https://dev.ironbrick.us/sandbox/cases/v1/cases", {
headers: { Authorization: `Bearer ${access_token}` },
})).json();
console.log(cases.data);