TURN Server Projects
Only available in Business and Enterprise Plans
Turn Server Projects is a feature that allows you to logically group your TURN server credentials into distinct projects. Each project has its own API Key, quota settings, notifications, and usage tracking—enabling you to achieve multi-tenancy, secure credential management, and better control over your overall TURN usage.
Overview
- Project Isolation: Create separate projects for different customers or products, and group TURN server credentials accordingly.
- API Key Security: Each project receives its own unique API Key, which can be used to programmatically create and manage credentials within that specific project.
- Quota Management: Optionally enforce quotas on a per-project basis to cap the data usage and apply custom actions (e.g., notify or disable credentials) when the quota is reached.
- Notifications: Configure email or webhook alerts that trigger upon reaching quotas, helping you stay on top of usage.
- Usage Tracking: Even if you set no quota (i.e., set quota to
0), you can still track usage by project for billing or reporting purposes.
Creating a Project
- Navigate to TURN Server → Projects in the dashboard (classic dashboard: the Projects section of the TURN Server page).
- Click on the New project button (classic dashboard: Create Project).
- Enter your project details. Field names differ slightly between the two dashboards; the classic name is given in brackets.
- Project name [classic: Project Name]: A descriptive name (e.g., "Customer A", "Internal Product X"). The new dashboard also derives a slug from it.
- Monthly quota (MB) [classic: Quota]: The data usage limit. Leave it empty for an unlimited quota; the new dashboard offers 50 GB / 500 GB / 2 TB / ∞ presets as well as a custom value in MB.
- Notification emails - optional [classic: Notification Email(s)]: Up to 10 addresses, notified when the quota thresholds are reached.
- Webhook URL - optional: A
httpsURL that receives a HTTP POST request when the quota is reached. - When quota is exceeded [classic: Project Quota Exceeded Action]: Disable (the default) disables every TURN credential in the project; Notify only sends the notification email and webhook but leaves the credentials active; None does nothing and sends nothing.
- Create the project (Create project, or Save on the classic dashboard). You will see the newly created project with an assigned Project ID and API Key.
You can also use Create Project API API to create the project using the API.
Managing Credentials within a Project
Once a project is created, you can manage TURN credentials under that project:
- Select Manage on the project card (classic dashboard: Manage TURN Credentials).
- Open the project's Credentials tab and click Create credential (classic dashboard: the Add Credential button on the project page).
- Optionally specify a label for the credential.
You can also use the Create Project Credential API and use the Project API Key to create the credentials inside the project.
Quota Settings
By default, a project’s quota is set to 0 (meaning unlimited). You can change the quota to any non-zero value to enforce data usage limits.
Actions on Quota Reach
When a project reaches its quota, you can choose one of the following actions:
- notify: Sends notifications (email/webhook) but keeps the credentials active.
- disable: Automatically disables all TURN credentials in the project, preventing any further usage until the quota is adjusted or reset.
- none: Does nothing. Does not disable the credentials. Also does not send email notification or trigger webhook.
Example Scenarios
| Quota (GB) | Action | Description |
|---|---|---|
0 | No Quota | No limit enforced, but usage is still tracked. |
100 | Notify Only | Sends alerts when usage is at or exceeds 100 GB, but credentials remain active. |
200 | Disable Credentials | Disables all credentials when usage hits 200 GB. This project cannot use TURN until quota changes. |
Notifications
You can configure one or more notifications for a project:
- Email Notifications: Specify the email address(es) that should receive usage alerts.
- Webhook Notifications: Provide a webhook URL that will receive JSON payloads when usage crosses the project’s quota threshold.
Configuring Notifications
- Edit the project you want to configure.
- Notification Emails - You can specify upto 10 notification emails separated by comma. Notification emails are sent at 80% quota and at 100% quota
- Webhook URL - Optional - You can specify a Webhook URL where https POST request is sent. The webhook is sent at 80% quota and at 100% quota.
When the usage quota is reached, an alert will be triggered, sending details about the project and the current usage.
Example Use Cases
-
Multi-Tenant Environment
If you have multiple customers each requiring TURN services, create a project for each customer and set an appropriate quota. For instance:- Customer A Project: Quota of 100 GB
- Customer B Project: Quota of 200 GB
Each customer’s usage is tracked separately, and notifications/actions can be set individually.
-
Multiple Products
A company with multiple products can create a project for each product. Each project has its own credentials, API Key, and quota settings, improving organization and security. -
Usage Tracking Without Quotas
Set the project quota to0if you only want to track usage without imposing limits. This still gives you insights into how much data each project is consuming.
Summary
Turn Server Projects introduce a robust way to organize, secure, and manage your TURN server credentials. By leveraging per-project API Keys, optional quota settings, and notification rules, you can tailor usage limits and security policies for each tenant or product line—ensuring clear visibility into resource utilization and preventing unexpected overages.
Key Highlights:
- Secure isolation through unique API Keys per project.
- Customizable quotas to limit usage and trigger actions.
- Multi-tenant support for customers or product lines.
- Detailed usage metrics and notifications.