Create or Update Environment
curl --request PUT \
--url https://api.revring.ai/v1/agents/{id}/environments/{name} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"revision": 12,
"variables": {
"tone": "formal",
"region": "EU"
}
}
'import requests
url = "https://api.revring.ai/v1/agents/{id}/environments/{name}"
payload = {
"revision": 12,
"variables": {
"tone": "formal",
"region": "EU"
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({revision: 12, variables: {tone: 'formal', region: 'EU'}})
};
fetch('https://api.revring.ai/v1/agents/{id}/environments/{name}', 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.revring.ai/v1/agents/{id}/environments/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'revision' => 12,
'variables' => [
'tone' => 'formal',
'region' => 'EU'
]
]),
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.revring.ai/v1/agents/{id}/environments/{name}"
payload := strings.NewReader("{\n \"revision\": 12,\n \"variables\": {\n \"tone\": \"formal\",\n \"region\": \"EU\"\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.revring.ai/v1/agents/{id}/environments/{name}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"revision\": 12,\n \"variables\": {\n \"tone\": \"formal\",\n \"region\": \"EU\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.revring.ai/v1/agents/{id}/environments/{name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"revision\": 12,\n \"variables\": {\n \"tone\": \"formal\",\n \"region\": \"EU\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"name": "<string>",
"revision": 123,
"variables": {},
"builtin": true,
"phoneNumbers": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>"
}{
"error": "unauthorized"
}{
"error": "not_found"
}{
"error": "<string>"
}Agent Versions
Create or Update Environment
Creates the environment when the name is new, otherwise updates the fields you send. Up to 10 environments per agent. production cannot be edited here (409 environment_builtin): publish instead. A revision must exist in the agent’s version history.
PUT
/
agents
/
{id}
/
environments
/
{name}
Create or Update Environment
curl --request PUT \
--url https://api.revring.ai/v1/agents/{id}/environments/{name} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"revision": 12,
"variables": {
"tone": "formal",
"region": "EU"
}
}
'import requests
url = "https://api.revring.ai/v1/agents/{id}/environments/{name}"
payload = {
"revision": 12,
"variables": {
"tone": "formal",
"region": "EU"
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({revision: 12, variables: {tone: 'formal', region: 'EU'}})
};
fetch('https://api.revring.ai/v1/agents/{id}/environments/{name}', 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.revring.ai/v1/agents/{id}/environments/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'revision' => 12,
'variables' => [
'tone' => 'formal',
'region' => 'EU'
]
]),
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.revring.ai/v1/agents/{id}/environments/{name}"
payload := strings.NewReader("{\n \"revision\": 12,\n \"variables\": {\n \"tone\": \"formal\",\n \"region\": \"EU\"\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.revring.ai/v1/agents/{id}/environments/{name}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"revision\": 12,\n \"variables\": {\n \"tone\": \"formal\",\n \"region\": \"EU\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.revring.ai/v1/agents/{id}/environments/{name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"revision\": 12,\n \"variables\": {\n \"tone\": \"formal\",\n \"region\": \"EU\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"name": "<string>",
"revision": 123,
"variables": {},
"builtin": true,
"phoneNumbers": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>"
}{
"error": "unauthorized"
}{
"error": "not_found"
}{
"error": "<string>"
}Authorizations
API key for authentication. Generate API keys from the RevRing dashboard.
Path Parameters
Environment name (slug). Immutable once created
Pattern:
^[a-z][a-z0-9-]{0,31}$Body
application/json
Response
Environment
Show child attributes
Show child attributes