List and filter topics
GET /api/v1/topics
GET
/api/v1/topics
Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ” subject
string
Filter by subject slug
grade
string
Filter by grade slug
q
string
Search by name or slug
page
integer
pageSize
integer
Responses
Section titled “ Responses ”Paginated list of topics
object
data
object
topics
Array<object>
object
slug
string
name
string
description
string
subject
object
slug
string
name
string
skillCount
integer
grades
Array<string>
meta
object
requestId
string format: uuid
generatedAt
string format: date-time
apiVersion
string
cacheHit
boolean
pagination
object
page
required
integer
pageSize
required
integer
total
required
integer
hasNext
required
boolean
Rate limit exceeded
RFC 7807 Problem Details
object
type
required
string format: uri
title
required
string
status
required
integer
detail
required
string
instance
string
retryAfter
Seconds to wait before retrying (present on 429 responses)
integer
Example
{ "type": "https://api.studyplug.org/errors/rate-limited", "title": "Rate Limit Exceeded", "status": 429, "detail": "You have exceeded 20 requests per minute. Please wait before retrying.", "instance": "/api/v1/skills", "retryAfter": 12}Headers
Section titled “Headers ” Retry-After
integer
Seconds until rate limit resets
X-RateLimit-Limit
integer
Max requests per window
X-RateLimit-Remaining
integer
Always 0 when rate limited