Subscribed Things

Location /api/apps/{appID}/buckets/{bucketID}/filters/{filterID}/push/subscriptions/things
The collection of things subscribed to the filter.

Request Headers (Applies to all methods)

Authorization
header
Required: Yes

POST

/api/apps/{appID}/buckets/{bucketID}/filters/{filterID}/push/subscriptions/things

Description

Subscribe the current authenticated thing to the filter. If the target bucket does not exist, the bucket will be created before subscribing the thing to it. The thing becomes the bucket owner in this case.

Security

Can be performed with thing credentials. The thing needs to have the query permission to the bucket where the filter belongs. If the target bucket does not exist, the thing also needs to have the bucket creation permission.

Note

This request requires empty body.

Headers
Name Required? type Description
Authorization Yes string Authorization header. OAuth2 Bearer token
Responses
204

Content-Type (None)

The thing has been subscribed successfully to the filter.
Note This response has no contents.
404

Content-Type application/vnd.kii.FilterNotFoundException+json

The filter to subscribe the thing was not found.
Contents
Name Type Description
errorCode string Error code "FILTER_NOT_FOUND".
message string The error message.
409

Content-Type application/vnd.kii.PushSubscriptionAlreadyExistsException+json

The thing was already subscribed to the filter.
Contents
Name Type Description
errorCode string Error code "PUSH_SUBSCRIPTION_ALREADY_EXISTS".
message string The error message.
topicID string The ID of the topic where the subscription already exists
objectScope ObjectScope The scope of the topic
appID string The ID of the application.
userID string The ID of the user. Only provided for a user-scope bucket.
groupID string The ID of the group. Only provided for a group-scope bucket.
thingID string The ID of the thing. Only provided for a thing-scope bucket.
type string One of "APP", "APP_AND_USER", "APP_AND_GROUP", or "APP_AND_THING".
subject string The subject that is already subscribed to the topic/filter
401

Content-Type application/vnd.kii.UnauthorizedAccessException+json

Not authorized to access this method.
Contents
Name Type Description
errorCode string Error code "UNAUTHORIZED".
message string The error message.
authenticatedAppID string The authenticated appID.
authenticatedPrincipalID string The authenticated principal ID (userID or thingID).

POST

/api/apps/{appID}/buckets/{bucketID}/filters/{filterID}/push/subscriptions/things

Description

Subscribe the current authenticated thing to the filter with a push configuration. If the target bucket does not exist, the bucket will be created before subscribing the thing to it. The thing becomes the bucket owner in this case.

Security

Can be performed with thing credentials. The thing needs to have the query permission to the bucket where the filter belongs. If the target bucket does not exist, the thing also needs to have the bucket creation permission.

Content-Type application/vnd.kii.CreatePushSubscriptionRequest+json

The data for configuring the push message parameters. the thing will receive the push messages through this subscription.

Headers
Name Required? type Description
Authorization Yes string Authorization header. OAuth2 Bearer token
Params
Name Required? Type Description
pushConfiguration PushConfiguration
gcm GCMConfigurationType
apns APNSConfigurationType
mqtt MQTTConfigurationType
sendAppID boolean Set true or false to send "AppID" field in notifications.
sendSender boolean Set true or false to send "Sender" field in notifications.
sendWhen boolean Set true or false to send "When" field in notifications.
sendObjectScope boolean Set true or false to send "ObjectScope" field in notifications.
sendTopicID boolean Set true or false to send "TopicID" field in notifications.
sendSourceURI boolean Set true or false to send "sourceURI" field in notifications. The value is true by default.
sendSenderURI boolean Set true or false to send "SenderURI" field in notifications. The value is true by default.
sendOrigin boolean Set true or false to send "Origin" field in notifications.
sendBucketID boolean Set true or false to send "BucketID" field in notifications.
sendBucketType boolean Set true or false to send "BucketType" field in notifications.
sendObjectID boolean Set true or false to send "ObjectID" field in notifications.
sendModifiedAt boolean Set true or false to send "ModifiedAt" field in notifications.
sendMessageType boolean Set true or false to send "MessageType" field in notifications.
Sample Request
{
  "pushConfiguration": "[PushConfiguration]"
}
Responses
204

Content-Type (None)

The thing has been subscribed successfully to the filter.
Note This response has no contents.
404

Content-Type application/vnd.kii.FilterNotFoundException+json

The filter to subscribe the thing was not found.
Contents
Name Type Description
errorCode string Error code "FILTER_NOT_FOUND".
message string The error message.
409

Content-Type application/vnd.kii.PushSubscriptionAlreadyExistsException+json

The thing was already subscribed to the filter.
Contents
Name Type Description
errorCode string Error code "PUSH_SUBSCRIPTION_ALREADY_EXISTS".
message string The error message.
topicID string The ID of the topic where the subscription already exists
objectScope ObjectScope The scope of the topic
appID string The ID of the application.
userID string The ID of the user. Only provided for a user-scope bucket.
groupID string The ID of the group. Only provided for a group-scope bucket.
thingID string The ID of the thing. Only provided for a thing-scope bucket.
type string One of "APP", "APP_AND_USER", "APP_AND_GROUP", or "APP_AND_THING".
subject string The subject that is already subscribed to the topic/filter
401

Content-Type application/vnd.kii.UnauthorizedAccessException+json

Not authorized to access this method.
Contents
Name Type Description
errorCode string Error code "UNAUTHORIZED".
message string The error message.
authenticatedAppID string The authenticated appID.
authenticatedPrincipalID string The authenticated principal ID (userID or thingID).