Skip to main content
POST
/
api
/
organizations
Create Organization
curl --request POST \
  --url https://platform.kodexa.ai/api/organizations \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "archived": true,
  "authGroupLink": {
    "authGroup": "<string>"
  },
  "changeSequence": 123,
  "createdOn": "2023-11-07T05:31:56Z",
  "defaultToPrivateTemplates": true,
  "description": "Document processing organization for Acme Corp.",
  "enterpriseOrganization": true,
  "features": {},
  "hasImage": true,
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "memory": {
    "orderedDashboards": [
      "<string>"
    ]
  },
  "name": "Acme Corp",
  "organizationStatus": "ACTIVE",
  "properties": {},
  "publicAccess": true,
  "searchText": "<string>",
  "slug": "acme-corp",
  "stripeCustomerId": "<string>",
  "supportAccess": true,
  "supportAccessExpiresAt": "2023-11-07T05:31:56Z",
  "updatedOn": "2023-11-07T05:31:56Z",
  "uuid": "550e8400e29b41d4a716446655440000"
}
'
import requests

url = "https://platform.kodexa.ai/api/organizations"

payload = {
"archived": True,
"authGroupLink": { "authGroup": "<string>" },
"changeSequence": 123,
"createdOn": "2023-11-07T05:31:56Z",
"defaultToPrivateTemplates": True,
"description": "Document processing organization for Acme Corp.",
"enterpriseOrganization": True,
"features": {},
"hasImage": True,
"id": "550e8400-e29b-41d4-a716-446655440000",
"memory": { "orderedDashboards": ["<string>"] },
"name": "Acme Corp",
"organizationStatus": "ACTIVE",
"properties": {},
"publicAccess": True,
"searchText": "<string>",
"slug": "acme-corp",
"stripeCustomerId": "<string>",
"supportAccess": True,
"supportAccessExpiresAt": "2023-11-07T05:31:56Z",
"updatedOn": "2023-11-07T05:31:56Z",
"uuid": "550e8400e29b41d4a716446655440000"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
archived: true,
authGroupLink: {authGroup: '<string>'},
changeSequence: 123,
createdOn: '2023-11-07T05:31:56Z',
defaultToPrivateTemplates: true,
description: 'Document processing organization for Acme Corp.',
enterpriseOrganization: true,
features: {},
hasImage: true,
id: '550e8400-e29b-41d4-a716-446655440000',
memory: {orderedDashboards: ['<string>']},
name: 'Acme Corp',
organizationStatus: 'ACTIVE',
properties: {},
publicAccess: true,
searchText: '<string>',
slug: 'acme-corp',
stripeCustomerId: '<string>',
supportAccess: true,
supportAccessExpiresAt: '2023-11-07T05:31:56Z',
updatedOn: '2023-11-07T05:31:56Z',
uuid: '550e8400e29b41d4a716446655440000'
})
};

fetch('https://platform.kodexa.ai/api/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://platform.kodexa.ai/api/organizations",
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([
'archived' => true,
'authGroupLink' => [
'authGroup' => '<string>'
],
'changeSequence' => 123,
'createdOn' => '2023-11-07T05:31:56Z',
'defaultToPrivateTemplates' => true,
'description' => 'Document processing organization for Acme Corp.',
'enterpriseOrganization' => true,
'features' => [

],
'hasImage' => true,
'id' => '550e8400-e29b-41d4-a716-446655440000',
'memory' => [
'orderedDashboards' => [
'<string>'
]
],
'name' => 'Acme Corp',
'organizationStatus' => 'ACTIVE',
'properties' => [

],
'publicAccess' => true,
'searchText' => '<string>',
'slug' => 'acme-corp',
'stripeCustomerId' => '<string>',
'supportAccess' => true,
'supportAccessExpiresAt' => '2023-11-07T05:31:56Z',
'updatedOn' => '2023-11-07T05:31:56Z',
'uuid' => '550e8400e29b41d4a716446655440000'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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"
"strings"
"net/http"
"io"
)

func main() {

url := "https://platform.kodexa.ai/api/organizations"

payload := strings.NewReader("{\n \"archived\": true,\n \"authGroupLink\": {\n \"authGroup\": \"<string>\"\n },\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"defaultToPrivateTemplates\": true,\n \"description\": \"Document processing organization for Acme Corp.\",\n \"enterpriseOrganization\": true,\n \"features\": {},\n \"hasImage\": true,\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"memory\": {\n \"orderedDashboards\": [\n \"<string>\"\n ]\n },\n \"name\": \"Acme Corp\",\n \"organizationStatus\": \"ACTIVE\",\n \"properties\": {},\n \"publicAccess\": true,\n \"searchText\": \"<string>\",\n \"slug\": \"acme-corp\",\n \"stripeCustomerId\": \"<string>\",\n \"supportAccess\": true,\n \"supportAccessExpiresAt\": \"2023-11-07T05:31:56Z\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"550e8400e29b41d4a716446655440000\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-api-key", "<api-key>")
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.kodexa.ai/api/organizations")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"archived\": true,\n \"authGroupLink\": {\n \"authGroup\": \"<string>\"\n },\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"defaultToPrivateTemplates\": true,\n \"description\": \"Document processing organization for Acme Corp.\",\n \"enterpriseOrganization\": true,\n \"features\": {},\n \"hasImage\": true,\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"memory\": {\n \"orderedDashboards\": [\n \"<string>\"\n ]\n },\n \"name\": \"Acme Corp\",\n \"organizationStatus\": \"ACTIVE\",\n \"properties\": {},\n \"publicAccess\": true,\n \"searchText\": \"<string>\",\n \"slug\": \"acme-corp\",\n \"stripeCustomerId\": \"<string>\",\n \"supportAccess\": true,\n \"supportAccessExpiresAt\": \"2023-11-07T05:31:56Z\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"550e8400e29b41d4a716446655440000\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://platform.kodexa.ai/api/organizations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"archived\": true,\n \"authGroupLink\": {\n \"authGroup\": \"<string>\"\n },\n \"changeSequence\": 123,\n \"createdOn\": \"2023-11-07T05:31:56Z\",\n \"defaultToPrivateTemplates\": true,\n \"description\": \"Document processing organization for Acme Corp.\",\n \"enterpriseOrganization\": true,\n \"features\": {},\n \"hasImage\": true,\n \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"memory\": {\n \"orderedDashboards\": [\n \"<string>\"\n ]\n },\n \"name\": \"Acme Corp\",\n \"organizationStatus\": \"ACTIVE\",\n \"properties\": {},\n \"publicAccess\": true,\n \"searchText\": \"<string>\",\n \"slug\": \"acme-corp\",\n \"stripeCustomerId\": \"<string>\",\n \"supportAccess\": true,\n \"supportAccessExpiresAt\": \"2023-11-07T05:31:56Z\",\n \"updatedOn\": \"2023-11-07T05:31:56Z\",\n \"uuid\": \"550e8400e29b41d4a716446655440000\"\n}"

response = http.request(request)
puts response.read_body
{
  "archived": true,
  "authGroupLink": {
    "authGroup": "<string>"
  },
  "changeSequence": 123,
  "createdOn": "2023-11-07T05:31:56Z",
  "defaultToPrivateTemplates": true,
  "description": "Document processing organization for Acme Corp.",
  "enterpriseOrganization": true,
  "features": {},
  "hasImage": true,
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "memory": {
    "orderedDashboards": [
      "<string>"
    ]
  },
  "name": "Acme Corp",
  "organizationStatus": "ACTIVE",
  "properties": {},
  "publicAccess": true,
  "searchText": "<string>",
  "slug": "acme-corp",
  "stripeCustomerId": "<string>",
  "supportAccess": true,
  "supportAccessExpiresAt": "2023-11-07T05:31:56Z",
  "updatedOn": "2023-11-07T05:31:56Z",
  "uuid": "550e8400e29b41d4a716446655440000"
}

Authorizations

x-api-key
string
header
required

API key for authentication. Create one from the Kodexa platform UI under Settings > Access Tokens.

Body

application/json

An organization is the top-level tenant in Kodexa. All projects, stores, and resources belong to an organization.

archived
boolean | null
changeSequence
integer<int32>

Optimistic locking version number, incremented on each update.

createdOn
string<date-time>

Timestamp when the organization was created.

defaultToPrivateTemplates
boolean

Whether new templates default to private access.

description
string

Human-readable description of the organization.

Example:

"Document processing organization for Acme Corp."

enterpriseOrganization
boolean | null

Whether this is an enterprise-tier organization.

features
object

Feature flags enabled for the organization.

hasImage
boolean

Whether the organization has a profile image.

id
string

Unique identifier (UUID) for the organization.

Example:

"550e8400-e29b-41d4-a716-446655440000"

memory
object

Organization-level memory and configuration.

name
string

Display name of the organization.

Example:

"Acme Corp"

organizationStatus
string

Current status of the organization (e.g., ACTIVE, SUSPENDED).

Example:

"ACTIVE"

properties
object

Arbitrary key-value properties for the organization.

publicAccess
boolean

Whether the organization is publicly visible.

searchText
string

Full-text searchable representation of the organization.

slug
string

URL-friendly identifier, 3-100 characters. Automatically lowercased. Pattern: ^[a-z0-9-]+$

Example:

"acme-corp"

stripeCustomerId
string
supportAccess
boolean

Whether Kodexa support has been granted access.

supportAccessExpiresAt
string<date-time> | null

When support access expires.

updatedOn
string<date-time>

Timestamp when the organization was last updated.

uuid
string

Secondary UUID identifier.

Example:

"550e8400e29b41d4a716446655440000"

Response

Created Organization

An organization is the top-level tenant in Kodexa. All projects, stores, and resources belong to an organization.

archived
boolean | null
changeSequence
integer<int32>

Optimistic locking version number, incremented on each update.

createdOn
string<date-time>

Timestamp when the organization was created.

defaultToPrivateTemplates
boolean

Whether new templates default to private access.

description
string

Human-readable description of the organization.

Example:

"Document processing organization for Acme Corp."

enterpriseOrganization
boolean | null

Whether this is an enterprise-tier organization.

features
object

Feature flags enabled for the organization.

hasImage
boolean

Whether the organization has a profile image.

id
string

Unique identifier (UUID) for the organization.

Example:

"550e8400-e29b-41d4-a716-446655440000"

memory
object

Organization-level memory and configuration.

name
string

Display name of the organization.

Example:

"Acme Corp"

organizationStatus
string

Current status of the organization (e.g., ACTIVE, SUSPENDED).

Example:

"ACTIVE"

properties
object

Arbitrary key-value properties for the organization.

publicAccess
boolean

Whether the organization is publicly visible.

searchText
string

Full-text searchable representation of the organization.

slug
string

URL-friendly identifier, 3-100 characters. Automatically lowercased. Pattern: ^[a-z0-9-]+$

Example:

"acme-corp"

stripeCustomerId
string
supportAccess
boolean

Whether Kodexa support has been granted access.

supportAccessExpiresAt
string<date-time> | null

When support access expires.

updatedOn
string<date-time>

Timestamp when the organization was last updated.

uuid
string

Secondary UUID identifier.

Example:

"550e8400e29b41d4a716446655440000"