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. The REST producer API is a scalable REST interface for producing messages to Event Streams over a secure HTTP endpoint. Send event data to Event Streams, utilize Kafka technology to handle data feeds, and take advantage of Event Streams features to manage your data. Use the API to connect existing systems to Event Streams. Create produce requests from your systems into Event Streams, including specifying the message key, headers, and the topics that you want to write messages to. The REST producer API is available as part of the Event Streams Standard and Enterprise plans only. You can downloadhttps://cloud.ibm.com/apidocs/event-streams/restproducer.json the OpenAPI specification compliant descriptors for this REST interface. Alternatively, click the three vertical dots next to the IBM Event Streams REST Producer title in the top left corner of this app, then click the Download OpenAPI definition link that appears. For more information about Event Streams, see What is Event Streams?https://cloud.ibm.com/docs/services/EventStreams?topic=eventstreams-about. Other Event Streams APIs IBM Event Streams also provides the following APIs: Event Streams REST Producer v2 endpoint API Referencehttps://cloud.ibm.com/apidocs/event-streams/restproducerv2 Event Streams Admin REST API Referencehttps://cloud.ibm.com/apidocs/event-streams/adminrest Endpoint URLs The URL for the API's endpoint is provided in the kafkahttpurl property. Error handling This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200 response indicates success. A 400 type response indicates a failure, and a 500 type response indicates an internal system error. | HTTP status code | Description | Recovery | |-----------------|-------------|----------| | 200 | OK | Message successfully sent to Event Streams. | | 400 | Bad request | Not a valid request. | | 401 | Unauthorized | You are unauthorized to produce to this topic. | | 403 | Forbidden | The token that you have provided does not have sufficient permissions to produce to a topic. Check if you have provided the token with the required access role. | | 404 | Not found | The topic does not exist. If Kafka setting auto.create.topics.enable is set to true the default, Kafka automatically creates the topic with the default replication factor and number of partitions. If Kafka setting auto.create.topics.enable is set to false, this error message is displayed when attempting to produce to a topic that does not exist. | | 429 | Too many requests | Too many consecutive requests. | | 415 | Unsupported Media Type | The provided value for Content-Type header is unsupported. | | 408 | Request timeout | The request timed out producing to Event Streams. | | 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. | Authentication Use one of the following methods to authenticate: To authenticate using Basic Auth: Use the user and apikey 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 Method Path Summary POST /topics/{topic_name}/records Produce a message.