Create your API Key to access Build platform APIs and webhooks.
Credentials
- API keys — Use for server-to-server (S2S) calls. Keys stay on your backend.
- SDK credentials — Use to authorize SDK calls from your client, to start and join Video SDK or Cobrowse SDK sessions.
- API credentials — Use a short-lived JWT for client-to-backend API calls. A JWT expires quickly and doesn't expose your secret.
Never embed raw API keys or secrets in client-side code.
Create API Key
- In Platform Studio, click Credentials.
- Click Create next to API Keys.
- Enter a Name. This is optional and internal only. If you don't choose a name, Platform Studio uses a default.
- Expires after. Choose an expiration option: Never, 30 days, 90 days, 180 days, 1 year.
- IP allowlist. Enter any IP addresses that you want to allow, or empty to allow all.
- Permissions. Choose scopes for APIs. These depend on your product. You can choose multiple permissions for multiple products for one key, or limit permissions as needed.
- Click Create key.
- API key created. You'll see a modal dialog with the key and the instructions: This is your new API key. Make sure to copy it before closing this dialog. For security reasons, it will not be shown again. Copy your key and put it in a key manager.
- Click Close. You'll get a confirmation dialog to confirm that you copied your key before the modal closes: Have you saved your key? It cannot be shown again once this dialog closes. You will not be able to access your key again. Click Close anyway or Go back.
Table of API keys
Click an action to manage your key:
- Edit - Change the name and permissions. You can't change the expiration time.
- Disable/re-enable - Choose to disable or re-enable a key.
- Revoke your key - Choose to revoke your key. Applications using this key will immediately lose access. This action cannot be undone. This also removes the key from the table.
Review credential details
Click a key name to review the details about it.
- Name - The key name.
- ID - The ID, for internal support.
- User ID - The ID of the user who created the key.
- Permissions - The permissions the key has.
- Status - The key status, Active or Disabled.
- Expires - The expiration date and time, or "Never".
- Created - The date and time the key was created.
- Updated - The date and time the key was updated.
Create JWT for API credentials
Create the JWT from your API key and secret. To generate it, choose an expiration time and click Generate under Generate test API credential token.
Expiration time
- Expire in - Choose when the JWT expires: 90 minutes, 1 day, or 1 week.
- Expiration time - The expiration time for your JWT. For example: Your JWT token will expire at HH:MM PM, MONTH DD, YYYY.
Copy JWT
Copy your JWT from the JWT Token field.
Regenerate API Secret
Click Regenerate to regenerate your API Secret, if needed.
Make your first API call on Platform Studio
Use the Platform Studio playground to make API calls to Zoom AI Services and explore their capabilities before integrating them into your application.
Select an AI Services API, configure its input and options, and run the request to view the results.
- Sign in to Platform Studio .
- Under AI Services, select the API you want to try:
- Scribe API: In Input, make a recording, use a sample conversation, upload a file, or enter a URL for a public audio or video file. Configure the language, model, and features, then select Run. View the results in Output in preview mode or as raw data.
- Summarizer API: In Input, use a sample transcript, paste transcript text, or upload a transcript. Configure the output language, then select Run. View the results in Output in preview mode or as raw data.
- Translator API: In Input, paste up to 4,000 characters or upload a text file. Configure the source and target languages, then select Run. View the results in Output in preview mode or as raw data.
Example programmatic API call
Here are examples of calling AI Services APIs outside of the playground.
You can authenticate in the following ways:
- Bearer token:
Authorization: Bearer TOKENusing your API key or JWT. - Custom header:
x-api-key: ZOOM_API_KEYusing your API key.
When you send both the x-api-key custom header and a Bearer token, the x-api-key takes precedence. An invalid x-api-key causes authentication to fail even when the bearer credential is valid.
Get your API key or JWT from Platform Studio.
Authenticate with Bearer token
This example calls the synchronous transcription endpoint for the Scribe API. Replace `TOKEN' with your JWT or API key and the file URL with a publicly accessible audio URL.
curl -X POST https://api.zoom.us/v2/aiservices/scribe/transcribe \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{
"file": "https://example.com/sample_conversation.wav",
"config": {
"language": "en-US",
"output_format": "json",
"word_time_offsets": true,
"diarization": true
}
}'
You should get a response code of 200 OK and a response body that resembles the code that follows. This example shows one segment and an abbreviated word list.
{
"request_id": "3f2b8c1e-7a4d-4e9b-b6f0-1c5d8a2e9b47",
"duration_sec": 5.869,
"result": {
"text_display": "Seed is needed to plant the spring corn.",
"segments": [
{
"start": 0,
"end": 2.934,
"channel": 0,
"speaker": "Speaker 1",
"text": "Seed is needed to plant the spring corn.",
"words": [
{
"word": "Seed",
"start": 0,
"end": 0.366
}
]
}
]
}
}
Authenticate with custom header
You can also authenticate with the x-api-key custom header using your API key. Store your API key in an environment variable and pass it in the x-api-key header. If requests return a 401 error, check that the key is valid.
curl --fail-with-body https://api.zoom.us/v2/aiservices/translator/translate \
-H "x-api-key: $ZOOM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Welcome to Zoom AI Services.",
"config": {
"source_language": "en-US",
"target_languages": ["zh-CN"]
}
}'
Authenticate WebSocket connections
The Scribe Live mode and Voice Agent APIs use the same credentials. Connect from your application backend and include your credentials in the headers of the WebSocket upgrade request, such as a token in the Authorization header.