segment()

Stability Level Preview

The segment() GraphQL query will do fetch information about a specific segment. This query is not a quick lookup and should be used only for troubleshooting or to help with data recovery. It requires ManageCluster permission.

Somewhat related to this query field are the mutation fields setAllowRebalanceExistingSegments() to move segments between nodes for better data distribution, and setSegmentReplicationFactor() to set the segment replication factor.

Syntax

graphql
segment(
     id: string!
   ): Segment

There isn't a special datatype for the input. You need only enter the unique identifier of the segment — found in the log files — for which information must be retrieved.

For the results, you can request the start and end dates and time for the segment, as well as when it's set to be deleted. See the Returned Datatype section for a table of parameters.

Example

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

Raw
graphql
query{
  segment(
    id: "xyz890"
  )
  {repository {id, name} }
}
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" : "query{
  segment(
    id: \"xyz890\"
  )
  {repository {id, name} }
}"
}
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" : "query{
  segment(
    id: \"xyz890\"
  )
  {repository {id, name} }
}"
}
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" : "query{ ^
  segment( ^
    id: \"xyz890\" ^
  ) ^
  {repository {id, name} } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "query{
  segment(
    id: \"xyz890\"
  )
  {repository {id, name} }
}"
}'
    "$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 = "query{
  segment(
    id: \"xyz890\"
  )
  {repository {id, name} }
}";
$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" : "query{
  segment(
    id: \"xyz890\"
  )
  {repository {id, name} }
}"
}'''

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" : "query{
  segment(
    id: \"xyz890\"
  )
  {repository {id, name} }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  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": {
    "segment": {
      repository{
        "id": "123abc",
        "name": "humio"
      }
    }
  }
}

Returned Datatype

With the returned datatype, you can get the start and end dates and times for the segment, when it's set to be deleted, and other related data. The table below lists the parameters you can request:

Table: Segment

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Sep 17, 2025
currentHosts[ClusterNode]yes PreviewInformation about the cluster's hosts that have this segment in local storage. This field isn't necessarily populated in such case the segment can still be found in bucket. See NoCurrentsForBucketSegments of FeatureFlag. See also ClusterNode.
datasourceDatasourceyes PreviewThis is the datasource. See Datasource.
deletedAtlong  PreviewWhen the segment was deleted.
endlongyes PreviewWhen the segment ended.
idstringyes PreviewThe unique identifier of the segment.
organizationOrganizationyes PreviewThe organization for the segment. See Organization.
repositoryRepositoryyes PreviewThe repository for the segment. See Repository.
startlongyes PreviewWhen the segment started.