Summary

The createKafkaEventForwarder() GraphQL mutation field may be used to create a Kafka event forwarder and return it.

API Stability Long-Term

Syntax

graphql
createKafkaEventForwarder(
      input: CreateKafkaEventForwarder!
   ): KafkaEventForwarder!

For the input, you'll have to give the name of the event forwarder, and the Kafka producer configuration used to forward events. See the Input Parameters section for details.

For the results, you can get the unique identifier for the event forwarder, the Kafka topic to which events should be forwarded, etc. See the Returned Values section for more.

Example

Raw
graphql
mutation {
  createKafkaEventForwarder(input: 
    { name: "kafka-forwarder",
      description: "Kafka Forwarder",
      properties: "bootstrap.servers=localhost:3456 \n
                   batch.size=100",
      topic: "hot-potatoes",
      enabled: false
    } )
  { 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 {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { 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 {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { 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 { ^
  createKafkaEventForwarder(input:  ^
    { name: \"kafka-forwarder\", ^
      description: \"Kafka Forwarder\", ^
      properties: \"bootstrap.servers=localhost:3456 \n ^
                   batch.size=100\", ^
      topic: \"hot-potatoes\", ^
      enabled: false ^
    } ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { 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 {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { 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 {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { 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 {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { id }
}"
}
);


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();

Input Parameters

For the input, you would provide the name of the event forwarder, and the Kafka producer configuration used to forward events. These are listed and explained, along with other parameters, in the table below:

Table: CreateKafkaEventForwarder Input Datatype

ParameterTypeRequiredDefaultStabilityDescription
Some input parameters may be required, as indicated in the Required column. For return values, this indicates that you are assured a value if the field is requested for the results.
Table last updated: Mar 28, 2025
descriptionstringyes Long-TermDescription of the event forwarder.
enabledbooleanyestrueLong-TermWhether the event forwarder is enabled.
namestringyes Long-TermName of the event forwarder.
propertiesstringyes Long-TermThe Kafka producer configuration used to forward events in the form of properties (x.y.z=abc). See Kafka Configuration.
topicLanguageVersionEnumyes Long-TermThe Kafka topic to which the events should be forwarded. See LanguageVersionEnum.

Returned Values

For the results, you can get the unique identifier for the event forwarder, the Kafka topic to which events should be forwarded, and other details.

Table: KafkaEventForwarder Datatype

ParameterTypeRequiredDefaultStabilityDescription
Some input parameters may be required, as indicated in the Required column. For return values, this indicates that you are assured a value if the field is requested for the results.
Table last updated: Jun 23, 2025
descriptionstringyes Long-TermThe description of the event forwarder.
enabledbooleanyes Long-TermWhether the event forwarder is enabled.
idstringyes Long-TermThe unique identifier of the event forwarder.
namestringyes Long-TermThe name of the event forwarder.
propertiesstringyes Long-TermThe Kafka producer configuration used to forward events in the form of properties (x.y.z=abc). See Kafka Configuration.
topicstringyes Long-TermThe Kafka topic where the events should be forwarded.