You can attach labels to files, as you can with dashboards and actions. You can do this when adding a file, or later with the addFileLabels() mutation.

There can be as much as ten labels for each file, with a maximum length of sixty characters per label. This mutation will return the details of the updated file if successful, or null with errors if it fails.

To remove one or more labels, use removeFileLabels(). To add a new file use the newFile() mutation.

Hide Query Example

Show File Labels Query

For more information on files, see the Lookup Files documentation page.

Stability Level Long-Term

Syntax

graphql
addFileLabels(
      input: AddFileLabels!
   ): File

For the input, you have to give the name of the view or repository, and the name of the file to which you want to add labels, and provide within brackets, a comma-separated list of labels. Click on the Show Query link under the Syntax section above for an example of how to get the file identifiers.

For the return datatype, you can get details on the file, including a list of labels for it. See the Returned Datatype section farther down this page.

Hide Query Example

Show Files Query

Example

Raw
graphql
mutation {
  addFileLabels(
    input: { 
      viewName: "humio",
      fileName: "my-file.txt",
      labels: [ "bobs-files",
                "admin-files" ]
    }
  )
  { createdAt }
}
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 {
  addFileLabels(
    input: { 
      viewName: \"humio\",
      fileName: \"my-file.txt\",
      labels: [ \"bobs-files\",
                \"admin-files\" ]
    }
  )
  { createdAt }
}"
}
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 {
  addFileLabels(
    input: { 
      viewName: \"humio\",
      fileName: \"my-file.txt\",
      labels: [ \"bobs-files\",
                \"admin-files\" ]
    }
  )
  { createdAt }
}"
}
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 { ^
  addFileLabels( ^
    input: {  ^
      viewName: \"humio\", ^
      fileName: \"my-file.txt\", ^
      labels: [ \"bobs-files\", ^
                \"admin-files\" ] ^
    } ^
  ) ^
  { createdAt } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  addFileLabels(
    input: { 
      viewName: \"humio\",
      fileName: \"my-file.txt\",
      labels: [ \"bobs-files\",
                \"admin-files\" ]
    }
  )
  { createdAt }
}"
}'
    "$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 {
  addFileLabels(
    input: { 
      viewName: \"humio\",
      fileName: \"my-file.txt\",
      labels: [ \"bobs-files\",
                \"admin-files\" ]
    }
  )
  { createdAt }
}";
$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 {
  addFileLabels(
    input: { 
      viewName: \"humio\",
      fileName: \"my-file.txt\",
      labels: [ \"bobs-files\",
                \"admin-files\" ]
    }
  )
  { createdAt }
}"
}'''

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 {
  addFileLabels(
    input: { 
      viewName: \"humio\",
      fileName: \"my-file.txt\",
      labels: [ \"bobs-files\",
                \"admin-files\" ]
    }
  )
  { createdAt }
}"
}
);


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": {
    "addFileLabels": {
      "createdAt": "1729603406707"
    }
  }
}

Given Datatype

You'll have to give the view or repository name and the name of the file to which you want to add labels — and a list of labels to add. Click on the Show Query link under the Syntax section above for an example of how to get the file names.

Table: AddFileLabels

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: Nov 17, 2025
fileNamestringyes Long-TermThe name of the file.
labels[string]yes Long-TermThe labels for the file. There can be at most ten labels, each with a maximum length of sixty characters.
viewNameRepoOrViewNameyes Long-TermThe name of the view for the file. RepoOrViewName is a scalar.

Returned Datatype

For this returned datatype, you can get information on the file, such as when it was created and last modified and by whom. More important to this mutation, you can use the labels parameter to get a list of labels associated with the file in case you want to remove some or add more.

Table: File

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: Jul 24, 2025
allowedActions[AssetAction]yes Short-TermThe allowed asset actions. See AssetAction . This is a preview and may be changed.
contentHashstringyes Long-TermA content hash.
createdAtdatetimeyes Long-TermThe date on which the file was created.
createdBystringyes Long-TermThe author of the file.
fileSizeByteslong  Long-TermThe file size in bytes.
labels[string]yes PreviewThe labels associated with this file.
modifiedAtdatetimeyes Long-TermThe date and time the file was last modified.
modifiedBystringyes Long-TermThe user who last modified the file.
nameAndPathFileNameAndPathyes Long-TermThe name and path of the file. See FileNameAndPath.
packagePackageInstallation  Long-TermThe package, if any, associated with the file. See PackageInstallation.
packageIdVersionedPackageSpecifier  Long-TermThe package identifier. VersionedPackageSpecifier is a scalar.
resourcestringyes Short-TermThe resource identifier for the file.