Developers
Developer portal for the ServaDiscord API, MCP server, and machine-readable docs.
This is the developer portal for ServaDiscord. It lists every programmatic surface, how to authenticate, how to make a first request, and how the API is versioned.
Surfaces
| Surface | Where | Use it to |
|---|---|---|
| REST API (v1) | https://www.servadiscord.com/api/v1 | Resolve invites, read guild data, sync roles and channels |
| OpenAPI spec | openapi.json | Generate clients and validate requests |
| MCP server | https://www.servadiscord.com/mcp | Let Claude, ChatGPT, or another agent manage a workspace graph |
| Docs search API | https://docs.servadiscord.com/api/search?query= | Search these docs (spec) |
| llms.txt | llms.txt | Give an agent the site map and when-to-use guidance |
API keys and authentication
ServaDiscord does not issue API keys. Authenticated endpoints use OAuth 2.0 with Discord sign-in, and the MCP server accepts an OAuth bearer token. Authorization server metadata (RFC 8414) is published at https://www.servadiscord.com/.well-known/oauth-authorization-server. Public endpoints, such as invite lookup and docs search, need no credentials.
Quickstart
Resolve a Discord invite with curl:
curl -sS https://www.servadiscord.com/api/v1/discord/invite/YOUR_CODESandbox
There is no separate sandbox environment. To test safely, create a throwaway Discord server and a test bot, connect it to a workspace as described in getting started, and point your requests at that server only.
Errors
Every 4xx and 5xx JSON response from /api/v1 has the shape { "error", "code", "message" }. code is a stable snake_case identifier such as unauthorized, not_found, or rate_limited. The schema is Error in the OpenAPI spec.
Rate limits
Each client may make 60 requests per 60 seconds. Responses carry RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, and RateLimit-Policy. When the limit is exceeded the API returns HTTP 429 with a Retry-After header in seconds.
Versioning and deprecation policy
The API version is part of the URL path: everything today lives under /api/v1. Within a version we only make backwards-compatible changes, such as new endpoints, new optional fields, and new error codes. Breaking changes ship under a new path (/api/v2) and never alter /api/v1.
When a version or endpoint is deprecated we signal it three ways: a Deprecation response header, a Sunset response header with the removal date, and an entry in the changelog. A deprecated version keeps working for at least 6 months after the first notice. The unversioned machine endpoints (/.well-known/*, /mcp, and /api/auth/*) follow their own protocol specifications.
Need help? Join the ServaDiscord support server.