Signups
- Last UpdatedJul 16, 2025
- 9 minute read
The Signups API allows users to create, update, view, and delete signups. Signups allow for the user who creates the Signup, the owner, to subscribe resources (for example, streams) to a signup and receive all 'change data' updates from the resources.
Get All Signups
Gets all signups in a tenant's namespace.
Request
GET /api/v1/tenants/{tenantId}/namespaces/{namespaceId}/signups
?skip={skip}&count={count}
Parameters
string tenantId
string namespaceId
[optional] integer skip
Parameter representing the zero-based offset of the first signup to retrieve. If unspecified, a default value of 0 is used.[optional] integer count
Parameter representing the maximum number of signups to retrieve. If unspecified, a default value of 100 is used.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| Community-Id | string | false | Community unique identifier. Must be provided to retrieve signups containing resources shared in a community. |
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | SignupCollection | Returns the signups for the tenant. This is a collection containing a list of Signup objects. |
| 400 | None | Bad request. |
| 403 | None | Forbidden. The client does not have the required permissions to make the request. |
| 500 | None | Internal Server Error. The server has encountered a situation it doesn't know how to handle. |
Response Headers
| Status | Header | Type | Description |
|---|---|---|---|
| 200 | Total-Count | integer | Total number of signups. |
Example response body
200 Response
{
"Signups": [
{
"Id": "string",
"Name": "string",
"Owner": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Activating"
},
{
"Id": "string",
"Name": "string",
"Owner": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Active"
},
{
"Id": "string",
"Name": "string",
"Owner": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"ExpiredDate": "2019-09-24T14:15:22Z",
"SignupState": "Expired"
}
]
}
Create Signup
Creates a signup for the list of resource identifiers provided. Upon creating your signup, it will be placed in the Activating SignupState. It is essential to invoke GetSignupById while your signup is in this Activating SignupState. Note that invoking GetSignupById will change the signup's SignupState from Activating to Active only when the background setup process is finished.
Request
POST /api/v1/tenants/{tenantId}/namespaces/{namespaceId}/signups
Parameters
string tenantId
string namespaceId
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| Community-Id | string | false | Community unique identifier. Represents a signup for resources shared to the specified Community Id. Must be provided if the signup contains shared resources. |
Request Body
CreateSignupInput. Input of the signup to be created.
{
"Name": "string",
"ResourceType": "Stream",
"ResourceIds": [
"string"
]
}
Response
| Status Code | Body Type | Description |
|---|---|---|
| 202 | Signup | Accepted. Background services are validating access permission to resources. |
| 400 | None | Bad request. |
| 403 | None | Forbidden. The client does not have the required permissions to make the request. |
| 500 | None | The server has encountered a situation it doesn't know how to handle. |
Example response body
202 Response
{
"Id": "string",
"Name": "string",
"Owner": {
"Type": "Client",
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Activating"
}
Get Signup By Id
Retrieves a signup by signup identifier.
Notes: Each signup includes a SignupState that describes its current status. To set your signup to a SignupState of Active, you must invoke this route while the SignupState is Activating. This route can only activate your signup after the background setup process completes, so retries may be required if the signup response is still in a SignupState of Activating.
All SignupStates are accompanied by a separate property of ModifiedDate, which indicates the date and time of the most recent modification to the signup, such as changing its properties by invoking the Update Signup route, updating a signup's resource subscriptions, or when the signup's SignupState changes.
Based on the returned SignupState value, the response may include additional properties, which are described below:
Activating: Includes an emptyBookmark.Active: Includes an encodedBookmarkthat can be used to retrieve change data updates from subscribed resources.Expired: Includes an emptyBookmarkand an additionalExpiredDatetimestamp. Expired signups cannot be reactivated.
Request
GET /api/v1/tenants/{tenantId}/namespaces/{namespaceId}/signups/{signupId}
Parameters
string tenantId
string namespaceId
string signupId
Signup unique identifier.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| Community-Id | string | false | Community unique identifier. Must be provided to retrieve a signup containing resources shared through a community. |
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | SignupWithBookmark | Success. Returns the signup. |
| 400 | None | Bad request. |
| 403 | None | Forbidden. The client does not have the required permissions to make the request. |
| 404 | None | Not Found. |
| 500 | None | The server has encountered a situation it doesn't know how to handle. |
Example response body
200 Response
{
"Bookmark": "string",
"Id": "string",
"Name": "string",
"Owner": {
"Type": "Client",
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Active"
}
Update Signup
Updates the properties (for example, name) of a signup.
Request
PUT /api/v1/tenants/{tenantId}/namespaces/{namespaceId}/signups/{signupId}
Parameters
string tenantId
string namespaceId
string signupId
Signup unique identifier.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| Community-Id | string | false | Community unique identifier. Must be provided if the signup contains resources shared in a community. |
Request Body
UpdateSignupInput. Signup input object to replace the existing signup's properties.
{
"Name": "string"
}
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | Signup | Success. Signup updated. |
| 400 | None | Bad request. |
| 403 | None | Forbidden. The client does not have the required permissions to make the request. |
| 404 | None | Not Found. |
| 500 | None | The server has encountered a situation it doesn't know how to handle. |
Example response body
200 Response
{
"Id": "string",
"Name": "string",
"Owner": {
"Type": "Client",
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Active"
}
Delete Signup
Deletes a signup.
Request
DELETE /api/v1/tenants/{tenantId}/namespaces/{namespaceId}/signups/{signupId}
Parameters
string tenantId
string namespaceId
string signupId
Signup unique identifier.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| Community-Id | string | false | Community unique identifier. Must be provided to delete a signup containing shared resources.. |
Response
| Status Code | Body Type | Description |
|---|---|---|
| 204 | None | No content. Signup was successfully deleted. |
| 400 | None | Bad request. |
| 403 | None | Forbidden. The client does not have the required permissions to make the request. |
| 404 | None | Not Found. |
| 500 | None | The server has encountered a situation it doesn't know how to handle. |
Get Signup Owner By Id
Retrieves the trustee (owner) of a signup.
Request
GET /api/v1/tenants/{tenantId}/namespaces/{namespaceId}/signups/{signupId}/owner
Parameters
string tenantId
string namespaceId
string signupId
Signup unique identifier.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| Community-Id | string | false | Community unique identifier. Must be provided if the signup contains shared resources. |
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | Trustee | Success. Returns the signup owner identifier. |
| 400 | None | Bad request. |
| 403 | None | Forbidden. The client does not have the required permissions to make the request. |
| 404 | None | Not Found. |
| 500 | None | The server has encountered a situation it doesn't know how to handle. |
Example response body
200 Response (Trustee)
{
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
}
Get Signup Resources
Retrieves a list of the signup's resources.
Request
GET /api/v1/tenants/{tenantId}/namespaces/{namespaceId}/signups/{signupId}/resources
?skip={skip}&count={count}&resourceFilter={resourceFilter}
Parameters
string tenantId
string namespaceId
string signupId
Signup unique identifier.
[optional] integer skip
Parameter representing the zero-based offset of the first resource to retrieve. If unspecified, a default value of 0 is used.[optional] integer count
Maximum number of signup resources to be returned. If unspecified, a default value of 100 is used.[optional] any resourceFilter
SignupResourceFilter. Specifies the accessibility of resources to be returned. If unspecified, all resources will be returned.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| Community-Id | string | false | Community unique identifier. Must be provided if the signup contains shared resources. |
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | SignupResources | Ok. Returns the signup's resources. |
| 400 | None | Bad request. |
| 403 | None | Forbidden. The client does not have the required permissions to make the request. |
| 404 | None | Not Found. |
| 500 | None | The server has encountered a situation it doesn't know how to handle. |
Response Headers
| Status | Header | Type | Description |
|---|---|---|---|
| 200 | Total-Count | integer | Total number of signup resources. |
Example response body
200 Response (SignupResources)
{
"Resources": [
{
"ResourceId": "string",
"IsAccessible": true
}
]
}
Update Signup Resources
Subscribes and/or unsubscribes resources to an Active Signup.
Request
POST /api/v1/tenants/{tenantId}/namespaces/{namespaceId}/signups/{signupId}/resources
Parameters
string tenantId
string namespaceId
string signupId
Signup unique identifier.
Request Headers
| Header | Type | Required | Description |
|---|---|---|---|
| Community-Id | string | false | Unique Community Identifier. Must be provided in order to add or remove shared resources. |
Request Body
SignupResourcesInput. Signup resources input object to replace signup's resources.
{
"ResourcesToAdd": [
"string"
],
"ResourcesToRemove": [
"string"
]
}
Response
| Status Code | Body Type | Description |
|---|---|---|
| 202 | None | Accepted. Background services are validating access permission to added resources. |
| 207 | SignupInvalidResources | Multistatus response if some resources to be updated were invalid or failed. |
| 400 | None | Bad request. |
| 403 | None | Forbidden. The client does not have the required permissions to make the request. |
| 404 | None | Not Found. |
| 500 | None | The server has encountered a situation it doesn't know how to handle. |
Example response body
207 Response (SignupInvalidResources)
{
"InvalidResourcesToRemove": [
"string"
],
"FailedResourceIds": [
"string"
]
}
Definitions
Signup
Represents a signup base model.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Id | string | true | false | Signup Identifier. |
| Name | string | true | false | Signup Name. |
| Owner | Trustee | true | false | Signup Owner. |
| CommunityId | string | false | true | Community Identifier Associated with Signup. |
| Type | ResourceType | true | false | Signup Resource Type. |
| CreatedDate | date-time | true | false | Date Signup was Created. |
| ModifiedDate | date-time | true | false | Date Signup was Last Modified. |
| ExpiredDate | date-time | false | true | Date Signup was expired. Signups expire after 24 hours of inactivity. |
| SignupState | SignupState | true | false | Signup Status. |
{
"Id": "string",
"Name": "string",
"Owner": {
"Type": "Client",
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Active"
}
Trustee
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Type | TrusteeType | false | false | None |
| ObjectId | string | false | true | None |
| TenantId | string | false | true | None |
{
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
}
TrusteeType
Enumerated Values
| Property | Value |
|---|---|
| User | 1 |
| Client | 2 |
| Role | 3 |
ResourceType
The resource type.
Enumerated Values
| Property | Value | Description |
|---|---|---|
| Stream | Stream | Stream resource. |
SignupState
Signup Status.
Enumerated Values
| Property | Value | Description |
|---|---|---|
| Activating | Activating | Signup is being activated. |
| Active | Active | Signup is active. |
| Expired | Expired | Signup is expired. |
| Failed | Failed | Signup is failed. |
CreateSignupInput
The CreateSignupInput object.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Name | string | false | true | Signup Name. |
| ResourceType | ResourceType | true | false | Resource type of the resource identifiers. |
| ResourceIds | string[] | true | false | Collection of resource identifiers. |
{
"Name": "string",
"ResourceType": "Stream",
"ResourceIds": [
"string"
]
}
SignupCollection
A collection of signups.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Signups | [Signup] | true | false | Collection of signups. |
{
"Signups": [
{
"Id": "string",
"Name": "string",
"Owner": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Active"
}
]
}
SignupWithBookmark
Represents a signup model with encoded bookmark.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Id | string | true | false | Signup Identifier. |
| Name | string | true | false | Signup Name. |
| Owner | Trustee | true | false | Signup Owner. |
| CommunityId | string | false | true | Community Identifier Associated with Signup. |
| Type | ResourceType | true | false | Signup Resource Type. |
| CreatedDate | date-time | true | false | Date Signup was Created. |
| ModifiedDate | date-time | true | false | Date Signup was Last Modified. |
| ExpiredDate | date-time | false | true | Date Signup was expired. Signups expire after 24 hours of inactivity. |
| SignupState | SignupState | true | false | Signup Status. |
| Bookmark | string | true | false | An encoded string representing a starting point for updates retrieval. Bookmarks expire after 1 hour. |
{
"Bookmark": "string",
"Id": "string",
"Name": "string",
"Owner": {
"Type": "Client",
"ObjectId": "string",
"TenantId": "string"
},
"CommunityId": "string",
"Type": "Stream",
"CreatedDate": "2019-08-24T14:15:22Z",
"ModifiedDate": "2019-08-24T14:15:22Z",
"SignupState": "Active"
}
UpdateSignupInput
The UpdateSignupInput object.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Name | string | true | false | Signup name to be updated. |
{
"Name": "string"
}
SignupResources
A model that holds lists of recources retrieved from signup.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Resources | [SignupResource] | true | false | Collection of resources from a signup. |
{
"Resources": [
{
"ResourceId": "string",
"IsAccessible": true
}
]
}
SignupResource
A model that holds a signup resource.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| ResourceId | string | true | false | Resource Identifier. |
| IsAccessible | boolean | true | false | Boolean indicating if resource is accessible or inaccessible. |
{
"ResourceId": "string",
"IsAccessible": true
}
SignupResourceFilter
Filter to be applied to Signup Resources.
Enumerated Values
| Property | Value | Description |
|---|---|---|
| Inaccessible | Inaccessible | Returns inaccessible signup resources. |
| Accessible | Accessible | Returns accessible signup resources. |
| All | All | Returns accessible and inaccessible signup resources. |
SignupInvalidResources
The SignupInvalidResources object.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| InvalidResourcesToRemove | string[] | false | false | Invalid resources to remove that were not subscribed to the signup. |
| FailedResourceIds | string[] | false | true | Failed resources that could not be added or removed. |
{
"InvalidResourcesToRemove": [
"string"
],
"FailedResourceIds": [
"string"
]
}
SignupResourcesInput
The SignupResourcesInput object.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| ResourcesToAdd | string[] | true | false | Signup resources to be added. |
| ResourcesToRemove | string[] | true | false | Signup resources to be removed. |
{
"ResourcesToAdd": [
"string"
],
"ResourcesToRemove": [
"string"
]
}