Use API Keys
Prerequisites
- You have obtained an API Key.
REST API Requests
Pass the API Key in the Authorization: Bearer <API_KEY> header in every request to the Palabra API endpoints listed in the API Reference.
WebSocket Streaming APIs
When connecting to the real-time WebSocket endpoints (Speech-to-Speech, Speech-to-Text, Text-to-Speech), pass the API Key in the Authorization header or in the token query parameter — the server validates the key and creates a streaming session for you automatically. See the docs of each streaming API for the endpoint URLs.
Code Samples
The example below shows how to send a request to the built-in voices API endpoint.
Built-in Voices:
- cURL
- Python
- Go
- NodeJS
curl -L 'https://api.palabra.ai/saas/voice/builtin' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YourApiKey>'
import requests
url = 'https://api.palabra.ai/saas/voice/builtin'
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <YourApiKey>',
}
response = requests.get(url, headers=headers)
# Print the response status code and content
print(response.status_code)
print(response.json())
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.palabra.ai/saas/voice/builtin"
req, err := http.NewRequest("GET", url, nil)
if err != nil {
fmt.Println("Error creating request:", err)
return
}
// Set headers
req.Header.Set("Accept", "application/json")
req.Header.Set("Authorization", "Bearer <YourApiKey>")
// Perform the request
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error making request:", err)
return
}
defer resp.Body.Close()
// Read and print the response
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response body:", err)
return
}
fmt.Println("Status Code:", resp.StatusCode)
fmt.Println("Response Body:", string(body))
}
const axios = require('axios');
const url = 'https://api.palabra.ai/saas/voice/builtin';
const headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <YourApiKey>'
};
axios.get(url, { headers })
.then(response => {
console.log('Status Code:', response.status);
console.log('Response Data:', response.data);
})
.catch(error => {
console.error('Error making request:', error);
});
API Reference Playground
Most sections in the Palabra documentation, such as "Built-in Voices", include a Playground block. The Playground block lets you authorize with your API Key and execute test requests directly against the Palabra API.
Swagger Playground
The Palabra API documentation is also available in Swagger UI format, which allows you to send test requests in the Swagger playground using your API Key.
The section linked above offers the same content found in the API Reference right sidebar menu, just with a different user interface.