API Stability Long-Term

The updateKafkaEventForwarder() GraphQL mutation is used to update a Kafka event forwarder and return it.

To create a Kafka event forwarder, you would use the createKafkaEventForwarder() mutation. To test one, you can use the testKafkaEventForwarderV2() mutation.

Related to these mutations are the enableEventForwarder() and disableEventForwarder() mutations enable and disable enable an event forwarder; and deleteEventForwarder() to delete an event forwarder. For these mutations, you'll need to use eventForwarders() to get the unique identifier for the event forwarder you want to change or delete.

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

graphql
updateKafkaEventForwarder(
     input: UpdateKafkaEventForwarder!
   ): KafkaEventForwarder!

Example

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

Raw
graphql
mutation {
  updateKafkaEventForwarder( input:
       { id: "abc123"
         name: "franz-forward",
         description: "Kafka Forwarder",
         properties: "bootstrap.servers=localhost:3456 \n batch.size=100",
         topic: "hot-potatoes",
         enabled: true
      }
  )
  { 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 {
  updateKafkaEventForwarder( input:
       { id: \"abc123\"
         name: \"franz-forward\",
         description: \"Kafka Forwarder\",
         properties: \"bootstrap.servers=localhost:3456 \n batch.size=100\",
         topic: \"hot-potatoes\",
         enabled: true
      }
  )
  { 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 {
  updateKafkaEventForwarder( input:
       { id: \"abc123\"
         name: \"franz-forward\",
         description: \"Kafka Forwarder\",
         properties: \"bootstrap.servers=localhost:3456 \n batch.size=100\",
         topic: \"hot-potatoes\",
         enabled: true
      }
  )
  { 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 { ^
  updateKafkaEventForwarder( input: ^
       { id: \"abc123\" ^
         name: \"franz-forward\", ^
         description: \"Kafka Forwarder\", ^
         properties: \"bootstrap.servers=localhost:3456 \n batch.size=100\", ^
         topic: \"hot-potatoes\", ^
         enabled: true ^
      } ^
  ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateKafkaEventForwarder( input:
       { id: \"abc123\"
         name: \"franz-forward\",
         description: \"Kafka Forwarder\",
         properties: \"bootstrap.servers=localhost:3456 \n batch.size=100\",
         topic: \"hot-potatoes\",
         enabled: true
      }
  )
  { 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 {
  updateKafkaEventForwarder( input:
       { id: \"abc123\"
         name: \"franz-forward\",
         description: \"Kafka Forwarder\",
         properties: \"bootstrap.servers=localhost:3456 \n batch.size=100\",
         topic: \"hot-potatoes\",
         enabled: true
      }
  )
  { 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 {
  updateKafkaEventForwarder( input:
       { id: \"abc123\"
         name: \"franz-forward\",
         description: \"Kafka Forwarder\",
         properties: \"bootstrap.servers=localhost:3456 \n batch.size=100\",
         topic: \"hot-potatoes\",
         enabled: true
      }
  )
  { 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 {
  updateKafkaEventForwarder( input:
       { id: \"abc123\"
         name: \"franz-forward\",
         description: \"Kafka Forwarder\",
         properties: \"bootstrap.servers=localhost:3456 \n batch.size=100\",
         topic: \"hot-potatoes\",
         enabled: true
      }
  )
  { 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();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "updateKafkaEventForwarder": {
      "id": "abc123"
    }
  }
}

Given Datatype

For the input datatype, you'll have to give the name of the repository and the unique identifier of the Kafka forwarder, the Kafka producer configuration for forwarding events, and whatever else you want to update. The table below lists them:

Table: UpdateKafkaEventForwarder

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: Mar 28, 2025
descriptionstringyes Long-TermDescription of the event forwarder.
enabledboolean trueLong-TermWhether the event forwarder 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 to which the events should be forwarded.

Returned Datatype

The returned datatype can provide the unique identifier for the event forwarder, the Kafka topic to which events should be forwarded, and other details. Below is a list of parameters you can request, along with descriptions:

Table: KafkaEventForwarder

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