Amazon Interactive Video Service RealTime

2025/12/09 - Amazon Interactive Video Service RealTime - 1 updated api methods

Changes  Token Exchange introduces seamless token exchange capabilities for IVS RTX, enabling customers to upgrade or downgrade token capabilities and update token attributes within the IVS client SDK without forcing clients to disconnect and reconnect.

ListParticipantEvents (updated) Link ¶
Changes (response)
{'events': {'name': {'TOKEN_EXCHANGED'},
            'newToken': {'attributes': {'string': 'string'},
                         'capabilities': ['PUBLISH | SUBSCRIBE'],
                         'expirationTime': 'timestamp',
                         'userId': 'string'},
            'previousToken': {'attributes': {'string': 'string'},
                              'capabilities': ['PUBLISH | SUBSCRIBE'],
                              'expirationTime': 'timestamp',
                              'userId': 'string'}}}

Lists events for a specified participant that occurred during a specified stage session.

See also: AWS API Documentation

Request Syntax

client.list_participant_events(
    stageArn='string',
    sessionId='string',
    participantId='string',
    nextToken='string',
    maxResults=123
)
type stageArn:

string

param stageArn:

[REQUIRED]

Stage ARN.

type sessionId:

string

param sessionId:

[REQUIRED]

ID of a session within the stage.

type participantId:

string

param participantId:

[REQUIRED]

Unique identifier for this participant. This is assigned by IVS and returned by CreateParticipantToken.

type nextToken:

string

param nextToken:

The first participant event to retrieve. This is used for pagination; see the nextToken response field.

type maxResults:

integer

param maxResults:

Maximum number of results to return. Default: 50.

rtype:

dict

returns:

Response Syntax

{
    'events': [
        {
            'name': 'JOINED'|'LEFT'|'PUBLISH_STARTED'|'PUBLISH_STOPPED'|'SUBSCRIBE_STARTED'|'SUBSCRIBE_STOPPED'|'PUBLISH_ERROR'|'SUBSCRIBE_ERROR'|'JOIN_ERROR'|'REPLICATION_STARTED'|'REPLICATION_STOPPED'|'TOKEN_EXCHANGED',
            'participantId': 'string',
            'eventTime': datetime(2015, 1, 1),
            'remoteParticipantId': 'string',
            'errorCode': 'INSUFFICIENT_CAPABILITIES'|'QUOTA_EXCEEDED'|'PUBLISHER_NOT_FOUND'|'BITRATE_EXCEEDED'|'RESOLUTION_EXCEEDED'|'STREAM_DURATION_EXCEEDED'|'INVALID_AUDIO_CODEC'|'INVALID_VIDEO_CODEC'|'INVALID_PROTOCOL'|'INVALID_STREAM_KEY'|'REUSE_OF_STREAM_KEY'|'B_FRAME_PRESENT'|'INVALID_INPUT'|'INTERNAL_SERVER_EXCEPTION',
            'destinationStageArn': 'string',
            'destinationSessionId': 'string',
            'replica': True|False,
            'previousToken': {
                'capabilities': [
                    'PUBLISH'|'SUBSCRIBE',
                ],
                'attributes': {
                    'string': 'string'
                },
                'userId': 'string',
                'expirationTime': datetime(2015, 1, 1)
            },
            'newToken': {
                'capabilities': [
                    'PUBLISH'|'SUBSCRIBE',
                ],
                'attributes': {
                    'string': 'string'
                },
                'userId': 'string',
                'expirationTime': datetime(2015, 1, 1)
            }
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • events (list) --

      List of the matching events.

      • (dict) --

        An occurrence during a stage session.

        • name (string) --

          The name of the event.

        • participantId (string) --

          Unique identifier for the participant who triggered the event. This is assigned by IVS.

        • eventTime (datetime) --

          ISO 8601 timestamp (returned as a string) for when the event occurred.

        • remoteParticipantId (string) --

          Unique identifier for the remote participant. For a subscribe event, this is the publisher. For a publish or join event, this is null. This is assigned by IVS.

        • errorCode (string) --

          If the event is an error event, the error code is provided to give insight into the specific error that occurred. If the event is not an error event, this field is null.

          • B_FRAME_PRESENT — The participant's stream includes B-frames. For details, see IVS RTMP Publishing.

          • BITRATE_EXCEEDED — The participant exceeded the maximum supported bitrate. For details, see Service Quotas.

          • INSUFFICIENT_CAPABILITIES — The participant tried to take an action that the participant’s token is not allowed to do. For details on participant capabilities, see the capabilities field in CreateParticipantToken.

          • INTERNAL_SERVER_EXCEPTION — The participant failed to publish to the stage due to an internal server error.

          • INVALID_AUDIO_CODEC — The participant is using an invalid audio codec. For details, see Stream Ingest.

          • INVALID_INPUT — The participant is using an invalid input stream.

          • INVALID_PROTOCOL — The participant's IngestConfiguration resource is configured for RTMPS but they tried streaming with RTMP. For details, see IVS RTMP Publishing.

          • INVALID_STREAM_KEY — The participant is using an invalid stream key. For details, see IVS RTMP Publishing.

          • INVALID_VIDEO_CODEC — The participant is using an invalid video codec. For details, see Stream Ingest.

          • PUBLISHER_NOT_FOUND — The participant tried to subscribe to a publisher that doesn’t exist.

          • QUOTA_EXCEEDED — The number of participants who want to publish/subscribe to a stage exceeds the quota. For details, see Service Quotas.

          • RESOLUTION_EXCEEDED — The participant exceeded the maximum supported resolution. For details, see Service Quotas.

          • REUSE_OF_STREAM_KEY — The participant tried to use a stream key that is associated with another active stage session.

          • STREAM_DURATION_EXCEEDED — The participant exceeded the maximum allowed stream duration. For details, see Service Quotas.

        • destinationStageArn (string) --

          ARN of the stage where the participant is replicated. Applicable only if the event name is REPLICATION_STARTED or REPLICATION_STOPPED.

        • destinationSessionId (string) --

          ID of the session within the destination stage. Applicable only if the event name is REPLICATION_STARTED or REPLICATION_STOPPED.

        • replica (boolean) --

          If true, this indicates the participantId is a replicated participant. If this is a subscribe event, then this flag refers to remoteParticipantId. Default: false.

        • previousToken (dict) --

          Source participant token for TOKEN_EXCHANGED event.

          • capabilities (list) --

            Set of capabilities that the user is allowed to perform in the stage.

            • (string) --

          • attributes (dict) --

            Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

            • (string) --

              • (string) --

          • userId (string) --

            Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

          • expirationTime (datetime) --

            ISO 8601 timestamp (returned as a string) for when this token expires.

        • newToken (dict) --

          Participant token created during TOKEN_EXCHANGED event.

          • capabilities (list) --

            Set of capabilities that the user is allowed to perform in the stage.

            • (string) --

          • attributes (dict) --

            Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

            • (string) --

              • (string) --

          • userId (string) --

            Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

          • expirationTime (datetime) --

            ISO 8601 timestamp (returned as a string) for when this token expires.

    • nextToken (string) --

      If there are more events than maxResults, use nextToken in the request to get the next set.