Create background sound upload
curl --request POST \
--url https://api.coval.dev/v1/personas/background-sounds \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"display_name": "Lobby Noise",
"original_filename": "lobby-noise.mp3",
"default_volume": 0.3,
"metadata": {}
}
'import requests
url = "https://api.coval.dev/v1/personas/background-sounds"
payload = {
"display_name": "Lobby Noise",
"original_filename": "lobby-noise.mp3",
"default_volume": 0.3,
"metadata": {}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
display_name: 'Lobby Noise',
original_filename: 'lobby-noise.mp3',
default_volume: 0.3,
metadata: {}
})
};
fetch('https://api.coval.dev/v1/personas/background-sounds', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.coval.dev/v1/personas/background-sounds",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'display_name' => 'Lobby Noise',
'original_filename' => 'lobby-noise.mp3',
'default_volume' => 0.3,
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.coval.dev/v1/personas/background-sounds"
payload := strings.NewReader("{\n \"display_name\": \"Lobby Noise\",\n \"original_filename\": \"lobby-noise.mp3\",\n \"default_volume\": 0.3,\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.coval.dev/v1/personas/background-sounds")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"display_name\": \"Lobby Noise\",\n \"original_filename\": \"lobby-noise.mp3\",\n \"default_volume\": 0.3,\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coval.dev/v1/personas/background-sounds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"display_name\": \"Lobby Noise\",\n \"original_filename\": \"lobby-noise.mp3\",\n \"default_volume\": 0.3,\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"background_sound": {
"id": "cafe",
"value": "custom:3zfmuDbVQsi4GaseDtiVcS",
"display_name": "Cafe",
"default_volume": 0.3,
"preview_url": "<string>",
"preview_url_expires_at": "2023-11-07T05:31:56Z",
"content_type": "audio/mpeg",
"original_filename": "cafe-noise.mp3",
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"last_updated_at": "2023-11-07T05:31:56Z"
},
"upload_url": "<string>",
"upload_fields": {},
"expires_at": "2023-11-07T05:31:56Z",
"max_size_bytes": 52428800
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "Invalid language_code 'en-ZZ'"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Missing or invalid API key"
}
}{
"error": {
"code": "INTERNAL",
"message": "An unexpected error occurred"
}
}Personas
Create background sound upload
Creates a pending custom background sound and returns a short-lived private S3 upload form.
POST
/
personas
/
background-sounds
Create background sound upload
curl --request POST \
--url https://api.coval.dev/v1/personas/background-sounds \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"display_name": "Lobby Noise",
"original_filename": "lobby-noise.mp3",
"default_volume": 0.3,
"metadata": {}
}
'import requests
url = "https://api.coval.dev/v1/personas/background-sounds"
payload = {
"display_name": "Lobby Noise",
"original_filename": "lobby-noise.mp3",
"default_volume": 0.3,
"metadata": {}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
display_name: 'Lobby Noise',
original_filename: 'lobby-noise.mp3',
default_volume: 0.3,
metadata: {}
})
};
fetch('https://api.coval.dev/v1/personas/background-sounds', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.coval.dev/v1/personas/background-sounds",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'display_name' => 'Lobby Noise',
'original_filename' => 'lobby-noise.mp3',
'default_volume' => 0.3,
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.coval.dev/v1/personas/background-sounds"
payload := strings.NewReader("{\n \"display_name\": \"Lobby Noise\",\n \"original_filename\": \"lobby-noise.mp3\",\n \"default_volume\": 0.3,\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.coval.dev/v1/personas/background-sounds")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"display_name\": \"Lobby Noise\",\n \"original_filename\": \"lobby-noise.mp3\",\n \"default_volume\": 0.3,\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coval.dev/v1/personas/background-sounds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"display_name\": \"Lobby Noise\",\n \"original_filename\": \"lobby-noise.mp3\",\n \"default_volume\": 0.3,\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"background_sound": {
"id": "cafe",
"value": "custom:3zfmuDbVQsi4GaseDtiVcS",
"display_name": "Cafe",
"default_volume": 0.3,
"preview_url": "<string>",
"preview_url_expires_at": "2023-11-07T05:31:56Z",
"content_type": "audio/mpeg",
"original_filename": "cafe-noise.mp3",
"metadata": {},
"created_at": "2023-11-07T05:31:56Z",
"last_updated_at": "2023-11-07T05:31:56Z"
},
"upload_url": "<string>",
"upload_fields": {},
"expires_at": "2023-11-07T05:31:56Z",
"max_size_bytes": 52428800
}{
"error": {
"code": "INVALID_ARGUMENT",
"message": "Invalid language_code 'en-ZZ'"
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Missing or invalid API key"
}
}{
"error": {
"code": "INTERNAL",
"message": "An unexpected error occurred"
}
}Authorizations
API key for authentication
Body
application/json
Required string length:
1 - 200Example:
"Lobby Noise"
Required string length:
1 - 255Example:
"lobby-noise.mp3"
WAV or MP3 content type.
Available options:
audio/mpeg, audio/mp3, audio/wav, audio/x-wav, audio/wave, audio/vnd.wave Required range:
x >= 0Response
Upload created successfully
Show child attributes
Show child attributes
Presigned S3 POST URL.
Form fields to include in the multipart upload POST before the file field.
Show child attributes
Show child attributes
Example:
52428800
Was this page helpful?
⌘I