Projects & Credentials
How projects provide credential isolation and scope all API access on TournamentSuite.
What is a project?
A project is the organizational unit that contains your tournaments, API credentials, webhooks, and sandbox environment. When you create a project in the Platform dashboard, you get an isolated space where all your data lives.
API credentials created inside a project can only access resources within that same project. This means:
- An API key from Project A cannot read tournaments from Project B.
- Webhooks registered in a project only fire for events within that project.
- Sandbox data is completely separate from production data.
This isolation makes it straightforward to maintain separate projects for different environments (development, staging, production) or for different clients if you are an agency or platform operator.
Creating a project
Log in to the Platform dashboard, click New Project, and fill in a name and description. You can create as many projects as your plan allows.
Types of credentials
Each project can have multiple credentials. There are two types:
API keys
API keys are static secrets sent in the X-API-Key header. They are the simplest option for server-side integrations where no user context is needed.
- Generated in Settings → Developer → API Keys
- Each key carries a specific set of scopes
- Keys can be revoked at any time without affecting other keys
OAuth 2 client credentials
OAuth 2 clients are used when your integration needs to act on behalf of a specific user (e.g., letting a player register for a tournament through your website). A client has a client_id and client_secret that are exchanged for short-lived access tokens.
See OAuth 2 for the full flow.
Sandbox environment
Every project includes a sandbox mode. In sandbox mode, all API calls behave identically to production, but no real data is affected and no payments are processed. Use the sandbox to develop and test your integration before going live.
Switch between sandbox and production by using the corresponding base URL:
| Environment | Base URL |
|---|---|
| Production | https://api.tournamentsuite.com/api/v1 |
| Sandbox | https://sandbox-api.tournamentsuite.com/api/v1 |
The same credentials are valid for both environments within the same project.