curl --request GET \
--url https://api.galtea.ai/organizations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.galtea.ai/organizations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.galtea.ai/organizations', 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.galtea.ai/organizations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.galtea.ai/organizations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.galtea.ai/organizations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/organizations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "org_123",
"name": "Example Organization",
"remainingSubscriptionCredits": 1000,
"extraCredits": 500,
"lastWarningAt": "2023-11-07T05:31:56Z",
"warningAt": 100,
"stripeCustomerId": "cus_123",
"samlEntrypointUrl": "<string>",
"samlEntityId": "<string>",
"samlIssuerId": "<string>",
"samlPublicCertificate": "<string>",
"samlSignedResponse": true,
"samlSignedAssertions": true,
"samlForcePasswordAuth": true,
"samlTeamSlug": "<string>",
"enforceMfa": false,
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"otelProductKey": [
"service.namespace",
"service.name"
],
"otelVersionAttributes": [
"service.version",
"app.agent.model"
],
"otelInputSourceRule": {
"spanName": "ExecuteActivity:add_user_message",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "user"
}
},
"otelOutputSourceRule": {
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
}
}
]{
"error": "Error type",
"message": "Error message description"
}Get organizations
Get list of organizations with pagination and filtering. See Platform Overview.
curl --request GET \
--url https://api.galtea.ai/organizations \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.galtea.ai/organizations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.galtea.ai/organizations', 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.galtea.ai/organizations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.galtea.ai/organizations"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.galtea.ai/organizations")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/organizations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "org_123",
"name": "Example Organization",
"remainingSubscriptionCredits": 1000,
"extraCredits": 500,
"lastWarningAt": "2023-11-07T05:31:56Z",
"warningAt": 100,
"stripeCustomerId": "cus_123",
"samlEntrypointUrl": "<string>",
"samlEntityId": "<string>",
"samlIssuerId": "<string>",
"samlPublicCertificate": "<string>",
"samlSignedResponse": true,
"samlSignedAssertions": true,
"samlForcePasswordAuth": true,
"samlTeamSlug": "<string>",
"enforceMfa": false,
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"otelProductKey": [
"service.namespace",
"service.name"
],
"otelVersionAttributes": [
"service.version",
"app.agent.model"
],
"otelInputSourceRule": {
"spanName": "ExecuteActivity:add_user_message",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "user"
}
},
"otelOutputSourceRule": {
"spanName": "ExecuteActivity:save_reply",
"attribute": "app.arguments",
"path": "$[0].message.content",
"predicate": {
"path": "$[0].message.role",
"equals": "assistant"
}
}
}
]{
"error": "Error type",
"message": "Error message description"
}Authorizations
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....
Query Parameters
Filter by organization IDs
Filter by organization name
Sort instructions (field and direction pairs)
Maximum number of results
Number of results to skip
Response
Organizations retrieved successfully
"org_123"
"Example Organization"
1000
500
The credit balance below which members get a low-credit warning, from 0 up to the monthly credits of the plan. Null turns the warning off.
100
"cus_123"
When true, every member of the organization must complete an MFA challenge to sign in. Settable by Owners (via update) and Admins (via create or update).
The resource attributes that identify a product of this organization, 1 to 10 names. Each product gives its own value for each of them. A name cannot start with "galtea." or be "customer.id". Changing the set of names is refused while a product that uses this key holds values. It cannot be null.
["service.namespace", "service.name"]
The resource attributes whose values make up a version, up to 32 names. A trace that carries no galtea.version.id and no galtea.version.fact.* gets the version built from the listed attributes it carries. Each fact keeps the attribute name as its key. A name cannot start with "galtea." or be "customer.id". An empty list turns this off. A product can replace the list with its own.
["service.version", "app.agent.model"]
Recovers a turn's input from a non-LLM span for every product with no rule of its own. A version rule wins over a product rule, and a product rule over this one. Null clears it.
Show child attributes
Show child attributes
Recovers a turn's output from a non-LLM span for every product with no rule of its own. A version rule wins over a product rule, and a product rule over this one. Null clears it.
Show child attributes
Show child attributes