Export an environment's traffic
curl --request POST \
--url https://api.twinbay.ai/environments/{environment_id}/exports \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"environment_twin_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"occurred_from": "2023-11-07T05:31:56Z",
"occurred_until": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.twinbay.ai/environments/{environment_id}/exports"
payload = {
"environment_twin_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"occurred_from": "2023-11-07T05:31:56Z",
"occurred_until": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
environment_twin_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
occurred_from: '2023-11-07T05:31:56Z',
occurred_until: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.twinbay.ai/environments/{environment_id}/exports', 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.twinbay.ai/environments/{environment_id}/exports",
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([
'environment_twin_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'occurred_from' => '2023-11-07T05:31:56Z',
'occurred_until' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.twinbay.ai/environments/{environment_id}/exports"
payload := strings.NewReader("{\n \"environment_twin_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"occurred_from\": \"2023-11-07T05:31:56Z\",\n \"occurred_until\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.twinbay.ai/environments/{environment_id}/exports")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"environment_twin_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"occurred_from\": \"2023-11-07T05:31:56Z\",\n \"occurred_until\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.twinbay.ai/environments/{environment_id}/exports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"environment_twin_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"occurred_from\": \"2023-11-07T05:31:56Z\",\n \"occurred_until\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>",
"slice": {
"environment_twin_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"occurred_from": "2023-11-07T05:31:56Z",
"occurred_until": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z",
"failure": "<string>",
"completed_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}environments
Export an environment's traffic
Records the slice to export and answers immediately; a worker writes the file. An empty body exports the whole environment for all of time.
POST
/
environments
/
{environment_id}
/
exports
Export an environment's traffic
curl --request POST \
--url https://api.twinbay.ai/environments/{environment_id}/exports \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"environment_twin_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"occurred_from": "2023-11-07T05:31:56Z",
"occurred_until": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.twinbay.ai/environments/{environment_id}/exports"
payload = {
"environment_twin_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"occurred_from": "2023-11-07T05:31:56Z",
"occurred_until": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
environment_twin_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
occurred_from: '2023-11-07T05:31:56Z',
occurred_until: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.twinbay.ai/environments/{environment_id}/exports', 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.twinbay.ai/environments/{environment_id}/exports",
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([
'environment_twin_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'occurred_from' => '2023-11-07T05:31:56Z',
'occurred_until' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.twinbay.ai/environments/{environment_id}/exports"
payload := strings.NewReader("{\n \"environment_twin_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"occurred_from\": \"2023-11-07T05:31:56Z\",\n \"occurred_until\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.twinbay.ai/environments/{environment_id}/exports")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"environment_twin_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"occurred_from\": \"2023-11-07T05:31:56Z\",\n \"occurred_until\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.twinbay.ai/environments/{environment_id}/exports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"environment_twin_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"occurred_from\": \"2023-11-07T05:31:56Z\",\n \"occurred_until\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>",
"slice": {
"environment_twin_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"occurred_from": "2023-11-07T05:31:56Z",
"occurred_until": "2023-11-07T05:31:56Z"
},
"created_at": "2023-11-07T05:31:56Z",
"failure": "<string>",
"completed_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Access tokenOrganization API key
Access token issued by WorkOS AuthKit.
Path Parameters
Body
application/json
Twin slots inside this environment to export, by environment_twins.id. Omitted exports every twin; an empty list would export none, which is never what a caller means.
Minimum array length:
1Export calls served at or after this instant.
Export calls served at or before this instant. An export never reads past the moment it was asked for, whatever this says.
Response
Successful Response
pending, running, ready or failed
The traffic this export was asked for.
Show child attributes
Show child attributes
Why generation failed, if it did.