twentythree-skills 1.3.5 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "twentythree-skills",
3
- "version": "1.3.5",
3
+ "version": "1.3.7",
4
4
  "description": "AI agent skills for the TwentyThree CLI",
5
5
  "license": "MIT",
6
6
  "author": "TwentyThree",
@@ -22,18 +22,30 @@ Verify: `twentythree auth status --json`
22
22
 
23
23
  **Auth scope:** read **Side effects:** none **Output:** table (UUID, Name, Email, Company, Score, Timelines)
24
24
 
25
- Flags:
26
-
27
- | Flag | Required | Description |
28
- |------|----------|-------------|
29
- | `--page` | no | Page number |
30
- | `--size` | no | Page size (max 500) |
31
- | `--offset` | no | Offset for pagination |
32
- | `--orderby` | no | Order by field (recent, timeline_count, score, first) |
33
- | `--order` | no | Sort direction (asc/desc) |
34
- | `--search` | no | Free-text search across names and emails |
35
- | `--identified` | no | Filter to identified profiles only |
36
- | `--objects` | no | Filter by viewed object IDs (space-separated) |
25
+ | Flag | Required | Default | Description |
26
+ |------|----------|---------|-------------|
27
+ | `--page` | no | | Page number |
28
+ | `--size` | no | — | Page size (max 500) |
29
+ | `--offset` | no | | Offset for pagination |
30
+ | `--orderby` | no | | Order by: `profile_count`, `recent`, `timeline_count`, `score`, `first` |
31
+ | `--order` | no | | Sort direction: `asc`, `desc` |
32
+ | `--search` | no | | Free-text search across names and emails |
33
+ | `--identified` | no | | Filter to identified profiles only |
34
+ | `--objects` | no | | Filter by viewed object IDs (space-separated) |
35
+ | `--attended-objects` | no | — | Filter to profiles that attended specific object IDs (space-separated) |
36
+ | `--company` | no | — | Filter by company name |
37
+ | `--identity-sources` | no | — | Filter by the source of profile information |
38
+ | `--score` | no | — | Filter by exact engagement score |
39
+ | `--score-interval` | no | — | Filter by a range of engagement scores (e.g. `50:100`) |
40
+ | `--activity-interval` | no | — | Filter to profiles with activity within this date interval (e.g. `30d`) |
41
+ | `--first` | no | — | Filter to profiles first seen after this date |
42
+ | `--recent` | no | — | Filter to profiles with recent activity after this date |
43
+ | `--event-type` | no | — | Filter by conversion event type |
44
+ | `--include-timelines` | no | — | Include viewing timelines in the result |
45
+ | `--include-events` | no | — | Include conversion events in the result |
46
+ | `--include-total-count` | no | — | Include the total matching profile count in the response |
47
+ | `--export-format` | no | — | Export results as a file: `csv`, `xlsx` |
48
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
37
49
 
38
50
  ```bash
39
51
  # List all audience members (paginated)
@@ -41,6 +53,15 @@ twentythree audience list --json
41
53
 
42
54
  # List identified audience members ordered by engagement score
43
55
  twentythree audience list --identified --orderby score --order desc --size 100 --json
56
+
57
+ # Filter to high-engagement profiles active in the last 30 days
58
+ twentythree audience list --score-interval "50:100" --activity-interval "30d" --json
59
+
60
+ # Export audience to CSV
61
+ twentythree audience list --export-format csv > audience.csv
62
+
63
+ # List profiles that attended specific webinars
64
+ twentythree audience list --attended-objects "12345 67890" --include-timelines --json
44
65
  ```
45
66
 
46
67
  ### audience search
@@ -26,11 +26,16 @@ Category `list` does not require auth — it works before running `twentythree a
26
26
 
27
27
  **Auth scope:** anonymous **Side effects:** none **Output:** table (ID, Title, Hidden, Created)
28
28
 
29
- Flags:
30
-
31
- | Flag | Required | Description |
32
- |------|----------|-------------|
33
- | `--include-hidden` | no | Include hidden categories in the results |
29
+ | Flag | Required | Default | Description |
30
+ |------|----------|---------|-------------|
31
+ | `--include-hidden` | no | | Include hidden categories in the results |
32
+ | `--search` | no | — | Search categories by title |
33
+ | `--album-id` | no | | Filter to categories attached to a specific album |
34
+ | `--photo-id` | no | — | Filter to categories attached to a specific video |
35
+ | `--user-id` | no | — | Filter to categories created by a specific user |
36
+ | `--orderby` | no | — | Order by: `sortkey`, `title`, `editing_date`, `creation_date`, `live_create` |
37
+ | `--order` | no | — | Sort direction: `asc`, `desc` |
38
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
34
39
 
35
40
  ```bash
36
41
  # List all visible categories
@@ -38,6 +43,12 @@ twentythree category list --json
38
43
 
39
44
  # Include hidden categories
40
45
  twentythree category list --include-hidden --json
46
+
47
+ # Search for categories by name, ordered alphabetically
48
+ twentythree category list --search "product" --orderby title --order asc --json
49
+
50
+ # List categories for a specific album
51
+ twentythree category list --album-id <album-id> --json
41
52
  ```
42
53
 
43
54
  ### category create
@@ -22,25 +22,33 @@ Verify: `twentythree auth status --json`
22
22
 
23
23
  **Auth scope:** read **Side effects:** none **Output:** table (ID, Author, Content, Type, Date)
24
24
 
25
- Flags:
26
-
27
- | Flag | Required | Description |
28
- |------|----------|-------------|
29
- | `--object-id` | no | Filter by object ID |
30
- | `--object-type` | no | Filter by object type (photo, album, live) |
31
- | `--comment-type` | no | Filter by comment type (comment, question, chat) |
32
- | `--search` | no | Search comments by content |
33
- | `--order` | no | Sort order for results |
34
- | `--include-reactions` | no | Include reactions on each comment |
35
- | `--include-replies` | no | Include reply-to comments |
36
- | `--promoted` | no | Filter to promoted comments only |
25
+ | Flag | Required | Default | Description |
26
+ |------|----------|---------|-------------|
27
+ | `--object-id` | no | | Filter by object ID |
28
+ | `--object-type` | no | — | Filter by object type: `photo`, `album` |
29
+ | `--comment-type` | no | — | Filter by comment type: `comment`, `question`, `chat` |
30
+ | `--search` | no | | Search comments by content |
31
+ | `--order` | no | | Sort order: `asc`, `desc` |
32
+ | `--comment-id` | no | | Limit to a specific comment by its ID |
33
+ | `--comment-user-id` | no | | List comments by a specific user |
34
+ | `--include-reactions` | no | — | Include emoji reaction counts for each comment |
35
+ | `--include-replies` | no | — | Include details about the parent comment for reply comments |
36
+ | `--promoted` | no | — | Filter to promoted comments only |
37
+ | `--prioritize-promoted` | no | — | Sort promoted comments before non-promoted ones |
38
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
37
39
 
38
40
  ```bash
39
41
  # List all comments in the workspace
40
42
  twentythree comment list --json
41
43
 
42
- # List only questions on a specific webinar
43
- twentythree comment list --object-id <webinar-id> --object-type live --comment-type question --json
44
+ # List only questions on a specific video
45
+ twentythree comment list --object-id <video-id> --object-type photo --comment-type question --json
46
+
47
+ # List comments by a specific user with reactions
48
+ twentythree comment list --comment-user-id <user-id> --include-reactions --json
49
+
50
+ # List promoted questions, promoted first
51
+ twentythree comment list --comment-type question --prioritize-promoted --json
44
52
  ```
45
53
 
46
54
  ### comment add
@@ -23,19 +23,28 @@ Verify: `twentythree auth status --json`
23
23
 
24
24
  **Auth scope:** anonymous **Side effects:** none **Output:** table (ID, Question, Open, Results Visible)
25
25
 
26
- Flags:
27
-
28
- | Flag | Required | Description |
29
- |------|----------|-------------|
30
- | `--object-id` | yes | Object ID (webinar or live object) |
31
- | `--object-token` | no | Object token (auto-looked up if omitted) |
26
+ | Flag | Required | Default | Description |
27
+ |------|----------|---------|-------------|
28
+ | `--object-id` | yes | | Object ID (webinar or live object) |
29
+ | `--object-token` | no | — | Object token (auto-looked up if omitted) |
30
+ | `--poll-id` | no | | Limit results to a single poll by its ID |
31
+ | `--open` | no | | Filter by open/closed status (use `--no-open` for closed) |
32
+ | `--public` | no | — | Filter by public/non-public status (use `--no-public` for non-public) |
33
+ | `--display-results` | no | — | Filter to polls with publicly displayed results (use `--no-display-results` to negate) |
34
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
32
35
 
33
36
  ```bash
34
37
  # List all polls for a webinar
35
38
  twentythree poll list --object-id <webinar-id> --json
36
39
 
37
- # List polls using a specific object token
38
- twentythree poll list --object-id <webinar-id> --object-token <token> --json
40
+ # List only open polls
41
+ twentythree poll list --object-id <webinar-id> --open --json
42
+
43
+ # Get a specific poll by ID
44
+ twentythree poll list --object-id <webinar-id> --poll-id <poll-id> --json
45
+
46
+ # List public polls with results displayed
47
+ twentythree poll list --object-id <webinar-id> --public --display-results --json
39
48
  ```
40
49
 
41
50
  ### poll add
@@ -23,17 +23,19 @@ Verify: `twentythree auth status --json`
23
23
 
24
24
  **Auth scope:** read **Side effects:** none **Output:** table (ID, Name, Type, Active)
25
25
 
26
- Flags:
27
-
28
26
  | Flag | Required | Description |
29
27
  |------|----------|-------------|
30
28
  | `--page` | no | Page number |
31
29
  | `--size` | no | Number of results per page |
32
- | `--search` | no | Search term |
33
- | `--spot-type` | no | Filter by spot type |
34
- | `--active` | no | Filter by active status (boolean) |
35
- | `--orderby` | no | Field to order results by |
36
- | `--order` | no | Sort order (asc or desc) |
30
+ | `--search` | no | Search spots by name |
31
+ | `--spot-id` | no | Filter to a specific spot by ID |
32
+ | `--spot-type` | no | Filter by spot type: `page` or `widget` |
33
+ | `--spot-object-type` | no | Filter by object type the spot is configured for: `live` or `video` |
34
+ | `--active` / `--no-active` | no | Filter by active status |
35
+ | `--include-analytics` | no | Include impression analytics data for each spot |
36
+ | `--orderby` | no | Sort field: `spot_name`, `creation_time`, or `title` |
37
+ | `--order` | no | Sort direction: `asc` or `desc` |
38
+ | `--fields` | no | Comma-separated list of fields to return |
37
39
 
38
40
  ```bash
39
41
  # List all spots in the workspace
@@ -41,6 +43,12 @@ twentythree spot list --json
41
43
 
42
44
  # List only active spots
43
45
  twentythree spot list --active --json
46
+
47
+ # List page-type spots sorted by creation time
48
+ twentythree spot list --spot-type page --orderby creation_time --order desc --json
49
+
50
+ # List webinar spots with analytics
51
+ twentythree spot list --spot-object-type live --include-analytics --json
44
52
  ```
45
53
 
46
54
  ### spot create
@@ -26,14 +26,21 @@ Run `twentythree auth status --json` to confirm the current workspace's bearer t
26
26
 
27
27
  **Auth scope:** admin **Side effects:** none **Output:** table (ID, Username, Display Name, URL)
28
28
 
29
- Flags:
30
-
31
29
  | Flag | Required | Description |
32
30
  |------|----------|-------------|
33
31
  | `--page` | no | Page number |
34
32
  | `--size` | no | Number of results per page |
35
33
  | `--search` | no | Search query (username, display name, or email) |
36
34
  | `--user-id` | no | Filter by user ID |
35
+ | `--user-group-id` | no | Filter to users assigned to a specific user group |
36
+ | `--only-admins` | no | Return only admin users |
37
+ | `--only-owner` | no | Return only the workspace owner |
38
+ | `--seated` / `--no-seated` | no | Filter by seated status |
39
+ | `--include-disabled-login` | no | Include users with disabled login |
40
+ | `--include-metrics` | no | Include per-user performance metrics |
41
+ | `--orderby` | no | Field to order results by |
42
+ | `--order` | no | Sort direction: `asc` or `desc` |
43
+ | `--fields` | no | Comma-separated list of fields to return |
37
44
 
38
45
  ```bash
39
46
  # List all users in the workspace
@@ -41,6 +48,12 @@ twentythree user list --json
41
48
 
42
49
  # Search for a user by name or email
43
50
  twentythree user list --search "alice" --json
51
+
52
+ # List only admin users
53
+ twentythree user list --only-admins --json
54
+
55
+ # List users in a specific group, sorted
56
+ twentythree user list --user-group-id 5 --orderby display_name --order asc --json
44
57
  ```
45
58
 
46
59
  ### user create
@@ -58,7 +58,29 @@ twentythree video upload ./video.mp4 --title "Q2 Keynote" --category-id <cat-id>
58
58
  | Flag | Required | Default | Description |
59
59
  |------|----------|---------|-------------|
60
60
  | `--limit` | no | — | Maximum number of videos to return (default: all) |
61
+ | `--search` | no | — | Search by title, description, or tags |
62
+ | `--album-id` | no | — | Filter to videos in one or more categories (comma-separated IDs) |
63
+ | `--user-id` | no | — | Filter by uploader (`me` for authenticated user) |
64
+ | `--photo-id` | no | — | Limit results to a single video by its ID |
65
+ | `--live-id` | no | — | Filter to videos associated with a specific webinar |
66
+ | `--tag` | no | — | Filter to videos with a specific tag |
67
+ | `--tags` | no | — | Space-separated list of tags to filter by |
68
+ | `--tag-mode` | no | — | How to combine tag filters: `and` or `or` |
69
+ | `--order-by` | no | — | Sort field: `uploaded`, `published`, `created`, `creation`, `taken`, `title`, `views`, `comments`, `rating`, `numratings`, `video_length`, `words`, `related`, `posted`, `rank`, `default-published` |
70
+ | `--order` | no | — | Sort direction: `asc` or `desc` |
71
+ | `--before-time` | no | — | Filter to videos uploaded before this timestamp (ISO 8601) |
72
+ | `--after-time` | no | — | Filter to videos uploaded after this timestamp (ISO 8601) |
73
+ | `--year` | no | — | Filter to videos from a specific year |
74
+ | `--month` | no | — | Filter to videos from a specific month (1–12, requires `--year`) |
75
+ | `--day` | no | — | Filter to videos from a specific day (1–31, requires `--year` and `--month`) |
76
+ | `--published` / `--no-published` | no | — | Filter by published status |
77
+ | `--promoted` / `--no-promoted` | no | — | Filter by promoted status |
78
+ | `--unalbummed` | no | — | Filter to videos not assigned to any category |
61
79
  | `--include-unpublished` | no | — | Include unpublished videos in results |
80
+ | `--include-stats` | no | — | Include per-video performance statistics (view count, play rate, engagement) |
81
+ | `--include-sections-count` | no | — | Include the number of chapters for each video |
82
+ | `--include-user-group` | no | — | Include the user group assignment for each video |
83
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
62
84
 
63
85
  ```bash
64
86
  # List all published videos
@@ -66,6 +88,24 @@ twentythree video list --json
66
88
 
67
89
  # List up to 20 videos including unpublished
68
90
  twentythree video list --limit 20 --include-unpublished --json
91
+
92
+ # Search for videos by keyword, sorted by most viewed
93
+ twentythree video list --search "intro" --order-by views --order desc --json
94
+
95
+ # Filter to videos in a category
96
+ twentythree video list --album-id 42 --json
97
+
98
+ # Filter to videos uploaded by the authenticated user
99
+ twentythree video list --user-id me --limit 10 --json
100
+
101
+ # Filter by date range
102
+ twentythree video list --after-time 2024-01-01T00:00:00Z --before-time 2024-12-31T23:59:59Z --json
103
+
104
+ # List with stats included
105
+ twentythree video list --include-stats --include-sections-count --json
106
+
107
+ # Return only specific fields
108
+ twentythree video list --fields photo_id,title,views --json
69
109
  ```
70
110
 
71
111
  ---
@@ -346,6 +386,11 @@ Subtitle commands manage caption tracks on a video (SRT/WebVTT formats). Use `tw
346
386
  | Flag | Required | Default | Description |
347
387
  |------|----------|---------|-------------|
348
388
  | `--include-drafts` | no | — | Include draft (unpublished) subtitle tracks |
389
+ | `--subtitle-format` | no | — | Format for subtitle download URLs: `websrt`, `json`, `adobe`, `subviewer`, `webvtt` |
390
+ | `--type` | no | — | Filter by subtitle type: `general`, `closedcaptions`, `audiodescriptions` |
391
+ | `--stripped` | no | — | Return a stripped (timing-only) version of the subtitle file |
392
+ | `--detect-language` | no | — | Use the viewer's browser language to determine the default subtitle |
393
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
349
394
 
350
395
  ```bash
351
396
  # List published subtitle tracks for a video
@@ -353,6 +398,12 @@ twentythree video subtitle list <id> --json
353
398
 
354
399
  # List all tracks including drafts
355
400
  twentythree video subtitle list <id> --include-drafts --json
401
+
402
+ # List closed-captions tracks with WebVTT download URLs
403
+ twentythree video subtitle list <id> --type closedcaptions --subtitle-format webvtt --json
404
+
405
+ # List all tracks including drafts, return specific fields
406
+ twentythree video subtitle list <id> --include-drafts --fields "locale,type,status" --json
356
407
  ```
357
408
 
358
409
  ---
@@ -61,16 +61,41 @@ twentythree webinar create --title "Product Launch" --live-date "2026-05-15T16:0
61
61
  |------|----------|---------|-------------|
62
62
  | `--limit` | no | 20 | Maximum number of webinars to return |
63
63
  | `--all` | no | false | Fetch all webinars across all pages (overrides --limit) |
64
- | `--include-private` | no | false | Include private webinars in results |
65
- | `--status` | no | — | Filter by status: `upcoming`, `live`, or `previous` |
66
64
  | `--search` | no | — | Search webinars by keyword |
65
+ | `--status` | no | — | Filter by status: `upcoming`, `live`, or `previous` |
66
+ | `--include-private` | no | false | Include private webinars in results |
67
+ | `--live-id` | no | — | Limit to a single webinar by ID |
68
+ | `--album-id` | no | — | Filter to webinars in a specific category |
69
+ | `--user-id` | no | — | Filter by creator (`me` for authenticated user) |
70
+ | `--live-format` | no | — | Filter by format: `event` or `webinar` |
71
+ | `--live-series-id` | no | — | Filter to webinars in a specific series |
72
+ | `--ordering` | no | — | Sort field: `private`, `promoted`, `streaming`, `broadcasting`, `name`, `live_label`, `live_status`, `live_date`, `creation_date` |
73
+ | `--order` | no | — | Sort direction: `asc` or `desc` |
74
+ | `--promoted` / `--no-promoted` | no | — | Filter by promoted status |
75
+ | `--draft` / `--no-draft` | no | — | Filter by draft status |
76
+ | `--cancelled` / `--no-cancelled` | no | — | Filter by cancelled status |
77
+ | `--streaming` | no | — | Filter to currently streaming webinars only |
78
+ | `--template` | no | — | Filter to webinar templates only |
79
+ | `--include-stats` | no | — | Include performance statistics for each webinar |
80
+ | `--include-speakers` | no | — | Include speaker information for each webinar |
81
+ | `--include-albums` | no | — | Include category information for each webinar |
82
+ | `--fields` | no | — | Comma-separated list of fields to return |
67
83
 
68
84
  ```bash
69
85
  # List upcoming webinars
70
86
  twentythree webinar list --status upcoming --json
71
87
 
88
+ # List all webinars sorted by date ascending
89
+ twentythree webinar list --all --ordering live_date --order asc --json
90
+
72
91
  # Search for a webinar by title and include private
73
92
  twentythree webinar list --search "Q2 Town Hall" --include-private --json
93
+
94
+ # List webinars in a series with speakers included
95
+ twentythree webinar list --live-series-id 42 --include-speakers --json
96
+
97
+ # List webinars by the authenticated user
98
+ twentythree webinar list --user-id me --live-format webinar --json
74
99
  ```
75
100
 
76
101
  ---
@@ -259,13 +284,23 @@ Speakers are presenters attached to a webinar. Commands cover list, add, update,
259
284
  | Flag | Required | Default | Description |
260
285
  |------|----------|---------|-------------|
261
286
  | `--token` | no | — | Webinar token (auto-looked up if omitted) |
287
+ | `--speaker-id` | no | — | Filter to a specific speaker by ID |
288
+ | `--request-status` | no | — | Filter by request status: `requested`, `approved`, `denied`, `expired` |
289
+ | `--creation-source` | no | — | Filter by creation source: `admin`, `guest` |
290
+ | `--exclude-hidden` | no | — | Exclude hidden speakers from the results |
291
+ | `--include-unapproved` | no | — | Include unapproved speakers |
292
+ | `--include-hidden-guests` | no | — | Include hidden guest speakers |
293
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
262
294
 
263
295
  ```bash
264
296
  # List speakers for a webinar
265
297
  twentythree webinar speaker list <id> --json
266
298
 
267
- # Example with a real ID
268
- twentythree webinar speaker list 12345 --json
299
+ # List only approved speakers
300
+ twentythree webinar speaker list <id> --request-status approved --json
301
+
302
+ # List admin-created speakers, excluding hidden ones
303
+ twentythree webinar speaker list <id> --creation-source admin --exclude-hidden --json
269
304
  ```
270
305
 
271
306
  ---
@@ -276,15 +311,20 @@ twentythree webinar speaker list 12345 --json
276
311
 
277
312
  | Flag | Required | Default | Description |
278
313
  |------|----------|---------|-------------|
279
- | `--name` | no | — | Speaker name |
280
- | `--email` | no | — | Speaker email |
314
+ | `--name` | yes | — | Speaker name |
315
+ | `--email` | no | — | Speaker email (required for WebRTC speakers) |
281
316
  | `--title` | no | — | Speaker title or job title |
282
317
  | `--description` | no | — | Speaker bio or description |
318
+ | `--connection-type` | no | `webrtc` | Speaker connection type: `webrtc`, `gearmode`, `rtmp`, `whip`, `srt`, `url` |
319
+ | `--connection-type-pull-url` | no | — | Pull URL for connection types that support stream pull (`whip`, `url`) |
283
320
 
284
321
  ```bash
285
- # Add a speaker with name and email
322
+ # Add a WebRTC speaker (email required for webrtc)
286
323
  twentythree webinar speaker add <id> --name "Jane Doe" --email jane@example.com --json
287
324
 
325
+ # Add an RTMP speaker (no email required)
326
+ twentythree webinar speaker add <id> --name "John Smith" --connection-type rtmp --json
327
+
288
328
  # Add a speaker with full details
289
329
  twentythree webinar speaker add <id> --name "John Smith" --email john@example.com --title "CTO" --description "Engineering lead" --json
290
330
  ```
@@ -341,11 +381,16 @@ twentythree webinar speaker add-from-user <id> --user-id <user-id> --json
341
381
  | `--email` | no | — | Speaker email |
342
382
  | `--title` | no | — | Speaker title or job title |
343
383
  | `--description` | no | — | Speaker bio or description |
384
+ | `--connection-type` | no | — | Speaker connection type: `webrtc`, `gearmode`, `rtmp`, `whip`, `srt`, `url` |
385
+ | `--connection-type-pull-url` | no | — | Pull URL for connection types that support stream pull (`whip`, `url`) |
344
386
 
345
387
  ```bash
346
388
  # Update a speaker's title and email
347
389
  twentythree webinar speaker update <id> <speaker-id> --title "CEO" --email ceo@example.com --json
348
390
 
391
+ # Change a speaker's connection type to RTMP
392
+ twentythree webinar speaker update <id> <speaker-id> --connection-type rtmp --json
393
+
349
394
  # Update speaker bio
350
395
  twentythree webinar speaker update <id> <speaker-id> --description "Updated bio" --json
351
396
  ```
@@ -512,14 +557,40 @@ A series groups multiple webinars together (e.g. a recurring show). Commands cov
512
557
 
513
558
  **Auth scope:** read **Side effects:** none **Output:** table (ID, Name, Status, Created)
514
559
 
515
- No additional flags.
560
+ | Flag | Required | Default | Description |
561
+ |------|----------|---------|-------------|
562
+ | `--page` | no | — | Page number |
563
+ | `--size` | no | — | Page size |
564
+ | `--all` | no | — | Fetch all pages automatically |
565
+ | `--search` | no | — | Search series by name |
566
+ | `--live-series-id` | no | — | Filter to a specific series by ID |
567
+ | `--live-id` | no | — | Filter to series containing a specific webinar ID |
568
+ | `--album-id` | no | — | Filter by album ID |
569
+ | `--user-id` | no | — | Filter by user ID |
570
+ | `--series-type` | no | — | Filter by type: `liveevent`, `series` |
571
+ | `--ordering` | no | — | Order by: `name`, `private`, `live_status`, `live_date`, `creation_date`, `updated_date` |
572
+ | `--order` | no | — | Sort direction: `asc`, `desc` |
573
+ | `--cancelled` | no | — | Include cancelled series (allowNo) |
574
+ | `--draft` | no | — | Include draft series (allowNo) |
575
+ | `--private` | no | — | Include private series (allowNo) |
576
+ | `--include-private` | no | — | Include private series in results |
577
+ | `--include-speakers` | no | — | Include speaker data in response |
578
+ | `--include-stats` | no | — | Include statistics in response |
579
+ | `--include-albums` | no | — | Include album data in response |
580
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
516
581
 
517
582
  ```bash
518
583
  # List all webinar series
519
584
  twentythree webinar series list --json
520
585
 
521
- # Use the ID to reference a series in other commands
522
- twentythree webinar series list --json
586
+ # List series ordered by creation date descending
587
+ twentythree webinar series list --ordering creation_date --order desc --json
588
+
589
+ # List all live event series including speakers
590
+ twentythree webinar series list --series-type liveevent --include-speakers --json
591
+
592
+ # Fetch all pages of series
593
+ twentythree webinar series list --all --json
523
594
  ```
524
595
 
525
596
  ---
@@ -737,6 +808,9 @@ Mail templates and scheduled emails associated with a webinar (invitations, remi
737
808
  | Flag | Required | Default | Description |
738
809
  |------|----------|---------|-------------|
739
810
  | `--series-id` | no | — | Series ID — list mails for a series instead of a webinar |
811
+ | `--mail-id` | no | — | Return a specific mail by its ID |
812
+ | `--include-metrics` | no | — | Include metrics on mail performance in the response |
813
+ | `--fields` | no | — | Comma-separated list of fields to return in the API response |
740
814
 
741
815
  ```bash
742
816
  # List emails for a webinar
@@ -744,6 +818,9 @@ twentythree webinar mail list <id> --json
744
818
 
745
819
  # List emails for a series
746
820
  twentythree webinar mail list --series-id <series-id> --json
821
+
822
+ # Get a specific mail with performance metrics
823
+ twentythree webinar mail list <id> --mail-id <mail-id> --include-metrics --json
747
824
  ```
748
825
 
749
826
  ---