Organizations
Create User in Organization
Creates a new user account with a password and adds it to the organization.
POST /api/organizations/:organizationId/usersCreates a new Rybbit account with an email and password and adds it to the organization with the given role, without sending an invitation. To add someone who already has an account, use Add Member; to email an invitation, use Invite Member.
Permissions: the admin role or above in the organization. API keys need the org:write scope. You can't assign a role above your own. The new member is checked against your own membership, so organization API keys are rejected with 401.
Path Parameters
Prop
Type
Request Body
Prop
Type
Response
Returns 201.
Prop
Type
Error Responses
Errors use the standard body { error, code, message, resolution }.
Prop
Type
curl -X POST "https://app.rybbit.io/api/organizations/org_123/users" \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"email": "jane@example.com",
"name": "Jane Doe",
"password": "a-long-password",
"role": "viewer"
}'const response = await fetch(
'https://app.rybbit.io/api/organizations/org_123/users',
{
method: 'POST',
headers: {
'Authorization': 'Bearer your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'jane@example.com',
name: 'Jane Doe',
password: 'a-long-password',
role: 'viewer'
})
}
);
const data = await response.json();import requests
response = requests.post(
'https://app.rybbit.io/api/organizations/org_123/users',
json={
'email': 'jane@example.com',
'name': 'Jane Doe',
'password': 'a-long-password',
'role': 'viewer'
},
headers={
'Authorization': 'Bearer your_api_key_here'
}
)
data = response.json()$body = [
'email' => 'jane@example.com',
'name' => 'Jane Doe',
'password' => 'a-long-password',
'role' => 'viewer'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.rybbit.io/api/organizations/org_123/users');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body));
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'
uri = URI('https://app.rybbit.io/api/organizations/org_123/users')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer your_api_key_here'
request['Content-Type'] = 'application/json'
request.body = {
email: 'jane@example.com',
name: 'Jane Doe',
password: 'a-long-password',
role: 'viewer'
}.to_json
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)body := map[string]interface{}{
"email": "jane@example.com",
"name": "Jane Doe",
"password": "a-long-password",
"role": "viewer",
}
jsonBody, _ := json.Marshal(body)
req, _ := http.NewRequest("POST", "https://app.rybbit.io/api/organizations/org_123/users", bytes.NewBuffer(jsonBody))
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 body = serde_json::json!({
"email": "jane@example.com",
"name": "Jane Doe",
"password": "a-long-password",
"role": "viewer"
});
let client = reqwest::Client::new();
let res = client
.post("https://app.rybbit.io/api/organizations/org_123/users")
.header("Authorization", "Bearer your_api_key_here")
.json(&body)
.send()
.await?;
let data: serde_json::Value = res.json().await?;String json = """
{
"email": "jane@example.com",
"name": "Jane Doe",
"password": "a-long-password",
"role": "viewer"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://app.rybbit.io/api/organizations/org_123/users"))
.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 body = new
{
email = "jane@example.com",
name = "Jane Doe",
password = "a-long-password",
role = "viewer"
};
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer your_api_key_here");
var content = new StringContent(
JsonSerializer.Serialize(body),
Encoding.UTF8,
"application/json");
var response = await client.PostAsync("https://app.rybbit.io/api/organizations/org_123/users", content);
var data = await response.Content.ReadAsStringAsync();{
"message": "User created and added to organization successfully"
}