{"openapi":"3.0.0","info":{"version":"1.0.0","title":"Event Endpoint Management Admin API","description":"The Admin API provides programmatic access to your Event Endpoint Management deployment and features from other systems."},"servers":[{"url":"/admin","description":"This is the base path for the Admin API URL on the server endpoint, which is also available in the Event Endpoint Management UI."},{"url":"/eem","description":"This is the base path for the Admin API URL on the admin endpoint."}],"components":{"headers":{"etag":{"required":false,"schema":{"type":"string"},"description":"An identifier which can be supplied with the If-None-Match header to indicate that unchanged results should return 304 with no data."},"authorization":{"required":true,"schema":{"type":"string"}},"ei-pagination-total":{"description":"Total number of items available for retrieval (including current page).","schema":{"type":"integer"}}},"parameters":{"catalogId":{"in":"path","name":"catalogId","required":true,"schema":{"type":"string"},"description":"The ID of the Catalog."},"entryId":{"in":"path","name":"entryId","required":true,"schema":{"type":"string"},"description":"The ID of the Catalog entry."},"clusterId":{"in":"path","name":"clusterId","required":true,"schema":{"type":"string"},"description":"The ID of the Cluster."},"subscriptionId":{"in":"path","name":"subscriptionId","required":true,"schema":{"type":"string"},"description":"The ID of the Subscription."},"optionId":{"in":"path","name":"optionId","required":true,"schema":{"type":"string"},"description":"The ID of the option in the Event source."},"page":{"in":"query","name":"page","required":false,"schema":{"type":"integer","minimum":1},"description":"The page number of results to retrieve. If this number exceeds the available data, then the last page is returned."},"maxPageSize":{"in":"query","name":"maxPageSize","required":false,"schema":{"type":"integer","minimum":1,"maximum":50},"description":"The maximum number of entries to return for a given page. If not specified, all data items will be returned."},"filterBy":{"in":"query","name":"filterBy","required":false,"schema":{"type":"string","enum":["consume","produce"]},"description":"capability to filterBy"},"disableValidation":{"in":"query","name":"disableValidation","required":false,"schema":{"type":"boolean"},"description":"disable immediate validation against the remote server"},"filterByStatus":{"in":"query","name":"filterByStatus","required":false,"schema":{"type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":"approval status to filterBy"},"exclude":{"in":"query","name":"exclude","required":false,"schema":{"type":"string","enum":["options","clusters","eventsources"]},"description":"object type to exclude"}},"securitySchemes":{"eemAccessToken":{"description":"To use the API, create an <a href=\"../../../eem/security/api-tokens/\">access token</a> in the Event Endpoint Management UI.","type":"http","scheme":"bearer"}}},"paths":{"/clusters":{"post":{"operationId":"createCluster","description":"Create a new Cluster.","parameters":[{"$ref":"#/components/parameters/disableValidation"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","bootstrapServers"],"properties":{"bootstrapServers":{"description":"Bootstrap servers for this cluster","type":"array","minItems":1,"uniqueItems":true,"items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"name":{"description":"Cluster name","type":"string"},"lastUpdated":{"description":"Time in ms since the epoch which represents the last time the cluster information was updated.","type":"integer"},"credentials":{"type":"object","required":["type","data"],"description":"Credentials be used by the gateway to connect to Kafka","properties":{"type":{"description":"The type of credentials. Used by parsers to determine how to handle the other fields","type":"string","enum":["NONE","SASL","MTLS","MTLS_SASL"]},"data":{"description":"Details of the SASL credential data to authenticate with Kafka","type":"object","properties":{"username":{"description":"SASL username to authenticate with Kafka","type":"string","maxLength":1024},"password":{"description":"SASL password to authenticate with Kafka","type":"string","maxLength":1024},"mechanism":{"description":"SASL mechanism to authenticate with Kafka","type":"string","enum":["PLAIN","SCRAM-SHA-256","SCRAM-SHA-512","OAUTHBEARER","OAUTHBEARER.AWS_MSK_IAM"]},"region":{"description":"Optional field containing the AWS MSK Region.","type":"string","minLength":1,"maxLength":200},"scope":{"description":"Optional field containing the scope for requesting the token from the token endpoint.","type":"string","minLength":1,"maxLength":200},"audience":{"description":"Optional field containing the audience for requesting the token from the token endpoint.","type":"string","minLength":1,"maxLength":200},"oauthTokenUri":{"description":"Optional URI of the OAuth token endpoint","type":"string","minLength":1,"maxLength":500},"trustedCertificates":{"description":"Certificates or CAs to trust, required to connect to OAuth server.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}},"clientCertificateAndKey":{"type":"object","description":"Client certificate and key to use in mTLS","required":["pem","key"],"additionalProperties":false,"properties":{"pem":{"description":"Client certificate in PEM format","type":"string"},"key":{"description":"Client key in PEM format","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"collaborators":{"type":"object","additionalProperties":false,"required":["groups"],"properties":{"groups":{"description":"List of collaborators for this Cluster","type":"array","items":{"type":"string","minLength":1,"maxLength":200}}}}}}}}},"responses":{"200":{"description":"Cluster successfully created","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"description":"The ID of your newly created Cluster","type":"string"}}}}}},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"409":{"description":"A Cluster with the specified ID or name already exists"},"422":{"description":"The specified Cluster could not be validated using Kafka discovery mechanisms e.g. connection fails, certs mis-matched, SASL mis-match"},"500":{"description":"Internal error"}}},"get":{"operationId":"readAllClusters","description":"List all Clusters within an Organization. If a page range is specified, then this will return the requested range","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"Clusters successfully listed.","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"},"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","owner","organization","name","collaborators","validation"],"additionalProperties":false,"properties":{"bootstrapServers":{"description":"Bootstrap servers for this cluster - only viewable with permissions","type":"array","minItems":1,"uniqueItems":true,"items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"id":{"description":"Unique cluster ID.","type":"string"},"name":{"description":"Cluster name","type":"string"},"owner":{"description":"Cluster owner.","type":"string"},"organization":{"description":"Organization this cluster belongs to.","type":"string"},"lastUpdated":{"description":"Time in ms since the epoch which represents the last time the cluster information was updated.","type":"integer"},"credentials":{"type":"object","required":["type","data"],"description":"Credentials be used by the gateway to connect to Kafka","additionalProperties":false,"properties":{"type":{"description":"The type of credentials. Used by parsers to determine how to handle the other fields","type":"string","enum":["NONE","SASL","MTLS","MTLS_SASL"]},"data":{"description":"Details of the SASL credential data to authenticate with Kafka","type":"object","additionalProperties":false,"properties":{"username":{"description":"SASL username to authenticate with Kafka","type":"string"},"mechanism":{"description":"SASL mechanism to authenticate with Kafka","type":"string","enum":["PLAIN","SCRAM-SHA-256","SCRAM-SHA-512","OAUTHBEARER","OAUTHBEARER.AWS_MSK_IAM"]},"region":{"description":"Optional field containing the AWS MSK Region.","type":"string"},"scope":{"description":"Optional field containing the scope for requesting the token from the token endpoint.","type":"string"},"audience":{"description":"Optional field containing the audience for requesting the token from the token endpoint.","type":"string"},"oauthTokenUri":{"description":"Optional URI of the OAuth token endpoint","type":"string"},"trustedCertificates":{"description":"Certificates or CAs to trust, required to connect to OAuth server.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}},"clientCertificateAndKey":{"type":"object","description":"Client certificate and key to use in mTLS","required":["pem"],"additionalProperties":false,"properties":{"pem":{"description":"Client certificate in PEM format","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"collaborators":{"type":"object","additionalProperties":false,"required":["groups"],"properties":{"groups":{"description":"List of collaborators for this Cluster","type":"array","items":{"type":"string"}}}},"validation":{"type":"object","required":["status","gatewayGroups"],"description":"Details of the visibility of this cluster amongst the gateways","additionalProperties":false,"properties":{"status":{"type":"string","description":"Overall status of all of the gateways. | `pending` = Pending validation - we are waiting for gateways to report a status | `error` = No Gateways can see a Cluster/Topic - error state - either the configuration is incorrect, or there is a network issue | `success/partial` = success state - Some Gateways can see a Cluster/Topic | `success` = success state - All Gateways can see a Cluster/Topic","enum":["pending","error","success/partial","success"]},"gatewayGroups":{"type":"array","description":"Gateway group names and if they can connect to this cluster","items":{"type":"object","required":["name","gateways","status"],"additionalProperties":false,"properties":{"name":{"type":"string"},"status":{"type":"string","description":"Status on whether this gateway group can see the associated cluster. | `pending` = Pending validation - we are waiting for gateways to report a status | `error` = error state - No Gateways can see the cluster | `success/partial` = success state - Some Gateways can see the cluster | `success` = success state - All Gateways can see the cluster","enum":["pending","error","success/partial","success"]},"gateways":{"type":"array","items":{"type":"object","required":["id","validationErrors"],"additionalProperties":false,"properties":{"id":{"type":"string"},"validationErrors":{"type":"array","description":"List of failed validation stages. If this array is empty, it can be assumed that this gateway group can connect and see the cluster.","items":{"type":"string","description":"`network` = we cannot resolve this address | `certificates/tls` = we do not trust this address | `securityConfig` = this endpoint does not support the configured type of security (MTLS, SASL Plain etc) | `credentials` = provided username/password not accepted | `notKafka` = server is resolvable but is not responding in the way a kafka server should | `unsupported` = version of current gateway does not support required capability","enum":["network","certificates/tls","securityConfig","credentials","notKafka","unsupported"]}}}}}}}}}}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/clusters/{clusterId}":{"put":{"operationId":"updateCluster","description":"Update a Cluster using the 'id' as the identifier.<br><br>\nNote - You can view all of the Clusters (including their 'id') by using GET /clusters\n","parameters":[{"$ref":"#/components/parameters/clusterId"},{"$ref":"#/components/parameters/disableValidation"}],"requestBody":{"description":"Update a cluster definition","required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","bootstrapServers"],"properties":{"bootstrapServers":{"description":"Bootstrap servers for this cluster","type":"array","minItems":1,"uniqueItems":true,"items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"name":{"description":"Cluster name","type":"string"},"lastUpdated":{"description":"Time in ms since the epoch which represents the last time the cluster information was updated.","type":"integer"},"credentials":{"type":"object","required":["type","data"],"description":"Credentials be used by the gateway to connect to Kafka","properties":{"type":{"description":"The type of credentials. Used by parsers to determine how to handle the other fields","type":"string","enum":["NONE","SASL","MTLS","MTLS_SASL"]},"data":{"description":"Details of the SASL credential data to authenticate with Kafka","type":"object","properties":{"username":{"description":"SASL username to authenticate with Kafka","type":"string","maxLength":1024},"password":{"description":"SASL password to authenticate with Kafka","type":"string","maxLength":1024},"mechanism":{"description":"SASL mechanism to authenticate with Kafka","type":"string","enum":["PLAIN","SCRAM-SHA-256","SCRAM-SHA-512","OAUTHBEARER","OAUTHBEARER.AWS_MSK_IAM"]},"region":{"description":"Optional field containing the AWS MSK Region.","type":"string","minLength":1,"maxLength":200},"scope":{"description":"Optional field containing the scope for requesting the token from the token endpoint.","type":"string","minLength":1,"maxLength":200},"audience":{"description":"Optional field containing the audience for requesting the token from the token endpoint.","type":"string","minLength":1,"maxLength":200},"oauthTokenUri":{"description":"Optional URI of the OAuth token endpoint","type":"string","minLength":1,"maxLength":500},"trustedCertificates":{"description":"Certificates or CAs to trust, required to connect to OAuth server.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}},"clientCertificateAndKey":{"type":"object","description":"Client certificate and key to use in mTLS","required":["pem","key"],"additionalProperties":false,"properties":{"pem":{"description":"Client certificate in PEM format","type":"string"},"key":{"description":"Client key in PEM format","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"collaborators":{"type":"object","additionalProperties":false,"required":["groups"],"properties":{"groups":{"description":"List of collaborators for this Cluster","type":"array","items":{"type":"string","minLength":1,"maxLength":200}}}}}}}}},"responses":{"200":{"description":"Cluster updated."},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"Cluster not found"},"409":{"description":"Cluster with the specified name already exists"},"422":{"description":"The specified Cluster could not be validated using Kafka discovery mechanisms e.g. connection fails, certs mis-matched, SASL mis-match"},"500":{"description":"Internal error"}}},"get":{"operationId":"readCluster","description":"Get details about a Cluster.","parameters":[{"$ref":"#/components/parameters/clusterId"}],"responses":{"200":{"description":"Cluster successfully read.","content":{"application/json":{"schema":{"type":"object","required":["id","owner","organization","name","collaborators","validation"],"additionalProperties":false,"properties":{"bootstrapServers":{"description":"Bootstrap servers for this cluster - only viewable with permissions","type":"array","minItems":1,"uniqueItems":true,"items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"id":{"description":"Unique cluster ID.","type":"string"},"name":{"description":"Cluster name","type":"string"},"owner":{"description":"Cluster owner.","type":"string"},"organization":{"description":"Organization this cluster belongs to.","type":"string"},"lastUpdated":{"description":"Time in ms since the epoch which represents the last time the cluster information was updated.","type":"integer"},"credentials":{"type":"object","required":["type","data"],"description":"Credentials be used by the gateway to connect to Kafka","additionalProperties":false,"properties":{"type":{"description":"The type of credentials. Used by parsers to determine how to handle the other fields","type":"string","enum":["NONE","SASL","MTLS","MTLS_SASL"]},"data":{"description":"Details of the SASL credential data to authenticate with Kafka","type":"object","additionalProperties":false,"properties":{"username":{"description":"SASL username to authenticate with Kafka","type":"string"},"mechanism":{"description":"SASL mechanism to authenticate with Kafka","type":"string","enum":["PLAIN","SCRAM-SHA-256","SCRAM-SHA-512","OAUTHBEARER","OAUTHBEARER.AWS_MSK_IAM"]},"region":{"description":"Optional field containing the AWS MSK Region.","type":"string"},"scope":{"description":"Optional field containing the scope for requesting the token from the token endpoint.","type":"string"},"audience":{"description":"Optional field containing the audience for requesting the token from the token endpoint.","type":"string"},"oauthTokenUri":{"description":"Optional URI of the OAuth token endpoint","type":"string"},"trustedCertificates":{"description":"Certificates or CAs to trust, required to connect to OAuth server.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}},"clientCertificateAndKey":{"type":"object","description":"Client certificate and key to use in mTLS","required":["pem"],"additionalProperties":false,"properties":{"pem":{"description":"Client certificate in PEM format","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"collaborators":{"type":"object","additionalProperties":false,"required":["groups"],"properties":{"groups":{"description":"List of collaborators for this Cluster","type":"array","items":{"type":"string"}}}},"validation":{"type":"object","required":["status","gatewayGroups"],"description":"Details of the visibility of this cluster amongst the gateways","additionalProperties":false,"properties":{"status":{"type":"string","description":"Overall status of all of the gateways. | `pending` = Pending validation - we are waiting for gateways to report a status | `error` = No Gateways can see a Cluster/Topic - error state - either the configuration is incorrect, or there is a network issue | `success/partial` = success state - Some Gateways can see a Cluster/Topic | `success` = success state - All Gateways can see a Cluster/Topic","enum":["pending","error","success/partial","success"]},"gatewayGroups":{"type":"array","description":"Gateway group names and if they can connect to this cluster","items":{"type":"object","required":["name","gateways","status"],"additionalProperties":false,"properties":{"name":{"type":"string"},"status":{"type":"string","description":"Status on whether this gateway group can see the associated cluster. | `pending` = Pending validation - we are waiting for gateways to report a status | `error` = error state - No Gateways can see the cluster | `success/partial` = success state - Some Gateways can see the cluster | `success` = success state - All Gateways can see the cluster","enum":["pending","error","success/partial","success"]},"gateways":{"type":"array","items":{"type":"object","required":["id","validationErrors"],"additionalProperties":false,"properties":{"id":{"type":"string"},"validationErrors":{"type":"array","description":"List of failed validation stages. If this array is empty, it can be assumed that this gateway group can connect and see the cluster.","items":{"type":"string","description":"`network` = we cannot resolve this address | `certificates/tls` = we do not trust this address | `securityConfig` = this endpoint does not support the configured type of security (MTLS, SASL Plain etc) | `credentials` = provided username/password not accepted | `notKafka` = server is resolvable but is not responding in the way a kafka server should | `unsupported` = version of current gateway does not support required capability","enum":["network","certificates/tls","securityConfig","credentials","notKafka","unsupported"]}}}}}}}}}}}}}}},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"Cluster not found"},"500":{"description":"Internal error"}}},"delete":{"description":"Delete a Cluster.<br><br>\nAll 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\n","operationId":"deleteCluster","parameters":[{"$ref":"#/components/parameters/clusterId"}],"responses":{"200":{"description":"Cluster successfully deleted"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"Cluster not found"},"409":{"description":"catalog entries are still using this cluster and it cannot be deleted"},"500":{"description":"Internal error"}}}},"/subscriptions":{"post":{"description":"Create a subscription to a Catalog Entry","operationId":"createSubscription","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["entryId","credentials","contact"],"properties":{"entryId":{"description":"The list of entry ids this subscription gives access to, currently only supports 1.","type":"array","uniqueItems":true,"minItems":1,"maxItems":1,"items":{"type":"string"}},"credentials":{"type":"object","required":["type","data"],"description":"Credentials a client uses to connect to an Event Gateway","additionalProperties":false,"properties":{"type":{"description":"The type of credentials. Used by parsers to determine how to handle the other fields","type":"string","enum":["NONE","SASL","SASL_APIC","MTLS"]},"data":{"description":"Details of the SASL credential data to authenticate with an Event Gateway","type":"object","additionalProperties":false,"properties":{"username":{"description":"SASL username to authenticate with an Event Gateway","type":"string"},"password":{"description":"SASL password to authenticate with an Event Gateway","type":"string"},"mechanism":{"description":"SASL mechanism to authenticate with Kafka","type":"string","enum":["PLAIN","OAUTHBEARER"]},"hashedPasswords":{"description":"Hashed passwords from APIC to authenticate clients against an Event Gateway.","type":"array","uniqueItems":true,"items":{"type":"string"}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200}}}}},"clientId":{"description":"Optional client ID if this subscription is a legacy APIC one.","type":"string"},"contact":{"description":"Subscription contact details.","type":"string"},"gateways":{"description":"A list of gateway IDs that can access this data. If this property is missing or contains an empty list then this subscription has no gateway restrictions","type":"array","uniqueItems":true,"items":{"type":"string"}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"description":"The ID of your newly created Subscription","type":"string"}}}}},"description":"Subscription successfully created."},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"409":{"description":"Subscription with the specified ID already exists"},"422":{"description":"subscribe to invalid topic etc"},"500":{"description":"Internal error"}}},"get":{"description":"List all Subscriptions created by the current user in an Organization. If a page range is specified, then this will return the requested range.<br><br>\nNote - This will not include the subscription credentials\n","operationId":"readAllSubscriptions","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"Subscriptions successfully listed.","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"},"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","organization","owner","entryId","contact"],"properties":{"id":{"description":"Unique subscription ID.","type":"string"},"owner":{"description":"Subscription owner.","type":"string"},"entryId":{"description":"The list of entry ids this subscription gives access to, currently only supports 1.","type":"array","uniqueItems":true,"minItems":1,"maxItems":1,"items":{"type":"string"}},"organization":{"description":"Organization this subscription belongs to.","type":"string"},"credentials":{"type":"object","required":["type","data"],"description":"Credentials a client uses to connect to an Event Gateway","additionalProperties":false,"properties":{"type":{"description":"The type of credentials. Used by parsers to determine how to handle the other fields","type":"string","enum":["NONE","SASL","SASL_APIC","MTLS"]},"data":{"description":"Details of the SASL credential data to authenticate with an Event Gateway","type":"object","additionalProperties":false,"properties":{"username":{"description":"SASL username to authenticate with an Event Gateway","type":"string"},"mechanism":{"description":"SASL mechanism to authenticate with Kafka","type":"string","enum":["PLAIN","OAUTHBEARER"]},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200}}}}},"clientId":{"description":"Optional client ID if this subscription is a legacy APIC one.","type":"string"},"contact":{"description":"Subscription contact details.","type":"string"},"gateways":{"description":"A list of gateway IDs that can access this data. If this property is missing or contains an empty list then this subscription has no gateway restrictions","type":"array","uniqueItems":true,"items":{"type":"string"}}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/subscriptions/{subscriptionId}":{"delete":{"description":"Delete a Subscription<br><br> 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\n","parameters":[{"$ref":"#/components/parameters/subscriptionId"}],"operationId":"deleteSubscription","responses":{"200":{"description":"Subscription successfully deleted"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"subscription not found"},"500":{"description":"Internal error"}}}},"/gateways":{"get":{"description":"List all registered Event Gateways in an Organization. If a page range is specified, then this will return the requested range.","operationId":"readAllGateways","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"Event Gateways successfully listed.","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"},"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","description":"Detailed information about any registered gateways","required":["name","gateways"],"properties":{"name":{"description":"Unique gateway group name.","type":"string"},"gateways":{"type":"array","items":{"type":"object","required":["id","owner","organization","gatewayId","group","organizations","servedOrganizations","endpoints","lastContact"],"additionalProperties":false,"properties":{"id":{"description":"Unique Event Gateway ID","type":"string","minLength":1,"maxLength":200},"owner":{"description":"Owner of the Event Gateway.","type":"string","minLength":1,"maxLength":100},"organization":{"description":"Organization this Event Gateway belongs to.","type":"string"},"gatewayId":{"description":"Unique Event Gateway ID within this group.","type":"string","minLength":1,"maxLength":100},"group":{"description":"Event Gateway group name.","type":"string","minLength":1,"maxLength":100},"organizations":{"description":"Organizations this Event Gateway serves","type":"array","deprecated":true,"items":{"type":"string","minLength":1,"maxLength":100}},"servedOrganizations":{"description":"Organizations this Event Gateway serves","type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"contact":{"description":"The contact information for this Event Gateway","type":"string","minLength":1,"maxLength":200},"lastContact":{"description":"Epoch time in ms of the last contact from this gateway.","type":"integer","minimum":0},"endpoints":{"description":"Endpoints that the gateway is listening on.","type":"array","items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"version":{"type":"string","description":"Version of the gateway","minLength":1,"maxLength":20},"productVersion":{"type":"string","description":"EEM product version.","minLength":1,"maxLength":100},"features":{"type":"array","description":"Feature set in use by gateway","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":20}},"deploymentMode":{"type":"string","description":"Type of gateway deployment"},"capabilities":{"type":"object","additionalProperties":true,"description":"Freeform Description of what capabilities the gateway has"}}}}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/eventsources":{"get":{"operationId":"readAllEventSources","description":"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":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"},{"$ref":"#/components/parameters/filterBy"}],"responses":{"200":{"description":"Event Sources successfully listed.","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"},"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","owner","organization","clusterId","type","encoding","name","contact","capabilities","collaborators"],"additionalProperties":false,"properties":{"id":{"description":"Unique Event Source ID.","type":"string"},"owner":{"description":"Event Source owner.","type":"string"},"organization":{"description":"Organization this Event Source belongs to.","type":"string"},"clusterId":{"description":"ID for the cluster that contains the connection details for this Event Source.","type":"string"},"type":{"description":"Type of Event Source","type":"string","enum":["kafka"]},"encoding":{"description":"The encoding of the data on this Event Source","type":"string","enum":["unknown","text/plain","application/octet-stream","application/json","avro/binary","avro/json"]},"name":{"description":"Event Source name","type":"string"},"contact":{"description":"Who to contact for more information about this Event Source.","type":"string"},"description":{"description":"A description for this Event Source","type":"string","maxLength":1500},"topic":{"type":"object","additionalProperties":false,"properties":{"name":{"description":"Actual topic name in the cluster.","type":"string"},"partitions":{"description":"The number of partitions for this topic. Discovered from the Kafka cluster","type":"number"},"replicas":{"description":"The number of replicas for this topic. Discovered from the Kafka cluster","type":"number"},"uuid":{"description":"The uuid of the topic. Discovered from the Kafka cluster","type":"string"}},"required":["name"]},"schema":{"type":"object","properties":{"type":{"description":"Type of Schema from the list of valid types","type":"string","enum":["avro","json","unknown"]},"content":{"description":"Contents of the Schema","type":"string","maxLength":1048576},"description":{"description":"Description of the data available on the Event Source","type":"string","maxLength":1500}},"additionalProperties":false},"tags":{"description":"List of tags associated with this Event Source","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":50}},"sampleMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"validation":{"type":"object","required":["status","gatewayGroups"],"description":"Details of the visibility of this event source amongst the gateway groups.","additionalProperties":false,"properties":{"status":{"type":"string","description":"Status for all of the gateway groups. Can they see the topic associated with this event source? | `pending` = Pending validation - we are waiting for gateways to report a status | `error` = error state - No Gateway Groups can see the topic | `success/partial` = success state - Some Gateway Groups can see the topic | `success` = success state - All Gateway Groups can see the topic","enum":["pending","error","success/partial","success"]},"gatewayGroups":{"type":"array","description":"Gateway group names and if they can connect to this cluster and find the associated topic.","items":{"type":"object","required":["name","status","gateways"],"additionalProperties":false,"properties":{"name":{"type":"string"},"status":{"type":"string","description":"Status on whether this gateway group can see the topic associated with this event source. | `pending` = Pending validation - we are waiting for gateways to report a status | `error` = error state - No Gateways can see the topic | `success/partial` = success state - Some Gateways can see the topic | `success` = success state - All Gateways can see the topic","enum":["pending","error","success/partial","success"]},"gateways":{"type":"array","items":{"type":"object","required":["id","validationErrors"],"properties":{"id":{"type":"string"},"validationErrors":{"type":"array","description":"List of failed validation stages. If this array is empty, it can be assumed that this gateway group can connect and see the topic.","items":{"type":"string","description":"`notFound` = topic not found in cluster.","enum":["notFound"]}}}}}}}}}},"collaborators":{"type":"object","additionalProperties":false,"required":["groups","contacts"],"properties":{"groups":{"description":"List of collaborators for this Event Source","type":"array","items":{"type":"string"}},"contacts":{"description":"List of contacts for this Event Source","type":"array","items":{"type":"string"}}}}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}},"post":{"operationId":"createEventSource","description":"Create an event source","parameters":[{"$ref":"#/components/parameters/disableValidation"}],"requestBody":{"description":"Event Source data","required":true,"content":{"application/json":{"schema":{"type":"object","required":["clusterId","type","encoding","name","contact"],"properties":{"clusterId":{"description":"ID for the cluster that contains the connection details for this Event Source.","type":"string","minLength":1,"maxLength":50},"type":{"description":"Type of Event Source","type":"string","enum":["kafka"]},"encoding":{"description":"The encoding of the data on this Event Source","type":"string","enum":["unknown","text/plain","application/octet-stream","application/json","avro/binary","avro/json"]},"name":{"description":"Event Source name","type":"string","minLength":1,"maxLength":200},"contact":{"description":"Who to contact for more information about this Event Source.","type":"string","minLength":1,"maxLength":200},"description":{"description":"A description for this Event Source","type":"string","maxLength":1500},"topic":{"type":"object","properties":{"name":{"description":"Actual topic name in the cluster.","type":"string","minLength":1,"maxLength":200},"partitions":{"description":"The number of partitions for this topic, updated by discovery.","type":"number"},"replicas":{"description":"The number of replicas for this topic, updated by discovery.","type":"number"},"uuid":{"description":"The uuid of the topic, updated by discovery.","type":"string","minLength":20,"maxLength":24}},"required":["name"]},"schema":{"type":"object","properties":{"type":{"description":"Type of Schema from the list of valid types","type":"string","enum":["avro","json","unknown"]},"content":{"description":"Contents of the Schema","type":"string","maxLength":1048576},"description":{"description":"Description of the data available on the Event Source","type":"string","maxLength":1500}},"anyOf":[{"required":["content","type"]},{"required":["description"]}]},"tags":{"description":"List of tags associated with this Event Source","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":50}},"sampleMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"collaborators":{"type":"object","additionalProperties":false,"required":["groups","contacts"],"properties":{"groups":{"description":"List of collaborators for this Event Source","type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"contacts":{"description":"List of contacts for this Event Source","type":"array","items":{"type":"string","minLength":1,"maxLength":200}}}}}}}}},"responses":{"200":{"description":"The id of the created event source","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}}}}}},"400":{"description":"Invalid request, request data does not match schema."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"409":{"description":"Event Source could not be created due to a conflict"},"422":{"description":"Event Source could not be created as it does not map to a valid cluster"},"500":{"description":"Internal error"}}}},"/eventsources/{eventSourceId}":{"get":{"operationId":"readEventSource","description":"Read an event source","parameters":[{"in":"path","name":"eventSourceId","required":true,"schema":{"type":"string"},"description":"The ID of the Event Source to read."}],"responses":{"200":{"description":"The data for the requested event source","content":{"application/json":{"schema":{"type":"object","required":["id","owner","organization","clusterId","type","encoding","name","contact","capabilities","collaborators"],"additionalProperties":false,"properties":{"id":{"description":"Unique Event Source ID.","type":"string"},"owner":{"description":"Event Source owner.","type":"string"},"organization":{"description":"Organization this Event Source belongs to.","type":"string"},"clusterId":{"description":"ID for the cluster that contains the connection details for this Event Source.","type":"string"},"type":{"description":"Type of Event Source","type":"string","enum":["kafka"]},"encoding":{"description":"The encoding of the data on this Event Source","type":"string","enum":["unknown","text/plain","application/octet-stream","application/json","avro/binary","avro/json"]},"name":{"description":"Event Source name","type":"string"},"contact":{"description":"Who to contact for more information about this Event Source.","type":"string"},"description":{"description":"A description for this Event Source","type":"string","maxLength":1500},"topic":{"type":"object","additionalProperties":false,"properties":{"name":{"description":"Actual topic name in the cluster.","type":"string"},"partitions":{"description":"The number of partitions for this topic. Discovered from the Kafka cluster","type":"number"},"replicas":{"description":"The number of replicas for this topic. Discovered from the Kafka cluster","type":"number"},"uuid":{"description":"The uuid of the topic. Discovered from the Kafka cluster","type":"string"}},"required":["name"]},"schema":{"type":"object","properties":{"type":{"description":"Type of Schema from the list of valid types","type":"string","enum":["avro","json","unknown"]},"content":{"description":"Contents of the Schema","type":"string","maxLength":1048576},"description":{"description":"Description of the data available on the Event Source","type":"string","maxLength":1500}},"additionalProperties":false},"tags":{"description":"List of tags associated with this Event Source","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":50}},"sampleMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"validation":{"type":"object","required":["status","gatewayGroups"],"description":"Details of the visibility of this event source amongst the gateway groups.","additionalProperties":false,"properties":{"status":{"type":"string","description":"Status for all of the gateway groups. Can they see the topic associated with this event source? | `pending` = Pending validation - we are waiting for gateways to report a status | `error` = error state - No Gateway Groups can see the topic | `success/partial` = success state - Some Gateway Groups can see the topic | `success` = success state - All Gateway Groups can see the topic","enum":["pending","error","success/partial","success"]},"gatewayGroups":{"type":"array","description":"Gateway group names and if they can connect to this cluster and find the associated topic.","items":{"type":"object","required":["name","status","gateways"],"additionalProperties":false,"properties":{"name":{"type":"string"},"status":{"type":"string","description":"Status on whether this gateway group can see the topic associated with this event source. | `pending` = Pending validation - we are waiting for gateways to report a status | `error` = error state - No Gateways can see the topic | `success/partial` = success state - Some Gateways can see the topic | `success` = success state - All Gateways can see the topic","enum":["pending","error","success/partial","success"]},"gateways":{"type":"array","items":{"type":"object","required":["id","validationErrors"],"properties":{"id":{"type":"string"},"validationErrors":{"type":"array","description":"List of failed validation stages. If this array is empty, it can be assumed that this gateway group can connect and see the topic.","items":{"type":"string","description":"`notFound` = topic not found in cluster.","enum":["notFound"]}}}}}}}}}},"collaborators":{"type":"object","additionalProperties":false,"required":["groups","contacts"],"properties":{"groups":{"description":"List of collaborators for this Event Source","type":"array","items":{"type":"string"}},"contacts":{"description":"List of contacts for this Event Source","type":"array","items":{"type":"string"}}}}}}}}},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Event Source does not exist"},"500":{"description":"Internal error"}}},"put":{"operationId":"updateEventSource","description":"Update an event source","parameters":[{"in":"path","name":"eventSourceId","required":true,"schema":{"type":"string"},"description":"The ID of the Event Source to update."},{"$ref":"#/components/parameters/disableValidation"}],"requestBody":{"description":"Event Source data","required":true,"content":{"application/json":{"schema":{"type":"object","required":["clusterId","type","encoding","name","contact"],"properties":{"clusterId":{"description":"ID for the cluster that contains the connection details for this Event Source.","type":"string","minLength":1,"maxLength":50},"type":{"description":"Type of Event Source","type":"string","enum":["kafka"]},"encoding":{"description":"The encoding of the data on this Event Source","type":"string","enum":["unknown","text/plain","application/octet-stream","application/json","avro/binary","avro/json"]},"name":{"description":"Event Source name","type":"string","minLength":1,"maxLength":200},"contact":{"description":"Who to contact for more information about this Event Source.","type":"string","minLength":1,"maxLength":200},"description":{"description":"A description for this Event Source","type":"string","maxLength":1500},"topic":{"type":"object","properties":{"name":{"description":"Actual topic name in the cluster.","type":"string","minLength":1,"maxLength":200},"partitions":{"description":"The number of partitions for this topic, updated by discovery.","type":"number"},"replicas":{"description":"The number of replicas for this topic, updated by discovery.","type":"number"},"uuid":{"description":"The uuid of the topic, updated by discovery.","type":"string","minLength":20,"maxLength":24}},"required":["name"]},"schema":{"type":"object","properties":{"type":{"description":"Type of Schema from the list of valid types","type":"string","enum":["avro","json","unknown"]},"content":{"description":"Contents of the Schema","type":"string","maxLength":1048576},"description":{"description":"Description of the data available on the Event Source","type":"string","maxLength":1500}},"anyOf":[{"required":["content","type"]},{"required":["description"]}]},"tags":{"description":"List of tags associated with this Event Source","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":50}},"sampleMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"collaborators":{"type":"object","additionalProperties":false,"required":["groups","contacts"],"properties":{"groups":{"description":"List of collaborators for this Event Source","type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"contacts":{"description":"List of contacts for this Event Source","type":"array","items":{"type":"string","minLength":1,"maxLength":200}}}}}}}}},"responses":{"200":{"description":"Event Source successfully updated"},"400":{"description":"Invalid request, request data does not match schema."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Event Source does not exist"},"409":{"description":"Event Source could not be updated due to a conflict"},"422":{"description":"Event Source could not be created as it does not map to a valid cluster"},"500":{"description":"Internal error"}}},"delete":{"operationId":"deleteEventSource","description":"Delete an Event Source<br><br> 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\n","parameters":[{"in":"path","name":"eventSourceId","required":true,"schema":{"type":"string"},"description":"The ID of the Event Source to delete."}],"responses":{"200":{"description":"Event Source successfully deleted"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Event Source does not exist"},"409":{"description":"Event Source could not be deleted due to a conflict"},"500":{"description":"Internal error"}}}},"/eventsources/{eventSourceId}/subscriptions":{"get":{"operationId":"readEventSourceSubscriptions","description":"Read a list of Subscriptions to this Event Source","parameters":[{"in":"path","name":"eventSourceId","required":true,"schema":{"type":"string"},"description":"The ID of the Event Source to read Subscriptions for."},{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"Event Source subscriptions read successfully","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"},"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","username","contact","eventSource","option"],"additionalProperties":false,"properties":{"id":{"description":"Unique Subscription ID.","type":"string"},"username":{"description":"Username created for this Subscription.","type":"string"},"contact":{"description":"The contact details of the owner of this Subscription.","type":"string"},"eventSource":{"description":"Information about the Event Source this Subscription is for.","type":"object","required":["id","name"],"additionalProperties":false,"properties":{"id":{"description":"Unique Event Source ID.","type":"string"},"name":{"description":"Event Source name.","type":"string"}}},"option":{"description":"Information about the option this Subscription is for.","type":"object","required":["id","name"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"name":{"description":"Option name.","type":"string"}}},"apicSubscription":{"description":"Subscription added by API Connect","type":"boolean"}}}}}}},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Event Source does not exist"},"500":{"description":"Internal error"}}}},"/options":{"get":{"operationId":"readAllOptions","description":"List all Options created by the current user in an Organization. If a page range is specified, then this will return the requested range. To view all options with 11.7.1 or later controls, you must specify the header 'Accept: application/vnd.ibm.eem.v2+json'. If you omit the header or specify 'application/json', then the response includes only options that can be represented with 11.7.0 or earlier controls.","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"Options successfully listed.","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"},"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/vnd.ibm.eem.v2+json":{"schema":{"type":"array","items":{"type":"object","required":["id","owner","organization","eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden","groupVisibility"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"organization":{"description":"Organization this Option belongs to.","type":"string"},"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string"}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-oauth"]}},"additionalProperties":false},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-credentials"]}},"additionalProperties":false}],"discriminator":{"propertyName":"type"}}},"groupVisibility":{"description":"List of groups this option should be visible to in the catalog","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}}}}}},"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","owner","organization","eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden","groupVisibility"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"organization":{"description":"Organization this Option belongs to.","type":"string"},"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string"}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]}],"discriminator":{"propertyName":"type"}}},"groupVisibility":{"description":"List of groups this option should be visible to in the catalog","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"406":{"description":"Not Acceptable. The requested media type is not supported"},"500":{"description":"Internal error"}}},"post":{"operationId":"createOption","description":"Create an option","requestBody":{"description":"Option data","required":true,"content":{"application/json":{"schema":{"type":"object","required":["eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden"],"additionalProperties":false,"properties":{"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-oauth"]}},"additionalProperties":false},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-credentials"]}},"additionalProperties":false}],"discriminator":{"propertyName":"type"}}},"groupVisibility":{"description":"List of groups this option should be visible to in the catalog","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}}}}}}},"responses":{"200":{"description":"The id of the created option","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}}}}}},"400":{"description":"Invalid request, request data does not match schema or Controls specified not compatible with gateway group."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"426":{"description":"Limit reached, upgrade required to your service plan"},"500":{"description":"Internal error"}}}},"/options/{optionId}":{"get":{"operationId":"readOption","description":"Read an option. You must specify the header 'Accept: application/vnd.ibm.eem.v2+json'. If you omit the header or specify 'application/json', then the option is only returned if it can be represented with 11.7.0 or earlier controls.","parameters":[{"in":"path","name":"optionId","required":true,"schema":{"type":"string"},"description":"The ID of the Option to read."}],"responses":{"200":{"description":"The data for the requested option","content":{"application/vnd.ibm.eem.v2+json":{"schema":{"type":"object","required":["id","owner","organization","eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden","groupVisibility"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"organization":{"description":"Organization this Option belongs to.","type":"string"},"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string"}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-oauth"]}},"additionalProperties":false},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-credentials"]}},"additionalProperties":false}],"discriminator":{"propertyName":"type"}}},"groupVisibility":{"description":"List of groups this option should be visible to in the catalog","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}}}}},"application/json":{"schema":{"type":"object","required":["id","owner","organization","eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden","groupVisibility"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"organization":{"description":"Organization this Option belongs to.","type":"string"},"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string"}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]}],"discriminator":{"propertyName":"type"}}},"groupVisibility":{"description":"List of groups this option should be visible to in the catalog","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}}}}}}},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Option does not exist"},"406":{"description":"Not Acceptable. The requested media type is not supported"},"500":{"description":"Internal error"}}},"put":{"operationId":"updateOption","description":"Update an option","parameters":[{"in":"path","name":"optionId","required":true,"schema":{"type":"string"},"description":"The ID of the Option to update."}],"requestBody":{"description":"Option data","required":true,"content":{"application/json":{"schema":{"type":"object","required":["eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden"],"additionalProperties":false,"properties":{"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-oauth"]}},"additionalProperties":false},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-credentials"]}},"additionalProperties":false}],"discriminator":{"propertyName":"type"}}},"groupVisibility":{"description":"List of groups this option should be visible to in the catalog","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}}}}}}},"responses":{"200":{"description":"Option successfully updated"},"400":{"description":"Invalid request, request data does not match schema or Controls specified not compatible with gateway group."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Option does not exist"},"500":{"description":"Internal error"}}},"delete":{"operationId":"deleteOption","description":"Delete an Option.<br><br> 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\n","parameters":[{"in":"path","name":"optionId","required":true,"schema":{"type":"string"},"description":"The ID of the Option to delete."}],"responses":{"200":{"description":"Option successfully deleted"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Option does not exist"},"409":{"description":"Option could not be deleted due to a conflict"},"500":{"description":"Internal error"}}}},"/options/{optionId}/apicasyncapi":{"get":{"description":"Generate an AsyncAPI document for a selected Option with connections added for IBM API Connect.","operationId":"exportAPICAsyncAPI","parameters":[{"$ref":"#/components/parameters/optionId"},{"in":"query","name":"version","required":false,"schema":{"type":"string","default":"2.1.0"},"description":"The version of AsyncAPI"}],"responses":{"200":{"description":"AsyncAPI successfully generated.","content":{"application/yaml":{"schema":{"type":"string"}}}},"400":{"description":"Bad input"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"Option not found"},"422":{"description":"Cannot export option with approval control"},"500":{"description":"Internal error"}}}},"/options/{optionId}/asyncapi":{"get":{"description":"Generate an AsyncAPI document for a selected Option.","operationId":"exportAsyncAPI","parameters":[{"$ref":"#/components/parameters/optionId"},{"in":"query","name":"version","required":false,"schema":{"type":"string","default":"2.1.0"},"description":"The version of AsyncAPI"}],"responses":{"200":{"description":"AsyncAPI successfully generated.","content":{"application/yaml":{"schema":{"type":"string"}}}},"400":{"description":"Bad input"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"Option not found"},"500":{"description":"Internal error"}}}},"/groupvisibility":{"post":{"operationId":"addGroupVisibility","description":"Add options to the provided group visibility","requestBody":{"description":"Group Visibility data","required":true,"content":{"application/json":{"schema":{"type":"object","required":["group","options"],"properties":{"group":{"description":"Group to associate these options with","type":"string","minLength":1,"maxLength":200},"options":{"description":"List of options visible to this group","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":200}}}}}}},"responses":{"200":{"description":"Options that have had their group visibility added","content":{"application/json":{"schema":{"type":"object","required":["group","options"],"properties":{"group":{"description":"Group associated with these options","type":"string"},"options":{"description":"List of options visible to this group","type":"array","uniqueItems":true,"items":{"type":"object","additionalProperties":false,"required":["id","alias","name","controls","eventSourceName","topicName","capabilities"],"properties":{"id":{"description":"The ID for this option","type":"string"},"alias":{"description":"The alias for this option","type":"string"},"name":{"description":"The name for this option","type":"string"},"controls":{"type":"array","uniqueItems":true,"items":{"description":"Controls enum.","type":"string","enum":["approval","redaction","schema-filtering","quota","mtls","sasl-oauth","sasl-credentials"]}},"eventSourceName":{"description":"The Event Source name for this Option","type":"string"},"topicName":{"description":"The Kafka Topic for this Option","type":"string"},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"groupVisibility":{"description":"List of groups this option should be visible to in the catalog","type":"array","uniqueItems":true,"items":{"type":"string","minLength":0,"maxLength":200}}}}}},"additionalProperties":false}}}},"400":{"description":"Invalid request, request data does not match schema or provided Option ID does not exist."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/eventendpoints":{"get":{"operationId":"readAllEventEndpoints","description":"List all Event Endpoints in an Organization. If a page range is specified, then this will return the requested range. To view all options with 11.7.1 or later controls in an Event Endpoint, you must specify the header 'Accept: application/vnd.ibm.eem.v2+json. If you omit the header or specify 'application/json', then the response includes only options that can be represented with 11.7.0 or earlier controls.","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"},{"$ref":"#/components/parameters/filterBy"}],"responses":{"200":{"description":"Event Endpoints successfully listed.","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"},"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/vnd.ibm.eem.v2+json":{"schema":{"type":"array","items":{"type":"object","required":["id","owner","organization","clusterId","type","encoding","name","contact","capabilities","options","collaborators"],"additionalProperties":false,"properties":{"id":{"description":"Unique ID of related EventSource.","type":"string"},"owner":{"description":"Owner of related EventSource.","type":"string"},"organization":{"description":"Organization the related EventSource belongs to.","type":"string"},"clusterId":{"description":"ID for the cluster that contains the connection details for this Event Source.","type":"string","minLength":1,"maxLength":50},"type":{"description":"Type of Event Source","type":"string","enum":["kafka"]},"encoding":{"description":"The encoding of the data on this Event Source","type":"string","enum":["unknown","text/plain","application/octet-stream","application/json","avro/binary","avro/json"]},"name":{"description":"Event Source name","type":"string","minLength":1,"maxLength":200},"contact":{"description":"Who to contact for more information about this Event Source.","type":"string","minLength":1,"maxLength":200},"description":{"description":"A description for this Event Source","type":"string","maxLength":1500},"topic":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"description":"Actual topic name in the cluster.","type":"string","minLength":1,"maxLength":200},"partitions":{"description":"The number of partitions for this topic. ","type":"number"},"replicas":{"description":"The number of replicas for this topic.","type":"number"},"uuid":{"description":"The uuid of the topic.","type":"string"}}},"schema":{"type":"object","properties":{"type":{"description":"Type of Schema from the list of valid types","type":"string","enum":["avro","json","unknown"]},"content":{"description":"Contents of the Schema","type":"string","maxLength":1048576},"description":{"description":"Description of the data available on the Event Source","type":"string","maxLength":1500}},"additionalProperties":false},"tags":{"description":"List of tags associated with this Event Source","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":50}},"sampleMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"options":{"type":"array","items":{"type":"object","required":["id","owner","organization","eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden","gatewaysPublishedTo"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"organization":{"description":"Organization this Option belongs to.","type":"string"},"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string"}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-oauth"]}},"additionalProperties":false},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-credentials"]}},"additionalProperties":false}],"discriminator":{"propertyName":"type"}}},"gatewaysPublishedTo":{"description":"List of gateways that this option has been published to.","type":"array","items":{"type":"object","required":["id","owner","organization","gatewayId","group","organizations","servedOrganizations","endpoints","lastContact"],"additionalProperties":false,"properties":{"id":{"description":"Unique Event Gateway ID","type":"string","minLength":1,"maxLength":200},"owner":{"description":"Owner of the Event Gateway.","type":"string","minLength":1,"maxLength":100},"organization":{"description":"Organization this Event Gateway belongs to.","type":"string"},"gatewayId":{"description":"Unique Event Gateway ID within this group.","type":"string","minLength":1,"maxLength":100},"group":{"description":"Event Gateway group name.","type":"string","minLength":1,"maxLength":100},"organizations":{"description":"Organizations this Event Gateway serves","type":"array","deprecated":true,"items":{"type":"string","minLength":1,"maxLength":100}},"servedOrganizations":{"description":"Organizations this Event Gateway serves","type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"contact":{"description":"The contact information for this Event Gateway","type":"string","minLength":1,"maxLength":200},"lastContact":{"description":"Epoch time in ms of the last contact from this gateway.","type":"integer","minimum":0},"endpoints":{"description":"Endpoints that the gateway is listening on.","type":"array","items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"version":{"type":"string","description":"Version of the gateway","minLength":1,"maxLength":20},"productVersion":{"type":"string","description":"EEM product version.","minLength":1,"maxLength":100},"features":{"type":"array","description":"Feature set in use by gateway","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":20}},"deploymentMode":{"type":"string","description":"Type of gateway deployment"},"capabilities":{"type":"object","additionalProperties":true,"description":"Freeform Description of what capabilities the gateway has"}}}}}}},"collaborators":{"description":"Collaborators for this endpoint","type":"object","required":["groups","contacts"],"additionalProperties":false,"properties":{"groups":{"description":"List of groups that collaborate on this event endpoint","type":"array","items":{"type":"string"}},"contacts":{"description":"List of contacts that collaborate on this event endpoint","type":"array","items":{"type":"string"}}}}}}}},"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","owner","organization","clusterId","type","encoding","name","contact","capabilities","options","collaborators"],"additionalProperties":false,"properties":{"id":{"description":"Unique ID of related EventSource.","type":"string"},"owner":{"description":"Owner of related EventSource.","type":"string"},"organization":{"description":"Organization the related EventSource belongs to.","type":"string"},"clusterId":{"description":"ID for the cluster that contains the connection details for this Event Source.","type":"string","minLength":1,"maxLength":50},"type":{"description":"Type of Event Source","type":"string","enum":["kafka"]},"encoding":{"description":"The encoding of the data on this Event Source","type":"string","enum":["unknown","text/plain","application/octet-stream","application/json","avro/binary","avro/json"]},"name":{"description":"Event Source name","type":"string","minLength":1,"maxLength":200},"contact":{"description":"Who to contact for more information about this Event Source.","type":"string","minLength":1,"maxLength":200},"description":{"description":"A description for this Event Source","type":"string","maxLength":1500},"topic":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"description":"Actual topic name in the cluster.","type":"string","minLength":1,"maxLength":200},"partitions":{"description":"The number of partitions for this topic. ","type":"number"},"replicas":{"description":"The number of replicas for this topic.","type":"number"},"uuid":{"description":"The uuid of the topic.","type":"string"}}},"schema":{"type":"object","properties":{"type":{"description":"Type of Schema from the list of valid types","type":"string","enum":["avro","json","unknown"]},"content":{"description":"Contents of the Schema","type":"string","maxLength":1048576},"description":{"description":"Description of the data available on the Event Source","type":"string","maxLength":1500}},"additionalProperties":false},"tags":{"description":"List of tags associated with this Event Source","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":50}},"sampleMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"options":{"type":"array","items":{"type":"object","required":["id","owner","organization","eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden","gatewaysPublishedTo"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"organization":{"description":"Organization this Option belongs to.","type":"string"},"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string"}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]}],"discriminator":{"propertyName":"type"}}},"gatewaysPublishedTo":{"description":"List of gateways that this option has been published to.","type":"array","items":{"type":"object","required":["id","owner","organization","gatewayId","group","organizations","servedOrganizations","endpoints","lastContact"],"additionalProperties":false,"properties":{"id":{"description":"Unique Event Gateway ID","type":"string","minLength":1,"maxLength":200},"owner":{"description":"Owner of the Event Gateway.","type":"string","minLength":1,"maxLength":100},"organization":{"description":"Organization this Event Gateway belongs to.","type":"string"},"gatewayId":{"description":"Unique Event Gateway ID within this group.","type":"string","minLength":1,"maxLength":100},"group":{"description":"Event Gateway group name.","type":"string","minLength":1,"maxLength":100},"organizations":{"description":"Organizations this Event Gateway serves","type":"array","deprecated":true,"items":{"type":"string","minLength":1,"maxLength":100}},"servedOrganizations":{"description":"Organizations this Event Gateway serves","type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"contact":{"description":"The contact information for this Event Gateway","type":"string","minLength":1,"maxLength":200},"lastContact":{"description":"Epoch time in ms of the last contact from this gateway.","type":"integer","minimum":0},"endpoints":{"description":"Endpoints that the gateway is listening on.","type":"array","items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"version":{"type":"string","description":"Version of the gateway","minLength":1,"maxLength":20},"productVersion":{"type":"string","description":"EEM product version.","minLength":1,"maxLength":100},"features":{"type":"array","description":"Feature set in use by gateway","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":20}},"deploymentMode":{"type":"string","description":"Type of gateway deployment"},"capabilities":{"type":"object","additionalProperties":true,"description":"Freeform Description of what capabilities the gateway has"}}}}}}},"collaborators":{"description":"Collaborators for this endpoint","type":"object","required":["groups","contacts"],"additionalProperties":false,"properties":{"groups":{"description":"List of groups that collaborate on this event endpoint","type":"array","items":{"type":"string"}},"contacts":{"description":"List of contacts that collaborate on this event endpoint","type":"array","items":{"type":"string"}}}}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"406":{"description":"Not Acceptable. The requested media type is not supported"},"500":{"description":"Internal error"}}}},"/eventendpoints/{eventSourceId}":{"get":{"operationId":"readEventEndpoint","description":"Read an event endpoint. To view all options with 11.7.1 or later controls in an event endpoint, you must specify the header 'Accept: application/vnd.ibm.eem.v2+json'. If you omit the header or specify 'application/json', then the response includes only options that can be represented with 11.7.0 or earlier controls.","parameters":[{"in":"path","name":"eventSourceId","required":true,"schema":{"type":"string"},"description":"The ID of the Event Source to read an Event Endpoint from."}],"responses":{"200":{"description":"Event Endpoint successfully retrieved.","content":{"application/vnd.ibm.eem.v2+json":{"schema":{"type":"object","required":["id","owner","organization","clusterId","type","encoding","name","contact","capabilities","options","collaborators"],"additionalProperties":false,"properties":{"id":{"description":"Unique ID of related EventSource.","type":"string"},"owner":{"description":"Owner of related EventSource.","type":"string"},"organization":{"description":"Organization the related EventSource belongs to.","type":"string"},"clusterId":{"description":"ID for the cluster that contains the connection details for this Event Source.","type":"string","minLength":1,"maxLength":50},"type":{"description":"Type of Event Source","type":"string","enum":["kafka"]},"encoding":{"description":"The encoding of the data on this Event Source","type":"string","enum":["unknown","text/plain","application/octet-stream","application/json","avro/binary","avro/json"]},"name":{"description":"Event Source name","type":"string","minLength":1,"maxLength":200},"contact":{"description":"Who to contact for more information about this Event Source.","type":"string","minLength":1,"maxLength":200},"description":{"description":"A description for this Event Source","type":"string","maxLength":1500},"topic":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"description":"Actual topic name in the cluster.","type":"string","minLength":1,"maxLength":200},"partitions":{"description":"The number of partitions for this topic. ","type":"number"},"replicas":{"description":"The number of replicas for this topic.","type":"number"},"uuid":{"description":"The uuid of the topic.","type":"string"}}},"schema":{"type":"object","properties":{"type":{"description":"Type of Schema from the list of valid types","type":"string","enum":["avro","json","unknown"]},"content":{"description":"Contents of the Schema","type":"string","maxLength":1048576},"description":{"description":"Description of the data available on the Event Source","type":"string","maxLength":1500}},"additionalProperties":false},"tags":{"description":"List of tags associated with this Event Source","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":50}},"sampleMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"options":{"type":"array","items":{"type":"object","required":["id","owner","organization","eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden","gatewaysPublishedTo"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"organization":{"description":"Organization this Option belongs to.","type":"string"},"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string"}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-oauth"]}},"additionalProperties":false},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["sasl-credentials"]}},"additionalProperties":false}],"discriminator":{"propertyName":"type"}}},"gatewaysPublishedTo":{"description":"List of gateways that this option has been published to.","type":"array","items":{"type":"object","required":["id","owner","organization","gatewayId","group","organizations","servedOrganizations","endpoints","lastContact"],"additionalProperties":false,"properties":{"id":{"description":"Unique Event Gateway ID","type":"string","minLength":1,"maxLength":200},"owner":{"description":"Owner of the Event Gateway.","type":"string","minLength":1,"maxLength":100},"organization":{"description":"Organization this Event Gateway belongs to.","type":"string"},"gatewayId":{"description":"Unique Event Gateway ID within this group.","type":"string","minLength":1,"maxLength":100},"group":{"description":"Event Gateway group name.","type":"string","minLength":1,"maxLength":100},"organizations":{"description":"Organizations this Event Gateway serves","type":"array","deprecated":true,"items":{"type":"string","minLength":1,"maxLength":100}},"servedOrganizations":{"description":"Organizations this Event Gateway serves","type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"contact":{"description":"The contact information for this Event Gateway","type":"string","minLength":1,"maxLength":200},"lastContact":{"description":"Epoch time in ms of the last contact from this gateway.","type":"integer","minimum":0},"endpoints":{"description":"Endpoints that the gateway is listening on.","type":"array","items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"version":{"type":"string","description":"Version of the gateway","minLength":1,"maxLength":20},"productVersion":{"type":"string","description":"EEM product version.","minLength":1,"maxLength":100},"features":{"type":"array","description":"Feature set in use by gateway","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":20}},"deploymentMode":{"type":"string","description":"Type of gateway deployment"},"capabilities":{"type":"object","additionalProperties":true,"description":"Freeform Description of what capabilities the gateway has"}}}}}}},"collaborators":{"description":"Collaborators for this endpoint","type":"object","required":["groups","contacts"],"additionalProperties":false,"properties":{"groups":{"description":"List of groups that collaborate on this event endpoint","type":"array","items":{"type":"string"}},"contacts":{"description":"List of contacts that collaborate on this event endpoint","type":"array","items":{"type":"string"}}}}}}},"application/json":{"schema":{"type":"object","required":["id","owner","organization","clusterId","type","encoding","name","contact","capabilities","options","collaborators"],"additionalProperties":false,"properties":{"id":{"description":"Unique ID of related EventSource.","type":"string"},"owner":{"description":"Owner of related EventSource.","type":"string"},"organization":{"description":"Organization the related EventSource belongs to.","type":"string"},"clusterId":{"description":"ID for the cluster that contains the connection details for this Event Source.","type":"string","minLength":1,"maxLength":50},"type":{"description":"Type of Event Source","type":"string","enum":["kafka"]},"encoding":{"description":"The encoding of the data on this Event Source","type":"string","enum":["unknown","text/plain","application/octet-stream","application/json","avro/binary","avro/json"]},"name":{"description":"Event Source name","type":"string","minLength":1,"maxLength":200},"contact":{"description":"Who to contact for more information about this Event Source.","type":"string","minLength":1,"maxLength":200},"description":{"description":"A description for this Event Source","type":"string","maxLength":1500},"topic":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"description":"Actual topic name in the cluster.","type":"string","minLength":1,"maxLength":200},"partitions":{"description":"The number of partitions for this topic. ","type":"number"},"replicas":{"description":"The number of replicas for this topic.","type":"number"},"uuid":{"description":"The uuid of the topic.","type":"string"}}},"schema":{"type":"object","properties":{"type":{"description":"Type of Schema from the list of valid types","type":"string","enum":["avro","json","unknown"]},"content":{"description":"Contents of the Schema","type":"string","maxLength":1048576},"description":{"description":"Description of the data available on the Event Source","type":"string","maxLength":1500}},"additionalProperties":false},"tags":{"description":"List of tags associated with this Event Source","type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":50}},"sampleMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","minItems":1,"maxItems":1,"uniqueItems":true,"items":{"description":"Capabilities enum.","type":"string","enum":["consume","produce"]}},"options":{"type":"array","items":{"type":"object","required":["id","owner","organization","eventSourceId","name","controls","alias","gatewayGroups","allowSubscriptions","hidden","gatewaysPublishedTo"],"additionalProperties":false,"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"organization":{"description":"Organization this Option belongs to.","type":"string"},"eventSourceId":{"description":"Event source that this option belongs to","type":"string"},"alias":{"description":"Unique, descriptive alias for this option","type":"string","minLength":1,"maxLength":200},"name":{"description":"Descriptive name for this option","type":"string","minLength":1,"maxLength":200},"description":{"description":"Longer description used to describe what this option is used for","type":"string","maxLength":1500},"gatewayGroups":{"description":"List of gateway groups this option should be published to","type":"array","uniqueItems":true,"items":{"type":"string"}},"hidden":{"description":"Indicates if this option is visible in the catalog","type":"boolean"},"allowSubscriptions":{"description":"Indicates if this option is allowing new subscriptions","type":"boolean"},"controls":{"description":"Controls on this option","type":"array","items":{"anyOf":[{"type":"object","required":["id","requests","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["approval"]},"requests":{"type":"array","items":{"type":"object","required":["id","owner","status","description","contact"],"properties":{"id":{"description":"Unique Option ID.","type":"string"},"owner":{"description":"Option owner.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of last update to approval request.","type":"integer"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"outcome":{"description":"Description of the outcome of this request.","type":"string","maxLength":250},"subscriptionId":{"description":"The id of the subscription associated with this request.","type":"string","deprecated":true,"maxLength":250},"applicationId":{"description":"The id of the application associated with this request.","type":"string","maxLength":250}}}}}},{"allOf":[{"type":"object","required":["id","redactions","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["redaction"]},"redactions":{"type":"array","items":{"anyOf":[{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceString"]},"replaceWith":{"description":"The value to replace with","type":"string","maxLength":200}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["replaceWith","type"],"properties":{"type":{"description":"Type of redaction.","enum":["replaceIntegral","replaceDouble"]},"replaceWith":{"description":"The value to replace with","type":"number"}}}]},{"allOf":[{"type":"object","required":["path"],"properties":{"path":{"description":"The JSON path specifying the field to redact. JSON path is currently restricted to just field names (no arrays or functions)","type":"string","maxLength":200,"minLength":2}}},{"type":"object","required":["algorithm","type"],"properties":{"type":{"description":"Type of redaction.","enum":["hash"]},"algorithm":{"type":"string","description":"Algorithm to use for hashing the current value","enum":["SHA-256","SHA-512"]}}}]}],"discriminator":{"propertyName":"type"}}}}}]},{"type":"object","required":["id","schema","type"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["schema-filtering"]},"schema":{"type":"object","required":["filtered"],"properties":{"filtered":{"description":"If true, any schema associated with the Event Source will be used to filter records sent to applications","type":"boolean"}}}}},{"type":"object","required":["type","id"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["quota"]}},"anyOf":[{"type":"object","required":["megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}},{"type":"object","required":["messagesPerSecond","megabytesPerSecond"],"properties":{"megabytesPerSecond":{"description":"Upper limit to megabytes per second produced/consumed","type":"number","minimum":1,"maximum":2147483647},"messagesPerSecond":{"description":"Upper limit to messages per second produced/consumed","type":"number","minimum":1,"maximum":2147483647}}}]},{"allOf":[{"oneOf":[{"type":"object","required":["trustPem"],"deprecated":true,"properties":{"trustPem":{"description":"Certificate Authority in PEM format","type":"string"}}},{"anyOf":[{"type":"object","required":["acceptProfileCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptOrgCa"],"properties":{"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}},{"type":"object","required":["acceptProfileCa","acceptOrgCa"],"properties":{"acceptProfileCa":{"description":"boolean indicating whether to include the Author defined CA certificates in the MTLS truststore","type":"boolean"},"acceptOrgCa":{"description":"boolean indicating whether to include the Admin defined CA certificates in the MTLS truststore","type":"boolean"}}}]}]},{"type":"object","required":["type","id","subjectCommonName"],"properties":{"id":{"description":"Unique Control ID.","type":"string"},"type":{"type":"string","enum":["mtls"]},"identificationType":{"description":"The type of Identification users will use to distinguish between Subscriptions. Defaults to MTLS when not provided.","deprecated":true,"type":"string","enum":["MTLS","SASL"]},"identificationSubjectFields":{"description":"Certificate Subject fields to identify users by if using MTLS identificationType.","type":"array","items":{"type":"string","enum":["subjectCommonName","subjectOrganization","subjectCountry","subjectStateOrProvince","subjectLocality"]}},"subjectCommonName":{"description":"Subject Common Name to match on.","type":"string","maxLength":200},"subjectOrganization":{"description":"Subject Organization to match on.","type":"string","maxLength":200},"subjectCountry":{"description":"Subject Country to match on.","type":"string","maxLength":200},"subjectStateOrProvince":{"description":"Subject Region to match on.","type":"string","maxLength":200},"subjectLocality":{"description":"Subject Locality to match on.","type":"string","maxLength":200},"approvedCipherSuites":{"description":"Cipher Suites that are approved for use.","type":"array","items":{"type":"string"}},"disapprovedCipherSuites":{"description":"Cipher Suites that are not approved for use.","type":"array","items":{"type":"string"}},"notValidBefore":{"description":"Certificate not valid before time.","type":"integer"},"notValidAfter":{"description":"Certificate not valid after time.","type":"integer"}}}]}],"discriminator":{"propertyName":"type"}}},"gatewaysPublishedTo":{"description":"List of gateways that this option has been published to.","type":"array","items":{"type":"object","required":["id","owner","organization","gatewayId","group","organizations","servedOrganizations","endpoints","lastContact"],"additionalProperties":false,"properties":{"id":{"description":"Unique Event Gateway ID","type":"string","minLength":1,"maxLength":200},"owner":{"description":"Owner of the Event Gateway.","type":"string","minLength":1,"maxLength":100},"organization":{"description":"Organization this Event Gateway belongs to.","type":"string"},"gatewayId":{"description":"Unique Event Gateway ID within this group.","type":"string","minLength":1,"maxLength":100},"group":{"description":"Event Gateway group name.","type":"string","minLength":1,"maxLength":100},"organizations":{"description":"Organizations this Event Gateway serves","type":"array","deprecated":true,"items":{"type":"string","minLength":1,"maxLength":100}},"servedOrganizations":{"description":"Organizations this Event Gateway serves","type":"array","items":{"type":"string","minLength":1,"maxLength":100}},"contact":{"description":"The contact information for this Event Gateway","type":"string","minLength":1,"maxLength":200},"lastContact":{"description":"Epoch time in ms of the last contact from this gateway.","type":"integer","minimum":0},"endpoints":{"description":"Endpoints that the gateway is listening on.","type":"array","items":{"type":"object","required":["host","port"],"properties":{"host":{"description":"Kafka server host name.","type":"string"},"port":{"description":"Kafka server port.","type":"integer"},"ssl":{"description":"Connect over SSL.","type":"boolean","default":false},"certificates":{"description":"Certificates or CAs to trust, required to connect to the server via SSL.","type":"array","uniqueItems":true,"items":{"type":"object","description":"X509 certificate presented by an endpoint","required":["pem"],"properties":{"pem":{"description":"Certificate in PEM format","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"sans":{"description":"A list of subject alternative names of the certificate","type":"array","items":{"type":"string"}},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"}}}}}}},"version":{"type":"string","description":"Version of the gateway","minLength":1,"maxLength":20},"productVersion":{"type":"string","description":"EEM product version.","minLength":1,"maxLength":100},"features":{"type":"array","description":"Feature set in use by gateway","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":20}},"deploymentMode":{"type":"string","description":"Type of gateway deployment"},"capabilities":{"type":"object","additionalProperties":true,"description":"Freeform Description of what capabilities the gateway has"}}}}}}},"collaborators":{"description":"Collaborators for this endpoint","type":"object","required":["groups","contacts"],"additionalProperties":false,"properties":{"groups":{"description":"List of groups that collaborate on this event endpoint","type":"array","items":{"type":"string"}},"contacts":{"description":"List of contacts that collaborate on this event endpoint","type":"array","items":{"type":"string"}}}}}}}}},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Event Endpoint does not exist"},"406":{"description":"Not Acceptable. The requested media type is not supported"},"500":{"description":"Internal error"}}}},"/profile/ca":{"get":{"operationId":"readAllProfileCACertificates","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"Get profile CA certificates for a user","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","subject","issuer","expiry","pem","owned"],"properties":{"id":{"description":"ID of CA certificate","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"},"pem":{"description":"PEM","type":"string"},"owned":{"description":"Is the requester the owner of this CA certificate","type":"boolean"}}}}}}},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}},"post":{"operationId":"createProfileCACertificate","description":"Create an author CA Certificate","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["trustPem"],"properties":{"trustPem":{"description":"PEM","type":"string","maxLength":8192,"minLength":500}}}},"application/vnd.ibm.event-endpoint-management.v1+json":{"schema":{"type":"object","required":["trustPem"],"properties":{"trustPem":{"description":"PEM","type":"string","maxLength":8192,"minLength":500}}}}}},"responses":{"200":{"description":"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","content":{"application/json":{"schema":{"type":"object","properties":{"validCACertificates":{"description":"Array of all successfully processed CA Certificates","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"id":{"type":"string","maxLength":100,"minLength":1},"pem":{"description":"PEM","type":"string","maxLength":8192,"minLength":500},"existingCertificate":{"description":"Indicating if the certificate already existed in the store and the existing record was returned.","type":"boolean","default":true}}}},"invalidCertificates":{"description":"Array of all non CA Certificates that were ignored","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"pem":{"description":"PEM","type":"string","maxLength":8192,"minLength":500}}}}}}}}},"400":{"description":"Bad input"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/profile/ca/{caId}":{"get":{"operationId":"readProfileCACertificate","parameters":[{"in":"path","name":"caId","required":true,"schema":{"type":"string","maxLength":100,"minLength":1},"description":"The ID of the CA Certificate."}],"responses":{"200":{"description":"Get a profile CA certificate for a user","content":{"application/json":{"schema":{"type":"object","required":["id","subject","issuer","expiry","pem","owned"],"properties":{"id":{"description":"ID of CA certificate","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"},"pem":{"description":"PEM","type":"string"},"owned":{"description":"Is the requester the owner of this CA certificate","type":"boolean"}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}},"delete":{"operationId":"deleteProfileCACertificate","description":"Delete an author CA Certificate","parameters":[{"in":"path","name":"caId","required":true,"schema":{"type":"string","maxLength":100,"minLength":1},"description":"The ID of the CA Certificate to be deleted."}],"responses":{"200":{"description":"CA Certificate deleted successfully"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"CA Certificate does not exist."},"500":{"description":"Internal error"}}}},"/organization/ca":{"get":{"operationId":"readAllOrgCACertificates","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"Get organization CA certificates","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","subject","issuer","expiry","pem","owned"],"properties":{"id":{"description":"ID of CA certificate","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"},"pem":{"description":"PEM","type":"string"},"owned":{"description":"Is the requester the owner of this CA certificate","type":"boolean"}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}},"post":{"operationId":"createOrgCACertificate","description":"Create an organization CA Certificate","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["trustPem"],"properties":{"trustPem":{"description":"PEM","type":"string","maxLength":8192,"minLength":500}}}}}},"responses":{"200":{"description":"Author CA Certificate successfully created","content":{"application/json":{"schema":{"type":"object","properties":{"validCACertificates":{"description":"Array of all successfully processed CA Certificates","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"id":{"type":"string","maxLength":100,"minLength":1},"pem":{"description":"PEM","type":"string","maxLength":8192,"minLength":500},"existingCertificate":{"description":"Indicating if the certificate already existed in the store and the existing record was returned.","type":"boolean","default":true}}}},"invalidCertificates":{"description":"Array of all non CA Certificates that were ignored","type":"array","uniqueItems":true,"items":{"type":"object","properties":{"pem":{"description":"PEM","type":"string","maxLength":8192,"minLength":500}}}}}}}}},"400":{"description":"Bad input"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/organization/ca/{caId}":{"get":{"operationId":"readOrgCACertificate","parameters":[{"in":"path","name":"caId","required":true,"schema":{"type":"string","maxLength":100,"minLength":1},"description":"The ID of the CA Certificate."}],"responses":{"200":{"description":"Get a Organization CA certificate for a user","content":{"application/json":{"schema":{"type":"object","required":["id","subject","issuer","expiry","pem","owned"],"properties":{"id":{"description":"ID of CA certificate","type":"string"},"subject":{"description":"Subject name of the certificate","type":"string"},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"},"pem":{"description":"PEM","type":"string"},"owned":{"description":"Is the requester the owner of this CA certificate","type":"boolean"}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}},"delete":{"operationId":"deleteOrgCACertificate","description":"Delete an org CA Certificate","parameters":[{"in":"path","name":"caId","required":true,"schema":{"type":"string"},"description":"The ID of the CA Certificate to be deleted."}],"responses":{"200":{"description":"CA Certificate deleted successfully"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"CA Certificate does not exist."},"500":{"description":"Internal error"}}}},"/organization/transferOwnership":{"post":{"operationId":"transferOwnership","description":"Transfer ownership of EEM assets from one user to another.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["ownedBy","targetOwner"],"properties":{"ownedBy":{"description":"Owner of the assets. The subject to transfer from","type":"string","minLength":1,"maxLength":320},"targetOwner":{"description":"New Owner of the assets. The subject to be transferred to","type":"string","minLength":1,"maxLength":320}}}}}},"responses":{"200":{"description":"Assets successfully transferred"},"400":{"description":"Invalid request"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"Requested owner(s) do not exist"},"409":{"description":"Conflict cannot make transfer between users"},"500":{"description":"Internal error"}}}},"/userassets":{"get":{"operationId":"readAllUserAssets","description":"List all users and all their assets.","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"},{"in":"query","name":"includeEmptyUsers","required":false,"schema":{"type":"string"},"description":"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."},{"in":"query","name":"search","required":false,"description":"Given a searched field, filter the response to only include users who match in username or in their subject i.e topics, options etc.","schema":{"type":"string","maxLength":200,"minLength":1}}],"responses":{"200":{"description":"List all defined users and their owned assets","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["userId","preferredUsername","displayName","roles","assets"],"additionalProperties":false,"properties":{"userId":{"description":"User identifier","type":"string"},"preferredUsername":{"description":"Preferred user name","type":"string"},"displayName":{"description":"Display name","type":"string"},"roles":{"description":"User roles","type":"array","items":{"type":"string"}},"assets":{"description":"List of the different asset types and the number of instances of that type owned by the user","type":"object","additionalProperties":false,"required":["eventsource","cluster","option","subscription","ca","gateway"],"properties":{"eventsource":{"type":"number"},"cluster":{"type":"number"},"option":{"type":"number"},"subscription":{"type":"number"},"ca":{"type":"number"},"gateway":{"type":"number"}}}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/eventendpoints/{eventEndpointId}/requests":{"post":{"operationId":"createEventEndpointApprovalRequest","description":"Create a new approval request against this event endpoint.","parameters":[{"in":"path","name":"eventEndpointId","required":true,"schema":{"type":"string"},"description":"The ID of the Event Endpoint to create an approval request against."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["description","contact"],"properties":{"description":{"description":"Description of why the request was created.","type":"string","minLength":1,"maxLength":1500},"contact":{"description":"Contact details of the person making the request.","type":"string","minLength":1,"maxLength":250},"applicationId":{"description":"Optional Application id if this is for an Application subscription.","type":"string","minLength":1,"maxLength":250}}}}}},"responses":{"200":{"description":"Event Endpoint Approval successfully requested.","content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"description":"approval request Id.","type":"string"}}}}}},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This Event Endpoint does not exist"},"500":{"description":"Internal error"}}}},"/eventendpoints/{eventEndpointId}/requests/{requestId}":{"put":{"operationId":"updateEventEndpointApprovalRequest","description":"Update the status of the chosen request.","parameters":[{"in":"path","name":"eventEndpointId","required":true,"schema":{"type":"string"},"description":"The ID of the EventEndpoint this request is for."},{"in":"path","name":"requestId","required":true,"schema":{"type":"string"},"description":"The ID of the Approval Request."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"description":"Status of the request [pending, approved, rejected, fulfilled].","type":"string","enum":["pending","approved","rejected","fulfilled"]}}}}}},"responses":{"200":{"description":"Request updated"},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}},"delete":{"operationId":"deleteEventEndpointApprovalRequest","description":"Delete the chosen approval request.","parameters":[{"in":"path","name":"eventEndpointId","required":true,"schema":{"type":"string"},"description":"The ID of the Event Endpoint this delete request is for."},{"in":"path","name":"requestId","required":true,"schema":{"type":"string"},"description":"The ID of the Approval Request this delete request is for."}],"responses":{"200":{"description":"Approval Request deleted"},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/requests/user":{"get":{"operationId":"eventEndpointApprovalRequestViewerList","description":"Get all approval requests created by this user.","parameters":[{"$ref":"#/components/parameters/filterByStatus"}],"responses":{"200":{"description":"List with entries containing information about approval requests created by this user.","headers":{"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","contact","justification","status","eventSource","eventEndpoint"],"properties":{"id":{"description":"Unique approval Request ID.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of when this approval Request was last updated","type":"integer"},"contact":{"description":"The contact details of the raiser of this approval Request.","type":"string"},"applicationId":{"description":"The application Id if this request is for an application subscription.","type":"string"},"justification":{"description":"The justification for this approval Request.","type":"string"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"eventSource":{"description":"Information about the Event Source this Request is for.","type":"object","required":["id","name"],"properties":{"id":{"description":"Unique Event Source ID.","type":"string"},"name":{"description":"Event Source name.","type":"string"}}},"eventEndpoint":{"description":"Information about the event endpoint this approval Request is for.","type":"object","required":["id","name"],"properties":{"id":{"description":"Unique Event Endpoint ID.","type":"string"},"name":{"description":"Event Endpoint name.","type":"string"}}}}}}}}},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"Option does not exist."},"500":{"description":"Internal error"}}}},"/requests/admin":{"get":{"operationId":"eventEndpointApprovalRequestAdminList","description":"Get all the requests created against options that this author owns.","responses":{"200":{"headers":{"etag":{"$ref":"#/components/headers/etag"}},"description":"List with entries containing information about requests this owner needs to respond to.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","contact","justification","status","eventSource","eventEndpoint"],"properties":{"id":{"description":"Unique approval Request ID.","type":"string"},"lastUpdated":{"description":"Unix Epoch timestamp of when this approval Request was last updated","type":"integer"},"contact":{"description":"The contact details of the raiser of this approval Request.","type":"string"},"applicationId":{"description":"The application Id if this request is for an application subscription.","type":"string"},"justification":{"description":"The justification for this approval Request.","type":"string"},"status":{"description":"The status of this approval request.","type":"string","enum":["pending","approved","rejected","fulfilled"]},"eventSource":{"description":"Information about the Event Source this Request is for.","type":"object","required":["id","name"],"properties":{"id":{"description":"Unique Event Source ID.","type":"string"},"name":{"description":"Event Source name.","type":"string"}}},"eventEndpoint":{"description":"Information about the event endpoint this approval Request is for.","type":"object","required":["id","name"],"properties":{"id":{"description":"Unique Event Endpoint ID.","type":"string"},"name":{"description":"Event Endpoint name.","type":"string"}}}}}}}}},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/groups":{"get":{"operationId":"readAllGroups","description":"List groups for clusters, event sources, and options","parameters":[{"$ref":"#/components/parameters/exclude"}],"responses":{"200":{"description":"List of groups for clusters, event sources, and options","content":{"application/json":{"schema":{"description":"List of groups and their eventsource, cluster, option and application references","type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"eventSourceRefs":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"clusterRefs":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"optionRefs":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"applicationRefs":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}}}}},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/idpservers":{"post":{"description":"Create an IDP server","operationId":"createIdpServer","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the IDP Server."},"type":{"type":"string","enum":["OAUTH2"],"description":"IDP type"},"description":{"type":"string","description":"Description of the IDP Server."},"userInfoUrl":{"type":"string","format":"uri","description":"The userInfo endpoint of the IDP Server (including protocol)."},"introspectionEndpoint":{"type":"object","description":"The introspection endpoint of the IDP Server.","properties":{"url":{"type":"string","format":"uri","description":"The introspection endpoint of the IDP Server (including protocol)."},"credentials":{"type":"object","description":"Credentials for authenticating to access the introspection endpoint.","properties":{"clientId":{"type":"string"},"clientSecret":{"type":"string"}},"required":["clientId","clientSecret"],"additionalProperties":false}},"required":["url","credentials"],"additionalProperties":false},"trustedCertificates":{"type":"array","description":"Trust certificates for connecting to endpoints.","items":{"type":"object","required":["pem"],"properties":{"pem":{"description":"PEM","type":"string"}},"additionalProperties":false}}},"required":["name","type"],"anyOf":[{"required":["userInfoUrl"]},{"required":["introspectionEndpoint"]}],"additionalProperties":false}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"description":"The ID of your newly created IDP server","type":"string"}}}}},"description":"IDP server successfully created."},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"409":{"description":"IDP server with the specified userInfo URL already exists"},"500":{"description":"Internal error"}}},"get":{"description":"List all IDP servers created by the current user in an Organization. If a page range is specified, then this will return the requested range.<br><br>\n","operationId":"readAllIdpServers","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"IDP servers successfully listed.","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"description":"Unique IDP server ID.","type":"string"},"organization":{"description":"Organization this IDP server belongs to.","type":"string"},"owner":{"description":"IDP server owner.","type":"string"},"name":{"type":"string","description":"Name of the IDP Server."},"type":{"type":"string","enum":["OAUTH2"],"description":"IDP type"},"description":{"type":"string","description":"Description of the IDP Server."},"userInfoUrl":{"type":"string","format":"uri","description":"The userInfo endpoint of the IDP Server (including protocol)."},"introspectionEndpoint":{"type":"object","description":"The introspection endpoint of the IDP Server.","properties":{"url":{"type":"string","format":"uri","description":"The introspection endpoint of the IDP Server (including protocol)."},"credentials":{"type":"object","description":"Credentials for authenticating to access the introspection endpoint.","properties":{"clientId":{"type":"string"}},"required":["clientId"],"additionalProperties":false}},"required":["url","credentials"],"additionalProperties":false},"trustedCertificates":{"type":"array","description":"Trust certificates for connecting to endpoints.","items":{"type":"object","required":["subject","issuer","expiry","pem"],"properties":{"subject":{"description":"Subject name of the certificate","type":"string"},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"},"pem":{"description":"PEM","type":"string"}},"additionalProperties":false}},"hasPublishedOptions":{"type":"boolean","description":"Flag indicating if the IDP Server is being used in published options."}},"required":["id","organization","owner","name","type","hasPublishedOptions"],"anyOf":[{"required":["userInfoUrl"]},{"required":["introspectionEndpoint"]}],"additionalProperties":false}}}}},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/idpservers/{idpServerId}":{"get":{"operationId":"readIdpServer","parameters":[{"in":"path","name":"idpServerId","required":true,"schema":{"type":"string","maxLength":100,"minLength":1},"description":"The ID of the IDP server."}],"responses":{"200":{"description":"Get an IDP server","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"description":"Unique IDP server ID.","type":"string"},"organization":{"description":"Organization this IDP server belongs to.","type":"string"},"owner":{"description":"IDP server owner.","type":"string"},"name":{"type":"string","description":"Name of the IDP Server."},"type":{"type":"string","enum":["OAUTH2"],"description":"IDP type"},"description":{"type":"string","description":"Description of the IDP Server."},"userInfoUrl":{"type":"string","format":"uri","description":"The userInfo endpoint of the IDP Server (including protocol)."},"introspectionEndpoint":{"type":"object","description":"The introspection endpoint of the IDP Server.","properties":{"url":{"type":"string","format":"uri","description":"The introspection endpoint of the IDP Server (including protocol)."},"credentials":{"type":"object","description":"Credentials for authenticating to access the introspection endpoint.","properties":{"clientId":{"type":"string"}},"required":["clientId"],"additionalProperties":false}},"required":["url","credentials"],"additionalProperties":false},"trustedCertificates":{"type":"array","description":"Trust certificates for connecting to endpoints.","items":{"type":"object","required":["subject","issuer","expiry","pem"],"properties":{"subject":{"description":"Subject name of the certificate","type":"string"},"issuer":{"description":"Issuer of the certificate","type":"string"},"expiry":{"description":"Expiration date of the certificate in epoch millis","type":"integer"},"pem":{"description":"PEM","type":"string"}},"additionalProperties":false}},"hasPublishedOptions":{"type":"boolean","description":"Flag indicating if the IDP Server is being used in published options."}},"required":["id","organization","owner","name","type","hasPublishedOptions"],"anyOf":[{"required":["userInfoUrl"]},{"required":["introspectionEndpoint"]}],"additionalProperties":false}}}},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}},"put":{"operationId":"updateIdpServer","description":"Update an IDP server","parameters":[{"in":"path","name":"idpServerId","required":true,"schema":{"type":"string"},"description":"The ID of the IDP server to update."}],"requestBody":{"description":"IDP server data","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the IDP Server."},"type":{"type":"string","enum":["OAUTH2"],"description":"IDP type"},"description":{"type":"string","description":"Description of the IDP Server."},"userInfoUrl":{"type":"string","format":"uri","description":"The userInfo endpoint of the IDP Server (including protocol)."},"introspectionEndpoint":{"type":"object","description":"The introspection endpoint of the IDP Server.","properties":{"url":{"type":"string","format":"uri","description":"The introspection endpoint of the IDP Server (including protocol)."},"credentials":{"type":"object","description":"Credentials for authenticating to access the introspection endpoint.","properties":{"clientId":{"type":"string"},"clientSecret":{"type":"string"}},"required":["clientId","clientSecret"],"additionalProperties":false}},"required":["url"],"additionalProperties":false},"trustedCertificates":{"type":"array","description":"Trust certificates for connecting to endpoints.","items":{"type":"object","required":["pem"],"properties":{"pem":{"description":"PEM","type":"string"}},"additionalProperties":false}}},"required":["name","type"],"anyOf":[{"required":["userInfoUrl"]},{"required":["introspectionEndpoint"]}],"additionalProperties":false}}}},"responses":{"200":{"description":"IDP server successfully updated"},"400":{"description":"Bad input"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"This ID server does not exist"},"409":{"description":"IDP server with the specified userInfo URL already exists"},"500":{"description":"Internal error"}}},"delete":{"operationId":"deleteIdpServer","description":"Delete an IDP server","parameters":[{"in":"path","name":"idpServerId","required":true,"schema":{"type":"string"},"description":"The ID of the IDP server to be deleted."}],"responses":{"200":{"description":"IDP server deleted successfully"},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"IDP server does not exist."},"500":{"description":"Internal error"}}}},"/clientauthsets":{"post":{"description":"Create a client authentication set","operationId":"createClientAuthSet","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["controls"],"description":"Set of client authentication controls","additionalProperties":false,"properties":{"controls":{"type":"array","description":"Array of required client authentication controls","items":{"type":"string","description":"Client authentication control names.","enum":["sasl-oauth","sasl-credentials","mtls"]}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"description":"The ID of your newly created client authentication set","type":"string"}}}}},"description":"Client authentication set successfully created."},"400":{"description":"Bad input"},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"409":{"description":"Provided client authentication set has an invalid combination of control types"},"500":{"description":"Internal error"}}},"get":{"description":"List all client authentication set created by the current user in an Organization. If a page range is specified, then this will return the requested range.<br><br>\n","operationId":"readAllClientAuthSets","parameters":[{"$ref":"#/components/parameters/page"},{"$ref":"#/components/parameters/maxPageSize"}],"responses":{"200":{"description":"Client authentication sets successfully listed.","headers":{"ei-pagination-total":{"$ref":"#/components/headers/ei-pagination-total"},"etag":{"$ref":"#/components/headers/etag"}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["id","organization","owner","controls"],"description":"Set of client authentication controls","additionalProperties":false,"properties":{"id":{"description":"Unique client authentication set ID.","type":"string"},"organization":{"description":"Organization this client authentication set belongs to.","type":"string"},"owner":{"description":"client authentication set owner.","type":"string"},"controls":{"type":"array","description":"Array of required client authentication controls","items":{"type":"string","description":"Client authentication control names.","enum":["sasl-oauth","sasl-credentials","mtls"]}}}}}}}},"304":{"description":"Data not changed"},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorized, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}}},"/clientauthsets/{clientAuthSetId}":{"get":{"operationId":"readClientAuthSet","parameters":[{"in":"path","name":"clientAuthSetId","required":true,"schema":{"type":"string","maxLength":100,"minLength":1},"description":"The ID of the client authentication set."}],"responses":{"200":{"description":"Get a client authentication set","content":{"application/json":{"schema":{"type":"object","required":["id","organization","owner","controls"],"description":"Set of client authentication controls","additionalProperties":false,"properties":{"id":{"description":"Unique client authentication set ID.","type":"string"},"organization":{"description":"Organization this client authentication set belongs to.","type":"string"},"owner":{"description":"client authentication set owner.","type":"string"},"controls":{"type":"array","description":"Array of required client authentication controls","items":{"type":"string","description":"Client authentication control names.","enum":["sasl-oauth","sasl-credentials","mtls"]}}}}}}},"400":{"description":"Invalid request, only one of page and maxPageSize were supplied or max page size exceeded."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"500":{"description":"Internal error"}}},"delete":{"operationId":"deleteClientAuthSet","description":"Delete a client authentication set","parameters":[{"in":"path","name":"clientAuthSetId","required":true,"schema":{"type":"string"},"description":"The ID of the client authentication set to be deleted."}],"responses":{"200":{"description":"Client authentication set deleted successfully"},"400":{"description":"Unable to delete final client authentication set. There must be at least one present."},"401":{"description":"Not authorised, successful login required"},"403":{"description":"Access denied for this user and/or role"},"404":{"description":"Client authentication set does not exist."},"500":{"description":"Internal error"}}}}},"security":[{"eemAccessToken":[]}]}