Universal Behavior Exchange

Live

Universal Behavior Exchange

+ Day(s) remaining in the trial

Overview

The IBM Universal Behavior Exchange is an open exchange that makes it easy to share customer data between certified solutions, bypassing the custom IT work typically required to launch a personalized campaign and speeding time to market from weeks to just one day. Best of all, this new feature is available in the IBM M Watson Customer Engagement and other IBM Commerce products at no additional charge.

Getting started

Prerequisites

Review both the UBX documentation for IBM Business Partners in the IBM UBX Knowledge Center at https://www.ibm.com/support/knowledgecenter/SS9JVY/UBX/Overview_ubx/UBX_for_partners.html, and the UBX Public API Reference at https://developer.ibm.com/customer-engagement/docs/watson-marketing/ibm-universal-behavior-exchange-ubx/ubxapireference/.

Security

Keys

Pick a key to use with this API. Make sure you are logged in with your IBM id for your keys to be populated in the dropdown below. By selecting a key, it will be pre-filled for each endpoint in the Documentation section that can be used with the built-in testing. If you want to change which key to use for a particular endpoint, you can do so at the endpoint in the Documentation section.
You can manage your API keys in the <MyAPIs> section. API keys authenticate you to your subscription, so make sure to keep them secret. Do not share the X-IBM-Client-Secret portion of any API key in publicly accessible places such as GitHub, or client-side code.



Manage your keys
 

Global Parameters

This section contains global variables, which apply to all of the endpoint definitions of this API. You can use this section to set these variables once, and have the values pre-filled for every endpoint in the Documentation section. The values set can be used with the built-in testing. You can always override the value in the endpoint definition of the Documentation section.
Global variables

Documentation

Universal Behavior Exchange:

Application

APIs to create and maintain UBX applications. UBX applications contain features that make it possible to register multiple endpoints that share a common set of properties and characteristics.
Add an event type to a feature that is part of a UBX application.
Use this API to define events that are available to a UBX endpoint that is based on a UBX application. The event type must be a UBX recognized event or an IBM approved custom event. You define an event type by specifying a recognized event code that appears in the UBX Dynamic Event Library, various required and best practice attributes from the Library, and other information to describe the event type.

POST   /application/{appid}/feature/{featureid}/eventtype

			https://{Hostname}/v1/application/{appid}/feature/{featureid}/eventtype
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.post("https://{Hostname}/v1/application/{appid}/feature/{featureid}/eventtype") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Create and define a UBX application.
In UBX, an application is a collection of metadata that describes an application or business solution that UBX users can select as an endpoint. As an endpoint provider, you define the application once and reference the application definition when you create new endpoint registrations in response to UBX user requests.

POST   /application

			https://{Hostname}/v1/application
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.post("https://{Hostname}/v1/application") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Define a UBX application deployment.
Call this API to provide UBX with the access information it requires to communicate with your endpoint. UBX endpoints are based on UBX applications that support connecting to multiple data centers. For example, UBX deployments allow you to distribute user traffic across endpoints deployed on multiple data centers based on organization assignments.

POST   /application/{applicationId}/deployment

			https://{Hostname}/v1/application/{applicationId}/deployment
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.post("https://{Hostname}/v1/application/{applicationId}/deployment") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Define features for a UBX application.
UBX features are associated with a specific UBX application. Event types are associated with a specific feature. In this way, features become containers for different combinations of events that can be associated with different endpoints. The name and description that you assign as part of this API call are for internal use only. Neither appears in the UBX user interface. The call response includes a system-defined feature ID that you use in other application API calls.

POST   /application/{id}/feature

			https://{Hostname}/v1/application/{id}/feature
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.post("https://{Hostname}/v1/application/{id}/feature") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Delete a UBX application.
Use this API to remove the specified UBX application.

DELETE   /application/{id}

			https://{Hostname}/v1/application/{id}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.delete("https://{Hostname}/v1/application/{id}") .header("accept", "application/json") .header("content-type", "*/*") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Determine the visibility status of a UBX application.
Use this API to determine the status of a UBX application. The status of a UBX application can be either PUBLIC or PRIVATE. PUBLIC: the application is visible to all accounts in the UBX pilot environment. PRIVATE: the application is visible only to authorized users in the UBX account in which the application was created.

GET   /application/{id}/status

			https://{Hostname}/v1/application/{id}/status
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.get("https://{Hostname}/v1/application/{id}/status") .header("accept", "text/plain") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Remove an event type that is defined for a feature that is part of a UBX application.
Call this API to remove an event type from the feature that is specified by the featureID that you include in the request URL.

DELETE   /application/{appid}/feature/{featureid}/eventtype/{code}

			https://{Hostname}/v1/application/{appid}/feature/{featureid}/eventtype/{code}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.delete("https://{Hostname}/v1/application/{appid}/feature/{featureid}/eventtype/{code}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Remove a specified UBX deployment.
Call this API to delete an existing deployment.

DELETE   /application/{applicationId}/deployment/{deploymentId}

			https://{Hostname}/v1/application/{applicationId}/deployment/{deploymentId}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.delete("https://{Hostname}/v1/application/{applicationId}/deployment/{deploymentId}") .header("accept", "application/json") .header("content-type", "*/*") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Remove information that defines how to connect to a deployed application.
Call this API to delete the information that UBX has stored that defines how UBX connects to your endpoint. The removal applies only to the deployment that you specify as a URL parameter in the call.

DELETE   /application/{appid}/deployment/{deploymentid}/onboarding

			https://{Hostname}/v1/application/{appid}/deployment/{deploymentid}/onboarding
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.delete("https://{Hostname}/v1/application/{appid}/deployment/{deploymentid}/onboarding") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Request details for all applications that are associated with a account-level authentication key.
This API returns details for all applications that are associated with the account authentication key that was specified when the application was created with a call to POST v1/application. The response includes application details as JSON for each application, including the application ID for each application.

GET   /application

			https://{Hostname}/v1/application
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.get("https://{Hostname}/v1/application") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Request information about a feature that is associated with a UBX application.
Call this API to get details for a specific feature that is associated with a UBX application. The feature provides the means to associate event types with the UBX applications and through the application to make the event types available to UBX endpoints that are based on the application.

GET   /application/{id}/feature/{externalFeatureID}

			https://{Hostname}/v1/application/{id}/feature/{externalFeatureID}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.get("https://{Hostname}/v1/application/{id}/feature/{externalFeatureID}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Request information about all of the deployments that have been defined for a UBX application.
UBX endpoints are based on UBX applications that support connecting to multiple data centers. Call this API to request access information for all of the data centers that UBX must access to support the UBX endpoints that are based on the specified application. This API returns an array of application deployment objects that list the details in JSON format.

GET   /application/{applicationId}/deployment/all

			https://{Hostname}/v1/application/{applicationId}/deployment/all
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.get("https://{Hostname}/v1/application/{applicationId}/deployment/all?extraFields=true") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Request information about an event type that is defined for a feature that is part of a UBX application.
Call this API to retrieve information about the event types that have been added to features that are added to a UBX application. The event types that are added to the feature are the event types that are available to UBX users through the UBX endpoint that is based on the UBX application.

GET   /application/{appid}/feature/{featureid}/eventtype/{code}

			https://{Hostname}/v1/application/{appid}/feature/{featureid}/eventtype/{code}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.get("https://{Hostname}/v1/application/{appid}/feature/{featureid}/eventtype/{code}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Request information about a specific deployment definition.
UBX endpoints are based on UBX applications that support connecting to multiple data centers. Call this API to request details about a deployment that provides UBX with the access information it requires to communicate with the data centers. The API returns an application deployment object that lists the details in JSON format.

GET   /application/{applicationId}/deployment/{deploymentId}

			https://{Hostname}/v1/application/{applicationId}/deployment/{deploymentId}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.get("https://{Hostname}/v1/application/{applicationId}/deployment/{deploymentId}?extraFields=true") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Retrieve information about an existing UBX application.
Call this API to get details for a specific UBX application.

GET   /application/{id}

			https://{Hostname}/v1/application/{id}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.get("https://{Hostname}/v1/application/{id}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Specify or update the connection information that is defined for a deployed UBX application.
After UBX users start the endpoint registration process by generating an endpoint-level authentication key in the UBX user interface, they must be able to authenticate with your endpoint. Call this API to specify how UBX users can add your endpoint to their UBX working environment and the access credentials they require.

PUT   /application/{appid}/deployment/{deploymentid}/onboarding

			https://{Hostname}/v1/application/{appid}/deployment/{deploymentid}/onboarding
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.put("https://{Hostname}/v1/application/{appid}/deployment/{deploymentid}/onboarding") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Update an event type that is defined for a feature that is part of a UBX application.
Call this API to update event types that will be available to UBX endpoints through the definition of UBX applications and features. As you implement and maintain your business solution with UBX, you can call this API to make necessary adjustments and additions.

PUT   /application/{appid}/feature/{featureid}/eventtype/{code}

			https://{Hostname}/v1/application/{appid}/feature/{featureid}/eventtype/{code}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.put("https://{Hostname}/v1/application/{appid}/feature/{featureid}/eventtype/{code}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Update the definition of a UBX application.
Call PUT /v1/application/{application Id} to make changes to the definition of a UBX application. For example, as you are implementing your business solution with UBX, you can call this API to make adjustments.

PUT   /application/{id}

			https://{Hostname}/v1/application/{id}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.put("https://{Hostname}/v1/application/{id}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Update the deployment definition for a UBX application.
Call this API to change the information that UBX uses to connect to your endpoint on various data centers.

PUT   /application/{applicationId}/deployment/{deploymentId}

			https://{Hostname}/v1/application/{applicationId}/deployment/{deploymentId}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.put("https://{Hostname}/v1/application/{applicationId}/deployment/{deploymentId}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();
Update the visibility status of a UBX application.
Use this API to change the status of a UBX application. The status of a UBX application can be either PUBLIC or PRIVATE. PUBLIC: the application is visible to all accounts in the UBX pilot environment. PRIVATE: the application is visible only to authorized users in the UBX account in which the application was created.

PUT   /application/{id}/{status}

			https://{Hostname}/v1/application/{id}/{status}
		
Keys
Global variables

Hostname

STRING , required

Request code
								
HttpResponse<String> response = Unirest.put("https://{Hostname}/v1/application/{id}/{status}") .header("accept", "application/json") .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .asString();

Loading content...