Manage change broker stream data updates
- Last UpdatedJun 10, 2025
- 3 minute read
You can use the API console to configure a Signup that collects data updates from a defined list of stream Id(s) of interest. This works with the Sequential Data Store (SDS). For more on SDS and streams, read Sequential Data Store.
Follow the steps below to create a Signup, activate a Signup, and receive change data updates. Note that all three must be done in order.
For developer API documentation, read the change broker API reference guide.
Create a Signup
To sign up for data event updates from streams of interest, perform the following steps:
-
In the left pane, select Developer Tools > API Console.
-
Select v1 in the Full Path dropdown selector.
-
Select POST in the Verb dropdown selector.
The POST button appears.
-
In the URI field, type / at the end of the existing text, then select your desired Namespace. Then, type /Signups to go to the Signups endpoint.
-
Insert body text. There are two options:
-
Select the Insert Signup Template button. This will generate a Signup template for you. Define the name of the Signup and add the stream Id(s) in the ResourceIds field.
-
Paste the body text in the Body field. You should include the name of your Signup in the Name field, the resource type in the ResourceType field (currently, Stream is the only ResourceType supported by change broker), and the stream Id(s) in the ResourceIds field. See below for an example:
{
"Name": "<resource name>",
"ResourceType": "Stream",
"ResourceIds": [
"<resource Id>"
]
}
For more information on the Signups API, read the Signups topic in API reference.
-
-
Select the POST button.
You should receive output containing a Signup Id and a SignupState of Activating.
{
"Id": "<GUID>",
"Name": "<resource name>",
"Owner": {
"Type": "User",
"ObjectId": "<GUID>",
"TenantId": "<GUID>"
},
"CommunityId": "",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Activating"
}
Activate a Signup
To activate stream updates, perform the following steps:
-
Copy the Id provided in the previous output.
-
Select GET in the Verb dropdown selector.
The GET button appears.
-
In the URI field, type / at the end of the existing text, then paste in your Id.
-
Select the GET button.
Note: Very large Signups may take time to complete creation and may return a SignupState of "Activating" instead of the desire SignupState of "Active."
A SignupState of Active appears in the output. This indicates that change data is being collected for the Streams in the Signup. A bookmark also appears in the output.
{
"bookmark": "<GUID>",
"Id": "<GUID>",
"Name": "<resource name>",
"Owner": {
"Type": 1,
"ObjectId": "<GUID>",
"TenantId": "<GUID>"
},
"CommunityId": "<GUID>",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Active"
}
-
Copy the bookmark to receive change data updates.
Bookmarks are a unique identifier to a Signup and cannot be used for multiple Signups.
Receive change data updates
To receive stream updates, perform the following steps:
-
Copy the bookmark from the GET Signup endpoint body.
-
In the URI field, delete /Resources and type /Updates.
-
Paste your bookmark in the Parameters field of the API console.
-
Select the GET button.
The stream updates appear in the output.
{
"data": [
{
"resourceId": "<resource Id>",
"operation": "Update",
"events": [
{
"Timestamp": "<timestamp>",
"Value": <GUID>
}
]
}
],
"bookmark": "<GUID>"
}
You will now receive data event updates via the Change Data Broker. You must use the provided bookmark in this output in the next /Updates call to receive the next set of change data.
(Optional) View accessible resources
Tenant admins can view all Signups created by users in the tenant. However, only the Signup owner is able to query a Signup.
To view the streams that are accessible for data event updates, perform the following steps:
-
In the URI field, type /Resources after your Id.
-
Select GET.
The AccessibleResources and InaccessibleResources appear in the output.
{
"resources": [
{
"resourceId": "Value",
"isAccessible": false
}
]
}