Summary

The assignParserToIngestTokenV2() mutation assigns a parser to a specific ingest token in a repository. Parsers define how LogScale processes and structures incoming log data; assigning the correct parser to a token ensures that ingested events are parsed on arrival. Use this mutation to set or change the parser for an existing ingest token.

Syntax

graphql
assignParserToIngestTokenV2(
      input: AssignParserToIngestTokenInputV2!
   ): IngestToken!

The mutation takes one required argument: input, of type AssignParserToIngestTokenInputV2!. The input specifies the repository name, the ingest token name, and the parser to assign. The mutation returns a non-null IngestToken! object.

The returned IngestToken type includes the token name and the parser now assigned to it. The Returned Values section lists the available fields.

Example

Raw
graphql
mutation {
	assignParserToIngestTokenV2( input:
	  { repositoryName: "humio",
      tokenName: "my-token",
      parser: "kv"
    } )
  { 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" : "mutation {
	assignParserToIngestTokenV2( input:
	  { repositoryName: \"humio\",
      tokenName: \"my-token\",
      parser: \"kv\"
    } )
  { 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" : "mutation {
	assignParserToIngestTokenV2( input:
	  { repositoryName: \"humio\",
      tokenName: \"my-token\",
      parser: \"kv\"
    } )
  { 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" : "mutation { ^
	assignParserToIngestTokenV2( input: ^
	  { repositoryName: \"humio\", ^
      tokenName: \"my-token\", ^
      parser: \"kv\" ^
    } ) ^
  { name } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
	assignParserToIngestTokenV2( input:
	  { repositoryName: \"humio\",
      tokenName: \"my-token\",
      parser: \"kv\"
    } )
  { 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 = "mutation {
	assignParserToIngestTokenV2( input:
	  { repositoryName: \"humio\",
      tokenName: \"my-token\",
      parser: \"kv\"
    } )
  { 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" : "mutation {
	assignParserToIngestTokenV2( input:
	  { repositoryName: \"humio\",
      tokenName: \"my-token\",
      parser: \"kv\"
    } )
  { 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" : "mutation {
	assignParserToIngestTokenV2( input:
	  { repositoryName: \"humio\",
      tokenName: \"my-token\",
      parser: \"kv\"
    } )
  { 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": {
    "assignParserToIngestTokenV2": {
      "name": "my-token"
    }
  }
}

Input Parameters

The input argument takes an AssignParserToIngestTokenInputV2 object. Provide the repository name, the token name, and the parser to assign. You can reference parsers from packages using the format packagescope/packagename:parsername.

Table: AssignParserToIngestTokenInputV2 Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
parserStringyes Long-Term The unique identifier or name of the parser to assign to the ingest token. Parsers in packages can be referred to as packagescope/packagename:parsername.
repositoryNameStringyes Long-Term The name of the repository.
tokenNameStringyes Long-Term The name of the ingest token.

Returned Values

The mutation returns a non-null IngestToken object representing the updated token. The object includes the token's unique identifier, name, and the parser now assigned to it.

Table: IngestToken Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
nameStringyes Long-Term The name of the ingest token, as displayed in the LogScale UI and API responses.
parserParser  Long-Term The parser assigned to this token. All events ingested with this token pass through this parser on arrival. Returns null if no parser is assigned. See Parser.
tokenStringyes Long-Term The token string used to authenticate data ingestion requests. Include this value in the Authorization: Bearer header when sending events to LogScale.