Apache Kafka ConnectorAlterOffsets

Apache Kafka ConnectorAlterOffsets

Certified

Alter a Kafka Connect connector's offsets

Overwrites the connector's offsets with the given offsets value — typically obtained from ConnectorGetOffsets and edited, or built from scratch to skip/replay records.

The connector must be in the STOPPED state for this call to succeed; altering offsets via PATCH /connectors/{name}/offsets is a [KIP-875](https://cwiki.apache.org/confluence/display/KAFKA/KIP-875: +First-class+offsets+support+in+Kafka+Connect) concept only available on Kafka Connect clusters running Kafka 3.6+. This task does not pre-validate the connector's state client-side — it always sends the request and surfaces Connect's error body verbatim (HTTP 400) if the connector isn't STOPPED. Stop the connector first, e.g. with ConnectorUpdateConfig toggling to a stopped state or the Connect PUT /connectors/{name}/stop endpoint. On older clusters that don't support this, delete and recreate the connector instead.

yaml
type: io.kestra.plugin.kafka.ConnectorAlterOffsets

Rewind a source connector's offsets

yaml
id: kafka_connector_alter_offsets
namespace: company.team

tasks:
  - id: alter_offsets
    type: io.kestra.plugin.kafka.ConnectorAlterOffsets
    connectUrl: http://connect:8083
    connectorName: orders_jdbc_source
    offsets:
      - partition:
          table: orders
        offset:
          incrementing: 0
Properties

Kafka Connect REST API base URL

For example http://connect: 8083. Kafka Connect has no dedicated Java admin client — every operation goes through this REST API.

Connector name

SubTypeobject

Offsets to apply

Same shape as ConnectorGetOffsets's offsets output: a list of {partition, offset} entries. The connector must be STOPPED — see the task description.

Additional HTTP headers

Sent on every request to the Connect REST API. Useful when the worker sits behind a reverse proxy or expects a bearer token, e.g. Authorization: Bearer ....

Basic auth password

Reference (ref) of the pluginDefaults to apply to this task.

Basic auth username

Required together with password when the Connect REST API is protected with HTTP basic auth. Leave both unset to call an unauthenticated worker — no Authorization header is sent in that case.

Connector name

Confirmation message returned by the Connect API