This portal is still in testing and may change before full release. Testers welcome!
API Documentation
WowCoach Developer API v1.0 reference
Authentication
Authenticated endpoints require an API key in the X-WowCoach-Api-Key header. API keys are free to create with any account. An active subscription is required to access your data. The read:guilds scope requires a Guild subscription.
curl -H "X-WowCoach-Api-Key: wc_live_abc123..." \
https://api.wowcoach.gg/api/v1/logs/{logId}Data access: Your own data requires an active subscription. Third-party apps can access other users' data via OAuth2 with the data owner's consent (the authorizing user must have a subscription).
Create and manage API keys in the API Keys page. Each key has scopes that control which resources it can access.
OAuth2 (Third-Party Apps)
If your app needs to access another user's data (not the API key owner's), use OAuth2 Authorization Code + PKCE. This lets users grant your app specific permissions.
Flow
- Register an OAuth app in the OAuth Apps page to get a
client_idandclient_secret. - Redirect users to
GET /api/oauth/authorizewith your client_id, redirect_uri, scopes, and PKCE code_challenge. - User approves on the WowCoach consent screen.
- Your callback receives an authorization code.
- Exchange the code for tokens via
POST /api/oauth/token. - Include the access token as
Authorization: Bearer wcoat_...alongside your API key.
curl -H "X-WowCoach-Api-Key: wc_live_abc123..." \
-H "Authorization: Bearer wcoat_xyz789..." \
https://api.wowcoach.gg/api/v1/me/runsAccess tokens expire after 1 hour. Use the refresh token to get a new pair via POST /api/oauth/token with grant_type=refresh_token.
Free for all users: Registering OAuth apps is free for all users — no subscription required.
Public Endpoints
A small set of endpoints are available without any authentication. These enable link previews, embeds, and basic integration without requiring a subscription:
Report embeds and API status checks.
Rate limited to 60 requests/hour per IP address.
Response Format
Base URL: https://api.wowcoach.gg
All responses use a standard JSON envelope:
{
"data": { ... },
"meta": {
"version": "1.0",
"requestId": "abc123",
"timestamp": "2026-02-21T00:00:00Z"
},
"rateLimit": {
"limit": 2000,
"remaining": 1847,
"reset": "2026-02-21T13:00:00Z"
}
}Paginated endpoints include a pagination object with offset, limit, total, and hasMore fields.
Errors follow RFC 7807:
{
"error": {
"type": "https://developers.wowcoach.gg/errors/not-found",
"code": "NOT_FOUND",
"status": 404,
"title": "Not Found",
"detail": "Fight 'abc123' not found.",
"requestId": "req_xyz"
}
}Rate Limits
API requests are rate-limited per API key. All keys share the same generous limits:
Rate limit headers are included on every response:
X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-ResetX-RateLimit-PolicyWhen rate limited, you'll receive a 429 response with a Retry-After header.
API Resources
Click each section to expand the endpoint list. Endpoints marked PUBLIC require no authentication.
OpenAPI Specification
Full OpenAPI 3.1 specification available for import into Postman, SDK generators, or API testing tools.
Download OpenAPI Spec