IBM Cloud API Docs

Introduction

IBM Event Streams for IBM Cloud is a high-throughput message bus built with Apache Kafka. It is optimized for event ingestion into IBM Cloud and event stream distribution between your services and applications.

Event Streams provides a REST API to help connect your existing systems to your Event Streams Kafka cluster. Using the API, you can integrate Event Streams with any system that supports RESTful APIs.

You can download the OpenAPI specification compliant descriptors for this REST interface. Alternatively, click the three vertical dots next to the IBM Event Streams Admin REST API title in the top left corner of this app, then click the Download OpenAPI definition link that appears.

Other Event Streams APIs

SDKs

Event Streams is based on the open source Apache Kafka, and as such, all SDKs (client libraries) are provided for the open source community, covering the core runtimes listed. For the most up-to-date information about these libraries, refer to the project homepages.

For more information on what is supported, see support summary for all recommended clients.

SDK language support

This Admin REST API supports the four core languages and the SDKs are available as follows.

Endpoint URLs

Administration API endpoint is the kafka_admin_url property in the service key for the service instance. You can use this command to retrieve the kafka_admin_url property property.

$ ibmcloud resource service-key "${service_instance_key_name}" --output json | jq -r '.[]|.credentials.kafka_admin_url'

In addition, the Content-type header must be set to application/json.

Error handling

This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200 response code indicates success. A 400 response code indicates a failure, and a 500 response code indicates an internal system error.

HTTP error code Description Recovery
200 OK Message successfully sent to Event Streams.
202 Request accepted Kafka accepted the request and processes the request.
400 Bad request Not a valid request.
401 Unauthorized The authentication header is not set or provided information is not valid.
403 Not authorized to perform the operation The API key used is missing a certain role. For more details on what role can perform what operation, see Managing access to your Event Streams resources.
404 Not found Unable to find the topic with the topic name you specified.
408 Request timeout The request timed out producing to Event Streams.
422 Semantically invalid request You have a malformed request.
500 Internal server error The request failed due to an internal server error.
503 Service unavailable The request failed due to Event Streams brokers being unavailable.

Error responses carry a JSON body, such as the following:

{"error_code":50301,"message":"Unknown Kafka Error", "incident_id": "17afe715-0ff5-4c49-9acc-a4204244a331"}

Error codes have the format HHHKK, where HHH is the HTTP status code and KK is the Kafka protocol error.

For end-to-end debugging purposes, the transaction ID of every request is returned in the HTTP header X-Global-Transaction-Id. If the header is set on the request, it is honored. If not, it is generated. In the event of a non-200 error code, the transaction ID is also returned in the JSON error response as incident_id.

Authentication

Use one of the following methods to authenticate:

  • To authenticate using Basic Auth:
    Use the user and api_key properties of the above objects as the username and password. Place these values into the Authorization header of the HTTP request in the form Basic <base64 encoding of username and password joined by a single colon (:)>.

  • To authenticate using a bearer token:
    To obtain your token using the IBM Cloud CLI, first log in to IBM Cloud, then run the following command:

    ibmcloud iam oauth-tokens
    

    Place this token in the Authorization header of the HTTP request in the form Bearer<token>. Both API key and JWT tokens are supported.

  • To authenticate directly using the api_key:
    Place the key directly as the value of the X-Auth-Token HTTP header.

The following list shows the headers required to authenticate with CURL:

-H 'Accept: application/json'
-H 'Content-Type: application/json'
-H 'Authorization: Bearer ${TOKEN}' (use with bearer token)
-H 'X-Auth-Token: ${API_KEY}' (use with API Key)

The following shows an example of how to authenticate with Go:

	// Create Authenticator
	var authenticator core.Authenticator

	if apiKey != "" {
		var err error
		// Create an Basic IAM authenticator.
		authenticator, err = core.NewBasicAuthenticator("token", apiKey)
		if err != nil {
			fmt.Printf("failed to create new basic authenticator: %s\n", err.Error())
			os.Exit(1)
		}
	} else {
		var err error
		// Create an IAM Bearer Token authenticator.
		authenticator, err = core.NewBearerTokenAuthenticator(bearerToken)
		if err != nil {
			fmt.Printf("failed to create new bearer token authenticator: %s\n", err.Error())
			os.Exit(1)
		}
	}
	// End Authenticator

The following example shows how to authenticate with Python:

# Create Authenticator
if not KAFKA_ADMIN_URL:
    print("Please set env KAFKA_ADMIN_URL")
    exit(1)

if not API_KEY and not BEARER_TOKEN:
    print("Please set either an API_KEY or a BEARER_TOKEN")
    exit(1)

if API_KEY and BEARER_TOKEN:
    print("Please set either an API_KEY or a BEARER_TOKEN not both")
    exit(1)

if API_KEY:
    # Create an Basic IAM authenticator.
    authenticator = BasicAuthenticator('token', API_KEY)
else :
    # Create an IAM Bearer Token authenticator.
    authenticator = BasicAuthenticator('token', BEARER_TOKEN)

service = AdminrestV1(
    authenticator = authenticator
    )
# End Authenticator

# Create Service
base_url = KAFKA_ADMIN_URL
service.set_service_url(base_url)
# End Create Service

def list_topics(service):
    # Set up parameter values
    topic_filter = ''
    # Invoke list method.
    try:
        response = service.list_topics(
            topic_filter=topic_filter,
            )

        if response.status_code == HTTPStatus.OK:
            if not response.result :
                print("\tnothing to list")
                return
            for topic in response.result: 
                 print("\t" + topic["name"])
    except:
        print("\tError Listing Topics")
    # func.end

The following example shows how to authenticate with Java:

        // Create Authenticator
        Authenticator authenticator;

        if (apiKey != null && !apiKey.isEmpty()) {
            // Create an Basic IAM authenticator.
            authenticator = new BasicAuthenticator("token", apiKey);
        } else {
            // Create an IAM Bearer Token authenticator.
            authenticator = new BearerTokenAuthenticator(bearerToken);
        }

        // Create Service - Construct the service client.
        Adminrest service = new Adminrest(serviceName, authenticator);
        // End Authenticator

The following example shows how to authenticate with Node:

// Create Authenticator
if (KAFKA_ADMIN_URL === undefined || !KAFKA_ADMIN_URL) {
  console.log('Please set env KAFKA_ADMIN_URL');
  throw new Error('error KAFKA_ADMIN_URL not set');
}

if ((API_KEY === undefined || !API_KEY) && (BEARER_TOKEN === undefined || !BEARER_TOKEN)) {
  console.log('Please set either an API_KEY or a BEARER_TOKEN');
  throw new Error('error: API_KEY or BEARER_TOKEN not set');
}

if (API_KEY && BEARER_TOKEN) {
  console.log('Please set either an API_KEY or a BEARER_TOKEN not both');
  throw new Error('error: API_KEY and BEARER_TOKEN can not both be set');
}

if (API_KEY) {
  // Create an Basic IAM authenticator.
  authenticator = new BasicAuthenticator({
    username: 'token',
    password: API_KEY,
  });
} else {
  // Create an IAM Bearer Token authenticator.
  authenticator = new BearerTokenAuthenticator({
    bearerToken: BEARER_TOKEN,
  });
}
// End Authenticator

Obtaining the Kafka version

You can obtain the Kafka version of the cluster using this API. The path of the API is /admin/info

Run a command like the following:

-$ curl -u token:<redacted API key> https://mh-int-edotest3-cpsrfxk-6fc3ea743571ba7392ba4250a5946fd9-0000.us-south.containers.appdomain.cloud/admin/info

The command provides output like the following:

{"health":{"encryption_key":"Active","kafka":"Healthy","key_protect_key":"Active"},"versions":{"kafka":"3.3"}}

Code setup

The following sections show how to set up the code for each language.

No code setup is required for CURL.

N/A

The following example shows how to set up with Go:

// Code Setup
import (
	"fmt"
	"net/http"
	"os"

	"github.com/IBM/eventstreams-go-sdk/pkg/adminrestv1"
	"github.com/IBM/go-sdk-core/v4/core"
)

// End Code Setup

The following shows an example of how to set up with Python:

# Code Setup
from typing import Set
from ibm_cloud_sdk_core.authenticators import BasicAuthenticator
from eventstreams_sdk.adminrest_v1 import *
import os
from http import HTTPStatus

SERVICE_NAME = 'adminrest_v1'
KAFKA_ADMIN_URL = os.getenv('KAFKA_ADMIN_URL')
BEARER_TOKEN= os.getenv('BEARER_TOKEN')
API_KEY= os.getenv('API_KEY')

# End Code Setup

# Create Authenticator
if not KAFKA_ADMIN_URL:
    print("Please set env KAFKA_ADMIN_URL")
    exit(1)

if not API_KEY and not BEARER_TOKEN:
    print("Please set either an API_KEY or a BEARER_TOKEN")
    exit(1)

if API_KEY and BEARER_TOKEN:
    print("Please set either an API_KEY or a BEARER_TOKEN not both")
    exit(1)

if API_KEY:
    # Create an Basic IAM authenticator.
    authenticator = BasicAuthenticator('token', API_KEY)
else :
    # Create an IAM Bearer Token authenticator.
    authenticator = BasicAuthenticator('token', BEARER_TOKEN)

service = AdminrestV1(
    authenticator = authenticator
    )
# End Authenticator

# Create Service
base_url = KAFKA_ADMIN_URL
service.set_service_url(base_url)
# End Create Service

def list_topics(service):
    # Set up parameter values
    topic_filter = ''
    # Invoke list method.
    try:
        response = service.list_topics(
            topic_filter=topic_filter,
            )

        if response.status_code == HTTPStatus.OK:
            if not response.result :
                print("\tnothing to list")
                return
            for topic in response.result: 
                 print("\t" + topic["name"])
    except:
        print("\tError Listing Topics")
    # func.end

The following shows an example of how to set up with Java:

// Code Setup
package com.ibm.cloud.adminrest.v1;

import java.util.Arrays;
import java.util.List;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.Adminrest;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.ListTopicsOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.TopicDetail;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.CreateTopicOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.DeleteTopicOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.UpdateTopicOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.ReplicaAssignment;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.GetMirroringActiveTopicsOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.MirroringActiveTopics;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.ReplaceMirroringTopicSelectionOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.MirroringTopicSelection;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.GetMirroringTopicSelectionOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.ListConsumerGroupsOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.GetConsumerGroupOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.GroupDetail;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.UpdateConsumerGroupOptions;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.GroupResetResult;
import com.ibm.cloud.eventstreams_sdk.adminrest.v1.model.DeleteConsumerGroupOptions;
import com.ibm.cloud.sdk.core.security.Authenticator;
import com.ibm.cloud.sdk.core.security.BasicAuthenticator;
import com.ibm.cloud.sdk.core.security.BearerTokenAuthenticator;
import com.ibm.cloud.sdk.core.http.Response;
import com.ibm.cloud.sdk.core.http.HttpStatus;

public class AdminrestExample {


    private AdminrestExample() {
    }
// End Code Setup

The following example shows how to set up with Node:

// Code Setup
const HTTP = require('http');
const util = require('util');
const KAFKA_ADMIN_URL = process.env.KAFKA_ADMIN_URL;
const API_KEY = process.env.API_KEY;
const BEARER_TOKEN = process.env.BEARER_TOKEN;
const NewAdminrestV1 = require('../dist/adminrest/v1');
const { BasicAuthenticator } = require('../dist/auth');
const { BearerTokenAuthenticator } = require('../dist/auth');
const { NoAuthAuthenticator } = require('../dist/auth');

const topicName = 'test-topic';
let authenticator = new NoAuthAuthenticator({});
/* eslint-disable no-console */

// Code Setup End

// Create Authenticator
if (KAFKA_ADMIN_URL === undefined || !KAFKA_ADMIN_URL) {
  console.log('Please set env KAFKA_ADMIN_URL');
  throw new Error('error KAFKA_ADMIN_URL not set');
}

if ((API_KEY === undefined || !API_KEY) && (BEARER_TOKEN === undefined || !BEARER_TOKEN)) {
  console.log('Please set either an API_KEY or a BEARER_TOKEN');
  throw new Error('error: API_KEY or BEARER_TOKEN not set');
}

if (API_KEY && BEARER_TOKEN) {
  console.log('Please set either an API_KEY or a BEARER_TOKEN not both');
  throw new Error('error: API_KEY and BEARER_TOKEN can not both be set');
}

if (API_KEY) {
  // Create an Basic IAM authenticator.
  authenticator = new BasicAuthenticator({
    username: 'token',
    password: API_KEY,
  });
} else {
  // Create an IAM Bearer Token authenticator.
  authenticator = new BearerTokenAuthenticator({
    bearerToken: BEARER_TOKEN,
  });
}
// End Authenticator

Create service

The following sections show how to create a service for each language.

No service setup is required for CURL.

N/A

The following example shows how to create a service with Go:

	// Create Service
	serviceAPI, serviceErr := adminrestv1.NewAdminrestV1(&adminrestv1.AdminrestV1Options{
		URL:           URL,
		Authenticator: authenticator,
	})
	// End Create Service

The following example shows how to create a service with Python:

# Create Service
base_url = KAFKA_ADMIN_URL
service.set_service_url(base_url)
# End Create Service

def list_topics(service):
    # Set up parameter values
    topic_filter = ''
    # Invoke list method.
    try:
        response = service.list_topics(
            topic_filter=topic_filter,
            )

        if response.status_code == HTTPStatus.OK:
            if not response.result :
                print("\tnothing to list")
                return
            for topic in response.result: 
                 print("\t" + topic["name"])
    except:
        print("\tError Listing Topics")
    # func.end

The following example shows how to create a service with Java:

        // Create Service - Construct the service client.
        Adminrest service = new Adminrest(serviceName, authenticator);
        // End Authenticator

The following example shows how to create a service with Node:

// Create Service
// Construct the service client.
const adminrest = new NewAdminrestV1({
  authenticator,
  serviceUrl: KAFKA_ADMIN_URL,
});
// End Create Service

Methods

Create a new topic.

Create a new topic.

Create a new topic.

Create a new topic.

Create a new topic.

Create a new topic.

POST /admin/topics
ServiceCall<Void> createTopic(CreateTopicOptions createTopicOptions)
create_topic(self,
        *,
        name: str = None,
        partitions: int = None,
        partition_count: int = None,
        configs: List['ConfigCreate'] = None,
        **kwargs
    ) -> DetailedResponse
create_topic(self,
        *,
        name: str = None,
        partitions: int = None,
        partition_count: int = None,
        configs: List['ConfigCreate'] = None,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) CreateTopic(createTopicOptions *CreateTopicOptions) (response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) CreateTopicWithContext(ctx context.Context, createTopicOptions *CreateTopicOptions) (response *core.DetailedResponse, err error)

Request

Use the CreateTopicOptions.Builder to create a CreateTopicOptions object that contains the parameter values for the createTopic method.

Instantiate the CreateTopicOptions struct and set the fields to provide parameter values for the CreateTopic method.

The details of the topic to be created.

The createTopic options.

parameters

  • The name of topic to be created.

  • The number of partitions.

  • The number of partitions, this field takes precedence over 'partitions'. Default value is 1 if not specified.

    Possible values: 1 ≤ value ≤ 1000

  • The config properties to be set for the new topic.

parameters

  • The name of topic to be created.

  • The number of partitions.

  • The number of partitions, this field takes precedence over 'partitions'. Default value is 1 if not specified.

    Possible values: 1 ≤ value ≤ 1000

  • The config properties to be set for the new topic.

WithContext method only

The CreateTopic options.

Response

Status Code

  • The request was accepted.

  • The request body was invalid JSON.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The request was semantically invalid. Consult the error information returned in the response body for details.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get a list of topics.

Returns a list containing information about all of the Kafka topics that are defined for an instance of the Event Streams service. If there are currently no topics defined then an empty list is returned.

Returns a list containing information about all of the Kafka topics that are defined for an instance of the Event Streams service. If there are currently no topics defined then an empty list is returned.

Returns a list containing information about all of the Kafka topics that are defined for an instance of the Event Streams service. If there are currently no topics defined then an empty list is returned.

Returns a list containing information about all of the Kafka topics that are defined for an instance of the Event Streams service. If there are currently no topics defined then an empty list is returned.

Returns a list containing information about all of the Kafka topics that are defined for an instance of the Event Streams service. If there are currently no topics defined then an empty list is returned.

GET /admin/topics
ServiceCall<List<TopicDetail>> listTopics(ListTopicsOptions listTopicsOptions)
list_topics(self,
        *,
        topic_filter: str = None,
        per_page: int = None,
        page: int = None,
        **kwargs
    ) -> DetailedResponse
list_topics(self,
        *,
        topic_filter: str = None,
        per_page: int = None,
        page: int = None,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) ListTopics(listTopicsOptions *ListTopicsOptions) (result []TopicDetail, response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) ListTopicsWithContext(ctx context.Context, listTopicsOptions *ListTopicsOptions) (result []TopicDetail, response *core.DetailedResponse, err error)

Request

Use the ListTopicsOptions.Builder to create a ListTopicsOptions object that contains the parameter values for the listTopics method.

Instantiate the ListTopicsOptions struct and set the fields to provide parameter values for the ListTopics method.

Query Parameters

  • A filter to be applied to the topic names. A simple filter can be specified as a string with asterisk (*) wildcards representing 0 or more characters, e.g. topic-name* will filter all topic names that begin with the string topic-name followed by any character sequence. A more complex filter pattern can be used by surrounding a regular expression in forward slash (/) delimiters, e.g. /topic-name.* /.

  • The number of topic names to be returned.

  • The page number to be returned. The number 1 represents the first page. The default value is 1.

The listTopics options.

parameters

  • A filter to be applied to the topic names. A simple filter can be specified as a string with asterisk (*) wildcards representing 0 or more characters, e.g. topic-name* will filter all topic names that begin with the string topic-name followed by any character sequence. A more complex filter pattern can be used by surrounding a regular expression in forward slash (/) delimiters, e.g. /topic-name.* /.

  • The number of topic names to be returns.

  • The page number to be returned. The number 1 represents the first page. The default value is 1.

parameters

  • A filter to be applied to the topic names. A simple filter can be specified as a string with asterisk (*) wildcards representing 0 or more characters, e.g. topic-name* will filter all topic names that begin with the string topic-name followed by any character sequence. A more complex filter pattern can be used by surrounding a regular expression in forward slash (/) delimiters, e.g. /topic-name.* /.

  • The number of topic names to be returns.

  • The page number to be returned. The number 1 represents the first page. The default value is 1.

WithContext method only

The ListTopics options.

Response

Response type: List<TopicDetail>

Response type: List[TopicDetail]

Response type: List[TopicDetail]

Response type: []TopicDetail

A list of 'topic_detail' is returned.

Status Code

  • Returns a list of topics.

  • The client was not authenticated to perform this request.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get detailed information on a topic.

Get detailed information on a topic.

Get detailed information on a topic.

Get detailed information on a topic.

Get detailed information on a topic.

Get detailed information on a topic.

GET /admin/topics/{topic_name}
ServiceCall<TopicDetail> getTopic(GetTopicOptions getTopicOptions)
get_topic(self,
        topic_name: str,
        **kwargs
    ) -> DetailedResponse
get_topic(self,
        topic_name: str,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) GetTopic(getTopicOptions *GetTopicOptions) (result *TopicDetail, response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) GetTopicWithContext(ctx context.Context, getTopicOptions *GetTopicOptions) (result *TopicDetail, response *core.DetailedResponse, err error)

Request

Use the GetTopicOptions.Builder to create a GetTopicOptions object that contains the parameter values for the getTopic method.

Instantiate the GetTopicOptions struct and set the fields to provide parameter values for the GetTopic method.

Path Parameters

  • The topic name for the topic to be described.

The getTopic options.

parameters

  • The topic name for the topic to be listed.

parameters

  • The topic name for the topic to be listed.

WithContext method only

The GetTopic options.

Response

Status Code

  • Returns a detailed description of a single topic.

  • The client was not authenticated to perform this request.

  • The requested topic was not found.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Delete a topic.

Delete a topic.

Delete a topic.

Delete a topic.

Delete a topic.

Delete a topic.

DELETE /admin/topics/{topic_name}
ServiceCall<Void> deleteTopic(DeleteTopicOptions deleteTopicOptions)
delete_topic(self,
        topic_name: str,
        **kwargs
    ) -> DetailedResponse
delete_topic(self,
        topic_name: str,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) DeleteTopic(deleteTopicOptions *DeleteTopicOptions) (response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) DeleteTopicWithContext(ctx context.Context, deleteTopicOptions *DeleteTopicOptions) (response *core.DetailedResponse, err error)

Request

Use the DeleteTopicOptions.Builder to create a DeleteTopicOptions object that contains the parameter values for the deleteTopic method.

Instantiate the DeleteTopicOptions struct and set the fields to provide parameter values for the DeleteTopic method.

Path Parameters

  • The topic name for the topic to be deleted.

The deleteTopic options.

parameters

  • The topic name for the topic to be listed.

parameters

  • The topic name for the topic to be listed.

WithContext method only

The DeleteTopic options.

Response

Status Code

  • The request was accepted.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The requested topic was not found.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Increase the number of partitions and/or update one or more topic configuration parameters.

Increase the number of partitions and/or update one or more topic configuration parameters.

Increase the number of partitions and/or update one or more topic configuration parameters.

Increase the number of partitions and/or update one or more topic configuration parameters.

Increase the number of partitions and/or update one or more topic configuration parameters.

Increase the number of partitions and/or update one or more topic configuration parameters.

PATCH /admin/topics/{topic_name}
ServiceCall<Void> updateTopic(UpdateTopicOptions updateTopicOptions)
update_topic(self,
        topic_name: str,
        *,
        new_total_partition_count: int = None,
        configs: List['ConfigUpdate'] = None,
        **kwargs
    ) -> DetailedResponse
update_topic(self,
        topic_name: str,
        *,
        new_total_partition_count: int = None,
        configs: List['ConfigUpdate'] = None,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) UpdateTopic(updateTopicOptions *UpdateTopicOptions) (response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) UpdateTopicWithContext(ctx context.Context, updateTopicOptions *UpdateTopicOptions) (response *core.DetailedResponse, err error)

Request

Use the UpdateTopicOptions.Builder to create a UpdateTopicOptions object that contains the parameter values for the updateTopic method.

Instantiate the UpdateTopicOptions struct and set the fields to provide parameter values for the UpdateTopic method.

Path Parameters

  • The topic name for the topic to be updated.

The details of the topic to be updated.

The updateTopic options.

parameters

  • The topic name for the topic to be listed.

  • The new partition number to be increased.

  • The config properties to be updated for the topic. Valid config keys are 'cleanup.policy', 'retention.ms', 'retention.bytes', 'segment.bytes', 'segment.ms', 'segment.index.bytes'.

parameters

  • The topic name for the topic to be listed.

  • The new partition number to be increased.

  • The config properties to be updated for the topic. Valid config keys are 'cleanup.policy', 'retention.ms', 'retention.bytes', 'segment.bytes', 'segment.ms', 'segment.index.bytes'.

WithContext method only

The UpdateTopic options.

Response

Status Code

  • The request was accepted.

  • The request body was invalid JSON.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The requested topic was not found.

  • The request was semantically invalid. Consult the error information returned in the response body for details.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Delete records before the given offset on a topic.

Delete records before the given offset on a topic.

DELETE /admin/topics/{topic_name}/records

Request

Path Parameters

  • The topic name of the records to be deleted.

The records in which partition and before which offset to be deleted.

Response

Status Code

  • The request was accepted.

  • The request body was invalid JSON.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The requested topic or partition or offset was not found.

  • The request was semantically invalid. Consult the error information returned in the response body for details.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Create a new quota.

Create a new quota.

Create a new quota.

Create a new quota.

Create a new quota.

Create a new quota.

POST /admin/quotas/{entity_name}
public ServiceCall<Void> createQuota(CreateQuotaOptions createQuotaOptions)
def create_quota(self,
        entity_name: str,
        *,
        producer_byte_rate: int = None,
        consumer_byte_rate: int = None,
        **kwargs
    ) -> DetailedResponse
def create_quota(self,
        entity_name: str,
        *,
        producer_byte_rate: int = None,
        consumer_byte_rate: int = None,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) CreateQuota(createQuotaOptions *CreateQuotaOptions) (response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) CreateQuotaWithContext(ctx context.Context, createQuotaOptions *CreateQuotaOptions) (response *core.DetailedResponse, err error)

Request

Use the CreateQuotaOptions.Builder to create a CreateQuotaOptions object that contains the parameter values for the CreateQuota method.

Instantiate the CreateQuotaOptions struct and set the fields to provide parameter values for the CreateQuota method.

Path Parameters

  • The entity name of the quotas can be default or an IAM Service ID that starts with an iam-ServiceId prefix.

The new quota to be created.

The CreateQuota options.

The CreateQuota options.

The CreateQuota options.

WithContext method only

The CreateQuota options.

Response

Status Code

  • The request was accepted.

  • The request body was invalid JSON.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The request was semantically invalid. Consult the error information returned in the response body for details.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Update a quota.

Update an entity's quota.

Existing quota to be updated.

Existing quota to be updated.

Existing quota to be updated.

Existing quota to be updated.

PATCH /admin/quotas/{entity_name}
public ServiceCall<Void> updateQuota(UpdateQuotaOptions updateQuotaOptions)
def update_quota(self,
        entity_name: str,
        *,
        producer_byte_rate: int = None,
        consumer_byte_rate: int = None,
        **kwargs
    ) -> DetailedResponse
def update_quota(self,
        entity_name: str,
        *,
        producer_byte_rate: int = None,
        consumer_byte_rate: int = None,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) UpdateQuota(updateQuotaOptions *UpdateQuotaOptions) (response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) UpdateQuotaWithContext(ctx context.Context, updateQuotaOptions *UpdateQuotaOptions) (response *core.DetailedResponse, err error)

Request

Use the UpdateQuotaOptions.Builder to create a UpdateQuotaOptions object that contains the parameter values for the UpdateQuota method.

Instantiate the UpdateQuotaOptions struct and set the fields to provide parameter values for the UpdateQuota method.

Path Parameters

  • The entity name of the quotas can be default or an IAM Service ID that starts with an iam-ServiceId prefix.

The new quota to be updated.

The UpdateQuota options.

The UpdateQuota options.

The UpdateQuota options.

WithContext method only

The UpdateQuota options.

Response

Status Code

  • The request was accepted.

  • The request body was invalid JSON.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The requested quota was not found for specified entity.

  • The request was semantically invalid. Consult the error information returned in the response body for details.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Delete a quota.

Delete an entity's quota.

Delete an entity's quota.

Delete an entity's quota.

Delete an entity's quota.

Delete an entity's quota.

DELETE /admin/quotas/{entity_name}
public ServiceCall<Void> deleteQuota(DeleteQuotaOptions deleteQuotaOptions)
def delete_quota(self,
        entity_name: str,
        **kwargs
    ) -> DetailedResponse
def delete_quota(self,
        entity_name: str,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) DeleteQuota(deleteQuotaOptions *DeleteQuotaOptions) (response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) DeleteQuotaWithContext(ctx context.Context, deleteQuotaOptions *DeleteQuotaOptions) (response *core.DetailedResponse, err error)

Request

Use the DeleteQuotaOptions.Builder to create a DeleteQuotaOptions object that contains the parameter values for the DeleteQuota method.

Instantiate the DeleteQuotaOptions struct and set the fields to provide parameter values for the DeleteQuota method.

Path Parameters

  • The entity name of the quotas can be default or an IAM Service ID that starts with an iam-ServiceId prefix.

The DeleteQuota options.

The DeleteQuota options.

The DeleteQuota options.

WithContext method only

The DeleteQuota options.

Response

Status Code

  • The request was accepted.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The requested quota was not found for specified entity.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get quota information for an entity.

Get quota information for an entity.

Get quota informaton for an entity.

Get quota informaton for an entity.

Get quota informaton for an entity.

Get quota informaton for an entity.

GET /admin/quotas/{entity_name}
public ServiceCall<QuotaDetail> getQuota(GetQuotaOptions getQuotaOptions)
def get_quota(self,
        entity_name: str,
        **kwargs
    ) -> DetailedResponse
def get_quota(self,
        entity_name: str,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) GetQuota(getQuotaOptions *GetQuotaOptions) (result *QuotaDetail, response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) GetQuotaWithContext(ctx context.Context, getQuotaOptions *GetQuotaOptions) (result *QuotaDetail, response *core.DetailedResponse, err error)

Request

Use the GetQuotaOptions.Builder to create a GetQuotaOptions object that contains the parameter values for the GetQuota method.

Instantiate the GetQuotaOptions struct and set the fields to provide parameter values for the GetQuota method.

Path Parameters

  • The entity name of the quotas can be default or an IAM Service ID that starts with an iam-ServiceId prefix.

The GetQuota options.

The GetQuota options.

The GetQuota options.

WithContext method only

The GetQuota options.

Response

Status Code

  • Returns the quota information for the entity.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The requested entity was not found.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

List each entity's quota information.

List each entity's quota information.

List each entity's quota information.

List each entity's quota information.

List each entity's quota information.

List each entity's quotas information.

GET /admin/quotas
public ServiceCall<EntityQuotasList> listQuotas(ListQuotasOptions listQuotasOptions)
def list_quotas(self,
        **kwargs
    ) -> DetailedResponse
def list_quotas(self,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) ListQuotas(listQuotasOptions *ListQuotasOptions) (result *EntityQuotasList, response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) ListQuotasWithContext(ctx context.Context, listQuotasOptions *ListQuotasOptions) (result *EntityQuotasList, response *core.DetailedResponse, err error)

Request

Use the ListQuotasOptions.Builder to create a ListQuotasOptions object that contains the parameter values for the ListQuotas method.

Instantiate the ListQuotasOptions struct and set the fields to provide parameter values for the ListQuotas method.

No Request Parameters

This method does not accept any request parameters.

WithContext method only

Response

A list of 'quota_detail' is returned.

Status Code

  • Returns a list of entity's quota information.

  • The client was not authenticated to perform this request.

  • The client was not authorized to perform this request.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get a list of brokers in the cluster.

Get a list of brokers in the cluster.

GET /admin/brokers

Request

No Request Parameters

This method does not accept any request parameters.

Response

Status Code

  • Returns a list of brokers in the cluster.

  • The client was not authenticated to perform this request.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get detailed information for a single broker.

Get detailed information for a single broker.

GET /admin/brokers/{broker_id}

Request

Path Parameters

  • The broker ID of the broker to be described.

Response

Status Code

  • Returns detailed information for a single broker.

  • The client was not authenticated to perform this request.

  • The requested broker was not found.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get all configuration parameters for a single broker.

Get all configuration parameters for a single broker.

GET /admin/brokers/{broker_id}/configs

Request

Path Parameters

  • The broker ID of the broker to be described.

Query Parameters

  • A filter to be applied to the config names. A simple filter can be specified as a string with asterisk (*) wildcards representing 0 or more characters, e.g. file* will filter all config names that begin with the string file followed by any character sequence. A more complex filter pattern can be used by surrounding a regular expression in forward slash (/) delimiters, e.g. /file.* /.

  • When true, all information about the config properties is returned including the source of the configuration indicating its scope and whether it's dynamic.

Response

Status Code

  • Returns the detailed configuration parameters of the broker.

  • The client was not authenticated to perform this request.

  • The requested broker was not found.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get information about the cluster.

Get information about the cluster.

GET /admin/cluster

Request

No Request Parameters

This method does not accept any request parameters.

Response

Status Code

  • Returns a description of the cluster and its brokers.

  • The client was not authenticated to perform this request.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get a list of consumer group IDs.

Get a list of consumer group IDs.

Get a list of consumer group IDs.

Get a list of consumer group IDs.

Get a list of consumer group IDs.

Get a list of consumer group IDs.

GET /admin/consumergroups
ServiceCall<List<String>> listConsumerGroups(ListConsumerGroupsOptions listConsumerGroupsOptions)
list_consumer_groups(self,
        *,
        group_filter: str = None,
        per_page: int = None,
        page: int = None,
        **kwargs
    ) -> DetailedResponse
list_consumer_groups(self,
        *,
        group_filter: str = None,
        per_page: int = None,
        page: int = None,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) ListConsumerGroups(listConsumerGroupsOptions *ListConsumerGroupsOptions) (result []string, response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) ListConsumerGroupsWithContext(ctx context.Context, listConsumerGroupsOptions *ListConsumerGroupsOptions) (result []string, response *core.DetailedResponse, err error)

Request

Use the ListConsumerGroupsOptions.Builder to create a ListConsumerGroupsOptions object that contains the parameter values for the listConsumerGroups method.

Instantiate the ListConsumerGroupsOptions struct and set the fields to provide parameter values for the ListConsumerGroups method.

Query Parameters

  • A filter to be applied to the consumer group IDs. A simple filter can be specified as a string with asterisk (*) wildcards representing 0 or more characters, e.g. group_id* will filter all group IDs that begin with the string group_id followed by any character sequence. A more complex filter pattern can be used by surrounding a regular expression in forward slash (/) delimiters, e.g. /group_id.* /.

  • The number of consumer groups to be returned.

  • The page number to be returned. The number 1 represents the first page. The default value is 1.

The listConsumerGroups options.

parameters

  • A filter to be applied to the consumer group IDs. A simple filter can be specified as a string with asterisk (*) wildcards representing 0 or more characters, e.g. group_id* will filter all group IDs that begin with the string group_id followed by any character sequence. A more complex filter pattern can be used by surrounding a regular expression in forward slash (/) delimiters, e.g. /group_id.* /.

  • The number of topic names to be returns.

  • The page number to be returned. The number 1 represents the first page. The default value is 1.

parameters

  • A filter to be applied to the consumer group IDs. A simple filter can be specified as a string with asterisk (*) wildcards representing 0 or more characters, e.g. group_id* will filter all group IDs that begin with the string group_id followed by any character sequence. A more complex filter pattern can be used by surrounding a regular expression in forward slash (/) delimiters, e.g. /group_id.* /.

  • The number of topic names to be returns.

  • The page number to be returned. The number 1 represents the first page. The default value is 1.

WithContext method only

The ListConsumerGroups options.

Response

Response type: List<String>

Response type: List[str]

Response type: List[str]

Response type: []string

Status Code

  • Returns a list of consumer groups.

  • The client was not authenticated to perform this request.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Get detailed information on a consumer group.

Get detailed information on a consumer group.

Get detailed information on a consumer group.

Get detailed information on a consumer group.

Get detailed information on a consumer group.

Get detailed information on a consumer group.

GET /admin/consumergroups/{group_id}
ServiceCall<GroupDetail> getConsumerGroup(GetConsumerGroupOptions getConsumerGroupOptions)
get_consumer_group(self,
        group_id: str,
        **kwargs
    ) -> DetailedResponse
get_consumer_group(self,
        group_id: str,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) GetConsumerGroup(getConsumerGroupOptions *GetConsumerGroupOptions) (result *GroupDetail, response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) GetConsumerGroupWithContext(ctx context.Context, getConsumerGroupOptions *GetConsumerGroupOptions) (result *GroupDetail, response *core.DetailedResponse, err error)

Request

Use the GetConsumerGroupOptions.Builder to create a GetConsumerGroupOptions object that contains the parameter values for the getConsumerGroup method.

Instantiate the GetConsumerGroupOptions struct and set the fields to provide parameter values for the GetConsumerGroup method.

Path Parameters

  • The group ID for the consumer group to be described.

The getConsumerGroup options.

parameters

  • The group ID for the consumer group to be listed.

parameters

  • The group ID for the consumer group to be listed.

WithContext method only

The GetConsumerGroup options.

Response

Status Code

  • Returns detailed information of a consumer group.

  • The client was not authenticated to perform this request.

  • The requested consumer group was not found.

  • The server was not available.

No Sample Response

This method does not specify any sample responses.

Delete a consumer group.

Delete a consumer group.

Delete a consumer group.

Delete a consumer group.

Delete a consumer group.

Delete a consumer group.

DELETE /admin/consumergroups/{group_id}
ServiceCall<Void> deleteConsumerGroup(DeleteConsumerGroupOptions deleteConsumerGroupOptions)
delete_consumer_group(self,
        group_id: str,
        **kwargs
    ) -> DetailedResponse
delete_consumer_group(self,
        group_id: str,
        **kwargs
    ) -> DetailedResponse
(adminrest *AdminrestV1) DeleteConsumerGroup(deleteConsumerGroupOptions *DeleteConsumerGroupOptions) (response *core.DetailedResponse, err error)
(adminrest *AdminrestV1) DeleteConsumerGroupWithContext(ctx context.Context, deleteConsumerGroupOptions *DeleteConsumerGroupOptions) (response *core.DetailedResponse, err error)

Request

Use the DeleteConsumerGroupOptions.Builder to create a DeleteConsumerGroupOptions object that contains the parameter values for the deleteConsumerGroup method.

Instantiate the DeleteConsumerGroupOptions struct and set the fields to provide parameter values for the DeleteConsumerGroup method.

Path Parameters

  • The group ID for the consumer group to be deleted.

The deleteConsumerGroup options.

parameters

  • The group ID for the consumer group to be listed.