Skip to main content

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/token
Response
{
  "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);