Authentication
The REST API uses Laravel Sanctum bearer tokens for authentication. Board admins generate API tokens from their Admin Control Panel with fine-grained permission scopes.
Making authenticated requests
Include the token as a Bearer token in the Authorization header:
curl https://your-board.forumspark.net/api/forums \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Available token scopes
Each token can be granted any combination of these scopes. Write scopes include read access.
| Scope | Description |
|---|---|
forums.read | Read forums and categories |
forums.write | Create, update, and delete forums |
topics.read | Read topics |
topics.write | Create, update, and delete topics |
replies.read | Read replies |
replies.write | Create, update, and delete replies |
users.read | Read user profiles |
users.write | Create, update, and delete users |
groups.read | Read user groups |
groups.write | Create, update, and delete groups |
themes.read | Read themes and settings |
themes.write | Create, update themes, CSS, and layouts |
webhooks.read | List webhook subscriptions |
webhooks.write | Create and delete webhook subscriptions |
Important: API requests must be made to the board's subdomain (e.g. your-board.forumspark.net), not the main forumspark.net domain. The API is only available on per-board domains.
REST API
All API endpoints return JSON. Requests that create or modify data should include Content-Type: application/json
and Accept: application/json headers.
Endpoint reference
Generated from the route tableApp Data
| Endpoint | Required ability |
|---|---|
| GET/app-data | any |
| PUT/app-data | any |
| GET/app-data/{key} | any |
| PUT/app-data/{key} | any |
| DELETE/app-data/{key} | any |
Board
| Endpoint | Required ability |
|---|---|
| GET/board | any |
Forums
| Endpoint | Required ability |
|---|---|
| GET/forums | forums.read,forums.write |
| POST/forums | forums.write |
| GET/forums/{forum} | forums.read,forums.write |
| PATCH/forums/{forum} | forums.write |
| POST/forums/{forum}/topics | topics.write |
Frontend Jwt
| Endpoint | Required ability |
|---|---|
| POST/frontend-jwt/validate | any |
Groups
| Endpoint | Required ability |
|---|---|
| GET/groups | groups.read,groups.write |
| POST/groups | groups.write |
| GET/groups/{group} | groups.read,groups.write |
| PATCH/groups/{group} | groups.write |
Replies
| Endpoint | Required ability |
|---|---|
| GET/replies | replies.read,replies.write |
| GET/replies/{reply} | replies.read,replies.write |
| PATCH/replies/{reply} | replies.read,replies.write |
Themes
| Endpoint | Required ability |
|---|---|
| GET/themes | themes.read,themes.write |
| POST/themes | themes.write |
| GET/themes/{theme} | themes.read,themes.write |
| PATCH/themes/{theme} | themes.write |
| PATCH/themes/{theme}/css | themes.write |
| PATCH/themes/{theme}/guest-layout | themes.write |
| PATCH/themes/{theme}/layout | themes.write |
Topics
| Endpoint | Required ability |
|---|---|
| GET/topics | topics.read,topics.write |
| GET/topics/{topic} | topics.read,topics.write |
| PATCH/topics/{topic} | topics.write |
| POST/topics/{topic}/replies | replies.read,replies.write |
User
| Endpoint | Required ability |
|---|---|
| GET/user | any |
Users
| Endpoint | Required ability |
|---|---|
| GET/users | users.read,users.write |
| POST/users | users.write |
| GET/users/{user} | users.read,users.write |
| PATCH/users/{user} | users.write |
Webhooks
| Endpoint | Required ability |
|---|---|
| GET/webhooks | webhooks.read,webhooks.write |
| POST/webhooks | webhooks.write |
| DELETE/webhooks/{webhook} | webhooks.write |
Token scopes
Generated from the platform registry| Scope | Grants |
|---|---|
| theme.apply | Apply theme to boards |
| widgets.register | Register custom widgets |
| scripts.inject | Inject scripts into forum pages |
| board.read | Read board configuration |