Security Requirements and Controls
API Stability Short-Term

The createRepository() GraphQL mutation may be used to create a new repository in LogScale.

For more information on creating a repository, see the Creating a Repository or View documentation page. You may also want to look at the Manage Repositories and Views and Repositories pages for related information.

Syntax

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

graphql
createRepository(
     name: string!,
     description: string,
     retentionInMillis: long,
     retentionInIngestSizeBytes: long,
     retentionInStorageSizeBytes: long,
     organizationId: string, 
     type: RepositoryType, 
     repositoryId: string, 
     dataType: RepositoryDataType,
     limitId: string
   ): CreateRepositoryMutation!

The limitId is the limit to which the repository should be attached. This is only a cloud feature.

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

Raw
graphql
mutation {
  createRepository(
        name: "my-repository",
        description: "My Repository",
        type: PERSONAL,
        dataType: ANYDATA
      )
  { repository { 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 {
  createRepository(
        name: \"my-repository\",
        description: \"My Repository\",
        type: PERSONAL,
        dataType: ANYDATA
      )
  { repository { 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 {
  createRepository(
        name: \"my-repository\",
        description: \"My Repository\",
        type: PERSONAL,
        dataType: ANYDATA
      )
  { repository { 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 { ^
  createRepository( ^
        name: \"my-repository\", ^
        description: \"My Repository\", ^
        type: PERSONAL, ^
        dataType: ANYDATA ^
      ) ^
  { repository { id } } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  createRepository(
        name: \"my-repository\",
        description: \"My Repository\",
        type: PERSONAL,
        dataType: ANYDATA
      )
  { repository { id } }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  createRepository(
        name: \"my-repository\",
        description: \"My Repository\",
        type: PERSONAL,
        dataType: ANYDATA
      )
  { repository { id } }
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
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 {
  createRepository(
        name: \"my-repository\",
        description: \"My Repository\",
        type: PERSONAL,
        dataType: ANYDATA
      )
  { repository { 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 {
  createRepository(
        name: \"my-repository\",
        description: \"My Repository\",
        type: PERSONAL,
        dataType: ANYDATA
      )
  { repository { 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": {
    "createRepository": {
      "repository": {
        "id": "my-repository"
      }
    }
  }
}

Regarding limitId , it's the limit to which the repository should be attached, only a cloud feature. If not specified, a default will be found and used.

Given Datatypes

RepositoryType, is an enumerated list of repository types. They're listed below:

Table: RepositoryType

ParameterTypeRequiredDefaultStabilityDescription
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.
Table last updated: May 9, 2025
DEFAULT   Long-TermThe repository type is the default.
MANAGED   Long-TermThe repository is managed.
PERSONAL   Long-TermThe repository is personal.
SYSTEM   Long-TermThe repository is from the LogScale system.
TRIAL   Long-TermThe repository is for a trial account.

RepositoryDataType, is an enumerated list of repository data types. They're listed below:

Table: RepositoryDataType

ParameterTypeRequiredDefaultStabilityDescription
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.
Table last updated: Oct 3, 2025
ANYDATA   Short-TermThe repository data is unrestricted to a particular datatype.
FALCON   Short-TermThe repository data is restricted to the Falcon datatype.

Returned Datatypes

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

Table: CreateRepositoryMutation

ParameterTypeRequiredDefaultStabilityDescription
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.
Table last updated: Sep 24, 2024
repositoryRepositoryyes Long-TermThe repository to create. See Repository.