NAV Navigation
cURL

Event Endpoint Management Admin API

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.

Base Paths:

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 /admin/clusters \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /clusters

Create a new Cluster.

Body parameter

{
"bootstrapServers": [
{
"host": "string",
"port": 0,
"ssl": false,
"certificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
]
}
],
"name": "string",
"lastUpdated": 0,
"credentials": {
"type": "NONE",
"data": {
"username": "string",
"password": "string",
"mechanism": "PLAIN",
"region": "string",
"scope": "string",
"audience": "string",
"oauthTokenUri": "string",
"trustedCertificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
],
"clientCertificateAndKey": {
"pem": "string",
"key": "string",
"expiry": 0
}
}
}
}

Parameters

Name In Type Required Description
disableValidation query boolean false disable immediate validation against the remote server
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, required to connect 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
» 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 be used by the gateway to connect to Kafka
»» 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
»»» region body string false Optional field containing the AWS MSK Region.
»»» scope body string false Optional field containing the scope for requesting the token from the token endpoint.
»»» audience body string false Optional field containing the audience for requesting the token from the token endpoint.
»»» oauthTokenUri body string false Optional URI of the OAuth token endpoint
»»» trustedCertificates body [object] false Certificates or CAs to trust, required to connect to OAuth server.
»»»» 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
»»» clientCertificateAndKey body object false Client certificate and key to use in mTLS
»»»» pem body string true Client certificate in PEM format
»»»» key body string true Client key in PEM format
»»»» expiry body integer false Expiration date of the certificate in epoch millis

Enumerated Values

Parameter Value
»» type NONE
»» type SASL
»» type MTLS
»» type MTLS_SASL
»»» mechanism PLAIN
»»» mechanism SCRAM-SHA-256
»»» mechanism SCRAM-SHA-512
»»» mechanism OAUTHBEARER
»»» mechanism OAUTHBEARER.AWS_MSK_IAM

Example responses

200 Response

{
"id": "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 /admin/clusters \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /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
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

[
{
"bootstrapServers": [
{
"host": "string",
"port": 0,
"ssl": false,
"certificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
]
}
],
"id": "string",
"name": "string",
"owner": "string",
"organization": "string",
"lastUpdated": 0,
"credentials": {
"type": "NONE",
"data": {
"username": "string",
"mechanism": "PLAIN",
"region": "string",
"scope": "string",
"audience": "string",
"oauthTokenUri": "string",
"trustedCertificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
],
"clientCertificateAndKey": {
"pem": "string",
"expiry": 0
}
}
},
"validation": {
"status": "pending",
"gatewayGroups": [
{
"name": "string",
"status": "pending",
"gateways": [
{
"id": "string",
"validationErrors": [
"network"
]
}
]
}
]
}
}
]

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] false none Bootstrap servers for this cluster - only viewable with permissions
»» 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, required to connect 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
» id string true none Unique cluster ID.
» name string true none Cluster name
» owner string true none Cluster owner.
» organization string true none Organization this cluster belongs to.
» 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 be used by the gateway to connect to Kafka
»» 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
»»» mechanism string false none SASL mechanism to authenticate with Kafka
»»» region string false none Optional field containing the AWS MSK Region.
»»» scope string false none Optional field containing the scope for requesting the token from the token endpoint.
»»» audience string false none Optional field containing the audience for requesting the token from the token endpoint.
»»» oauthTokenUri string false none Optional URI of the OAuth token endpoint
»»» trustedCertificates [object] false none Certificates or CAs to trust, required to connect to OAuth server.
»»»» 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
»»» clientCertificateAndKey object false none Client certificate and key to use in mTLS
»»»» pem string true none Client certificate in PEM format
»»»» expiry integer false none Expiration date of the certificate in epoch millis
» validation object true none Details of the visibility of this cluster amongst the gateways
»» status string true none Overall status of all of the gateways.
»» gatewayGroups [object] true none Gateway group names and if they can connect to this cluster
»»» name string true none none
»»» status string true none Status on whether this gateway group can see the associated cluster.
»»» gateways [object] true none none
»»»» id string true none none
»»»» validationErrors [string] true none List of failed validation stages. If this array is empty, it can be assumed that this gateway group can connect and see the cluster.

Enumerated Values

Property Value
type NONE
type SASL
type MTLS
type MTLS_SASL
mechanism PLAIN
mechanism SCRAM-SHA-256
mechanism SCRAM-SHA-512
mechanism OAUTHBEARER
mechanism OAUTHBEARER.AWS_MSK_IAM
status pending
status error
status success/partial
status success
status pending
status error
status success/partial
status success

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 /admin/clusters/{clusterId} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'

PUT /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 /clusters

Body parameter

{
"bootstrapServers": [
{
"host": "string",
"port": 0,
"ssl": false,
"certificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
]
}
],
"name": "string",
"lastUpdated": 0,
"credentials": {
"type": "NONE",
"data": {
"username": "string",
"password": "string",
"mechanism": "PLAIN",
"region": "string",
"scope": "string",
"audience": "string",
"oauthTokenUri": "string",
"trustedCertificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
],
"clientCertificateAndKey": {
"pem": "string",
"key": "string",
"expiry": 0
}
}
}
}

Parameters

Name In Type Required Description
clusterId path string true The ID of the Cluster.
disableValidation query boolean false disable immediate validation against the remote server
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, required to connect 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
» 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 be used by the gateway to connect to Kafka
»» 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
»»» region body string false Optional field containing the AWS MSK Region.
»»» scope body string false Optional field containing the scope for requesting the token from the token endpoint.
»»» audience body string false Optional field containing the audience for requesting the token from the token endpoint.
»»» oauthTokenUri body string false Optional URI of the OAuth token endpoint
»»» trustedCertificates body [object] false Certificates or CAs to trust, required to connect to OAuth server.
»»»» 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
»»» clientCertificateAndKey body object false Client certificate and key to use in mTLS
»»»» pem body string true Client certificate in PEM format
»»»» key body string true Client key in PEM format
»»»» expiry body integer false Expiration date of the certificate in epoch millis

Enumerated Values

Parameter Value
»» type NONE
»» type SASL
»» type MTLS
»» type MTLS_SASL
»»» mechanism PLAIN
»»» mechanism SCRAM-SHA-256
»»» mechanism SCRAM-SHA-512
»»» mechanism OAUTHBEARER
»»» mechanism OAUTHBEARER.AWS_MSK_IAM

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 /admin/clusters/{clusterId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /clusters/{clusterId}

Get details about a Cluster.

Parameters

Name In Type Required Description
clusterId path string true The ID of the Cluster.

Example responses

200 Response

{
"bootstrapServers": [
{
"host": "string",
"port": 0,
"ssl": false,
"certificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
]
}
],
"id": "string",
"name": "string",
"owner": "string",
"organization": "string",
"lastUpdated": 0,
"credentials": {
"type": "NONE",
"data": {
"username": "string",
"mechanism": "PLAIN",
"region": "string",
"scope": "string",
"audience": "string",
"oauthTokenUri": "string",
"trustedCertificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
],
"clientCertificateAndKey": {
"pem": "string",
"expiry": 0
}
}
},
"validation": {
"status": "pending",
"gatewayGroups": [
{
"name": "string",
"status": "pending",
"gateways": [
{
"id": "string",
"validationErrors": [
"network"
]
}
]
}
]
}
}

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] false none Bootstrap servers for this cluster - only viewable with permissions
»» 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, required to connect 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
» id string true none Unique cluster ID.
» name string true none Cluster name
» owner string true none Cluster owner.
» organization string true none Organization this cluster belongs to.
» 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 be used by the gateway to connect to Kafka
»» 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
»»» mechanism string false none SASL mechanism to authenticate with Kafka
»»» region string false none Optional field containing the AWS MSK Region.
»»» scope string false none Optional field containing the scope for requesting the token from the token endpoint.
»»» audience string false none Optional field containing the audience for requesting the token from the token endpoint.
»»» oauthTokenUri string false none Optional URI of the OAuth token endpoint
»»» trustedCertificates [object] false none Certificates or CAs to trust, required to connect to OAuth server.
»»»» 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
»»» clientCertificateAndKey object false none Client certificate and key to use in mTLS
»»»» pem string true none Client certificate in PEM format
»»»» expiry integer false none Expiration date of the certificate in epoch millis
» validation object true none Details of the visibility of this cluster amongst the gateways
»» status string true none Overall status of all of the gateways.
»» gatewayGroups [object] true none Gateway group names and if they can connect to this cluster
»»» name string true none none
»»» status string true none Status on whether this gateway group can see the associated cluster.
»»» gateways [object] true none none
»»»» id string true none none
»»»» validationErrors [string] true none List of failed validation stages. If this array is empty, it can be assumed that this gateway group can connect and see the cluster.

Enumerated Values

Property Value
type NONE
type SASL
type MTLS
type MTLS_SASL
mechanism PLAIN
mechanism SCRAM-SHA-256
mechanism SCRAM-SHA-512
mechanism OAUTHBEARER
mechanism OAUTHBEARER.AWS_MSK_IAM
status pending
status error
status success/partial
status success
status pending
status error
status success/partial
status success

deleteCluster

Code samples

# You can also use wget
curl -X DELETE /admin/clusters/{clusterId} \
-H 'Authorization: Bearer {access-token}'

DELETE /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 /clusters

Parameters

Name In Type Required Description
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 /admin/subscriptions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /subscriptions

Create a subscription to a Catalog Entry

Body parameter

{
"entryId": [
"string"
],
"credentials": {
"type": "NONE",
"data": {
"username": "string",
"password": "string",
"mechanism": "PLAIN",
"hashedPasswords": [
"string"
],
"subjectCommonName": "string",
"subjectOrganization": "string",
"subjectCountry": "string",
"subjectStateOrProvince": "string",
"subjectLocality": "string"
}
},
"clientId": "string",
"contact": "string",
"gateways": [
"string"
]
}

Parameters

Name In Type Required Description
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 a client uses to connect to an Event Gateway
»» 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 an Event Gateway
»»» username body string false SASL username to authenticate with an Event Gateway
»»» password body string false SASL password to authenticate with an Event Gateway
»»» mechanism body string false SASL mechanism to authenticate with Kafka
»»» hashedPasswords body [string] false Hashed passwords from APIC to authenticate clients against an Event Gateway.
»»» subjectCommonName body string false Subject Common Name to match on.
»»» subjectOrganization body string false Subject Organization to match on.
»»» subjectCountry body string false Subject Country to match on.
»»» subjectStateOrProvince body string false Subject Region to match on.
»»» subjectLocality body string false Subject Locality to match on.
» 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
»» type SASL_APIC
»» type MTLS
»»» mechanism PLAIN

Example responses

200 Response

{
"id": "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 /admin/subscriptions \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /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
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

[
{
"id": "string",
"owner": "string",
"entryId": [
"string"
],
"organization": "string",
"credentials": {
"type": "NONE",
"data": {
"username": "string",
"mechanism": "PLAIN",
"subjectCommonName": "string",
"subjectOrganization": "string",
"subjectCountry": "string",
"subjectStateOrProvince": "string",
"subjectLocality": "string"
}
},
"clientId": "string",
"contact": "string",
"gateways": [
"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 a client uses to connect to an Event Gateway
»» 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 an Event Gateway
»»» username string false none SASL username to authenticate with an Event Gateway
»»» mechanism string false none SASL mechanism to authenticate with Kafka
»»» subjectCommonName string false none Subject Common Name to match on.
»»» subjectOrganization string false none Subject Organization to match on.
»»» subjectCountry string false none Subject Country to match on.
»»» subjectStateOrProvince string false none Subject Region to match on.
»»» subjectLocality string false none Subject Locality to match on.
» 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
type SASL_APIC
type MTLS
mechanism PLAIN

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 /admin/subscriptions/{subscriptionId} \
-H 'Authorization: Bearer {access-token}'

DELETE /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 /subscriptions

Parameters

Name In Type Required Description
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 /admin/gateways \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /gateways

List all registered Event Gateways in an Organization. If a page range is specified, then this will return the requested range.

Parameters

Name In Type Required Description
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

[
{
"name": "string",
"gateways": [
{
"id": "string",
"owner": "string",
"organization": "string",
"gatewayId": "string",
"group": "string",
"organizations": [
"string"
],
"servedOrganizations": [
"string"
],
"contact": "string",
"lastContact": 0,
"endpoints": [
{
"host": "string",
"port": 0,
"ssl": false,
"certificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
]
}
],
"version": "string",
"productVersion": "string",
"features": [
"string"
],
"deploymentMode": "string",
"capabilities": {}
}
]
}
]

Responses

Status Meaning Description Schema
200 OK Event 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 Event Gateway ID
»» owner string true none Owner of the Event Gateway.
»» organization string true none Organization this Event Gateway belongs to.
»» gatewayId string true none Unique Event Gateway ID within this group.
»» group string true none Event Gateway group name.
»» organizations [string] true none Organizations this Event Gateway serves
»» servedOrganizations [string] true none Organizations this Event Gateway serves
»» contact string false none The contact information for this Event Gateway
»» lastContact integer true none Epoch time in ms of the last contact from this gateway.
»» endpoints [object] true none Endpoints that the gateway is listening on.
»»» 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, required to connect 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
»» version string false none Version of the gateway
»» productVersion string false none EEM product version.
»» features [string] false none Feature set in use by gateway
»» deploymentMode string false none Type of gateway deployment
»» capabilities object false none Freeform Description of what capabilities the gateway has

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 /admin/eventsources \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /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
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.
filterBy query string false capability to filterBy

Enumerated Values

Parameter Value
filterBy consume
filterBy produce

Example responses

200 Response

[
{
"id": "string",
"owner": "string",
"organization": "string",
"clusterId": "string",
"type": "kafka",
"encoding": "unknown",
"name": "string",
"contact": "string",
"description": "string",
"topic": {
"name": "string",
"partitions": 0,
"replicas": 0,
"uuid": "string"
},
"schema": {
"type": "avro",
"content": "string",
"description": "string"
},
"tags": [
"string"
],
"sampleMessages": [
"string"
],
"capabilities": [
"consume"
],
"validation": {
"status": "pending",
"gatewayGroups": [
{
"name": "string",
"status": "pending",
"gateways": [
{
"id": "string",
"validationErrors": [
"notFound"
]
}
]
}
]
}
}
]

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
»» uuid string false none The uuid of the topic. Discovered from the Kafka cluster
» schema object false none none
»» type string false none Type of Schema from the list of valid types
»» content string false none Contents of the Schema
»» 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
» capabilities [string] true none none
» validation object false none Details of the visibility of this event source amongst the gateway groups.
»» status string true none Status for all of the gateway groups. Can they see the topic associated with this event source?
»» gatewayGroups [object] true none Gateway group names and if they can connect to this cluster and find the associated topic.
»»» name string true none none
»»» status string true none Status on whether this gateway group can see the topic associated with this event source.
»»» gateways [object] true none none
»»»» id string true none none
»»»» validationErrors [string] true none List of failed validation stages. If this array is empty, it can be assumed that this gateway group can connect and see the topic.

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 avro
type json
type unknown
status pending
status error
status success/partial
status success
status pending
status error
status success/partial
status success

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 /admin/eventsources \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /eventsources

Create an event source

Body parameter

{
"clusterId": "string",
"type": "kafka",
"encoding": "unknown",
"name": "string",
"contact": "string",
"description": "string",
"topic": {
"name": "string",
"partitions": 0,
"replicas": 0,
"uuid": "stringstringstringst"
},
"schema": {
"type": "avro",
"content": "string",
"description": "string"
},
"tags": [
"string"
],
"sampleMessages": [
"string"
],
"capabilities": [
"consume"
]
}

Parameters

Name In Type Required Description
disableValidation query boolean false disable immediate validation against the remote server
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, updated by discovery.
»» replicas body number false The number of replicas for this topic, updated by discovery.
»» uuid body string false The uuid of the topic, updated by discovery.
» schema body object false none
»» type body string false Type of Schema from the list of valid types
»» content body string false Contents of the Schema
»» description body string false Description of the data available on the Event Source
»» anonymous body object false none
»» anonymous body object false none
» tags body [string] false List of tags associated with this Event Source
» sampleMessages body [string] false none
» capabilities 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
»» type avro
»» type json
»» type unknown
» capabilities consume
» capabilities produce

Example responses

200 Response

{
"id": "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 /admin/eventsources/{eventSourceId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /eventsources/{eventSourceId}

Read an event source

Parameters

Name In Type Required Description
eventSourceId path string true The ID of the Event Source to read.

Example responses

200 Response

{
"id": "string",
"owner": "string",
"organization": "string",
"clusterId": "string",
"type": "kafka",
"encoding": "unknown",
"name": "string",
"contact": "string",
"description": "string",
"topic": {
"name": "string",
"partitions": 0,
"replicas": 0,
"uuid": "string"
},
"schema": {
"type": "avro",
"content": "string",
"description": "string"
},
"tags": [
"string"
],
"sampleMessages": [
"string"
],
"capabilities": [
"consume"
],
"validation": {
"status": "pending",
"gatewayGroups": [
{
"name": "string",
"status": "pending",
"gateways": [
{
"id": "string",
"validationErrors": [
"notFound"
]
}
]
}
]
}
}

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
»» uuid string false none The uuid of the topic. Discovered from the Kafka cluster
» schema object false none none
»» type string false none Type of Schema from the list of valid types
»» content string false none Contents of the Schema
»» 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
» capabilities [string] true none none
» validation object false none Details of the visibility of this event source amongst the gateway groups.
»» status string true none Status for all of the gateway groups. Can they see the topic associated with this event source?
»» gatewayGroups [object] true none Gateway group names and if they can connect to this cluster and find the associated topic.
»»» name string true none none
»»» status string true none Status on whether this gateway group can see the topic associated with this event source.
»»» gateways [object] true none none
»»»» id string true none none
»»»» validationErrors [string] true none List of failed validation stages. If this array is empty, it can be assumed that this gateway group can connect and see the topic.

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 avro
type json
type unknown
status pending
status error
status success/partial
status success
status pending
status error
status success/partial
status success

updateEventSource

Code samples

# You can also use wget
curl -X PUT /admin/eventsources/{eventSourceId} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'

PUT /eventsources/{eventSourceId}

Update an event source

Body parameter

{
"clusterId": "string",
"type": "kafka",
"encoding": "unknown",
"name": "string",
"contact": "string",
"description": "string",
"topic": {
"name": "string",
"partitions": 0,
"replicas": 0,
"uuid": "stringstringstringst"
},
"schema": {
"type": "avro",
"content": "string",
"description": "string"
},
"tags": [
"string"
],
"sampleMessages": [
"string"
],
"capabilities": [
"consume"
]
}

Parameters

Name In Type Required Description
eventSourceId path string true The ID of the Event Source to update.
disableValidation query boolean false disable immediate validation against the remote server
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, updated by discovery.
»» replicas body number false The number of replicas for this topic, updated by discovery.
»» uuid body string false The uuid of the topic, updated by discovery.
» schema body object false none
»» type body string false Type of Schema from the list of valid types
»» content body string false Contents of the Schema
»» description body string false Description of the data available on the Event Source
»» anonymous body object false none
»» anonymous body object false none
» tags body [string] false List of tags associated with this Event Source
» sampleMessages body [string] false none
» capabilities 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
»» type avro
»» type json
»» type unknown
» capabilities consume
» capabilities produce

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 /admin/eventsources/{eventSourceId} \
-H 'Authorization: Bearer {access-token}'

DELETE /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 /eventsources

Parameters

Name In Type Required Description
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

readEventSourceSubscriptions

Code samples

# You can also use wget
curl -X GET /admin/eventsources/{eventSourceId}/subscriptions \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /eventsources/{eventSourceId}/subscriptions

Read a list of Subscriptions to this Event Source

Parameters

Name In Type Required Description
eventSourceId path string true The ID of the Event Source to read Subscriptions for.
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

[
{
"id": "string",
"username": "string",
"contact": "string",
"eventSource": {
"id": "string",
"name": "string"
},
"option": {
"id": "string",
"name": "string"
},
"apicSubscription": true
}
]

Responses

Status Meaning Description Schema
200 OK Event Source subscriptions read successfully 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 Subscription ID.
» username string true none Username created for this Subscription.
» contact string true none The contact details of the owner of this Subscription.
» eventSource object true none Information about the Event Source this Subscription is for.
»» id string true none Unique Event Source ID.
»» name string true none Event Source name.
» option object true none Information about the option this Subscription is for.
»» id string true none Unique Option ID.
»» name string true none Option name.
» apicSubscription boolean false none Subscription added by API Connect

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.

readAllOptions

Code samples

# You can also use wget
curl -X GET /admin/options \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /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
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

[
{
"id": "string",
"owner": "string",
"organization": "string",
"eventSourceId": "string",
"alias": "string",
"name": "string",
"description": "string",
"gatewayGroups": [
"string"
],
"hidden": true,
"allowSubscriptions": true,
"controls": [
{
"id": "string",
"type": "approval",
"requests": [
{
"id": "string",
"owner": "string",
"lastUpdated": 0,
"status": "pending",
"description": "string",
"contact": "string",
"outcome": "string",
"subscriptionId": "string"
}
]
}
],
"groupVisibility": [
"string"
]
}
]

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 [anyOf] true none Controls on this option

anyOf

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string true none Unique Control ID.
»»» type string true none none
»»» requests [object] true none none
»»»» id string true none Unique Option ID.
»»»» owner string true none Option owner.
»»»» lastUpdated integer false none Unix Epoch timestamp of last update to approval request.
»»»» 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.

or

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string true none Unique Control ID.
»»» type string true none none
»»» redactions [anyOf] true none none

anyOf

Name Type Required Restrictions Description
»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» type string true none Type of redaction.
»»»»»» replaceWith string true none The value to replace with

or

Name Type Required Restrictions Description
»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» type any true none Type of redaction.
»»»»»» replaceWith number true none The value to replace with

or

Name Type Required Restrictions Description
»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» type string true none Type of redaction.
»»»»»» algorithm string true none Algorithm to use for hashing the current value

or

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string true none Unique Control ID.
»»» type string true none none
»»» schema object true none none
»»»» filtered boolean true none If true, any schema associated with the Event Source will be used to filter records sent to applications

or

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string true none Unique Control ID.
»»» type string true none none

anyOf

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» megabytesPerSecond number true none Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond number false none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» megabytesPerSecond number false none Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond number true none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» megabytesPerSecond number true none Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond number true none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»» anonymous any false none none

oneOf

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» trustPem string true none Certificate Authority in PEM format

xor

Name Type Required Restrictions Description
»»»» anonymous any false none none

anyOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» acceptProfileCa boolean true none boolean indicating whether to include the Author defined CA certificates in the MTLS truststore

or

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» acceptOrgCa boolean true none boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore

or

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» acceptProfileCa boolean true none boolean indicating whether to include the Author defined CA certificates in the MTLS truststore
»»»»»» acceptOrgCa boolean true none boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore

and

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none
»»»» identificationType string true none The type of Identification users will use to distinguish between Subscriptions.
»»»» identificationSubjectFields [string] false none Certificate Subject fields to identify users by if using MTLS identificationType.
»»»» subjectCommonName string true none Subject Common Name to match on.
»»»» subjectOrganization string false none Subject Organization to match on.
»»»» subjectCountry string false none Subject Country to match on.
»»»» subjectStateOrProvince string false none Subject Region to match on.
»»»» subjectLocality string false none Subject Locality to match on.
»»»» approvedCipherSuites [string] false none Cipher Suites that are approved for use.
»»»» disapprovedCipherSuites [string] false none Cipher Suites that are not approved for use.
»»»» notValidBefore integer false none Certificate not valid before time.
»»»» notValidAfter integer false none Certificate not valid after time.

continued

Name Type Required Restrictions Description
» groupVisibility [string] true none List of groups this option should be visible to in the catalog

Enumerated Values

Property Value
type approval
status pending
status approved
status rejected
status fulfilled
type redaction
type replaceString
type replaceIntegral
type replaceDouble
type hash
algorithm SHA-256
algorithm SHA-512
type schema-filtering
type quota
type mtls
identificationType MTLS
identificationType 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.

createOption

Code samples

# You can also use wget
curl -X POST /admin/options \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /options

Create an option

Body parameter

{
"eventSourceId": "string",
"alias": "string",
"name": "string",
"description": "string",
"gatewayGroups": [
"string"
],
"hidden": true,
"allowSubscriptions": true,
"controls": [
{
"id": "string",
"type": "approval",
"requests": [
{
"id": "string",
"owner": "string",
"lastUpdated": 0,
"status": "pending",
"description": "string",
"contact": "string",
"outcome": "string",
"subscriptionId": "string"
}
]
}
],
"groupVisibility": [
"string"
]
}

Parameters

Name In Type Required Description
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 [anyOf] true Controls on this option
»» anonymous body object false none
»»» id body string true Unique Control ID.
»»» type body string true none
»»» requests body [object] true none
»»»» id body string true Unique Option ID.
»»»» owner body string true Option owner.
»»»» lastUpdated body integer false Unix Epoch timestamp of last update to approval request.
»»»» 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.
»» anonymous body object false none
»»» id body string true Unique Control ID.
»»» type body string true none
»»» redactions body [anyOf] true none
»»»» anonymous body any false none
»»»»» anonymous body object false none
»»»»»» path body string true The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)
»»»»» anonymous body object false none
»»»»»» type body string true Type of redaction.
»»»»»» replaceWith body string true The value to replace with
»»»» anonymous body any false none
»»»»» anonymous body object false none
»»»»»» path body string true The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)
»»»»» anonymous body object false none
»»»»»» type body any true Type of redaction.
»»»»»» replaceWith body number true The value to replace with
»»»» anonymous body any false none
»»»»» anonymous body object false none
»»»»»» path body string true The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)
»»»»» anonymous body object false none
»»»»»» type body string true Type of redaction.
»»»»»» algorithm body string true Algorithm to use for hashing the current value
»» anonymous body object false none
»»» id body string true Unique Control ID.
»»» type body string true none
»»» schema body object true none
»»»» filtered body boolean true If true, any schema associated with the Event Source will be used to filter records sent to applications
»» anonymous body object false none
»»» id body string true Unique Control ID.
»»» type body string true none
»»» anonymous body object false none
»»»» megabytesPerSecond body number true Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond body number false Upper limit to messages per second produced/consumed
»»» anonymous body object false none
»»»» megabytesPerSecond body number false Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond body number true Upper limit to messages per second produced/consumed
»»» anonymous body object false none
»»»» megabytesPerSecond body number true Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond body number true Upper limit to messages per second produced/consumed
»» anonymous body any false none
»»» anonymous body any false none
»»»» anonymous body object false none
»»»»» trustPem body string true Certificate Authority in PEM format
»»»» anonymous body any false none
»»»»» anonymous body object false none
»»»»»» acceptProfileCa body boolean true boolean indicating whether to include the Author defined CA certificates in the MTLS truststore
»»»»» anonymous body object false none
»»»»»» acceptOrgCa body boolean true boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore
»»»»» anonymous body object false none
»»»»»» acceptProfileCa body boolean true boolean indicating whether to include the Author defined CA certificates in the MTLS truststore
»»»»»» acceptOrgCa body boolean true boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore
»»» anonymous body object false none
»»»» id body string true Unique Control ID.
»»»» type body string true none
»»»» identificationType body string true The type of Identification users will use to distinguish between Subscriptions.
»»»» identificationSubjectFields body [string] false Certificate Subject fields to identify users by if using MTLS identificationType.
»»»» subjectCommonName body string true Subject Common Name to match on.
»»»» subjectOrganization body string false Subject Organization to match on.
»»»» subjectCountry body string false Subject Country to match on.
»»»» subjectStateOrProvince body string false Subject Region to match on.
»»»» subjectLocality body string false Subject Locality to match on.
»»»» approvedCipherSuites body [string] false Cipher Suites that are approved for use.
»»»» disapprovedCipherSuites body [string] false Cipher Suites that are not approved for use.
»»»» notValidBefore body integer false Certificate not valid before time.
»»»» notValidAfter body integer false Certificate not valid after time.
» groupVisibility body [string] false List of groups this option should be visible to in the catalog

Enumerated Values

Parameter Value
»»» type approval
»»»» status pending
»»»» status approved
»»»» status rejected
»»»» status fulfilled
»»» type redaction
»»»»»» type replaceString
»»»»»» type replaceIntegral
»»»»»» type replaceDouble
»»»»»» type hash
»»»»»» algorithm SHA-256
»»»»»» algorithm SHA-512
»»» type schema-filtering
»»» type quota
»»»» type mtls
»»»» identificationType MTLS
»»»» identificationType SASL
»»»» identificationSubjectFields subjectCommonName
»»»» identificationSubjectFields subjectOrganization
»»»» identificationSubjectFields subjectCountry
»»»» identificationSubjectFields subjectStateOrProvince
»»»» identificationSubjectFields subjectLocality

Example responses

200 Response

{
"id": "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 or Controls specified not compatible with gateway group. None
401 Unauthorized Not authorised, successful login required None
403 Forbidden Access denied for this user and/or role None
426 Upgrade Required Limit reached, upgrade required to your service plan 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 /admin/options/{optionId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /options/{optionId}

Read an option

Parameters

Name In Type Required Description
optionId path string true The ID of the Option to read.

Example responses

200 Response

{
"id": "string",
"owner": "string",
"organization": "string",
"eventSourceId": "string",
"alias": "string",
"name": "string",
"description": "string",
"gatewayGroups": [
"string"
],
"hidden": true,
"allowSubscriptions": true,
"controls": [
{
"id": "string",
"type": "approval",
"requests": [
{
"id": "string",
"owner": "string",
"lastUpdated": 0,
"status": "pending",
"description": "string",
"contact": "string",
"outcome": "string",
"subscriptionId": "string"
}
]
}
],
"groupVisibility": [
"string"
]
}

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 [anyOf] true none Controls on this option

anyOf

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string true none Unique Control ID.
»»» type string true none none
»»» requests [object] true none none
»»»» id string true none Unique Option ID.
»»»» owner string true none Option owner.
»»»» lastUpdated integer false none Unix Epoch timestamp of last update to approval request.
»»»» 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.

or

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string true none Unique Control ID.
»»» type string true none none
»»» redactions [anyOf] true none none

anyOf

Name Type Required Restrictions Description
»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» type string true none Type of redaction.
»»»»»» replaceWith string true none The value to replace with

or

Name Type Required Restrictions Description
»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» type any true none Type of redaction.
»»»»»» replaceWith number true none The value to replace with

or

Name Type Required Restrictions Description
»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» type string true none Type of redaction.
»»»»»» algorithm string true none Algorithm to use for hashing the current value

or

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string true none Unique Control ID.
»»» type string true none none
»»» schema object true none none
»»»» filtered boolean true none If true, any schema associated with the Event Source will be used to filter records sent to applications

or

Name Type Required Restrictions Description
»» anonymous object false none none
»»» id string true none Unique Control ID.
»»» type string true none none

anyOf

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» megabytesPerSecond number true none Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond number false none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» megabytesPerSecond number false none Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond number true none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» megabytesPerSecond number true none Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond number true none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»» anonymous any false none none

oneOf

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» trustPem string true none Certificate Authority in PEM format

xor

Name Type Required Restrictions Description
»»»» anonymous any false none none

anyOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» acceptProfileCa boolean true none boolean indicating whether to include the Author defined CA certificates in the MTLS truststore

or

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» acceptOrgCa boolean true none boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore

or

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» acceptProfileCa boolean true none boolean indicating whether to include the Author defined CA certificates in the MTLS truststore
»»»»»» acceptOrgCa boolean true none boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore

and

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none
»»»» identificationType string true none The type of Identification users will use to distinguish between Subscriptions.
»»»» identificationSubjectFields [string] false none Certificate Subject fields to identify users by if using MTLS identificationType.
»»»» subjectCommonName string true none Subject Common Name to match on.
»»»» subjectOrganization string false none Subject Organization to match on.
»»»» subjectCountry string false none Subject Country to match on.
»»»» subjectStateOrProvince string false none Subject Region to match on.
»»»» subjectLocality string false none Subject Locality to match on.
»»»» approvedCipherSuites [string] false none Cipher Suites that are approved for use.
»»»» disapprovedCipherSuites [string] false none Cipher Suites that are not approved for use.
»»»» notValidBefore integer false none Certificate not valid before time.
»»»» notValidAfter integer false none Certificate not valid after time.

continued

Name Type Required Restrictions Description
» groupVisibility [string] true none List of groups this option should be visible to in the catalog

Enumerated Values

Property Value
type approval
status pending
status approved
status rejected
status fulfilled
type redaction
type replaceString
type replaceIntegral
type replaceDouble
type hash
algorithm SHA-256
algorithm SHA-512
type schema-filtering
type quota
type mtls
identificationType MTLS
identificationType SASL

updateOption

Code samples

# You can also use wget
curl -X PUT /admin/options/{optionId} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'

PUT /options/{optionId}

Update an option

Body parameter

{
"eventSourceId": "string",
"alias": "string",
"name": "string",
"description": "string",
"gatewayGroups": [
"string"
],
"hidden": true,
"allowSubscriptions": true,
"controls": [
{
"id": "string",
"type": "approval",
"requests": [
{
"id": "string",
"owner": "string",
"lastUpdated": 0,
"status": "pending",
"description": "string",
"contact": "string",
"outcome": "string",
"subscriptionId": "string"
}
]
}
],
"groupVisibility": [
"string"
]
}

Parameters

Name In Type Required Description
optionId path string true The ID of the Option to update.
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 [anyOf] true Controls on this option
»» anonymous body object false none
»»» id body string true Unique Control ID.
»»» type body string true none
»»» requests body [object] true none
»»»» id body string true Unique Option ID.
»»»» owner body string true Option owner.
»»»» lastUpdated body integer false Unix Epoch timestamp of last update to approval request.
»»»» 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.
»» anonymous body object false none
»»» id body string true Unique Control ID.
»»» type body string true none
»»» redactions body [anyOf] true none
»»»» anonymous body any false none
»»»»» anonymous body object false none
»»»»»» path body string true The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)
»»»»» anonymous body object false none
»»»»»» type body string true Type of redaction.
»»»»»» replaceWith body string true The value to replace with
»»»» anonymous body any false none
»»»»» anonymous body object false none
»»»»»» path body string true The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)
»»»»» anonymous body object false none
»»»»»» type body any true Type of redaction.
»»»»»» replaceWith body number true The value to replace with
»»»» anonymous body any false none
»»»»» anonymous body object false none
»»»»»» path body string true The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)
»»»»» anonymous body object false none
»»»»»» type body string true Type of redaction.
»»»»»» algorithm body string true Algorithm to use for hashing the current value
»» anonymous body object false none
»»» id body string true Unique Control ID.
»»» type body string true none
»»» schema body object true none
»»»» filtered body boolean true If true, any schema associated with the Event Source will be used to filter records sent to applications
»» anonymous body object false none
»»» id body string true Unique Control ID.
»»» type body string true none
»»» anonymous body object false none
»»»» megabytesPerSecond body number true Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond body number false Upper limit to messages per second produced/consumed
»»» anonymous body object false none
»»»» megabytesPerSecond body number false Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond body number true Upper limit to messages per second produced/consumed
»»» anonymous body object false none
»»»» megabytesPerSecond body number true Upper limit to megabytes per second produced/consumed
»»»» messagesPerSecond body number true Upper limit to messages per second produced/consumed
»» anonymous body any false none
»»» anonymous body any false none
»»»» anonymous body object false none
»»»»» trustPem body string true Certificate Authority in PEM format
»»»» anonymous body any false none
»»»»» anonymous body object false none
»»»»»» acceptProfileCa body boolean true boolean indicating whether to include the Author defined CA certificates in the MTLS truststore
»»»»» anonymous body object false none
»»»»»» acceptOrgCa body boolean true boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore
»»»»» anonymous body object false none
»»»»»» acceptProfileCa body boolean true boolean indicating whether to include the Author defined CA certificates in the MTLS truststore
»»»»»» acceptOrgCa body boolean true boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore
»»» anonymous body object false none
»»»» id body string true Unique Control ID.
»»»» type body string true none
»»»» identificationType body string true The type of Identification users will use to distinguish between Subscriptions.
»»»» identificationSubjectFields body [string] false Certificate Subject fields to identify users by if using MTLS identificationType.
»»»» subjectCommonName body string true Subject Common Name to match on.
»»»» subjectOrganization body string false Subject Organization to match on.
»»»» subjectCountry body string false Subject Country to match on.
»»»» subjectStateOrProvince body string false Subject Region to match on.
»»»» subjectLocality body string false Subject Locality to match on.
»»»» approvedCipherSuites body [string] false Cipher Suites that are approved for use.
»»»» disapprovedCipherSuites body [string] false Cipher Suites that are not approved for use.
»»»» notValidBefore body integer false Certificate not valid before time.
»»»» notValidAfter body integer false Certificate not valid after time.
» groupVisibility body [string] false List of groups this option should be visible to in the catalog

Enumerated Values

Parameter Value
»»» type approval
»»»» status pending
»»»» status approved
»»»» status rejected
»»»» status fulfilled
»»» type redaction
»»»»»» type replaceString
»»»»»» type replaceIntegral
»»»»»» type replaceDouble
»»»»»» type hash
»»»»»» algorithm SHA-256
»»»»»» algorithm SHA-512
»»» type schema-filtering
»»» type quota
»»»» type mtls
»»»» identificationType MTLS
»»»» identificationType SASL
»»»» identificationSubjectFields subjectCommonName
»»»» identificationSubjectFields subjectOrganization
»»»» identificationSubjectFields subjectCountry
»»»» identificationSubjectFields subjectStateOrProvince
»»»» identificationSubjectFields subjectLocality

Responses

Status Meaning Description Schema
200 OK Option successfully updated None
400 Bad Request Invalid request, request data does not match schema or Controls specified not compatible with gateway group. 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 /admin/options/{optionId} \
-H 'Authorization: Bearer {access-token}'

DELETE /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 /options

Parameters

Name In Type Required Description
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 /admin/options/{optionId}/apicasyncapi \
-H 'Accept: application/yaml' \
-H 'Authorization: Bearer {access-token}'

GET /options/{optionId}/apicasyncapi

Generate an AsyncAPI document for a selected Option with connections added for IBM API Connect.

Parameters

Name In Type Required Description
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 /admin/options/{optionId}/asyncapi \
-H 'Accept: application/yaml' \
-H 'Authorization: Bearer {access-token}'

GET /options/{optionId}/asyncapi

Generate an AsyncAPI document for a selected Option.

Parameters

Name In Type Required Description
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

addGroupVisibility

Code samples

# You can also use wget
curl -X POST /admin/groupvisibility \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /groupvisibility

Add options to the provided group visibility

Body parameter

{
"group": "string",
"options": [
"string"
]
}

Parameters

Name In Type Required Description
body body object true Group Visibility data
» group body string true Group to associate these options with
» options body [string] true List of options visible to this group

Example responses

200 Response

{
"group": "string",
"options": [
{
"id": "string",
"alias": "string",
"name": "string",
"controls": [
"approval"
],
"eventSourceName": "string",
"topicName": "string",
"capabilities": [
"consume"
]
}
]
}

Responses

Status Meaning Description Schema
200 OK Options that have had their group visibility added Inline
400 Bad Request Invalid request, request data does not match schema or provided Option ID does not exist. 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
» group string true none Group associated with these options
» options [object] true none List of options visible to this group
»» id string true none The ID for this option
»» alias string true none The alias for this option
»» name string true none The name for this option
»» controls [string] true none none
»» eventSourceName string true none The Event Source name for this Option
»» topicName string true none The Kafka Topic for this Option
»» capabilities [string] true none none

readAllEventEndpoints

Code samples

# You can also use wget
curl -X GET /admin/eventendpoints \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /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
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.
filterBy query string false capability to filterBy

Enumerated Values

Parameter Value
filterBy consume
filterBy produce

Example responses

200 Response

[
{
"id": "string",
"owner": "string",
"organization": "string",
"clusterId": "string",
"type": "kafka",
"encoding": "unknown",
"name": "string",
"contact": "string",
"description": "string",
"topic": {
"name": "string",
"partitions": 0,
"replicas": 0,
"uuid": "string"
},
"schema": {
"type": "avro",
"content": "string",
"description": "string"
},
"tags": [
"string"
],
"sampleMessages": [
"string"
],
"capabilities": [
"consume"
],
"options": [
{
"id": "string",
"owner": "string",
"organization": "string",
"eventSourceId": "string",
"alias": "string",
"name": "string",
"description": "string",
"gatewayGroups": [
"string"
],
"hidden": true,
"allowSubscriptions": true,
"controls": [
{
"id": "string",
"type": "approval",
"requests": [
{
"id": "string",
"owner": "string",
"lastUpdated": 0,
"status": "pending",
"description": "string",
"contact": "string",
"outcome": "string",
"subscriptionId": "string"
}
]
}
],
"gatewaysPublishedTo": [
{
"id": "string",
"owner": "string",
"organization": "string",
"gatewayId": "string",
"group": "string",
"organizations": [
"string"
],
"servedOrganizations": [
"string"
],
"contact": "string",
"lastContact": 0,
"endpoints": [
{
"host": "string",
"port": 0,
"ssl": false,
"certificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
]
}
],
"version": "string",
"productVersion": "string",
"features": [
"string"
],
"deploymentMode": "string",
"capabilities": {}
}
]
}
]
}
]

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
» id string true none Unique ID of related EventSource.
» owner string true none Owner of related EventSource.
» organization string true none Organization the related EventSource 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.
»» replicas number false none The number of replicas for this topic.
»» uuid string false none The uuid of the topic.
» schema object false none none
»» type string false none Type of Schema from the list of valid types
»» content string false none Contents of the Schema
»» 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
» capabilities [string] true none none
» options [object] true none none
»» 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 [anyOf] true none Controls on this option

anyOf

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none
»»»» requests [object] true none none
»»»»» id string true none Unique Option ID.
»»»»» owner string true none Option owner.
»»»»» lastUpdated integer false none Unix Epoch timestamp of last update to approval request.
»»»»» 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.

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none
»»»» redactions [anyOf] true none none

anyOf

Name Type Required Restrictions Description
»»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» type string true none Type of redaction.
»»»»»»» replaceWith string true none The value to replace with

or

Name Type Required Restrictions Description
»»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» type any true none Type of redaction.
»»»»»»» replaceWith number true none The value to replace with

or

Name Type Required Restrictions Description
»»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» type string true none Type of redaction.
»»»»»»» algorithm string true none Algorithm to use for hashing the current value

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none
»»»» schema object true none none
»»»»» filtered boolean true none If true, any schema associated with the Event Source will be used to filter records sent to applications

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none

anyOf

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» megabytesPerSecond number true none Upper limit to megabytes per second produced/consumed
»»»»» messagesPerSecond number false none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» megabytesPerSecond number false none Upper limit to megabytes per second produced/consumed
»»»»» messagesPerSecond number true none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» megabytesPerSecond number true none Upper limit to megabytes per second produced/consumed
»»»»» messagesPerSecond number true none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»» anonymous any false none none

oneOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» trustPem string true none Certificate Authority in PEM format

xor

Name Type Required Restrictions Description
»»»»» anonymous any false none none

anyOf

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» acceptProfileCa boolean true none boolean indicating whether to include the Author defined CA certificates in the MTLS truststore

or

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» acceptOrgCa boolean true none boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore

or

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» acceptProfileCa boolean true none boolean indicating whether to include the Author defined CA certificates in the MTLS truststore
»»»»»»» acceptOrgCa boolean true none boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore

and

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» id string true none Unique Control ID.
»»»»» type string true none none
»»»»» identificationType string true none The type of Identification users will use to distinguish between Subscriptions.
»»»»» identificationSubjectFields [string] false none Certificate Subject fields to identify users by if using MTLS identificationType.
»»»»» subjectCommonName string true none Subject Common Name to match on.
»»»»» subjectOrganization string false none Subject Organization to match on.
»»»»» subjectCountry string false none Subject Country to match on.
»»»»» subjectStateOrProvince string false none Subject Region to match on.
»»»»» subjectLocality string false none Subject Locality to match on.
»»»»» approvedCipherSuites [string] false none Cipher Suites that are approved for use.
»»»»» disapprovedCipherSuites [string] false none Cipher Suites that are not approved for use.
»»»»» notValidBefore integer false none Certificate not valid before time.
»»»»» notValidAfter integer false none Certificate not valid after time.

continued

Name Type Required Restrictions Description
»» gatewaysPublishedTo [object] true none List of gateways that this option has been published to.
»»» id string true none Unique Event Gateway ID
»»» owner string true none Owner of the Event Gateway.
»»» organization string true none Organization this Event Gateway belongs to.
»»» gatewayId string true none Unique Event Gateway ID within this group.
»»» group string true none Event Gateway group name.
»»» organizations [string] true none Organizations this Event Gateway serves
»»» servedOrganizations [string] true none Organizations this Event Gateway serves
»»» contact string false none The contact information for this Event Gateway
»»» lastContact integer true none Epoch time in ms of the last contact from this gateway.
»»» endpoints [object] true none Endpoints that the gateway is listening on.
»»»» 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, required to connect 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
»»» version string false none Version of the gateway
»»» productVersion string false none EEM product version.
»»» features [string] false none Feature set in use by gateway
»»» deploymentMode string false none Type of gateway deployment
»»» capabilities object false none Freeform Description of what capabilities the gateway has

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 avro
type json
type unknown
type approval
status pending
status approved
status rejected
status fulfilled
type redaction
type replaceString
type replaceIntegral
type replaceDouble
type hash
algorithm SHA-256
algorithm SHA-512
type schema-filtering
type quota
type mtls
identificationType MTLS
identificationType 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.

readEventEndpoint

Code samples

# You can also use wget
curl -X GET /admin/eventendpoints/{eventSourceId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /eventendpoints/{eventSourceId}

Read an event endpoint

Parameters

Name In Type Required Description
eventSourceId path string true The ID of the Event Source to read an Event Endpoint from.

Example responses

200 Response

{
"id": "string",
"owner": "string",
"organization": "string",
"clusterId": "string",
"type": "kafka",
"encoding": "unknown",
"name": "string",
"contact": "string",
"description": "string",
"topic": {
"name": "string",
"partitions": 0,
"replicas": 0,
"uuid": "string"
},
"schema": {
"type": "avro",
"content": "string",
"description": "string"
},
"tags": [
"string"
],
"sampleMessages": [
"string"
],
"capabilities": [
"consume"
],
"options": [
{
"id": "string",
"owner": "string",
"organization": "string",
"eventSourceId": "string",
"alias": "string",
"name": "string",
"description": "string",
"gatewayGroups": [
"string"
],
"hidden": true,
"allowSubscriptions": true,
"controls": [
{
"id": "string",
"type": "approval",
"requests": [
{
"id": "string",
"owner": "string",
"lastUpdated": 0,
"status": "pending",
"description": "string",
"contact": "string",
"outcome": "string",
"subscriptionId": "string"
}
]
}
],
"gatewaysPublishedTo": [
{
"id": "string",
"owner": "string",
"organization": "string",
"gatewayId": "string",
"group": "string",
"organizations": [
"string"
],
"servedOrganizations": [
"string"
],
"contact": "string",
"lastContact": 0,
"endpoints": [
{
"host": "string",
"port": 0,
"ssl": false,
"certificates": [
{
"pem": "string",
"subject": "string",
"sans": [
"string"
],
"issuer": "string",
"expiry": 0
}
]
}
],
"version": "string",
"productVersion": "string",
"features": [
"string"
],
"deploymentMode": "string",
"capabilities": {}
}
]
}
]
}

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
» id string true none Unique ID of related EventSource.
» owner string true none Owner of related EventSource.
» organization string true none Organization the related EventSource 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.
»» replicas number false none The number of replicas for this topic.
»» uuid string false none The uuid of the topic.
» schema object false none none
»» type string false none Type of Schema from the list of valid types
»» content string false none Contents of the Schema
»» 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
» capabilities [string] true none none
» options [object] true none none
»» 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 [anyOf] true none Controls on this option

anyOf

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none
»»»» requests [object] true none none
»»»»» id string true none Unique Option ID.
»»»»» owner string true none Option owner.
»»»»» lastUpdated integer false none Unix Epoch timestamp of last update to approval request.
»»»»» 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.

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none
»»»» redactions [anyOf] true none none

anyOf

Name Type Required Restrictions Description
»»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» type string true none Type of redaction.
»»»»»»» replaceWith string true none The value to replace with

or

Name Type Required Restrictions Description
»»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» type any true none Type of redaction.
»»»»»»» replaceWith number true none The value to replace with

or

Name Type Required Restrictions Description
»»»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» path string true none The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)

and

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» type string true none Type of redaction.
»»»»»»» algorithm string true none Algorithm to use for hashing the current value

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none
»»»» schema object true none none
»»»»» filtered boolean true none If true, any schema associated with the Event Source will be used to filter records sent to applications

or

Name Type Required Restrictions Description
»»» anonymous object false none none
»»»» id string true none Unique Control ID.
»»»» type string true none none

anyOf

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» megabytesPerSecond number true none Upper limit to megabytes per second produced/consumed
»»»»» messagesPerSecond number false none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» megabytesPerSecond number false none Upper limit to megabytes per second produced/consumed
»»»»» messagesPerSecond number true none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» megabytesPerSecond number true none Upper limit to megabytes per second produced/consumed
»»»»» messagesPerSecond number true none Upper limit to messages per second produced/consumed

or

Name Type Required Restrictions Description
»»» anonymous any false none none

allOf

Name Type Required Restrictions Description
»»»» anonymous any false none none

oneOf

Name Type Required Restrictions Description
»»»»» anonymous object false none none
»»»»»» trustPem string true none Certificate Authority in PEM format

xor

Name Type Required Restrictions Description
»»»»» anonymous any false none none

anyOf

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» acceptProfileCa boolean true none boolean indicating whether to include the Author defined CA certificates in the MTLS truststore

or

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» acceptOrgCa boolean true none boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore

or

Name Type Required Restrictions Description
»»»»»» anonymous object false none none
»»»»»»» acceptProfileCa boolean true none boolean indicating whether to include the Author defined CA certificates in the MTLS truststore
»»»»»»» acceptOrgCa boolean true none boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore

and

Name Type Required Restrictions Description
»»»» anonymous object false none none
»»»»» id string true none Unique Control ID.
»»»»» type string true none none
»»»»» identificationType string true none The type of Identification users will use to distinguish between Subscriptions.
»»»»» identificationSubjectFields [string] false none Certificate Subject fields to identify users by if using MTLS identificationType.
»»»»» subjectCommonName string true none Subject Common Name to match on.
»»»»» subjectOrganization string false none Subject Organization to match on.
»»»»» subjectCountry string false none Subject Country to match on.
»»»»» subjectStateOrProvince string false none Subject Region to match on.
»»»»» subjectLocality string false none Subject Locality to match on.
»»»»» approvedCipherSuites [string] false none Cipher Suites that are approved for use.
»»»»» disapprovedCipherSuites [string] false none Cipher Suites that are not approved for use.
»»»»» notValidBefore integer false none Certificate not valid before time.
»»»»» notValidAfter integer false none Certificate not valid after time.

continued

Name Type Required Restrictions Description
»» gatewaysPublishedTo [object] true none List of gateways that this option has been published to.
»»» id string true none Unique Event Gateway ID
»»» owner string true none Owner of the Event Gateway.
»»» organization string true none Organization this Event Gateway belongs to.
»»» gatewayId string true none Unique Event Gateway ID within this group.
»»» group string true none Event Gateway group name.
»»» organizations [string] true none Organizations this Event Gateway serves
»»» servedOrganizations [string] true none Organizations this Event Gateway serves
»»» contact string false none The contact information for this Event Gateway
»»» lastContact integer true none Epoch time in ms of the last contact from this gateway.
»»» endpoints [object] true none Endpoints that the gateway is listening on.
»»»» 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, required to connect 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
»»» version string false none Version of the gateway
»»» productVersion string false none EEM product version.
»»» features [string] false none Feature set in use by gateway
»»» deploymentMode string false none Type of gateway deployment
»»» capabilities object false none Freeform Description of what capabilities the gateway has

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 avro
type json
type unknown
type approval
status pending
status approved
status rejected
status fulfilled
type redaction
type replaceString
type replaceIntegral
type replaceDouble
type hash
algorithm SHA-256
algorithm SHA-512
type schema-filtering
type quota
type mtls
identificationType MTLS
identificationType SASL

readAllProfileCACertificates

Code samples

# You can also use wget
curl -X GET /admin/profile/ca \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /profile/ca

Parameters

Name In Type Required Description
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

[
{
"id": "string",
"subject": "string",
"issuer": "string",
"expiry": 0,
"pem": "string",
"owned": true
}
]

Responses

Status Meaning Description Schema
200 OK Get profile CA certificates for a user Inline
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 ID of CA certificate
» subject string true none Subject name of the certificate
» issuer string true none Issuer of the certificate
» expiry integer true none Expiration date of the certificate in epoch millis
» pem string true none PEM
» owned boolean true none Is the requester the owner of this CA certificate

Response Headers

Status Header Type Format Description
200 ei-pagination-total integer Total number of items available for retrieval (including current page).

createProfileCACertificate

Code samples

# You can also use wget
curl -X POST /admin/profile/ca \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /profile/ca

Create an author CA Certificate

Body parameter

{
"trustPem": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst"
}

Parameters

Name In Type Required Description
body body object true none
» trustPem body string true PEM

Example responses

200 Response

{
"validCACertificates": [
{
"id": "string",
"pem": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
"existingCertificate": true
}
],
"invalidCertificates": [
{
"pem": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst"
}
]
}

Responses

Status Meaning Description Schema
200 OK CA Certificates successfully processed. Non-CA Certificates will be ignored. If the payload contains any CA certificates that have previously been uploaded, these will not be processed, and the ID of the original CA certificate will be returned in the response Inline
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
500 Internal Server Error Internal error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» validCACertificates [object] false none Array of all successfully processed CA Certificates
»» id string false none none
»» pem string false none PEM
»» existingCertificate boolean false none Indicating if the certificate already existed in the store and the existing record was returned.
» invalidCertificates [object] false none Array of all non CA Certificates that were ignored
»» pem string false none PEM

readProfileCACertificate

Code samples

# You can also use wget
curl -X GET /admin/profile/ca/{caId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /profile/ca/{caId}

Parameters

Name In Type Required Description
caId path string true The ID of the CA Certificate.

Example responses

200 Response

{
"id": "string",
"subject": "string",
"issuer": "string",
"expiry": 0,
"pem": "string",
"owned": true
}

Responses

Status Meaning Description Schema
200 OK Get a profile CA certificate for a user 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 ID of CA certificate
» subject string true none Subject name of the certificate
» issuer string true none Issuer of the certificate
» expiry integer true none Expiration date of the certificate in epoch millis
» pem string true none PEM
» owned boolean true none Is the requester the owner of this CA certificate

deleteProfileCACertificate

Code samples

# You can also use wget
curl -X DELETE /admin/profile/ca/{caId} \
-H 'Authorization: Bearer {access-token}'

DELETE /profile/ca/{caId}

Delete an author CA Certificate

Parameters

Name In Type Required Description
caId path string true The ID of the CA Certificate to be deleted.

Responses

Status Meaning Description Schema
200 OK CA Certificate deleted successfully None
401 Unauthorized Not authorised, successful login required None
403 Forbidden Access denied for this user and/or role None
404 Not Found CA Certificate does not exist. None
500 Internal Server Error Internal error None

readAllOrgCACertificates

Code samples

# You can also use wget
curl -X GET /admin/organization/ca \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /organization/ca

Parameters

Name In Type Required Description
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

[
{
"id": "string",
"subject": "string",
"issuer": "string",
"expiry": 0,
"pem": "string",
"owned": true
}
]

Responses

Status Meaning Description Schema
200 OK Get organization CA certificates 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 ID of CA certificate
» subject string true none Subject name of the certificate
» issuer string true none Issuer of the certificate
» expiry integer true none Expiration date of the certificate in epoch millis
» pem string true none PEM
» owned boolean true none Is the requester the owner of this CA certificate

Response Headers

Status Header Type Format Description
200 ei-pagination-total integer Total number of items available for retrieval (including current page).

createOrgCACertificate

Code samples

# You can also use wget
curl -X POST /admin/organization/ca \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /organization/ca

Create an organization CA Certificate

Body parameter

{
"trustPem": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst"
}

Parameters

Name In Type Required Description
body body object true none
» trustPem body string true PEM

Example responses

200 Response

{
"validCACertificates": [
{
"id": "string",
"pem": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
"existingCertificate": true
}
],
"invalidCertificates": [
{
"pem": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst"
}
]
}

Responses

Status Meaning Description Schema
200 OK Author CA Certificate successfully created Inline
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
500 Internal Server Error Internal error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» validCACertificates [object] false none Array of all successfully processed CA Certificates
»» id string false none none
»» pem string false none PEM
»» existingCertificate boolean false none Indicating if the certificate already existed in the store and the existing record was returned.
» invalidCertificates [object] false none Array of all non CA Certificates that were ignored
»» pem string false none PEM

readOrgCACertificate

Code samples

# You can also use wget
curl -X GET /admin/organization/ca/{caId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /organization/ca/{caId}

Parameters

Name In Type Required Description
caId path string true The ID of the CA Certificate.

Example responses

200 Response

{
"id": "string",
"subject": "string",
"issuer": "string",
"expiry": 0,
"pem": "string",
"owned": true
}

Responses

Status Meaning Description Schema
200 OK Get a Organization CA certificate for a user 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 ID of CA certificate
» subject string true none Subject name of the certificate
» issuer string true none Issuer of the certificate
» expiry integer true none Expiration date of the certificate in epoch millis
» pem string true none PEM
» owned boolean true none Is the requester the owner of this CA certificate

deleteOrgCACertificate

Code samples

# You can also use wget
curl -X DELETE /admin/organization/ca/{caId} \
-H 'Authorization: Bearer {access-token}'

DELETE /organization/ca/{caId}

Delete an org CA Certificate

Parameters

Name In Type Required Description
caId path string true The ID of the CA Certificate to be deleted.

Responses

Status Meaning Description Schema
200 OK CA Certificate deleted successfully None
401 Unauthorized Not authorised, successful login required None
403 Forbidden Access denied for this user and/or role None
404 Not Found CA Certificate does not exist. None
500 Internal Server Error Internal error None

transferOwnership

Code samples

# You can also use wget
curl -X POST /admin/organization/transferOwnership \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /organization/transferOwnership

Transfer ownership of EEM assets from one user to another.

Body parameter

{
"ownedBy": "string",
"targetOwner": "string"
}

Parameters

Name In Type Required Description
body body object true none
» ownedBy body string true Owner of the assets. The subject to transfer from
» targetOwner body string true New Owner of the assets. The subject to be transferred to

Responses

Status Meaning Description Schema
200 OK Assets successfully transferred None
400 Bad Request Invalid request None
401 Unauthorized Not authorized, successful login required None
403 Forbidden Access denied for this user and/or role None
404 Not Found Requested owner(s) do not exist None
409 Conflict Conflict cannot make transfer between users None
500 Internal Server Error Internal error None

readAllUserAssets

Code samples

# You can also use wget
curl -X GET /admin/userassets \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /userassets

List all users and all their assets.

Parameters

Name In Type Required Description
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.
includeEmptyUsers query string false Flag to indicate whether to include users that have no assets. True means return all defined users, whether they have assets or not. Default is false.
search query string false Given a searched field, filter the response to only include users who match in username or in their subject i.e topics, options etc.

Example responses

200 Response

[
{
"userId": "string",
"preferredUsername": "string",
"displayName": "string",
"roles": [
"string"
],
"assets": {
"eventsource": 0,
"cluster": 0,
"option": 0,
"subscription": 0,
"ca": 0,
"gateway": 0
}
}
]

Responses

Status Meaning Description Schema
200 OK List all defined users and their owned assets 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
» userId string true none User identifier
» preferredUsername string true none Preferred user name
» displayName string true none Display name
» roles [string] true none User roles
» assets object true none List of the different asset types and the number of instances of that type owned by the user
»» eventsource number true none none
»» cluster number true none none
»» option number true none none
»» subscription number true none none
»» ca number true none none
»» gateway number true none none

createEventEndpointApprovalRequest

Code samples

# You can also use wget
curl -X POST /admin/eventendpoints/{eventEndpointId}/requests \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

POST /eventendpoints/{eventEndpointId}/requests

Create a new approval request against this event endpoint.

Body parameter

{
"description": "string",
"contact": "string"
}

Parameters

Name In Type Required Description
eventEndpointId path string true The ID of the Event Endpoint to create an approval request against.
body body object true none
» description body string true Description of why the request was created.
» contact body string true Contact details of the person making the request.

Example responses

200 Response

{
"id": "string"
}

Responses

Status Meaning Description Schema
200 OK Event Endpoint Approval successfully requested. 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
» id string true none approval request Id.

updateEventEndpointApprovalRequest

Code samples

# You can also use wget
curl -X PUT /admin/eventendpoints/{eventEndpointId}/requests/{requestId} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {access-token}'

PUT /eventendpoints/{eventEndpointId}/requests/{requestId}

Update the status of the chosen request.

Body parameter

{
"status": "pending"
}

Parameters

Name In Type Required Description
eventEndpointId path string true The ID of the EventEndpoint this request is for.
requestId path string true The ID of the Approval Request.
body body object true none
» status body string true Status of the request [pending, approved, rejected, fulfilled].

Enumerated Values

Parameter Value
» status pending
» status approved
» status rejected
» status fulfilled

Responses

Status Meaning Description Schema
200 OK Request 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
500 Internal Server Error Internal error None

deleteEventEndpointApprovalRequest

Code samples

# You can also use wget
curl -X DELETE /admin/eventendpoints/{eventEndpointId}/requests/{requestId} \
-H 'Authorization: Bearer {access-token}'

DELETE /eventendpoints/{eventEndpointId}/requests/{requestId}

Delete the chosen approval request.

Parameters

Name In Type Required Description
eventEndpointId path string true The ID of the Event Endpoint this delete request is for.
requestId path string true The ID of the Approval Request this delete request is for.

Responses

Status Meaning Description Schema
200 OK Approval Request deleted 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
500 Internal Server Error Internal error None

eventEndpointApprovalRequestViewerList

Code samples

# You can also use wget
curl -X GET /admin/requests/user \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /requests/user

Get all approval requests created by this user.

Parameters

Name In Type Required Description
filterByStatus query string false approval status to filterBy

Enumerated Values

Parameter Value
filterByStatus pending
filterByStatus approved
filterByStatus rejected
filterByStatus fulfilled

Example responses

200 Response

{
"id": "string",
"lastUpdated": 0,
"contact": "string",
"justification": "string",
"status": "pending",
"eventSource": {
"id": "string",
"name": "string"
},
"eventEndpoint": {
"id": "string",
"name": "string"
}
}

Responses

Status Meaning Description Schema
200 OK List with entries containing information about approval requests created by this user. 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
404 Not Found 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 approval Request ID.
» lastUpdated integer false none Unix Epoch timestamp of when this approval Request was last updated
» contact string true none The contact details of the raiser of this approval Request.
» justification string true none The justification for this approval Request.
» status string true none The status of this approval request.
» eventSource object true none Information about the Event Source this Request is for.
»» id string true none Unique Event Source ID.
»» name string true none Event Source name.
» eventEndpoint object true none Information about the event endpoint this approval Request is for.
»» id string true none Unique Event Endpoint ID.
»» name string true none Event Endpoint name.

Enumerated Values

Property Value
status pending
status approved
status rejected
status fulfilled

Response Headers

Status Header Type Format Description
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.

eventEndpointApprovalRequestAdminList

Code samples

# You can also use wget
curl -X GET /admin/requests/admin \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

GET /requests/admin

Get all the requests created against options that this author owns.

Example responses

200 Response

{
"id": "string",
"lastUpdated": 0,
"contact": "string",
"justification": "string",
"status": "pending",
"eventSource": {
"id": "string",
"name": "string"
},
"eventEndpoint": {
"id": "string",
"name": "string"
}
}

Responses

Status Meaning Description Schema
200 OK List with entries containing information about requests this owner needs to respond to. 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
500 Internal Server Error Internal error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» id string true none Unique approval Request ID.
» lastUpdated integer false none Unix Epoch timestamp of when this approval Request was last updated
» contact string true none The contact details of the raiser of this approval Request.
» justification string true none The justification for this approval Request.
» status string true none The status of this approval request.
» eventSource object true none Information about the Event Source this Request is for.
»» id string true none Unique Event Source ID.
»» name string true none Event Source name.
» eventEndpoint object true none Information about the event endpoint this approval Request is for.
»» id string true none Unique Event Endpoint ID.
»» name string true none Event Endpoint name.

Enumerated Values

Property Value
status pending
status approved
status rejected
status fulfilled

Response Headers

Status Header Type Format Description
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.