API Stability Long-Term

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

For more information on event forwarders, see the Event Forwarders documentation page. You may also want to look at the Event Forwarding and the Events page for related information.

Syntax

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

graphql
createKafkaEventForwarder(
      input: CreateKafkaEventForwarder!
   ): KafkaEventForwarder!

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

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

Given Datatypes

For CreateKafkaEventForwarder, there are a few parameters that may be given. Below is a list of them along with descriptions of each:

Table: CreateKafkaEventForwarder

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: 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 Datatypes

For KafkaEventForwarder, there are also a few parameters. Below is a list of them:

Table: KafkaEventForwarder

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: 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.