List environments
curl --request GET \
--url https://odyssey.asteroid.ai/agents/v2/environments \
--header 'X-Asteroid-Agents-Api-Key: <api-key>'import requests
url = "https://odyssey.asteroid.ai/agents/v2/environments"
headers = {"X-Asteroid-Agents-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Asteroid-Agents-Api-Key': '<api-key>'}};
fetch('https://odyssey.asteroid.ai/agents/v2/environments', 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://odyssey.asteroid.ai/agents/v2/environments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Asteroid-Agents-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"
"net/http"
"io"
)
func main() {
url := "https://odyssey.asteroid.ai/agents/v2/environments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Asteroid-Agents-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://odyssey.asteroid.ai/agents/v2/environments")
.header("X-Asteroid-Agents-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://odyssey.asteroid.ai/agents/v2/environments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Asteroid-Agents-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"environments": [
{
"createdAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z",
"hasRecording": true,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": {
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"executionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "execution"
},
"agentProfileId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"readyAt": "2023-11-07T05:31:56Z",
"stoppedAt": "2023-11-07T05:31:56Z"
}
]
}{
"code": 400,
"message": "<string>"
}{
"code": 401,
"message": "<string>"
}{
"code": 403,
"message": "<string>"
}{
"code": 404,
"message": "<string>"
}{
"code": 500,
"message": "<string>"
}Environments
List environments
List the standalone environments bound to an agent, newest first. Only environments this API key’s organisation started are returned; those owned by an execution or an astro conversation are private to those owners. Terminal environments are excluded unless includeTerminal is set.
GET
/
environments
List environments
curl --request GET \
--url https://odyssey.asteroid.ai/agents/v2/environments \
--header 'X-Asteroid-Agents-Api-Key: <api-key>'import requests
url = "https://odyssey.asteroid.ai/agents/v2/environments"
headers = {"X-Asteroid-Agents-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Asteroid-Agents-Api-Key': '<api-key>'}};
fetch('https://odyssey.asteroid.ai/agents/v2/environments', 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://odyssey.asteroid.ai/agents/v2/environments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Asteroid-Agents-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"
"net/http"
"io"
)
func main() {
url := "https://odyssey.asteroid.ai/agents/v2/environments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Asteroid-Agents-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://odyssey.asteroid.ai/agents/v2/environments")
.header("X-Asteroid-Agents-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://odyssey.asteroid.ai/agents/v2/environments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Asteroid-Agents-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"environments": [
{
"createdAt": "2023-11-07T05:31:56Z",
"expiresAt": "2023-11-07T05:31:56Z",
"hasRecording": true,
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"owner": {
"agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"executionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "execution"
},
"agentProfileId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"readyAt": "2023-11-07T05:31:56Z",
"stoppedAt": "2023-11-07T05:31:56Z"
}
]
}{
"code": 400,
"message": "<string>"
}{
"code": 401,
"message": "<string>"
}{
"code": 403,
"message": "<string>"
}{
"code": 404,
"message": "<string>"
}{
"code": 500,
"message": "<string>"
}Authorizations
Query Parameters
The agent whose environments to list. Gates access, and supplies the organisation.
Include stopped, failed and dead environments. Omit for running environments only.
Response
The request has succeeded.
Response for the list endpoint, ordered by createdAt DESC. Empty array when nothing matches the filters.
The matching environments.
Show child attributes
Show child attributes
⌘I

