Included
List subjects
GET
/api/v1/subjectsIncluded- Scope
curriculum:read- Price
- Included once you've topped up
Every subject in the catalogue, with its qualification and exam board. The starting point for everything else, because the ids it returns are what the other endpoints take.
What to know
- An empty list is a valid answer to a filter nothing matches. It is never an error.
- There are no topic or subtopic counts on this list, deliberately. Counting per subject would be one query per row on a list of hundreds. Fetch a subject tree when you need the size of one.
- Only active catalogue content appears. Retired, archived and user-created subjects are never returned.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| qualification | string | No | Filter to one qualification, for example "GCSE" or "A-Level". Matched case-insensitively against the whole value. |
| examBoard | string | No | Filter to one board, for example "AQA". Matched case-insensitively against the whole value. |
Example request
curl
curl "https://www.revisiongenie.com/api/v1/subjects?qualification=GCSE&examBoard=AQA" \
-H "Authorization: Bearer rgk_live_YOUR_KEY_HERE"Example response
json
{
"subjects": [
{
"id": "6612f0a1c3b4d5e6f7a80912",
"name": "Biology",
"qualification": "GCSE",
"examBoard": "AQA"
},
{
"id": "6612f0a1c3b4d5e6f7a80913",
"name": "Chemistry",
"qualification": "GCSE",
"examBoard": "AQA"
}
],
"count": 2
}Errors
Every error carries the same shape: a stable error code to branch on and a message for a human. Codes specific to this endpoint come first.
| Code | Status | When |
|---|---|---|
| topup_required | 402 | This developer account has never topped up. The data endpoints are included from your first top-up onwards, whatever your balance does afterwards. The body carries a top-up link. |
| invalid_key | 401 | The key is missing, malformed, revoked, expired, or is not a developer key. |
| forbidden | 403 | The key is valid but does not hold the scope this endpoint requires. |
| suspended | 403 | The developer account is suspended. Data reads stop as well as billable calls. |
| rate_limited | 429 | The key went past its ceiling: 120 calls a minute overall, 30 a minute on the paid endpoints. Also returned after repeated failed authentication from one address. |
| server_error | 500 | Something failed on our side. Retry; a paid call is refunded. |