Introduction
The Spellweave API lets you access user data from Spellweave, the synergy-driven Commander deck builder for Magic: The Gathering. Build tools, analytics dashboards, deck sharing platforms, or anything else you can imagine.
Postman Collection
Pre-configured OAuth flow + all API endpoints
Base URL
https://public-api.spellweave.app/api/v1Authentication
All API requests require a valid OAuth 2.0 access token passed in theAuthorization header. The API uses Authorization Code + PKCE for secure token exchange.
Authorization: Bearer YOUR_ACCESS_TOKENResponse Format
All responses follow a consistent envelope format with data and meta fields.
{
"data": { ... },
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-03-31T14:22:00Z"
}
}Pagination
List endpoints support cursor-based pagination. Pass the cursor parameter from the previous response to get the next page.
GET /api/v1/decks?limit=20&cursor=550e8400-e29b-41d4-a716-446655440000The meta.has_more field indicates if additional pages exist. meta.next_cursor provides the cursor value for the next page.
Rate Limits
Default limits are 60 requests per minute and 10,000 requests per day. Rate limit information is included in response headers.
| Header | Description |
|---|---|
RateLimit-Policy | All configured windows (e.g. 60;w=60, 10000;w=86400) |
RateLimit-Limit | Maximum requests in current window |
RateLimit-Remaining | Remaining requests in current window |
RateLimit-Reset | Seconds until window resets |
Retry-After | Seconds to wait before retrying (on 429) |
Errors
Error responses include a consistent error object with code and message fields.
{
"error": {
"code": "not_found",
"message": "Deck not found"
}
}| Status | Meaning |
|---|---|
200 | Success |
401 | Invalid or expired access token |
403 | Insufficient scope for this endpoint |
404 | Resource not found or not owned by user |
429 | Rate limit exceeded |
500 | Server error |