:doc:`ivsrealtime <../../ivs-realtime>` / Client / list_participants

*****************
list_participants
*****************



.. py:method:: ivsrealtime.Client.list_participants(**kwargs)

  

  Lists all participants in a specified stage session.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListParticipants>`_  


  **Request Syntax**
  ::

    response = client.list_participants(
        stageArn='string',
        sessionId='string',
        filterByUserId='string',
        filterByPublished=True|False,
        filterByState='CONNECTED'|'DISCONNECTED',
        nextToken='string',
        maxResults=123,
        filterByRecordingState='STARTING'|'ACTIVE'|'STOPPING'|'STOPPED'|'FAILED'
    )
    
  :type stageArn: string
  :param stageArn: **[REQUIRED]** 

    Stage ARN.

    

  
  :type sessionId: string
  :param sessionId: **[REQUIRED]** 

    ID of the session within the stage.

    

  
  :type filterByUserId: string
  :param filterByUserId: 

    Filters the response list to match the specified user ID. Only one of ``filterByUserId``, ``filterByPublished``, ``filterByState``, or ``filterByRecordingState`` can be provided per request. A ``userId`` is a 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.

    

  
  :type filterByPublished: boolean
  :param filterByPublished: 

    Filters the response list to only show participants who published during the stage session. Only one of ``filterByUserId``, ``filterByPublished``, ``filterByState``, or ``filterByRecordingState`` can be provided per request.

    

  
  :type filterByState: string
  :param filterByState: 

    Filters the response list to only show participants in the specified state. Only one of ``filterByUserId``, ``filterByPublished``, ``filterByState``, or ``filterByRecordingState`` can be provided per request.

    

  
  :type nextToken: string
  :param nextToken: 

    The first participant 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.

    

  
  :type filterByRecordingState: string
  :param filterByRecordingState: 

    Filters the response list to only show participants with the specified recording state. Only one of ``filterByUserId``, ``filterByPublished``, ``filterByState``, or ``filterByRecordingState`` can be provided per request.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'participants': [
              {
                  'participantId': 'string',
                  'userId': 'string',
                  'state': 'CONNECTED'|'DISCONNECTED',
                  'firstJoinTime': datetime(2015, 1, 1),
                  'published': True|False,
                  'recordingState': 'STARTING'|'ACTIVE'|'STOPPING'|'STOPPED'|'FAILED'|'DISABLED',
                  'replicationType': 'SOURCE'|'REPLICA'|'NONE',
                  'replicationState': 'ACTIVE'|'STOPPED',
                  'sourceStageArn': 'string',
                  'sourceSessionId': 'string'
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **participants** *(list) --* 

        List of the matching participants (summary information only).

        
        

        - *(dict) --* 

          Summary object describing a participant that has joined a stage.

          
          

          - **participantId** *(string) --* 

            Unique identifier for this participant, assigned by IVS.

            
          

          - **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*.

            
          

          - **state** *(string) --* 

            Whether the participant is connected to or disconnected from the stage.

            
          

          - **firstJoinTime** *(datetime) --* 

            ISO 8601 timestamp (returned as a string) when the participant first joined the stage session.

            
          

          - **published** *(boolean) --* 

            Whether the participant ever published to the stage session.

            
          

          - **recordingState** *(string) --* 

            The participant’s recording state.

            
          

          - **replicationType** *(string) --* 

            Indicates if the participant has been replicated to another stage or is a replica from another stage. Default: ``NONE``.

            
          

          - **replicationState** *(string) --* 

            The participant's replication state.

            
          

          - **sourceStageArn** *(string) --* 

            Source stage ARN from which this participant is replicated, if ``replicationType`` is ``REPLICA``.

            
          

          - **sourceSessionId** *(string) --* 

            ID of the session within the source stage, if ``replicationType`` is ``REPLICA``.

            
      
    
      

      - **nextToken** *(string) --* 

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

        
  
  **Exceptions**
  
  *   :py:class:`ivsrealtime.Client.exceptions.ValidationException`

  
  *   :py:class:`ivsrealtime.Client.exceptions.AccessDeniedException`

  