Event Endpoint Management Admin API v1.0.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
The Admin API provides programmatic access to your Event Endpoint Management deployment and features from other systems.
Authentication
Access control is provided through HTTP bearer authentication by using access tokens. To use the API, create an access token in the Event Endpoint Management UI.
Default
createCluster
Code samples
# You can also use wget
curl -X POST /{organization}/clusters \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /{organization}/clusters
Create a new Cluster.
Body parameter
{
"type": "object",
"required": [
"name",
"bootstrapServers"
],
"properties": {
"bootstrapServers": {
"description": "Bootstrap servers for this cluster",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"host": {
"description": "Kafka server host name.",
"type": "string"
},
"port": {
"description": "Kafka server port.",
"type": "integer"
},
"ssl": {
"description": "Connect over SSL.",
"type": "boolean",
"default": false
},
"certificates": {
"description": "Certificates or CAs to trust when connecting to the server via SSL.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"description": "X509 certificate presented by an endpoint",
"required": [
"pem"
],
"properties": {
"pem": {
"description": "Certificate in PEM format",
"type": "string"
},
"subject": {
"description": "Subject name of the certificate",
"type": "string"
},
"sans": {
"description": "A list of subject alternative names of the certificate",
"type": "array",
"items": {
"type": "string"
}
},
"issuer": {
"description": "Issuer of the certificate",
"type": "string"
},
"expiry": {
"description": "Expiration date of the certificate in epoch millis",
"type": "integer"
}
}
}
},
"security": {
"description": "Captures the accepted security protocol",
"type": "object",
"required": [
"authType"
],
"properties": {
"authType": {
"description": "The name of security protocol used",
"type": "string",
"enum": [
"SASL",
"NONE",
"MTLS"
]
},
"mechanism": {
"description": "Security mechanisms supported",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"PLAIN",
"SCRAM-SHA-512",
"SCRAM-SHA-256"
]
}
}
}
}
}
}
},
"name": {
"description": "Cluster name",
"type": "string"
},
"lastUpdated": {
"description": "Time in ms since the epoch which represents the last time the cluster information was updated.",
"type": "integer"
},
"credentials": {
"type": "object",
"required": [
"type",
"data"
],
"description": "Credentials to be supplied by the client application when connecting",
"properties": {
"type": {
"description": "The type of credentials. Used by parsers to determine how to handle the other fields",
"type": "string",
"enum": [
"NONE",
"SASL"
]
},
"data": {
"description": "Details of the SASL credential data to authenticate with Kafka",
"type": "object",
"properties": {
"username": {
"description": "SASL username to authenticate with Kafka",
"type": "string"
},
"password": {
"description": "SASL password to authenticate with Kafka",
"type": "string"
},
"mechanism": {
"description": "SASL mechanism to authenticate with Kafka",
"type": "string"
}
}
}
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
body | body | object | true | none |
» bootstrapServers | body | [object] | true | Bootstrap servers for this cluster |
»» host | body | string | true | Kafka server host name. |
»» port | body | integer | true | Kafka server port. |
»» ssl | body | boolean | false | Connect over SSL. |
»» certificates | body | [object] | false | Certificates or CAs to trust when connecting to the server via SSL. |
»»» pem | body | string | true | Certificate in PEM format |
»»» subject | body | string | false | Subject name of the certificate |
»»» sans | body | [string] | false | A list of subject alternative names of the certificate |
»»» issuer | body | string | false | Issuer of the certificate |
»»» expiry | body | integer | false | Expiration date of the certificate in epoch millis |
»» security | body | object | false | Captures the accepted security protocol |
»»» authType | body | string | true | The name of security protocol used |
»»» mechanism | body | [string] | false | Security mechanisms supported |
» name | body | string | true | Cluster name |
» lastUpdated | body | integer | false | Time in ms since the epoch which represents the last time the cluster information was updated. |
» credentials | body | object | false | Credentials to be supplied by the client application when connecting |
»» type | body | string | true | The type of credentials. Used by parsers to determine how to handle the other fields |
»» data | body | object | true | Details of the SASL credential data to authenticate with Kafka |
»»» username | body | string | false | SASL username to authenticate with Kafka |
»»» password | body | string | false | SASL password to authenticate with Kafka |
»»» mechanism | body | string | false | SASL mechanism to authenticate with Kafka |
Enumerated Values
Parameter | Value |
---|---|
»»» authType | SASL |
»»» authType | NONE |
»»» authType | MTLS |
»»» mechanism | PLAIN |
»»» mechanism | SCRAM-SHA-512 |
»»» mechanism | SCRAM-SHA-256 |
»» type | NONE |
»» type | SASL |
Example responses
200 Response
{
"type": "object",
"properties": {
"id": {
"description": "The ID of your newly created Cluster",
"type": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Cluster successfully created | Inline |
400 | Bad Request | Bad input | None |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
409 | Conflict | A Cluster with the specified ID or name already exists | None |
422 | Unprocessable Entity | The specified Cluster could not be validated using Kafka discovery mechanisms e.g. connection fails, certs mis-matched, SASL mis-match | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | false | none | The ID of your newly created Cluster |
readAllClusters
Code samples
# You can also use wget
curl -X GET /{organization}/clusters \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/clusters
List all Clusters within an Organization. If a page range is specified, then this will return the requested range
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
page | query | integer | false | The page number of results to retrieve. If this number exceeds the available data, then the last page is returned. |
maxPageSize | query | integer | false | The maximum number of entries to return for a given page. If not specified, all data items will be returned. |
Example responses
200 Response
{
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"bootstrapServers"
],
"properties": {
"bootstrapServers": {
"description": "Bootstrap servers for this cluster",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"host": {
"description": "Kafka server host name.",
"type": "string"
},
"port": {
"description": "Kafka server port.",
"type": "integer"
},
"ssl": {
"description": "Connect over SSL.",
"type": "boolean",
"default": false
},
"certificates": {
"description": "Certificates or CAs to trust when connecting to the server via SSL.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"description": "X509 certificate presented by an endpoint",
"required": [
"pem"
],
"properties": {
"pem": {
"description": "Certificate in PEM format",
"type": "string"
},
"subject": {
"description": "Subject name of the certificate",
"type": "string"
},
"sans": {
"description": "A list of subject alternative names of the certificate",
"type": "array",
"items": {
"type": "string"
}
},
"issuer": {
"description": "Issuer of the certificate",
"type": "string"
},
"expiry": {
"description": "Expiration date of the certificate in epoch millis",
"type": "integer"
}
}
}
},
"security": {
"description": "Captures the accepted security protocol",
"type": "object",
"required": [
"authType"
],
"properties": {
"authType": {
"description": "The name of security protocol used",
"type": "string",
"enum": [
"SASL",
"NONE",
"MTLS"
]
},
"mechanism": {
"description": "Security mechanisms supported",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"PLAIN",
"SCRAM-SHA-512",
"SCRAM-SHA-256"
]
}
}
}
}
}
}
},
"name": {
"description": "Cluster name",
"type": "string"
},
"lastUpdated": {
"description": "Time in ms since the epoch which represents the last time the cluster information was updated.",
"type": "integer"
},
"credentials": {
"type": "object",
"required": [
"type",
"data"
],
"description": "Credentials to be supplied by the client application when connecting",
"properties": {
"type": {
"description": "The type of credentials. Used by parsers to determine how to handle the other fields",
"type": "string",
"enum": [
"NONE",
"SASL"
]
},
"data": {
"description": "Details of the SASL credential data to authenticate with Kafka",
"type": "object",
"properties": {
"username": {
"description": "SASL username to authenticate with Kafka",
"type": "string"
},
"password": {
"description": "SASL password to authenticate with Kafka",
"type": "string"
},
"mechanism": {
"description": "SASL mechanism to authenticate with Kafka",
"type": "string"
}
}
}
}
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Clusters successfully listed. | Inline |
304 | Not Modified | Data not changed | None |
400 | Bad Request | Invalid request, only one of page and maxPageSize were supplied or max page size exceeded. | None |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» bootstrapServers | [object] | true | none | Bootstrap servers for this cluster |
»» host | string | true | none | Kafka server host name. |
»» port | integer | true | none | Kafka server port. |
»» ssl | boolean | false | none | Connect over SSL. |
»» certificates | [object] | false | none | Certificates or CAs to trust when connecting to the server via SSL. |
»»» pem | string | true | none | Certificate in PEM format |
»»» subject | string | false | none | Subject name of the certificate |
»»» sans | [string] | false | none | A list of subject alternative names of the certificate |
»»» issuer | string | false | none | Issuer of the certificate |
»»» expiry | integer | false | none | Expiration date of the certificate in epoch millis |
»» security | object | false | none | Captures the accepted security protocol |
»»» authType | string | true | none | The name of security protocol used |
»»» mechanism | [string] | false | none | Security mechanisms supported |
» name | string | true | none | Cluster name |
» lastUpdated | integer | false | none | Time in ms since the epoch which represents the last time the cluster information was updated. |
» credentials | object | false | none | Credentials to be supplied by the client application when connecting |
»» type | string | true | none | The type of credentials. Used by parsers to determine how to handle the other fields |
»» data | object | true | none | Details of the SASL credential data to authenticate with Kafka |
»»» username | string | false | none | SASL username to authenticate with Kafka |
»»» password | string | false | none | SASL password to authenticate with Kafka |
»»» mechanism | string | false | none | SASL mechanism to authenticate with Kafka |
Enumerated Values
Property | Value |
---|---|
authType | SASL |
authType | NONE |
authType | MTLS |
type | NONE |
type | SASL |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ei-pagination-total | integer | Total number of items available for retrieval (including current page). | |
200 | etag | string | An identifier which can be supplied with the If-None-Match header to indicate that unchanged results should return 304 with no data. |
updateCluster
Code samples
# You can also use wget
curl -X PUT /{organization}/clusters/{clusterId} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'
PUT /{organization}/clusters/{clusterId}
Update a Cluster using the ‘id’ as the identifier.
Note - You can view all of the Clusters (including their ‘id’) by using GET /{organization}/clusters
Body parameter
{
"type": "object",
"required": [
"name",
"bootstrapServers"
],
"properties": {
"bootstrapServers": {
"description": "Bootstrap servers for this cluster",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"host": {
"description": "Kafka server host name.",
"type": "string"
},
"port": {
"description": "Kafka server port.",
"type": "integer"
},
"ssl": {
"description": "Connect over SSL.",
"type": "boolean",
"default": false
},
"certificates": {
"description": "Certificates or CAs to trust when connecting to the server via SSL.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"description": "X509 certificate presented by an endpoint",
"required": [
"pem"
],
"properties": {
"pem": {
"description": "Certificate in PEM format",
"type": "string"
},
"subject": {
"description": "Subject name of the certificate",
"type": "string"
},
"sans": {
"description": "A list of subject alternative names of the certificate",
"type": "array",
"items": {
"type": "string"
}
},
"issuer": {
"description": "Issuer of the certificate",
"type": "string"
},
"expiry": {
"description": "Expiration date of the certificate in epoch millis",
"type": "integer"
}
}
}
},
"security": {
"description": "Captures the accepted security protocol",
"type": "object",
"required": [
"authType"
],
"properties": {
"authType": {
"description": "The name of security protocol used",
"type": "string",
"enum": [
"SASL",
"NONE",
"MTLS"
]
},
"mechanism": {
"description": "Security mechanisms supported",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"PLAIN",
"SCRAM-SHA-512",
"SCRAM-SHA-256"
]
}
}
}
}
}
}
},
"name": {
"description": "Cluster name",
"type": "string"
},
"lastUpdated": {
"description": "Time in ms since the epoch which represents the last time the cluster information was updated.",
"type": "integer"
},
"credentials": {
"type": "object",
"required": [
"type",
"data"
],
"description": "Credentials to be supplied by the client application when connecting",
"properties": {
"type": {
"description": "The type of credentials. Used by parsers to determine how to handle the other fields",
"type": "string",
"enum": [
"NONE",
"SASL"
]
},
"data": {
"description": "Details of the SASL credential data to authenticate with Kafka",
"type": "object",
"properties": {
"username": {
"description": "SASL username to authenticate with Kafka",
"type": "string"
},
"password": {
"description": "SASL password to authenticate with Kafka",
"type": "string"
},
"mechanism": {
"description": "SASL mechanism to authenticate with Kafka",
"type": "string"
}
}
}
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
clusterId | path | string | true | The ID of the Cluster. |
body | body | object | true | Update a cluster definition |
» bootstrapServers | body | [object] | true | Bootstrap servers for this cluster |
»» host | body | string | true | Kafka server host name. |
»» port | body | integer | true | Kafka server port. |
»» ssl | body | boolean | false | Connect over SSL. |
»» certificates | body | [object] | false | Certificates or CAs to trust when connecting to the server via SSL. |
»»» pem | body | string | true | Certificate in PEM format |
»»» subject | body | string | false | Subject name of the certificate |
»»» sans | body | [string] | false | A list of subject alternative names of the certificate |
»»» issuer | body | string | false | Issuer of the certificate |
»»» expiry | body | integer | false | Expiration date of the certificate in epoch millis |
»» security | body | object | false | Captures the accepted security protocol |
»»» authType | body | string | true | The name of security protocol used |
»»» mechanism | body | [string] | false | Security mechanisms supported |
» name | body | string | true | Cluster name |
» lastUpdated | body | integer | false | Time in ms since the epoch which represents the last time the cluster information was updated. |
» credentials | body | object | false | Credentials to be supplied by the client application when connecting |
»» type | body | string | true | The type of credentials. Used by parsers to determine how to handle the other fields |
»» data | body | object | true | Details of the SASL credential data to authenticate with Kafka |
»»» username | body | string | false | SASL username to authenticate with Kafka |
»»» password | body | string | false | SASL password to authenticate with Kafka |
»»» mechanism | body | string | false | SASL mechanism to authenticate with Kafka |
Enumerated Values
Parameter | Value |
---|---|
»»» authType | SASL |
»»» authType | NONE |
»»» authType | MTLS |
»»» mechanism | PLAIN |
»»» mechanism | SCRAM-SHA-512 |
»»» mechanism | SCRAM-SHA-256 |
»» type | NONE |
»» type | SASL |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Cluster updated. | None |
400 | Bad Request | Bad input | None |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | Cluster not found | None |
409 | Conflict | Cluster with the specified name already exists | None |
422 | Unprocessable Entity | The specified Cluster could not be validated using Kafka discovery mechanisms e.g. connection fails, certs mis-matched, SASL mis-match | None |
500 | Internal Server Error | Internal error | None |
readCluster
Code samples
# You can also use wget
curl -X GET /{organization}/clusters/{clusterId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/clusters/{clusterId}
Get details about a Cluster.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
clusterId | path | string | true | The ID of the Cluster. |
Example responses
200 Response
{
"type": "object",
"required": [
"name",
"bootstrapServers"
],
"properties": {
"bootstrapServers": {
"description": "Bootstrap servers for this cluster",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"host": {
"description": "Kafka server host name.",
"type": "string"
},
"port": {
"description": "Kafka server port.",
"type": "integer"
},
"ssl": {
"description": "Connect over SSL.",
"type": "boolean",
"default": false
},
"certificates": {
"description": "Certificates or CAs to trust when connecting to the server via SSL.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"description": "X509 certificate presented by an endpoint",
"required": [
"pem"
],
"properties": {
"pem": {
"description": "Certificate in PEM format",
"type": "string"
},
"subject": {
"description": "Subject name of the certificate",
"type": "string"
},
"sans": {
"description": "A list of subject alternative names of the certificate",
"type": "array",
"items": {
"type": "string"
}
},
"issuer": {
"description": "Issuer of the certificate",
"type": "string"
},
"expiry": {
"description": "Expiration date of the certificate in epoch millis",
"type": "integer"
}
}
}
},
"security": {
"description": "Captures the accepted security protocol",
"type": "object",
"required": [
"authType"
],
"properties": {
"authType": {
"description": "The name of security protocol used",
"type": "string",
"enum": [
"SASL",
"NONE",
"MTLS"
]
},
"mechanism": {
"description": "Security mechanisms supported",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"PLAIN",
"SCRAM-SHA-512",
"SCRAM-SHA-256"
]
}
}
}
}
}
}
},
"name": {
"description": "Cluster name",
"type": "string"
},
"lastUpdated": {
"description": "Time in ms since the epoch which represents the last time the cluster information was updated.",
"type": "integer"
},
"credentials": {
"type": "object",
"required": [
"type",
"data"
],
"description": "Credentials to be supplied by the client application when connecting",
"properties": {
"type": {
"description": "The type of credentials. Used by parsers to determine how to handle the other fields",
"type": "string",
"enum": [
"NONE",
"SASL"
]
},
"data": {
"description": "Details of the SASL credential data to authenticate with Kafka",
"type": "object",
"properties": {
"username": {
"description": "SASL username to authenticate with Kafka",
"type": "string"
},
"password": {
"description": "SASL password to authenticate with Kafka",
"type": "string"
},
"mechanism": {
"description": "SASL mechanism to authenticate with Kafka",
"type": "string"
}
}
}
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Cluster successfully read. | Inline |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | Cluster not found | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» bootstrapServers | [object] | true | none | Bootstrap servers for this cluster |
»» host | string | true | none | Kafka server host name. |
»» port | integer | true | none | Kafka server port. |
»» ssl | boolean | false | none | Connect over SSL. |
»» certificates | [object] | false | none | Certificates or CAs to trust when connecting to the server via SSL. |
»»» pem | string | true | none | Certificate in PEM format |
»»» subject | string | false | none | Subject name of the certificate |
»»» sans | [string] | false | none | A list of subject alternative names of the certificate |
»»» issuer | string | false | none | Issuer of the certificate |
»»» expiry | integer | false | none | Expiration date of the certificate in epoch millis |
»» security | object | false | none | Captures the accepted security protocol |
»»» authType | string | true | none | The name of security protocol used |
»»» mechanism | [string] | false | none | Security mechanisms supported |
» name | string | true | none | Cluster name |
» lastUpdated | integer | false | none | Time in ms since the epoch which represents the last time the cluster information was updated. |
» credentials | object | false | none | Credentials to be supplied by the client application when connecting |
»» type | string | true | none | The type of credentials. Used by parsers to determine how to handle the other fields |
»» data | object | true | none | Details of the SASL credential data to authenticate with Kafka |
»»» username | string | false | none | SASL username to authenticate with Kafka |
»»» password | string | false | none | SASL password to authenticate with Kafka |
»»» mechanism | string | false | none | SASL mechanism to authenticate with Kafka |
Enumerated Values
Property | Value |
---|---|
authType | SASL |
authType | NONE |
authType | MTLS |
type | NONE |
type | SASL |
deleteCluster
Code samples
# You can also use wget
curl -X DELETE /{organization}/clusters/{clusterId} \
-H 'Authorization: Bearer {access-token}'
DELETE /{organization}/clusters/{clusterId}
Delete a Cluster.
All related Catalog Entries must be deleted prior to deleting a cluster.
Note - You must be the owner to delete a Cluster. You can view all of the Clusters that you own (including their ‘id’) by using GET /{organization}/clusters
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
clusterId | path | string | true | The ID of the Cluster. |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Cluster successfully deleted | None |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | Cluster not found | None |
409 | Conflict | catalog entries are still using this cluster and it cannot be deleted | None |
500 | Internal Server Error | Internal error | None |
createSubscription
Code samples
# You can also use wget
curl -X POST /{organization}/subscriptions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /{organization}/subscriptions
Create a subscription to a Catalog Entry
Body parameter
{
"type": "object",
"required": [
"entryId",
"credentials",
"contact"
],
"properties": {
"entryId": {
"description": "The list of entry ids this subscription gives access to, currently only supports 1.",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"maxItems": 1,
"items": {
"type": "string"
}
},
"credentials": {
"type": "object",
"required": [
"type",
"data"
],
"description": "Credentials to be supplied by the client application when connecting",
"properties": {
"type": {
"description": "The type of credentials. Used by parsers to determine how to handle the other fields",
"type": "string",
"enum": [
"NONE",
"SASL"
]
},
"data": {
"description": "Details of the SASL credential data to authenticate with Kafka",
"type": "object",
"properties": {
"username": {
"description": "SASL username to authenticate with Kafka",
"type": "string"
},
"password": {
"description": "SASL password to authenticate with Kafka",
"type": "string"
},
"mechanism": {
"description": "SASL mechanism to authenticate with Kafka",
"type": "string"
}
}
}
}
},
"clientId": {
"description": "Optional client ID if this subscription is a legacy APIC one.",
"type": "string"
},
"contact": {
"description": "Subscription contact details.",
"type": "string"
},
"gateways": {
"description": "A list of gateway IDs that can access this data. If this property is missing or contains an empty list then this subscription has no gateway restrictions",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
body | body | object | true | none |
» entryId | body | [string] | true | The list of entry ids this subscription gives access to, currently only supports 1. |
» credentials | body | object | true | Credentials to be supplied by the client application when connecting |
»» type | body | string | true | The type of credentials. Used by parsers to determine how to handle the other fields |
»» data | body | object | true | Details of the SASL credential data to authenticate with Kafka |
»»» username | body | string | false | SASL username to authenticate with Kafka |
»»» password | body | string | false | SASL password to authenticate with Kafka |
»»» mechanism | body | string | false | SASL mechanism to authenticate with Kafka |
» clientId | body | string | false | Optional client ID if this subscription is a legacy APIC one. |
» contact | body | string | true | Subscription contact details. |
» gateways | body | [string] | false | A list of gateway IDs that can access this data. If this property is missing or contains an empty list then this subscription has no gateway restrictions |
Enumerated Values
Parameter | Value |
---|---|
»» type | NONE |
»» type | SASL |
Example responses
200 Response
{
"type": "object",
"properties": {
"id": {
"description": "The ID of your newly created Subscription",
"type": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Subscription successfully created. | Inline |
400 | Bad Request | Bad input | None |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
409 | Conflict | Subscription with the specified ID already exists | None |
422 | Unprocessable Entity | subscribe to invalid topic etc | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | false | none | The ID of your newly created Subscription |
readAllSubscriptions
Code samples
# You can also use wget
curl -X GET /{organization}/subscriptions \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/subscriptions
List all Subscriptions created by the current user in an Organization. If a page range is specified, then this will return the requested range.
Note - This will not include the subscription credentials
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
page | query | integer | false | The page number of results to retrieve. If this number exceeds the available data, then the last page is returned. |
maxPageSize | query | integer | false | The maximum number of entries to return for a given page. If not specified, all data items will be returned. |
Example responses
200 Response
{
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"organization",
"owner",
"entryId",
"contact"
],
"properties": {
"id": {
"description": "Unique subscription ID.",
"type": "string"
},
"owner": {
"description": "Subscription owner.",
"type": "string"
},
"entryId": {
"description": "The list of entry ids this subscription gives access to, currently only supports 1.",
"type": "array",
"uniqueItems": true,
"minItems": 1,
"maxItems": 1,
"items": {
"type": "string"
}
},
"organization": {
"description": "Organization this subscription belongs to.",
"type": "string"
},
"credentials": {
"type": "object",
"required": [
"type",
"data"
],
"description": "Credentials to be supplied by the client application when connecting",
"properties": {
"type": {
"description": "The type of credentials. Used by parsers to determine how to handle the other fields",
"type": "string",
"enum": [
"NONE",
"SASL"
]
},
"data": {
"description": "Details of the SASL credential data to authenticate with Kafka",
"type": "object",
"properties": {
"username": {
"description": "SASL username to authenticate with Kafka",
"type": "string"
},
"password": {
"description": "SASL password to authenticate with Kafka",
"type": "string"
},
"mechanism": {
"description": "SASL mechanism to authenticate with Kafka",
"type": "string"
}
}
}
}
},
"clientId": {
"description": "Optional client ID if this subscription is a legacy APIC one.",
"type": "string"
},
"contact": {
"description": "Subscription contact details.",
"type": "string"
},
"gateways": {
"description": "A list of gateway IDs that can access this data. If this property is missing or contains an empty list then this subscription has no gateway restrictions",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Subscriptions successfully listed. | Inline |
304 | Not Modified | Data not changed | None |
400 | Bad Request | Invalid request, only one of page and maxPageSize were supplied or max page size exceeded. | None |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | true | none | Unique subscription ID. |
» owner | string | true | none | Subscription owner. |
» entryId | [string] | true | none | The list of entry ids this subscription gives access to, currently only supports 1. |
» organization | string | true | none | Organization this subscription belongs to. |
» credentials | object | false | none | Credentials to be supplied by the client application when connecting |
»» type | string | true | none | The type of credentials. Used by parsers to determine how to handle the other fields |
»» data | object | true | none | Details of the SASL credential data to authenticate with Kafka |
»»» username | string | false | none | SASL username to authenticate with Kafka |
»»» password | string | false | none | SASL password to authenticate with Kafka |
»»» mechanism | string | false | none | SASL mechanism to authenticate with Kafka |
» clientId | string | false | none | Optional client ID if this subscription is a legacy APIC one. |
» contact | string | true | none | Subscription contact details. |
» gateways | [string] | false | none | A list of gateway IDs that can access this data. If this property is missing or contains an empty list then this subscription has no gateway restrictions |
Enumerated Values
Property | Value |
---|---|
type | NONE |
type | SASL |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ei-pagination-total | integer | Total number of items available for retrieval (including current page). | |
200 | etag | string | An identifier which can be supplied with the If-None-Match header to indicate that unchanged results should return 304 with no data. |
deleteSubscription
Code samples
# You can also use wget
curl -X DELETE /{organization}/subscriptions/{subscriptionId} \
-H 'Authorization: Bearer {access-token}'
DELETE /{organization}/subscriptions/{subscriptionId}
Delete a Subscription
Note - You must be the owner to delete a Subscription. You can view all of the Subscriptions that you own (including their ‘id’) by using GET /{organization}/subscriptions
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
subscriptionId | path | string | true | The ID of the Subscription. |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Subscription successfully deleted | None |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | subscription not found | None |
500 | Internal Server Error | Internal error | None |
readAllGateways
Code samples
# You can also use wget
curl -X GET /{organization}/gateways \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/gateways
List all registered gateways in an Organization. If a page range is specified, then this will return the requested range.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
page | query | integer | false | The page number of results to retrieve. If this number exceeds the available data, then the last page is returned. |
maxPageSize | query | integer | false | The maximum number of entries to return for a given page. If not specified, all data items will be returned. |
Example responses
200 Response
{
"type": "array",
"items": {
"type": "object",
"description": "Detailed information about any registered gateways",
"required": [
"name",
"gateways"
],
"properties": {
"name": {
"description": "Unique gateway group name.",
"type": "string"
},
"gateways": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"endpoints",
"lastContact"
],
"properties": {
"id": {
"description": "Unique gateway ID within this group.",
"type": "string"
},
"group": {
"description": "Gateway group name.",
"type": "string"
},
"endpoints": {
"description": "Endpoints that the gateway is listening on.",
"type": "array",
"items": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"host": {
"description": "Gateway hostname that client applications connect to",
"type": "string"
},
"port": {
"description": "Port that the gateway is listening on.",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"certificates": {
"description": "Certificates or CAs presented by the gateway to client applications.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"description": "X509 certificate presented by an endpoint",
"required": [
"pem"
],
"properties": {
"pem": {
"description": "Certificate in PEM format",
"type": "string"
},
"subject": {
"description": "Subject name of the certificate",
"type": "string"
},
"sans": {
"description": "A list of subject alternative names of the certificate",
"type": "array",
"items": {
"type": "string"
}
},
"issuer": {
"description": "Issuer of the certificate",
"type": "string"
},
"expiry": {
"description": "Expiration date of the certificate in epoch millis",
"type": "integer"
}
}
}
}
}
}
},
"lastContact": {
"description": "Epoch time in ms of the last contact from this gateway.",
"type": "integer",
"minimum": 0
}
}
}
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Gateways successfully listed. | Inline |
304 | Not Modified | Data not changed | None |
400 | Bad Request | Invalid request, only one of page and maxPageSize were supplied or max page size exceeded. | None |
401 | Unauthorized | Not authorized, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» name | string | true | none | Unique gateway group name. |
» gateways | [object] | true | none | none |
»» id | string | true | none | Unique gateway ID within this group. |
»» group | string | false | none | Gateway group name. |
»» endpoints | [object] | true | none | Endpoints that the gateway is listening on. |
»»» host | string | true | none | Gateway hostname that client applications connect to |
»»» port | integer | true | none | Port that the gateway is listening on. |
»»» certificates | [object] | false | none | Certificates or CAs presented by the gateway to client applications. |
»»»» pem | string | true | none | Certificate in PEM format |
»»»» subject | string | false | none | Subject name of the certificate |
»»»» sans | [string] | false | none | A list of subject alternative names of the certificate |
»»»» issuer | string | false | none | Issuer of the certificate |
»»»» expiry | integer | false | none | Expiration date of the certificate in epoch millis |
»» lastContact | integer | true | none | Epoch time in ms of the last contact from this gateway. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ei-pagination-total | integer | Total number of items available for retrieval (including current page). | |
200 | etag | string | An identifier which can be supplied with the If-None-Match header to indicate that unchanged results should return 304 with no data. |
readAllEventSources
Code samples
# You can also use wget
curl -X GET /{organization}/eventsources \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/eventsources
List all Event Sources created by the current user in an Organization. If a page range is specified, then this will return the requested range.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
page | query | integer | false | The page number of results to retrieve. If this number exceeds the available data, then the last page is returned. |
maxPageSize | query | integer | false | The maximum number of entries to return for a given page. If not specified, all data items will be returned. |
Example responses
200 Response
{
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"owner",
"organization",
"clusterId",
"type",
"encoding",
"name",
"contact"
],
"properties": {
"id": {
"description": "Unique Event Source ID.",
"type": "string"
},
"owner": {
"description": "Event Source owner.",
"type": "string"
},
"organization": {
"description": "Organization this Event Source belongs to.",
"type": "string"
},
"clusterId": {
"description": "ID for the cluster that contains the connection details for this Event Source.",
"type": "string"
},
"type": {
"description": "Type of Event Source",
"type": "string",
"enum": [
"kafka"
]
},
"encoding": {
"description": "The encoding of the data on this Event Source",
"type": "string",
"enum": [
"unknown",
"text/plain",
"application/octet-stream",
"application/json",
"avro/binary",
"avro/json"
]
},
"name": {
"description": "Event Source name",
"type": "string"
},
"contact": {
"description": "Who to contact for more information about this Event Source.",
"type": "string"
},
"description": {
"description": "A description for this Event Source",
"type": "string"
},
"topic": {
"type": "object",
"properties": {
"name": {
"description": "Actual topic name in the cluster.",
"type": "string"
},
"partitions": {
"description": "The number of partitions for this topic. Discovered from the Kafka cluster",
"type": "number"
},
"replicas": {
"description": "The number of replicas for this topic. Discovered from the Kafka cluster",
"type": "number"
}
},
"required": [
"name"
]
},
"schema": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"description": "Description of the data available on the Event Source",
"type": "string"
}
},
"required": [
"content"
]
},
"tags": {
"description": "List of tags associated with this Event Source",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"sampleMessages": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Event Sources successfully listed. | Inline |
304 | Not Modified | Data not changed | None |
400 | Bad Request | Invalid request, only one of page and maxPageSize were supplied or max page size exceeded. | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | true | none | Unique Event Source ID. |
» owner | string | true | none | Event Source owner. |
» organization | string | true | none | Organization this Event Source belongs to. |
» clusterId | string | true | none | ID for the cluster that contains the connection details for this Event Source. |
» type | string | true | none | Type of Event Source |
» encoding | string | true | none | The encoding of the data on this Event Source |
» name | string | true | none | Event Source name |
» contact | string | true | none | Who to contact for more information about this Event Source. |
» description | string | false | none | A description for this Event Source |
» topic | object | false | none | none |
»» name | string | true | none | Actual topic name in the cluster. |
»» partitions | number | false | none | The number of partitions for this topic. Discovered from the Kafka cluster |
»» replicas | number | false | none | The number of replicas for this topic. Discovered from the Kafka cluster |
» schema | object | false | none | none |
»» content | string | true | none | none |
»» type | string | false | none | none |
»» description | string | false | none | Description of the data available on the Event Source |
» tags | [string] | false | none | List of tags associated with this Event Source |
» sampleMessages | [string] | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | kafka |
encoding | unknown |
encoding | text/plain |
encoding | application/octet-stream |
encoding | application/json |
encoding | avro/binary |
encoding | avro/json |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ei-pagination-total | integer | Total number of items available for retrieval (including current page). | |
200 | etag | string | An identifier which can be supplied with the If-None-Match header to indicate that unchanged results should return 304 with no data. |
createEventSource
Code samples
# You can also use wget
curl -X POST /{organization}/eventsources \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /{organization}/eventsources
Create an event source
Body parameter
{
"type": "object",
"required": [
"clusterId",
"type",
"encoding",
"name",
"contact"
],
"properties": {
"clusterId": {
"description": "ID for the cluster that contains the connection details for this Event Source.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"type": {
"description": "Type of Event Source",
"type": "string",
"enum": [
"kafka"
]
},
"encoding": {
"description": "The encoding of the data on this Event Source",
"type": "string",
"enum": [
"unknown",
"text/plain",
"application/octet-stream",
"application/json",
"avro/binary",
"avro/json"
]
},
"name": {
"description": "Event Source name",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"contact": {
"description": "Who to contact for more information about this Event Source.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"description": "A description for this Event Source",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"topic": {
"type": "object",
"properties": {
"name": {
"description": "Actual topic name in the cluster.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"partitions": {
"description": "The number of partitions for this topic. ",
"type": "number"
},
"replicas": {
"description": "The number of replicas for this topic.",
"type": "number"
}
},
"required": [
"name"
]
},
"schema": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"description": "Description of the data available on the Event Source",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"content"
]
},
"tags": {
"description": "List of tags associated with this Event Source",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
}
},
"sampleMessages": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
body | body | object | true | Event Source data |
» clusterId | body | string | true | ID for the cluster that contains the connection details for this Event Source. |
» type | body | string | true | Type of Event Source |
» encoding | body | string | true | The encoding of the data on this Event Source |
» name | body | string | true | Event Source name |
» contact | body | string | true | Who to contact for more information about this Event Source. |
» description | body | string | false | A description for this Event Source |
» topic | body | object | false | none |
»» name | body | string | true | Actual topic name in the cluster. |
»» partitions | body | number | false | The number of partitions for this topic. |
»» replicas | body | number | false | The number of replicas for this topic. |
» schema | body | object | false | none |
»» content | body | string | true | none |
»» type | body | string | false | none |
»» description | body | string | false | Description of the data available on the Event Source |
» tags | body | [string] | false | List of tags associated with this Event Source |
» sampleMessages | body | [string] | false | none |
Enumerated Values
Parameter | Value |
---|---|
» type | kafka |
» encoding | unknown |
» encoding | text/plain |
» encoding | application/octet-stream |
» encoding | application/json |
» encoding | avro/binary |
» encoding | avro/json |
Example responses
200 Response
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The id of the created event source | Inline |
400 | Bad Request | Invalid request, request data does not match schema. | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
409 | Conflict | Event Source could not be created due to a conflict | None |
422 | Unprocessable Entity | Event Source could not be created as it does not map to a valid cluster | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | false | none | none |
readEventSource
Code samples
# You can also use wget
curl -X GET /{organization}/eventsources/{eventSourceId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/eventsources/{eventSourceId}
Read an event source
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
eventSourceId | path | string | true | The ID of the Event Source to read. |
Example responses
200 Response
{
"type": "object",
"required": [
"id",
"owner",
"organization",
"clusterId",
"type",
"encoding",
"name",
"contact"
],
"properties": {
"id": {
"description": "Unique Event Source ID.",
"type": "string"
},
"owner": {
"description": "Event Source owner.",
"type": "string"
},
"organization": {
"description": "Organization this Event Source belongs to.",
"type": "string"
},
"clusterId": {
"description": "ID for the cluster that contains the connection details for this Event Source.",
"type": "string"
},
"type": {
"description": "Type of Event Source",
"type": "string",
"enum": [
"kafka"
]
},
"encoding": {
"description": "The encoding of the data on this Event Source",
"type": "string",
"enum": [
"unknown",
"text/plain",
"application/octet-stream",
"application/json",
"avro/binary",
"avro/json"
]
},
"name": {
"description": "Event Source name",
"type": "string"
},
"contact": {
"description": "Who to contact for more information about this Event Source.",
"type": "string"
},
"description": {
"description": "A description for this Event Source",
"type": "string"
},
"topic": {
"type": "object",
"properties": {
"name": {
"description": "Actual topic name in the cluster.",
"type": "string"
},
"partitions": {
"description": "The number of partitions for this topic. Discovered from the Kafka cluster",
"type": "number"
},
"replicas": {
"description": "The number of replicas for this topic. Discovered from the Kafka cluster",
"type": "number"
}
},
"required": [
"name"
]
},
"schema": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"description": "Description of the data available on the Event Source",
"type": "string"
}
},
"required": [
"content"
]
},
"tags": {
"description": "List of tags associated with this Event Source",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"sampleMessages": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The data for the requested event source | Inline |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | This Event Source does not exist | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | true | none | Unique Event Source ID. |
» owner | string | true | none | Event Source owner. |
» organization | string | true | none | Organization this Event Source belongs to. |
» clusterId | string | true | none | ID for the cluster that contains the connection details for this Event Source. |
» type | string | true | none | Type of Event Source |
» encoding | string | true | none | The encoding of the data on this Event Source |
» name | string | true | none | Event Source name |
» contact | string | true | none | Who to contact for more information about this Event Source. |
» description | string | false | none | A description for this Event Source |
» topic | object | false | none | none |
»» name | string | true | none | Actual topic name in the cluster. |
»» partitions | number | false | none | The number of partitions for this topic. Discovered from the Kafka cluster |
»» replicas | number | false | none | The number of replicas for this topic. Discovered from the Kafka cluster |
» schema | object | false | none | none |
»» content | string | true | none | none |
»» type | string | false | none | none |
»» description | string | false | none | Description of the data available on the Event Source |
» tags | [string] | false | none | List of tags associated with this Event Source |
» sampleMessages | [string] | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | kafka |
encoding | unknown |
encoding | text/plain |
encoding | application/octet-stream |
encoding | application/json |
encoding | avro/binary |
encoding | avro/json |
updateEventSource
Code samples
# You can also use wget
curl -X PUT /{organization}/eventsources/{eventSourceId} \
-H 'Authorization: Bearer {access-token}'
PUT /{organization}/eventsources/{eventSourceId}
Update an event source
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
eventSourceId | path | string | true | The ID of the Event Source to update. |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Event Source successfully updated | None |
400 | Bad Request | Invalid request, request data does not match schema. | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | This Event Source does not exist | None |
409 | Conflict | Event Source could not be updated due to a conflict | None |
422 | Unprocessable Entity | Event Source could not be created as it does not map to a valid cluster | None |
500 | Internal Server Error | Internal error | None |
deleteEventSource
Code samples
# You can also use wget
curl -X DELETE /{organization}/eventsources/{eventSourceId} \
-H 'Authorization: Bearer {access-token}'
DELETE /{organization}/eventsources/{eventSourceId}
Delete an Event Source
The Event Source must have no attached published or archived Options.
Note - You must be the owner to delete an Event Source. You can view all of the Event Sources that you own (including their ‘id’) by using GET /{organization}/eventsources
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
eventSourceId | path | string | true | The ID of the Event Source to delete. |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Event Source successfully deleted | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | This Event Source does not exist | None |
409 | Conflict | Event Source could not be deleted due to a conflict | None |
500 | Internal Server Error | Internal error | None |
readAllOptions
Code samples
# You can also use wget
curl -X GET /{organization}/options \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/options
List all Options created by the current user in an Organization. If a page range is specified, then this will return the requested range
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
page | query | integer | false | The page number of results to retrieve. If this number exceeds the available data, then the last page is returned. |
maxPageSize | query | integer | false | The maximum number of entries to return for a given page. If not specified, all data items will be returned. |
Example responses
200 Response
{
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"owner",
"organization",
"eventSourceId",
"name",
"controls",
"alias",
"gatewayGroups",
"allowSubscriptions",
"hidden"
],
"properties": {
"id": {
"description": "Unique Option ID.",
"type": "string"
},
"owner": {
"description": "Option owner.",
"type": "string"
},
"organization": {
"description": "Organization this Option belongs to.",
"type": "string"
},
"eventSourceId": {
"description": "Event source that this option belongs to",
"type": "string"
},
"alias": {
"description": "Unique, descriptive alias for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"description": "Descriptive name for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"description": "Longer description used to describe what this option is used for",
"type": "string"
},
"gatewayGroups": {
"description": "List of gateway groups this option should be published to",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"hidden": {
"description": "Indicates if this option is visible in the catalog (draft)",
"type": "boolean"
},
"allowSubscriptions": {
"description": "Indicates if this option is allowing new subscriptions",
"type": "boolean"
},
"controls": {
"description": "Controls on this option",
"type": "array",
"items": {
"oneOf": [
{
"allOf": [
{
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"description": "Unique Control ID.",
"type": "string"
},
"type": {
"type": "string",
"enum": [
"approval"
]
}
},
"discriminator": {
"propertyName": "type"
}
},
{
"type": "object",
"required": [
"requests"
],
"properties": {
"requests": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"owner",
"status",
"description",
"contact"
],
"properties": {
"id": {
"description": "Unique Option ID.",
"type": "string"
},
"owner": {
"description": "Option owner.",
"type": "string"
},
"status": {
"description": "The status of this approval request.",
"type": "string",
"enum": [
"pending",
"approved",
"rejected",
"fulfilled"
]
},
"description": {
"description": "Description of why the request was created.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"contact": {
"description": "Contact details of the person making the request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"outcome": {
"description": "Description of the outcome of this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"subscriptionId": {
"description": "The id of the subscription associated with this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
}
}
}
}
}
}
]
}
],
"discriminator": {
"propertyName": "type"
}
}
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Options successfully listed. | Inline |
304 | Not Modified | Data not changed | None |
400 | Bad Request | Invalid request, only one of page and maxPageSize were supplied or max page size exceeded. | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | true | none | Unique Option ID. |
» owner | string | true | none | Option owner. |
» organization | string | true | none | Organization this Option belongs to. |
» eventSourceId | string | true | none | Event source that this option belongs to |
» alias | string | true | none | Unique, descriptive alias for this option |
» name | string | true | none | Descriptive name for this option |
» description | string | false | none | Longer description used to describe what this option is used for |
» gatewayGroups | [string] | true | none | List of gateway groups this option should be published to |
» hidden | boolean | true | none | Indicates if this option is visible in the catalog (draft) |
» allowSubscriptions | boolean | true | none | Indicates if this option is allowing new subscriptions |
» controls | [oneOf] | true | none | Controls on this option |
allOf - discriminator: type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» id | string | true | none | Unique Control ID. |
»»» type | string | true | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» requests | [object] | true | none | none |
»»»» id | string | true | none | Unique Option ID. |
»»»» owner | string | true | none | Option owner. |
»»»» status | string | true | none | The status of this approval request. |
»»»» description | string | true | none | Description of why the request was created. |
»»»» contact | string | true | none | Contact details of the person making the request. |
»»»» outcome | string | false | none | Description of the outcome of this request. |
»»»» subscriptionId | string | false | none | The id of the subscription associated with this request. |
Enumerated Values
Property | Value |
---|---|
type | approval |
status | pending |
status | approved |
status | rejected |
status | fulfilled |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ei-pagination-total | integer | Total number of items available for retrieval (including current page). | |
200 | etag | string | An identifier which can be supplied with the If-None-Match header to indicate that unchanged results should return 304 with no data. |
createOption
Code samples
# You can also use wget
curl -X POST /{organization}/options \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST /{organization}/options
Create an option
Body parameter
{
"type": "object",
"required": [
"eventSourceId",
"name",
"controls",
"alias",
"gatewayGroups",
"allowSubscriptions",
"hidden"
],
"properties": {
"eventSourceId": {
"description": "Event source that this option belongs to",
"type": "string"
},
"alias": {
"description": "Unique, descriptive alias for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"description": "Descriptive name for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"description": "Longer description used to describe what this option is used for",
"type": "string"
},
"gatewayGroups": {
"description": "List of gateway groups this option should be published to",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"hidden": {
"description": "Indicates if this option is visible in the catalog (draft)",
"type": "boolean"
},
"allowSubscriptions": {
"description": "Indicates if this option is allowing new subscriptions",
"type": "boolean"
},
"controls": {
"description": "Controls on this option",
"type": "array",
"items": {
"oneOf": [
{
"allOf": [
{
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"description": "Unique Control ID.",
"type": "string"
},
"type": {
"type": "string",
"enum": [
"approval"
]
}
},
"discriminator": {
"propertyName": "type"
}
},
{
"type": "object",
"required": [
"requests"
],
"properties": {
"requests": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"owner",
"status",
"description",
"contact"
],
"properties": {
"id": {
"description": "Unique Option ID.",
"type": "string"
},
"owner": {
"description": "Option owner.",
"type": "string"
},
"status": {
"description": "The status of this approval request.",
"type": "string",
"enum": [
"pending",
"approved",
"rejected",
"fulfilled"
]
},
"description": {
"description": "Description of why the request was created.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"contact": {
"description": "Contact details of the person making the request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"outcome": {
"description": "Description of the outcome of this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"subscriptionId": {
"description": "The id of the subscription associated with this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
}
}
}
}
}
}
]
}
],
"discriminator": {
"propertyName": "type"
}
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
body | body | object | true | Option data |
» eventSourceId | body | string | true | Event source that this option belongs to |
» alias | body | string | true | Unique, descriptive alias for this option |
» name | body | string | true | Descriptive name for this option |
» description | body | string | false | Longer description used to describe what this option is used for |
» gatewayGroups | body | [string] | true | List of gateway groups this option should be published to |
» hidden | body | boolean | true | Indicates if this option is visible in the catalog (draft) |
» allowSubscriptions | body | boolean | true | Indicates if this option is allowing new subscriptions |
» controls | body | [oneOf] | true | Controls on this option |
»» anonymous | body | object | false | none |
»»» id | body | string | true | Unique Control ID. |
»»» type | body | string | true | none |
»» anonymous | body | object | false | none |
»»» requests | body | [object] | true | none |
»»»» id | body | string | true | Unique Option ID. |
»»»» owner | body | string | true | Option owner. |
»»»» status | body | string | true | The status of this approval request. |
»»»» description | body | string | true | Description of why the request was created. |
»»»» contact | body | string | true | Contact details of the person making the request. |
»»»» outcome | body | string | false | Description of the outcome of this request. |
»»»» subscriptionId | body | string | false | The id of the subscription associated with this request. |
Enumerated Values
Parameter | Value |
---|---|
»»» type | approval |
»»»» status | pending |
»»»» status | approved |
»»»» status | rejected |
»»»» status | fulfilled |
Example responses
200 Response
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The id of the created option | Inline |
400 | Bad Request | Invalid request, request data does not match schema. | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | false | none | none |
readOption
Code samples
# You can also use wget
curl -X GET /{organization}/options/{optionId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/options/{optionId}
Read an option
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
optionId | path | string | true | The ID of the Option to read. |
Example responses
200 Response
{
"type": "object",
"required": [
"id",
"owner",
"organization",
"eventSourceId",
"name",
"controls",
"alias",
"gatewayGroups",
"allowSubscriptions",
"hidden"
],
"properties": {
"id": {
"description": "Unique Option ID.",
"type": "string"
},
"owner": {
"description": "Option owner.",
"type": "string"
},
"organization": {
"description": "Organization this Option belongs to.",
"type": "string"
},
"eventSourceId": {
"description": "Event source that this option belongs to",
"type": "string"
},
"alias": {
"description": "Unique, descriptive alias for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"description": "Descriptive name for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"description": "Longer description used to describe what this option is used for",
"type": "string"
},
"gatewayGroups": {
"description": "List of gateway groups this option should be published to",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"hidden": {
"description": "Indicates if this option is visible in the catalog (draft)",
"type": "boolean"
},
"allowSubscriptions": {
"description": "Indicates if this option is allowing new subscriptions",
"type": "boolean"
},
"controls": {
"description": "Controls on this option",
"type": "array",
"items": {
"oneOf": [
{
"allOf": [
{
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"description": "Unique Control ID.",
"type": "string"
},
"type": {
"type": "string",
"enum": [
"approval"
]
}
},
"discriminator": {
"propertyName": "type"
}
},
{
"type": "object",
"required": [
"requests"
],
"properties": {
"requests": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"owner",
"status",
"description",
"contact"
],
"properties": {
"id": {
"description": "Unique Option ID.",
"type": "string"
},
"owner": {
"description": "Option owner.",
"type": "string"
},
"status": {
"description": "The status of this approval request.",
"type": "string",
"enum": [
"pending",
"approved",
"rejected",
"fulfilled"
]
},
"description": {
"description": "Description of why the request was created.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"contact": {
"description": "Contact details of the person making the request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"outcome": {
"description": "Description of the outcome of this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"subscriptionId": {
"description": "The id of the subscription associated with this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
}
}
}
}
}
}
]
}
],
"discriminator": {
"propertyName": "type"
}
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The data for the requested option | Inline |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | This Option does not exist | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» id | string | true | none | Unique Option ID. |
» owner | string | true | none | Option owner. |
» organization | string | true | none | Organization this Option belongs to. |
» eventSourceId | string | true | none | Event source that this option belongs to |
» alias | string | true | none | Unique, descriptive alias for this option |
» name | string | true | none | Descriptive name for this option |
» description | string | false | none | Longer description used to describe what this option is used for |
» gatewayGroups | [string] | true | none | List of gateway groups this option should be published to |
» hidden | boolean | true | none | Indicates if this option is visible in the catalog (draft) |
» allowSubscriptions | boolean | true | none | Indicates if this option is allowing new subscriptions |
» controls | [oneOf] | true | none | Controls on this option |
allOf - discriminator: type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» id | string | true | none | Unique Control ID. |
»»» type | string | true | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» requests | [object] | true | none | none |
»»»» id | string | true | none | Unique Option ID. |
»»»» owner | string | true | none | Option owner. |
»»»» status | string | true | none | The status of this approval request. |
»»»» description | string | true | none | Description of why the request was created. |
»»»» contact | string | true | none | Contact details of the person making the request. |
»»»» outcome | string | false | none | Description of the outcome of this request. |
»»»» subscriptionId | string | false | none | The id of the subscription associated with this request. |
Enumerated Values
Property | Value |
---|---|
type | approval |
status | pending |
status | approved |
status | rejected |
status | fulfilled |
updateOption
Code samples
# You can also use wget
curl -X PUT /{organization}/options/{optionId} \
-H 'Authorization: Bearer {access-token}'
PUT /{organization}/options/{optionId}
Update an option
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
optionId | path | string | true | The ID of the Option to update. |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Option successfully updated | None |
400 | Bad Request | Invalid request, request data does not match schema. | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | This Option does not exist | None |
500 | Internal Server Error | Internal error | None |
deleteOption
Code samples
# You can also use wget
curl -X DELETE /{organization}/options/{optionId} \
-H 'Authorization: Bearer {access-token}'
DELETE /{organization}/options/{optionId}
Delete an Option.
The Option must be unpublished with no remaining Subscriptions.
Note - You must be the owner to delete an Option. You can view all of the Options that you own (including their ‘id’) by using GET /{organization}/options
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
optionId | path | string | true | The ID of the Option to delete. |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Option successfully deleted | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | This Option does not exist | None |
409 | Conflict | Option could not be deleted due to a conflict | None |
500 | Internal Server Error | Internal error | None |
exportAPICAsyncAPI
Code samples
# You can also use wget
curl -X GET /{organization}/options/{optionId}/apicasyncapi \
-H 'Accept: application/yaml' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/options/{optionId}/apicasyncapi
Generate an AsyncAPI document for a selected Option with connections added for IBM API Connect.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
optionId | path | string | true | The ID of the option in the Event source. |
version | query | string | false | The version of AsyncAPI |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AsyncAPI successfully generated. | string |
400 | Bad Request | Bad input | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | Option not found | None |
422 | Unprocessable Entity | Cannot export option with approval control | None |
500 | Internal Server Error | Internal error | None |
exportAsyncAPI
Code samples
# You can also use wget
curl -X GET /{organization}/options/{optionId}/asyncapi \
-H 'Accept: application/yaml' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/options/{optionId}/asyncapi
Generate an AsyncAPI document for a selected Option.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
optionId | path | string | true | The ID of the option in the Event source. |
version | query | string | false | The version of AsyncAPI |
Example responses
200 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AsyncAPI successfully generated. | string |
400 | Bad Request | Bad input | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | Option not found | None |
500 | Internal Server Error | Internal error | None |
readAllEventEndpoints
Code samples
# You can also use wget
curl -X GET /{organization}/eventendpoints \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/eventendpoints
List all Event Endpoints in an Organization. If a page range is specified, then this will return the requested range.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
page | query | integer | false | The page number of results to retrieve. If this number exceeds the available data, then the last page is returned. |
maxPageSize | query | integer | false | The maximum number of entries to return for a given page. If not specified, all data items will be returned. |
Example responses
200 Response
{
"type": "array",
"items": {
"type": "object",
"required": [
"clusterId",
"type",
"encoding",
"name",
"contact",
"options"
],
"properties": {
"clusterId": {
"description": "ID for the cluster that contains the connection details for this Event Source.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"type": {
"description": "Type of Event Source",
"type": "string",
"enum": [
"kafka"
]
},
"encoding": {
"description": "The encoding of the data on this Event Source",
"type": "string",
"enum": [
"unknown",
"text/plain",
"application/octet-stream",
"application/json",
"avro/binary",
"avro/json"
]
},
"name": {
"description": "Event Source name",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"contact": {
"description": "Who to contact for more information about this Event Source.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"description": "A description for this Event Source",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"topic": {
"type": "object",
"properties": {
"name": {
"description": "Actual topic name in the cluster.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"partitions": {
"description": "The number of partitions for this topic. ",
"type": "number"
},
"replicas": {
"description": "The number of replicas for this topic.",
"type": "number"
}
},
"required": [
"name"
]
},
"schema": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"description": "Description of the data available on the Event Source",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"content"
]
},
"tags": {
"description": "List of tags associated with this Event Source",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
}
},
"sampleMessages": {
"type": "array",
"items": {
"type": "string"
}
},
"options": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"required": [
"eventSourceId",
"name",
"controls",
"alias",
"gatewayGroups",
"allowSubscriptions",
"hidden"
],
"properties": {
"eventSourceId": {
"description": "Event source that this option belongs to",
"type": "string"
},
"alias": {
"description": "Unique, descriptive alias for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"description": "Descriptive name for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"description": "Longer description used to describe what this option is used for",
"type": "string"
},
"gatewayGroups": {
"description": "List of gateway groups this option should be published to",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"hidden": {
"description": "Indicates if this option is visible in the catalog (draft)",
"type": "boolean"
},
"allowSubscriptions": {
"description": "Indicates if this option is allowing new subscriptions",
"type": "boolean"
},
"controls": {
"description": "Controls on this option",
"type": "array",
"items": {
"oneOf": [
{
"allOf": [
{
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"description": "Unique Control ID.",
"type": "string"
},
"type": {
"type": "string",
"enum": [
"approval"
]
}
},
"discriminator": {
"propertyName": "type"
}
},
{
"type": "object",
"required": [
"requests"
],
"properties": {
"requests": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"owner",
"status",
"description",
"contact"
],
"properties": {
"id": {
"description": "Unique Option ID.",
"type": "string"
},
"owner": {
"description": "Option owner.",
"type": "string"
},
"status": {
"description": "The status of this approval request.",
"type": "string",
"enum": [
"pending",
"approved",
"rejected",
"fulfilled"
]
},
"description": {
"description": "Description of why the request was created.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"contact": {
"description": "Contact details of the person making the request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"outcome": {
"description": "Description of the outcome of this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"subscriptionId": {
"description": "The id of the subscription associated with this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
}
}
}
}
}
}
]
}
],
"discriminator": {
"propertyName": "type"
}
}
}
}
},
{
"type": "object",
"properties": {
"gatewaysPublishedTo": {
"description": "List of gateways that this option has been published to.",
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"endpoints",
"lastContact"
],
"properties": {
"id": {
"description": "Unique gateway ID within this group.",
"type": "string"
},
"group": {
"description": "Gateway group name.",
"type": "string"
},
"endpoints": {
"description": "Endpoints that the gateway is listening on.",
"type": "array",
"items": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"host": {
"description": "Gateway hostname that client applications connect to",
"type": "string"
},
"port": {
"description": "Port that the gateway is listening on.",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"certificates": {
"description": "Certificates or CAs presented by the gateway to client applications.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"description": "X509 certificate presented by an endpoint",
"required": [
"pem"
],
"properties": {
"pem": {
"description": "Certificate in PEM format",
"type": "string"
},
"subject": {
"description": "Subject name of the certificate",
"type": "string"
},
"sans": {
"description": "A list of subject alternative names of the certificate",
"type": "array",
"items": {
"type": "string"
}
},
"issuer": {
"description": "Issuer of the certificate",
"type": "string"
},
"expiry": {
"description": "Expiration date of the certificate in epoch millis",
"type": "integer"
}
}
}
}
}
}
},
"lastContact": {
"description": "Epoch time in ms of the last contact from this gateway.",
"type": "integer",
"minimum": 0
}
}
}
}
}
}
]
}
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Event Endpoints successfully listed. | Inline |
304 | Not Modified | Data not changed | None |
400 | Bad Request | Invalid request, only one of page and maxPageSize were supplied or max page size exceeded. | None |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» clusterId | string | true | none | ID for the cluster that contains the connection details for this Event Source. |
» type | string | true | none | Type of Event Source |
» encoding | string | true | none | The encoding of the data on this Event Source |
» name | string | true | none | Event Source name |
» contact | string | true | none | Who to contact for more information about this Event Source. |
» description | string | false | none | A description for this Event Source |
» topic | object | false | none | none |
»» name | string | true | none | Actual topic name in the cluster. |
»» partitions | number | false | none | The number of partitions for this topic. |
»» replicas | number | false | none | The number of replicas for this topic. |
» schema | object | false | none | none |
»» content | string | true | none | none |
»» type | string | false | none | none |
»» description | string | false | none | Description of the data available on the Event Source |
» tags | [string] | false | none | List of tags associated with this Event Source |
» sampleMessages | [string] | false | none | none |
» options | [allOf] | true | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» eventSourceId | string | true | none | Event source that this option belongs to |
»»» alias | string | true | none | Unique, descriptive alias for this option |
»»» name | string | true | none | Descriptive name for this option |
»»» description | string | false | none | Longer description used to describe what this option is used for |
»»» gatewayGroups | [string] | true | none | List of gateway groups this option should be published to |
»»» hidden | boolean | true | none | Indicates if this option is visible in the catalog (draft) |
»»» allowSubscriptions | boolean | true | none | Indicates if this option is allowing new subscriptions |
»»» controls | [oneOf] | true | none | Controls on this option |
allOf - discriminator: type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»»»» anonymous | object | false | none | none |
»»»»» id | string | true | none | Unique Control ID. |
»»»»» type | string | true | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»»»» anonymous | object | false | none | none |
»»»»» requests | [object] | true | none | none |
»»»»»» id | string | true | none | Unique Option ID. |
»»»»»» owner | string | true | none | Option owner. |
»»»»»» status | string | true | none | The status of this approval request. |
»»»»»» description | string | true | none | Description of why the request was created. |
»»»»»» contact | string | true | none | Contact details of the person making the request. |
»»»»»» outcome | string | false | none | Description of the outcome of this request. |
»»»»»» subscriptionId | string | false | none | The id of the subscription associated with this request. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» gatewaysPublishedTo | [object] | false | none | List of gateways that this option has been published to. |
»»»» id | string | true | none | Unique gateway ID within this group. |
»»»» group | string | false | none | Gateway group name. |
»»»» endpoints | [object] | true | none | Endpoints that the gateway is listening on. |
»»»»» host | string | true | none | Gateway hostname that client applications connect to |
»»»»» port | integer | true | none | Port that the gateway is listening on. |
»»»»» certificates | [object] | false | none | Certificates or CAs presented by the gateway to client applications. |
»»»»»» pem | string | true | none | Certificate in PEM format |
»»»»»» subject | string | false | none | Subject name of the certificate |
»»»»»» sans | [string] | false | none | A list of subject alternative names of the certificate |
»»»»»» issuer | string | false | none | Issuer of the certificate |
»»»»»» expiry | integer | false | none | Expiration date of the certificate in epoch millis |
»»»» lastContact | integer | true | none | Epoch time in ms of the last contact from this gateway. |
Enumerated Values
Property | Value |
---|---|
type | kafka |
encoding | unknown |
encoding | text/plain |
encoding | application/octet-stream |
encoding | application/json |
encoding | avro/binary |
encoding | avro/json |
type | approval |
status | pending |
status | approved |
status | rejected |
status | fulfilled |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ei-pagination-total | integer | Total number of items available for retrieval (including current page). | |
200 | etag | string | An identifier which can be supplied with the If-None-Match header to indicate that unchanged results should return 304 with no data. |
readEventEndpoint
Code samples
# You can also use wget
curl -X GET /{organization}/eventendpoints/{eventSourceId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET /{organization}/eventendpoints/{eventSourceId}
Read an event endpoint
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
organization | path | string | true | The ID of the Organization. |
eventSourceId | path | string | true | The ID of the Event Source to read an Event Endpoint from. |
Example responses
200 Response
{
"type": "object",
"required": [
"clusterId",
"type",
"encoding",
"name",
"contact",
"options"
],
"properties": {
"clusterId": {
"description": "ID for the cluster that contains the connection details for this Event Source.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"type": {
"description": "Type of Event Source",
"type": "string",
"enum": [
"kafka"
]
},
"encoding": {
"description": "The encoding of the data on this Event Source",
"type": "string",
"enum": [
"unknown",
"text/plain",
"application/octet-stream",
"application/json",
"avro/binary",
"avro/json"
]
},
"name": {
"description": "Event Source name",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"contact": {
"description": "Who to contact for more information about this Event Source.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"description": "A description for this Event Source",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"topic": {
"type": "object",
"properties": {
"name": {
"description": "Actual topic name in the cluster.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"partitions": {
"description": "The number of partitions for this topic. ",
"type": "number"
},
"replicas": {
"description": "The number of replicas for this topic.",
"type": "number"
}
},
"required": [
"name"
]
},
"schema": {
"type": "object",
"properties": {
"content": {
"type": "string"
},
"type": {
"type": "string"
},
"description": {
"description": "Description of the data available on the Event Source",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"content"
]
},
"tags": {
"description": "List of tags associated with this Event Source",
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 50
}
},
"sampleMessages": {
"type": "array",
"items": {
"type": "string"
}
},
"options": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"required": [
"eventSourceId",
"name",
"controls",
"alias",
"gatewayGroups",
"allowSubscriptions",
"hidden"
],
"properties": {
"eventSourceId": {
"description": "Event source that this option belongs to",
"type": "string"
},
"alias": {
"description": "Unique, descriptive alias for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"description": "Descriptive name for this option",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"description": "Longer description used to describe what this option is used for",
"type": "string"
},
"gatewayGroups": {
"description": "List of gateway groups this option should be published to",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
}
},
"hidden": {
"description": "Indicates if this option is visible in the catalog (draft)",
"type": "boolean"
},
"allowSubscriptions": {
"description": "Indicates if this option is allowing new subscriptions",
"type": "boolean"
},
"controls": {
"description": "Controls on this option",
"type": "array",
"items": {
"oneOf": [
{
"allOf": [
{
"type": "object",
"required": [
"id",
"type"
],
"properties": {
"id": {
"description": "Unique Control ID.",
"type": "string"
},
"type": {
"type": "string",
"enum": [
"approval"
]
}
},
"discriminator": {
"propertyName": "type"
}
},
{
"type": "object",
"required": [
"requests"
],
"properties": {
"requests": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"owner",
"status",
"description",
"contact"
],
"properties": {
"id": {
"description": "Unique Option ID.",
"type": "string"
},
"owner": {
"description": "Option owner.",
"type": "string"
},
"status": {
"description": "The status of this approval request.",
"type": "string",
"enum": [
"pending",
"approved",
"rejected",
"fulfilled"
]
},
"description": {
"description": "Description of why the request was created.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"contact": {
"description": "Contact details of the person making the request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"outcome": {
"description": "Description of the outcome of this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
},
"subscriptionId": {
"description": "The id of the subscription associated with this request.",
"type": "string",
"minLength": 1,
"maxLength": 250
}
}
}
}
}
}
]
}
],
"discriminator": {
"propertyName": "type"
}
}
}
}
},
{
"type": "object",
"properties": {
"gatewaysPublishedTo": {
"description": "List of gateways that this option has been published to.",
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"endpoints",
"lastContact"
],
"properties": {
"id": {
"description": "Unique gateway ID within this group.",
"type": "string"
},
"group": {
"description": "Gateway group name.",
"type": "string"
},
"endpoints": {
"description": "Endpoints that the gateway is listening on.",
"type": "array",
"items": {
"type": "object",
"required": [
"host",
"port"
],
"properties": {
"host": {
"description": "Gateway hostname that client applications connect to",
"type": "string"
},
"port": {
"description": "Port that the gateway is listening on.",
"type": "integer",
"minimum": 0,
"maximum": 65535
},
"certificates": {
"description": "Certificates or CAs presented by the gateway to client applications.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "object",
"description": "X509 certificate presented by an endpoint",
"required": [
"pem"
],
"properties": {
"pem": {
"description": "Certificate in PEM format",
"type": "string"
},
"subject": {
"description": "Subject name of the certificate",
"type": "string"
},
"sans": {
"description": "A list of subject alternative names of the certificate",
"type": "array",
"items": {
"type": "string"
}
},
"issuer": {
"description": "Issuer of the certificate",
"type": "string"
},
"expiry": {
"description": "Expiration date of the certificate in epoch millis",
"type": "integer"
}
}
}
}
}
}
},
"lastContact": {
"description": "Epoch time in ms of the last contact from this gateway.",
"type": "integer",
"minimum": 0
}
}
}
}
}
}
]
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Event Endpoint successfully retrieved. | Inline |
401 | Unauthorized | Not authorised, successful login required | None |
403 | Forbidden | Access denied for this user and/or role | None |
404 | Not Found | This Event Endpoint does not exist | None |
500 | Internal Server Error | Internal error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» clusterId | string | true | none | ID for the cluster that contains the connection details for this Event Source. |
» type | string | true | none | Type of Event Source |
» encoding | string | true | none | The encoding of the data on this Event Source |
» name | string | true | none | Event Source name |
» contact | string | true | none | Who to contact for more information about this Event Source. |
» description | string | false | none | A description for this Event Source |
» topic | object | false | none | none |
»» name | string | true | none | Actual topic name in the cluster. |
»» partitions | number | false | none | The number of partitions for this topic. |
»» replicas | number | false | none | The number of replicas for this topic. |
» schema | object | false | none | none |
»» content | string | true | none | none |
»» type | string | false | none | none |
»» description | string | false | none | Description of the data available on the Event Source |
» tags | [string] | false | none | List of tags associated with this Event Source |
» sampleMessages | [string] | false | none | none |
» options | [allOf] | true | none | none |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» eventSourceId | string | true | none | Event source that this option belongs to |
»»» alias | string | true | none | Unique, descriptive alias for this option |
»»» name | string | true | none | Descriptive name for this option |
»»» description | string | false | none | Longer description used to describe what this option is used for |
»»» gatewayGroups | [string] | true | none | List of gateway groups this option should be published to |
»»» hidden | boolean | true | none | Indicates if this option is visible in the catalog (draft) |
»»» allowSubscriptions | boolean | true | none | Indicates if this option is allowing new subscriptions |
»»» controls | [oneOf] | true | none | Controls on this option |
allOf - discriminator: type
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»»»» anonymous | object | false | none | none |
»»»»» id | string | true | none | Unique Control ID. |
»»»»» type | string | true | none | none |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»»»» anonymous | object | false | none | none |
»»»»» requests | [object] | true | none | none |
»»»»»» id | string | true | none | Unique Option ID. |
»»»»»» owner | string | true | none | Option owner. |
»»»»»» status | string | true | none | The status of this approval request. |
»»»»»» description | string | true | none | Description of why the request was created. |
»»»»»» contact | string | true | none | Contact details of the person making the request. |
»»»»»» outcome | string | false | none | Description of the outcome of this request. |
»»»»»» subscriptionId | string | false | none | The id of the subscription associated with this request. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
»» anonymous | object | false | none | none |
»»» gatewaysPublishedTo | [object] | false | none | List of gateways that this option has been published to. |
»»»» id | string | true | none | Unique gateway ID within this group. |
»»»» group | string | false | none | Gateway group name. |
»»»» endpoints | [object] | true | none | Endpoints that the gateway is listening on. |
»»»»» host | string | true | none | Gateway hostname that client applications connect to |
»»»»» port | integer | true | none | Port that the gateway is listening on. |
»»»»» certificates | [object] | false | none | Certificates or CAs presented by the gateway to client applications. |
»»»»»» pem | string | true | none | Certificate in PEM format |
»»»»»» subject | string | false | none | Subject name of the certificate |
»»»»»» sans | [string] | false | none | A list of subject alternative names of the certificate |
»»»»»» issuer | string | false | none | Issuer of the certificate |
»»»»»» expiry | integer | false | none | Expiration date of the certificate in epoch millis |
»»»» lastContact | integer | true | none | Epoch time in ms of the last contact from this gateway. |
Enumerated Values
Property | Value |
---|---|
type | kafka |
encoding | unknown |
encoding | text/plain |
encoding | application/octet-stream |
encoding | application/json |
encoding | avro/binary |
encoding | avro/json |
type | approval |
status | pending |
status | approved |
status | rejected |
status | fulfilled |