# Log Analyzer

## Participant Summary

`com.twilio.video.insights.log-analyzer.participant-summary`

Log Analyzer Participant Summary events are compatible with Webhook and Kinesis sinks. To learn more, you can get started with the [Webhook](/docs/events/webhook-quickstart) or [Kinesis](/docs/events/eventstreams-quickstart) quickstarts and refer to the [product documentation](/docs/video/troubleshooting/video-log-analyzer-api).

**Examples**

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.video.insights.log-analyzer.participant-summary",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/VideoInsights.VideoLogAnalyzerParticipantSummary/2",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "participant_sid" : "PA0000000000000000000000000000001",
    "participant_identity" : "00000000-0000-0000-0000-000000000001",
    "join_time" : "2025-01-01T00:00:00.000Z",
    "leave_time" : "2025-01-01T00:01:00.000Z",
    "duration_sec" : 60,
    "recording_duration_sec" : 60,
    "call_sid" : "CA0000000000000000000000000000001",
    "account_sid" : "AC0000000000000000000000000000001",
    "room_sid" : "RM0000000000000000000000000000001",
    "status" : "in_progress",
    "codecs" : [
      "VP8"
    ],
    "end_reason" : "disconnected_via_api",
    "error_code" : 53002,
    "error_code_url" : "https://www.twilio.com/docs/api/errors/53002",
    "media_region" : "us1",
    "record_on_connect" : true,
    "is_adhoc" : false,
    "num_audio_tracks" : 1,
    "num_video_tracks" : 1,
    "num_data_tracks" : 0,
    "edge_location" : "ashburn",
    "publisher_info" : {
      "name" : "twilio-video.js",
      "sdk_version" : "2.28.1",
      "platform_name" : "Windows",
      "platform_version" : "10",
      "device_manufacturer" : "Unknown",
      "device_model" : "Other",
      "device_architecture" : "amd64",
      "browser_name" : "Electron",
      "browser_version" : "28.2.0",
      "browser_major" : "28"
    },
    "properties" : {
      "record_on_connect" : true,
      "is_adhoc" : false,
      "num_audio_tracks" : 1,
      "num_video_tracks" : 1,
      "num_data_tracks" : 0
    }
  }
}
```

**Versions**

#### v2 (latest)

> \[!NOTE]
>
> v2 only contains updates to the schema metadata. In other words, there are no new fields between v1 and v2.

* `string` **participant\_sid** (required). Unique identifier for the participant.
* `string` **participant\_identity**. The application-defined string that uniquely identifies the participant within a Room.
* `string` **join\_time** (required). When the participant joined the room in ISO 8601 format.
* `string` **leave\_time**. When the participant left the room in ISO 8601 format.
* `integer` **duration\_sec**. Amount of time in seconds the participant was in the room.
* `integer` **recording\_duration\_sec**. Combined amount of recorded seconds for participants in the room.
* `string` **call\_sid**. Unique identifier for the call.
* `string` **account\_sid** (required). Account SID associated with this room.
* `string` **room\_sid** (required). Unique identifier for the room.
* `string` **status** (required). Status of the room.
* `string[]` **codecs** (required). Video or audio codecs used by participants in the room.
* `string` **end\_reason** (required). Reason the participant left the room.
* `integer` **error\_code**. Errors encountered by the participant.
* `string` **error\_code\_url**. Twilio error code dictionary link.
* `string` **media\_region**. Twilio media region the participant connected to.
* `boolean` **record\_on\_connect**. Indicates if the participant was recorded as soon as they joined the room.
* `boolean` **is\_adhoc**. Indicates if the participant joined the room ad-hoc.
* `integer` **num\_audio\_tracks**. Number of audio tracks from the participant.
* `integer` **num\_video\_tracks**. Number of video tracks from the participant.
* `integer` **num\_data\_tracks**. Number of data tracks from the participant.
* `string` **edge\_location** (required). Name of the edge location the participant connected to.
* `object` **publisher\_info**. The participant publisher metadata.
  * `string` **name**. SDK type.
  * `string` **sdk\_version**. SDK version.
  * `string` **platform\_name**. Platform name.
  * `string` **platform\_version**. Version of the platform.
  * `string` **device\_manufacturer**. Identifier for the device manufacturer.
  * `string` **device\_model**. Model of the device.
  * `string` **device\_architecture**. System architecture for the device.
  * `string` **browser\_name**. Name of the browser.
  * `string` **browser\_version**. Version of the browser.
  * `string` **browser\_major**. Major version of the browser.
* `object` **properties**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `boolean` **record\_on\_connect**. Indicates if the participant was recorded as soon as they joined the room.
  * `boolean` **is\_adhoc**. Indicates if the participant joined the room ad-hoc.
  * `integer` **num\_audio\_tracks**. Number of audio tracks from the participant.
  * `integer` **num\_video\_tracks**. Number of video tracks from the participant.
  * `integer` **num\_data\_tracks**. Number of data tracks from the participant.

The full specification for version 2 is also available as a [JSON schema](https://events-schemas.twilio.com/VideoInsights.VideoLogAnalyzerParticipantSummary/2).

#### v1

* `string` **participant\_sid** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **participant\_identity**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **join\_time** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **leave\_time**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **duration\_sec**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **recording\_duration\_sec**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **call\_sid**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **account\_sid** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **room\_sid** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **status** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string[]` **codecs** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **end\_reason** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **error\_code**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **error\_code\_url**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **media\_region**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `boolean` **record\_on\_connect**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `boolean` **is\_adhoc**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **num\_audio\_tracks**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **num\_video\_tracks**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **num\_data\_tracks**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **edge\_location** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `object` **publisher\_info**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **name**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **sdk\_version**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **platform\_name**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **platform\_version**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **device\_manufacturer**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **device\_model**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **device\_architecture**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **browser\_name**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **browser\_version**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `string` **browser\_major**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `object` **properties**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `boolean` **record\_on\_connect**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `boolean` **is\_adhoc**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `integer` **num\_audio\_tracks**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `integer` **num\_video\_tracks**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
  * `integer` **num\_data\_tracks**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.

The full specification for version 1 is also available as a [JSON schema](https://events-schemas.twilio.com/VideoInsights.VideoLogAnalyzerParticipantSummary/1).

## Room Summary

`com.twilio.video.insights.log-analyzer.room-summary`

Log Analyzer Room Summary events are compatible with Webhook and Kinesis sinks. To learn more, you can get started with the [Webhook](/docs/events/webhook-quickstart) or [Kinesis](/docs/events/eventstreams-quickstart) quickstarts and refer to the [product documentation](/docs/video/troubleshooting/video-log-analyzer-api).

**Examples**

```json
{
  "specversion" : "1.0",
  "type" : "com.twilio.video.insights.log-analyzer.room-summary",
  "source" : "AB00000000000000000000000001",
  "id" : "NO00000000000000000000000001",
  "dataschema" : "https://events-schemas.twilio.com/VideoInsights.VideoLogAnalyzerRoomSummary/2",
  "datacontenttype" : "2025-10-08T07:17:02.363Z",
  "data" : {
    "account_sid" : "AC0000000000000000000000000000001",
    "room_sid" : "RM0000000000000000000000000000001",
    "room_name" : "My room",
    "create_time" : "2025-01-01T00:00:00.000Z",
    "end_time" : "2025-01-01T00:15:00.000Z",
    "room_type" : "go",
    "room_status" : "in-progress",
    "status_callback" : "https://mycompany.com/my-endpoint",
    "status_callback_method" : "POST",
    "created_method" : "api",
    "end_reason" : "disconnected_via_api",
    "max_participants" : 4,
    "unique_participants" : 2,
    "unique_participant_identities" : 2,
    "concurrent_participants" : 2,
    "max_concurrent_participants" : 2,
    "codecs" : [
      "VP8"
    ],
    "media_region" : "us1",
    "room_region" : "us1",
    "duration_sec" : 248,
    "total_participant_duration_sec" : 465,
    "total_recording_duration_sec" : 464,
    "processing_state" : "complete",
    "recording_enabled" : true,
    "edge_location" : "ashburn"
  }
}
```

**Versions**

#### v2 (latest)

> \[!NOTE]
>
> v2 only contains updates to the schema metadata. In other words, there are no new fields between v1 and v2.

* `string` **account\_sid** (required). Account SID associated with this room.
* `string` **room\_sid** (required). Unique identifier for the room.
* `string` **room\_name** (required). Description of the room.
* `string` **create\_time** (required). Datetime when the room was created in ISO 8601 format.
* `string` **end\_time**. Datetime when the room ended in ISO 8601 format.
* `string` **room\_type** (required). The type of video room depending on size restrictions and technology implementations.
* `string` **room\_status** (required). Status of the room.
* `string` **status\_callback**. Webhook provided for status callbacks.
* `string` **status\_callback\_method**. HTTP method provided for status callback URL.
* `string` **created\_method** (required). How the room was created.
* `string` **end\_reason** (required). Reason the room ended.
* `integer` **max\_participants**. Max number of total participants allowed by the application settings.
* `integer` **unique\_participants**. Number of participants. May include duplicate identities for participants who left and rejoined.
* `integer` **unique\_participant\_identities**. Unique number of participant identities.
* `integer` **concurrent\_participants**. Actual number of concurrent participants.
* `integer` **max\_concurrent\_participants**. Maximum number of participants allowed in the room at the same time allowed by the application settings.
* `string[]` **codecs** (required). Video or audio codecs used by participants in the room.
* `string` **media\_region**. Region of Twilio media servers for the room.
* `string` **room\_region**. Region of Twilio servers for the room.
* `integer` **duration\_sec**. Total room duration from create time to end time.
* `integer` **total\_participant\_duration\_sec**. Combined amount of participant time in the room.
* `integer` **total\_recording\_duration\_sec**. Combined amount of recorded seconds for participants in the room.
* `string` **processing\_state** (required). Video Log Analyzer resource state. in-progress indicates that more details may be appended to the resource. complete indicates no further information will be added.
* `boolean` **recording\_enabled** (required). Boolean indicating if recording is enabled for the room.
* `string` **edge\_location** (required). Edge location of Twilio media servers for the room.

The full specification for version 2 is also available as a [JSON schema](https://events-schemas.twilio.com/VideoInsights.VideoLogAnalyzerRoomSummary/2).

#### v1

* `string` **account\_sid** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **room\_sid** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **room\_name** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **create\_time** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **end\_time**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **room\_type** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **room\_status** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **status\_callback**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **status\_callback\_method**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **created\_method** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **end\_reason** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **max\_participants**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **unique\_participants**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **unique\_participant\_identities**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **concurrent\_participants**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **max\_concurrent\_participants**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string[]` **codecs** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **media\_region**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **room\_region**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **duration\_sec**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **total\_participant\_duration\_sec**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `integer` **total\_recording\_duration\_sec**. Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **processing\_state** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `boolean` **recording\_enabled** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.
* `string` **edge\_location** (required). Https://www.twilio.com/docs/video/video-log-analyzer/video-log-analyzer-api.

The full specification for version 1 is also available as a [JSON schema](https://events-schemas.twilio.com/VideoInsights.VideoLogAnalyzerRoomSummary/1).
