Skip to content

Long Poll For Notifications

GET
/notification/v1/instance/{instance_id}/stream/notification/lp

This endpoint will return notifications newer than exclude_before. This endpoint returns notifications from older to newer, which is the opposite of the paging API. The returned cursor value can be used as exclude_before in subsequent polls to ensure you only receive new notifications.

This operation is a long-poll. That means we will keep the connection open until we get any notification or until the passed in deadline (to the best of our ability). Once one of these happens, we will return the notifications found.

This version can be used for any client provided its id (with proper permissions)

Required Permissions:

  • For any instance (including themselves) any of: notification:instance:read, notification:instance:*

  • For the instance themselves any of: notification:instance:self:read, notification:instance:self:*

Authorizations

Parameters

Path Parameters

instance_id
required
string

Query Parameters

max_page_size

Max number of entries to return at one time

integer
default: 10 >= 1 <= 100

Max number of entries to return at one time

exclude_before

All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque

string

All notifications including and before this (chronologically) provided id will be ignored when returning results. You cannot depend on the format of this string, and it must be considered opaque

offset_reset_strategy

When exclude_before is not found in the stream or not given, begin streaming messages from the earliest/latest message

string
Allowed values: latest earliest

When `exclude_before` is not found in the stream or not given, begin streaming messages from the earliest/latest message

deadline

We will try to the best of our ability to return by this deadline, even when we have no notifications. Value should be in seconds

integer
default: 30 <= 900

We will try to the best of our ability to return by this deadline, even when we have no notifications. Value should be in seconds

Responses

200

Successful Response

object
notifications

List of notifications

Array<object>
default:
object
message
required

Base Message for the notification

string
<= 4096 characters
rh_url

Path to get additional data about this notification

string
>= 1 characters <= 4096 characters
custom_data

Custom values for the notification

object
key
additional properties
string
>= 1 characters <= 4096 characters
etag

ETag for the resource at rh_url at the time of this notification

string
>= 1 characters
notification_id
required

Unique Identifier for the notification. You cannot depend on the format of this string, and it must be considered opaque

string
created
required

When this notification was added

string format: date-time
cursor
required

Cursor to use for the next request

string

400

Error Codes:

  • bad_id - Passed client id is not a valid id
object
auth_success
boolean
default: true
error_code
required
string
desc
required
string

403

Error Codes:

  • auth_token_format - Invalid Authorization - {}
  • auth_invalid_key_id - Invalid Authorization - Invalid Key ID in Access Token
  • auth_invalid_version - Invalid Authorization - version
  • auth_malformed_access - Invalid Authorization - malformed access token
  • insufficient_permissions - Insufficient Permissions
  • auth_not_jwt - Invalid Authorization
  • auth_token_expired - Token is expired
  • auth_token_unknown - Failed to parse token
  • auth_token_invalid_claim - Token contained invalid claim value: {}
  • auth_token_sig_invalid - Token Signature is invalid
object
auth_success
boolean
default: true
error_code
required
string
desc
required
string

409

Error Codes:

  • too_many_listening_to_single_client - An enumeration.
object
auth_success
boolean
default: true
error_code
required
string
desc
required
string

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string

503

Error Codes:

  • connection_limit_reached - An enumeration.
object
auth_success
boolean
default: true
error_code
required
string
desc
required
string