Organizations
Create Site
Creates a new site within an organization. Requires admin or owner role in the organization.
POST /api/organizations/:organizationId/sitesCreates a new site within an organization. Requires admin or owner role in the organization.
Path Parameters
Prop
Type
Request Body
Prop
Type
Response
Returns the created site object with the assigned siteId.
Prop
Type
curl -X POST "https://app.rybbit.io/api/organizations/org_123/sites" \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"domain": "example.com", "name": "My Website", "blockBots": true}'const organizationId = 'org_123';
const response = await fetch(
`https://app.rybbit.io/api/organizations/${organizationId}/sites`,
{
method: 'POST',
headers: {
'Authorization': 'Bearer your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
domain: 'example.com',
name: 'My Website',
blockBots: true
})
}
);
const data = await response.json();import requests
organization_id = 'org_123'
response = requests.post(
f'https://app.rybbit.io/api/organizations/{organization_id}/sites',
json={
'domain': 'example.com',
'name': 'My Website',
'blockBots': True
},
headers={
'Authorization': 'Bearer your_api_key_here'
}
)
data = response.json()$organizationId = 'org_123';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://app.rybbit.io/api/organizations/{$organizationId}/sites");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'domain' => 'example.com',
'name' => 'My Website',
'blockBots' => true
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer your_api_key_here',
'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);require 'net/http'
require 'json'
organization_id = 'org_123'
uri = URI("https://app.rybbit.io/api/organizations/#{organization_id}/sites")
req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer your_api_key_here'
req['Content-Type'] = 'application/json'
req.body = {
domain: 'example.com',
name: 'My Website',
blockBots: true
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)organizationId := "org_123"
body := bytes.NewBuffer([]byte(`{
"domain": "example.com",
"name": "My Website",
"blockBots": true
}`))
req, _ := http.NewRequest("POST", "https://app.rybbit.io/api/organizations/"+organizationId+"/sites", body)
req.Header.Set("Authorization", "Bearer your_api_key_here")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var data map[string]interface{}
json.NewDecoder(resp.Body).Decode(&data)let organization_id = "org_123";
let client = reqwest::Client::new();
let res = client
.post(format!("https://app.rybbit.io/api/organizations/{}/sites", organization_id))
.header("Authorization", "Bearer your_api_key_here")
.json(&serde_json::json!({
"domain": "example.com",
"name": "My Website",
"blockBots": true
}))
.send()
.await?;
let data: serde_json::Value = res.json().await?;String organizationId = "org_123";
HttpClient client = HttpClient.newHttpClient();
String json = "{\"domain\": \"example.com\", \"name\": \"My Website\", \"blockBots\": true}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://app.rybbit.io/api/organizations/" + organizationId + "/sites"))
.header("Authorization", "Bearer your_api_key_here")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());var organizationId = "org_123";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer your_api_key_here");
var content = new StringContent(
"{\"domain\": \"example.com\", \"name\": \"My Website\", \"blockBots\": true}",
Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync($"https://app.rybbit.io/api/organizations/{organizationId}/sites", content);
var data = await response.Content.ReadAsStringAsync();{
"siteId": 456,
"id": "a1b2c3d4e5f6",
"domain": "example.com",
"name": "My Website",
"organizationId": "org_123",
"createdBy": "user_xyz789",
"public": false,
"saltUserIds": false,
"blockBots": true,
"excludedIPs": [],
"excludedCountries": [],
"sessionReplay": false,
"webVitals": false,
"trackErrors": false,
"trackOutbound": true,
"trackUrlParams": true,
"trackInitialPageView": true,
"trackSpaNavigation": true,
"trackIp": false,
"trackButtonClicks": false,
"trackCopy": false,
"trackFormInteractions": false,
"tags": []
}Get My OrganizationsGET
Returns all organizations the authenticated user is a member of, including all members for each organization. Excludes subscription and billing information. Supports both session cookies and API key (Bearer token) authentication.
Get Organization MembersGET
Returns all members of an organization with their user details and roles. Requires membership in the organization.