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

Download

Base URL

https://public-api.spellweave.app/api/v1

Authentication

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_TOKEN

Response 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-446655440000

The 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.

HeaderDescription
RateLimit-PolicyAll configured windows (e.g. 60;w=60, 10000;w=86400)
RateLimit-LimitMaximum requests in current window
RateLimit-RemainingRemaining requests in current window
RateLimit-ResetSeconds until window resets
Retry-AfterSeconds 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"
  }
}
StatusMeaning
200Success
401Invalid or expired access token
403Insufficient scope for this endpoint
404Resource not found or not owned by user
429Rate limit exceeded
500Server error