Set membership metadata
Sets channel membership metadata for the specified UUID. Use the set
and delete
properties in the request body to perform those operations on one or more memberships.
Returns the updated UUID's channel membership metadata, optionally including:
- UUID's custom properties
- Custom properties for the UUID's membership in each channel
- Each channel's custom properties
Note:
-
You can change all of the membership object's properties except its identifier.
-
Invalid property names are silently ignored and will not cause a request to fail.
-
If you set the
custom
property, you must completely replace it since partial updates are not supported. -
The custom object can only contain scalar values.
-
Enabling referential integrity on your app’s keyset in the Admin Portal ensures that memberships can only be created for existing users and channels, and automatically deletes memberships when their associated user or channel is deleted.
If it’s not enabled, memberships can be created even for the non-existent user and channel entities, while deleting a user or channel entity does not automatically delete any associated membership objects.
Path Parameters |
---|
sub_key string — REQUIREDYour app's subscribe key from Admin Portal. |
uuid string — REQUIREDA UTF-8 encoded string used to identify the client. Must not be empty and can contain up to 92 UTF-8 byte sequences. Prohibited characters are: |
Query Parameters |
---|
include string[]Possible values: [ List of additional/complex metadata to include in the response. Omit this query parameter if you don't want to retrieve additional metadata. |
limit integerPossible values: value ≤ 100 Number of objects to return in response. Default is |
start stringRandom string returned from the server, including a specific position in a data set. Used for forward pagination, it fetches the next page, allowing you to continue from where you left off. |
end stringRandom string returned from the server, including a specific position in a data set. Used for backward pagination, it fetches the previous page, enabling access to earlier data. Ignored if the |
count booleanRequest |
filter stringExpression used to filter the results. Only objects whose properties satisfy the given expression are returned. For details on App Context Filtering, refer to documentation. Note the following:
Example (Simple expression):
Example (Date/time comparison):
Example (Compound expression):
Example (Wildcard):
Example (Escaped wildcard):
|
sort string[]Possible values: Value must match regular expression List of properties to sort by.
Append Example:
|
auth stringString which is either the auth key (PAM v2) or a valid token (Access Manager) used to authorize the operation if access control is enabled. Authorization token with permissions to perform the request. |
signature stringSignature used to verify that the request was signed with the secret key associated with the subscribe key. If Access Manager is enabled, either a valid authorization token or a signature are required. Check Access Manager documentation for details on how to compute the signature. |
timestamp integerUnix epoch timestamp used as a nonce for signature computation. Must have no more than ± 60 seconds offset from NTP.
Required if |
Request Body — REQUIRED JSON object with changes to the UUID's channel membership metadata. | |||||
---|---|---|---|---|---|
set object[]
| |||||
delete object[]
|
Responses | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
200 Successfully set the UUID's channel membership metadata.
| ||||||||||||||||||||
400 The request body contains invalid data.
| ||||||||||||||||||||
403 Disabled - The subscribe key doesn't have App Context API enabled. Forbidden - The client isn't authorized to perform this operation. The authorization key you provided doesn't have the required permissions for this operation.
| ||||||||||||||||||||
415 The format of the request body you supplied isn't supported. The request body must be in JSON format.
| ||||||||||||||||||||
429 Request rate limit exceeded.
| ||||||||||||||||||||
500 An internal server error occurred.
| ||||||||||||||||||||
503 Request processing exceeded the maximum allowed time.
|