The createEmptyOrganization() GraphQL mutation may be used to create an organization within LogScale. It's a root operation.

For more information on organization settings, see the Organization Settings documentation page.

Syntax

Below is the syntax for the createEmptyOrganization() mutation field:

graphql
createEmptyOrganization(
      name: string!,
      description: string,
      organizationId: string,
      subdomain: string,
      cid: string
   ): Organization!

Below is an example of how this mutation field might be used:

Raw
graphql
mutation {
  createEmptyOrganization(
        name: "corporate",
        description: "The Corporation"
        )
  { id }
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  createEmptyOrganization(
        name: \"corporate\",
        description: \"The Corporation\"
        )
  { id }
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  createEmptyOrganization(
        name: \"corporate\",
        description: \"The Corporation\"
        )
  { id }
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  createEmptyOrganization( ^
        name: \"corporate\", ^
        description: \"The Corporation\" ^
        ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  createEmptyOrganization(
        name: \"corporate\",
        description: \"The Corporation\"
        )
  { id }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $INGEST_TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $json = '{"query" : "mutation {
  createEmptyOrganization(
        name: \"corporate\",
        description: \"The Corporation\"
        )
  { id }
}"
}';
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  createEmptyOrganization(
        name: \"corporate\",
        description: \"The Corporation\"
        )
  { id }
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  createEmptyOrganization(
        name: \"corporate\",
        description: \"The Corporation\"
        )
  { id }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL/graphql',
  path: '/graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "createEmptyOrganization": {
      "id": "SINGLE_ORGANIZATION_ID"
    }
  }
}

Returned Datatypes

The returned datatype organization has several parameters. Below is a list of them along with a description of each:

Table: Organization

ParameterTypeRequiredDefaultDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
cidstring  The CID corresponding to the organization.
configsOrganizationConfigsyes Organization configurations and settings. See OrganizationDetails.
createdAtlong  Date organization was created.
defaultCachePolicyCachePolicy  The default cache policy of the organization. See CachePolicy. This is a preview and subject to change.
descriptionstring  The description for the Organization. Can be null.
detailsOrganizationDetailsyes Any additional details related to the organization. See OrganizationDetails.
externalGroupSynchronizationbooleanyes Whether there is group synchronization.
externalPermissionsbooleanyes Whether permissions are managed externally.
idstringyes The unique id for the Organization.
ingestUrlstring  The ingest URL for the organization.
isActionAllowedmultipleyes Check if user has a permission in organization. The datatype consists of (action: OrganizationAction): boolean. For OrganizationAction, give the action to check if a user is allowed to perform on the organization. See OrganizationAction.
limits[Limit]yes Limits assigned to the organization. See Limit.
limitsV2[LimitV2]yes Limits assigned to the organization. See LimitV2.
namestringyes The name for the Organization.
publicUrlstring  The public URL for the organization.
readonlyDashboardIPFilterstring  IP filter for readonly dashboard links.
searchDomains[SearchDomain]yes Search domains within the organization. See SearchDomain.
statsOrganizationStatsyes Statistics of the organization. See OrganizationStats.
trialStartedAtlong  Date organization's trial started.