Create Organisation
curl --request POST \
--url https://platform.versori.com/api/organisations/v1/organisations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"slug": "<string>",
"displayName": "<string>"
}
'import requests
url = "https://platform.versori.com/api/organisations/v1/organisations"
payload = {
"slug": "<string>",
"displayName": "<string>"
}
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({slug: '<string>', displayName: '<string>'})
};
fetch('https://platform.versori.com/api/organisations/v1/organisations', 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://platform.versori.com/api/organisations/v1/organisations",
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([
'slug' => '<string>',
'displayName' => '<string>'
]),
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://platform.versori.com/api/organisations/v1/organisations"
payload := strings.NewReader("{\n \"slug\": \"<string>\",\n \"displayName\": \"<string>\"\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://platform.versori.com/api/organisations/v1/organisations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"slug\": \"<string>\",\n \"displayName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.versori.com/api/organisations/v1/organisations")
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 \"slug\": \"<string>\",\n \"displayName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"slug": "<string>",
"displayName": "<string>",
"owner": "<string>",
"billing": {
"platformId": "<string>",
"customerId": "<string>",
"billingEmail": "<string>",
"isSubscriptionActive": 123,
"billingPeriodStart": "2023-12-25",
"billingPeriodEnd": "2023-12-25",
"platformType": "<string>",
"subscriptionId": "<string>",
"recentSubscriptions": [
{
"id": "<string>",
"status": "active",
"rawData": "<unknown>"
}
],
"hasMoreSubscriptions": true,
"freeTrialEndDate": "2023-12-25",
"isBespoke": true,
"boardQuota": 123,
"hubBoardQuota": 123
},
"systemServiceAccountClientID": "<string>",
"plan": "<string>"
}{
"code": "<string>",
"message": "<string>",
"cause": "<string>"
}API Reference
Create Organisation
CreateOrganisation creates a new Organisation with the current user as the owner. A user can create as many Organisations as they like, but each has their own billing profile and must be on a paid plan to use certain features.
POST
/
organisations
Create Organisation
curl --request POST \
--url https://platform.versori.com/api/organisations/v1/organisations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"slug": "<string>",
"displayName": "<string>"
}
'import requests
url = "https://platform.versori.com/api/organisations/v1/organisations"
payload = {
"slug": "<string>",
"displayName": "<string>"
}
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({slug: '<string>', displayName: '<string>'})
};
fetch('https://platform.versori.com/api/organisations/v1/organisations', 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://platform.versori.com/api/organisations/v1/organisations",
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([
'slug' => '<string>',
'displayName' => '<string>'
]),
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://platform.versori.com/api/organisations/v1/organisations"
payload := strings.NewReader("{\n \"slug\": \"<string>\",\n \"displayName\": \"<string>\"\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://platform.versori.com/api/organisations/v1/organisations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"slug\": \"<string>\",\n \"displayName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.versori.com/api/organisations/v1/organisations")
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 \"slug\": \"<string>\",\n \"displayName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"slug": "<string>",
"displayName": "<string>",
"owner": "<string>",
"billing": {
"platformId": "<string>",
"customerId": "<string>",
"billingEmail": "<string>",
"isSubscriptionActive": 123,
"billingPeriodStart": "2023-12-25",
"billingPeriodEnd": "2023-12-25",
"platformType": "<string>",
"subscriptionId": "<string>",
"recentSubscriptions": [
{
"id": "<string>",
"status": "active",
"rawData": "<unknown>"
}
],
"hasMoreSubscriptions": true,
"freeTrialEndDate": "2023-12-25",
"isBespoke": true,
"boardQuota": 123,
"hubBoardQuota": 123
},
"systemServiceAccountClientID": "<string>",
"plan": "<string>"
}{
"code": "<string>",
"message": "<string>",
"cause": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
Created
Billing contains information about the billing status of an Organisation.
Show child attributes
Show child attributes
SystemServiceAccountClientID is the client ID of the system service account for this Organisation. This is automatically created when the Organisation is created and is used by internal services which must authenticate on behalf of the Organisation. It cannot be deleted.
Subscription plan the organisation is enrolled.
⌘I