Skip to content

feat: update to open api version 235.16.3 - #328

Merged
oliverlaz merged 1 commit into
mainfrom
feat/openapi-235.16.3
Aug 17, 2026
Merged

feat: update to open api version 235.16.3#328
oliverlaz merged 1 commit into
mainfrom
feat/openapi-235.16.3

Conversation

@oliverlaz

Copy link
Copy Markdown
Member

Regenerates the client from the chat serverside spec at v235.16.3 (previously v233.25.1, #326).

Moderation: policy test sets & runs

New endpoints for creating labelled test sets and running the active moderation policy against them:

  • ModerationApi.createPolicyTestSetPOST /moderation/policy_tests/sets
  • ModerationApi.listPolicyTestSetsGET /moderation/policy_tests/sets
  • ModerationApi.getPolicyTestSet / deletePolicyTestSetGET|DELETE /moderation/policy_tests/sets/{id}
  • ModerationApi.startPolicyTestRunPOST /moderation/policy_tests/sets/{id}/runs
  • ModerationApi.getPolicyTestRunGET /moderation/policy_tests/runs/{id}

Models: CreatePolicyTestSetRequest, PolicyTestSet, PolicyTestSetResponse, PolicyTestSetListResponse, PolicyTestRow, PolicyTestSeedSpec, PolicyTestRun, PolicyTestRunResponse, PolicyTestRunMetrics, PolicyTestResult, PolicyTestTotals, PolicyTestLabelDrift.

ModerationApi.listQueues now accepts an optional user_id.

Imports: external storage configuration

  • CommonApi.getImporterExternalStorage / upsertImporterExternalStorage / deleteImporterExternalStorageGET|PUT|DELETE /imports/v2/external-storage
  • CommonApi.validateImporterExternalStoragePOST /imports/v2/external-storage/validate

Supports S3 and GCS via UpsertExternalStorageRequest (aws_s3 / gcs).

Video: daily digest

  • VideoApi.getDailyDigestGET /video/stats/daily_digest, optional date and app_id.

Adds the digest model tree: GetDailyDigestResponse, BroadcastDigest, BroadcastDailyRollup, BroadcastInfo, BroadcastSegment, DailyDigestCallSessionSummary, PublisherSession, SourceHealth, Quality, Percentiles, Segments, ViewerBehavior, EncodingProfile, Incident, and friends.

Chat

  • ID-based message pagination on getOrCreateChannel (ChannelApi and ChatApi): messages_id_lt, messages_id_lte, messages_id_gt, messages_id_gte, messages_id_around.
  • sendMessage gains include_channel_context (response carries channel_context: ChannelContextResponse — slim cid / type / id / created_by) and include_mentioned_members (per mentioned user, whether they are currently a channel member; requires ReadChannelMembers).
  • Channel export gains format: 'json' | 'csv' (csv requires version=v2, incompatible with export_users) and include_fields for selecting csv message columns.
  • QueryBannedUsersRequest gains include_total; the user_id filter is now documented for client-side use too.

Feeds

  • AddActivityRequest / ActivityRequest gain collections: CollectionRequest[] — create or update collections in the same call as the activity; their refs are added to collection_refs automatically.

App settings

  • UpdateAppRequest.member_custom_on_messages_enabled and AppResponseFields.member_custom_on_messages_enabled.

Events

  • New moderation.analysis.failedModerationAnalysisFailedEvent (added to the WSEvent union).

⚠️ Breaking changes

  • AppResponseFields.moderation_flood_rules_enabled removed.
  • ThreadParticipant.app_pk removed.
  • ThreadResponse.reply_count and ThreadStateResponse.reply_count are now required (were optional).
  • MessageRequest.type drops the "''" variant — now 'regular' | 'system'.
  • CommonApi.getPollOption no longer accepts a user_id query parameter.

The rest of the models diff is JSDoc that the spec now emits for shared schema refs (user, channel, message, etc.).

Verification

  • yarn lint — clean
  • yarn build — succeeds

@oliverlaz
oliverlaz requested a review from szuperaz as a code owner August 14, 2026 11:16
@oliverlaz
oliverlaz merged commit d4f0c22 into main Aug 17, 2026
11 checks passed
@oliverlaz
oliverlaz deleted the feat/openapi-235.16.3 branch August 17, 2026 08:05
oliverlaz pushed a commit that referenced this pull request Aug 18, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.7.64](v0.7.63...v0.7.64)
(2026-08-18)


### Features

* update to open api version 233.25.1
([#326](#326))
([618728a](618728a))
* update to open api version 235.16.3
([#328](#328))
([d4f0c22](d4f0c22))


### Bug Fixes

* correct query param serialization for arrays, dates and null
([#329](#329))
([7f228fc](7f228fc))
* order "types" first in package.json exports
([#330](#330))
([747e0c6](747e0c6))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
oliverlaz added a commit that referenced this pull request Aug 18, 2026
Regenerates the client from the `chat` serverside spec at **v235.20.1**
(previously v235.16.3, #328). Generated from the `chat` working tree at
`v235.20.1-91-g6c6373e6cd`, so it also picks up spec changes merged
after that tag.

## Chat: pinned messages

- `ChatApi.getPinnedMessages` — `GET
/chat/channels/{type}/{id}/pinned_messages`, with both id and
`pinned_at` cursor pagination
(`id_gt`/`id_gte`/`id_lt`/`id_lte`/`id_around`,
`pinned_at_after`/`pinned_at_after_or_equal`/`pinned_at_before`/`pinned_at_before_or_equal`/`pinned_at_around`),
plus `limit`, `offset`, `sort`, `member_custom_include` and `user_id`.
- `Channel.getPinnedMessages` convenience wrapper on `ChannelApi`.
- Model: `GetPinnedMessagesResponse` (`messages: MessageResponse[]`).

## Chat: predefined filters

Named, server-stored filters for `QueryChannels`:

- `ChatApi.createPredefinedFilter` — `POST /chat/predefined_filters`
- `ChatApi.getPredefinedFilters` — `GET /chat/predefined_filters`
(optional `include_stats`, `sort`)
- `ChatApi.getPredefinedFilter` / `updatePredefinedFilter` /
`deletePredefinedFilter` — `GET|PUT|DELETE
/chat/predefined_filters/{name}`

Models: `CreatePredefinedFilterRequest`,
`CreatePredefinedFilterResponse`, `UpdatePredefinedFilterRequest`,
`UpdatePredefinedFilterResponse`, `GetPredefinedFilterResponse`,
`QueryPredefinedFiltersResponse`, `PredefinedFilterResponse`,
`PredefinedFilterStatsResponse` (`calls`, `max_latency_ms`,
`last_seen`), `PerformanceAnalysisResponse` (index/scan analysis with
`score`, `recommendations`, `unindexed_fields`, `unindexed_sort_fields`,
`warnings`), `SortParam`.

## Permissions: custom permission CRUD

- `CommonApi.createPermission` — `POST /permissions`
- `CommonApi.updatePermission` — `PUT /permissions/{id}`
- `CommonApi.deletePermission` — `DELETE /permissions/{id}`

Model: `PermissionRequest` (`action`, `name`, `description`, `owner`,
`same_team`, `condition`). `getPermission` and `listPermissions` already
existed.

## Other additions

- `getOrCreateChannel` (`ChatApi` and `ChannelApi`) accepts `user_id`.
- `QueryTeamUsageStatsRequest.team` — filter results to a single team
ID; empty string selects users not assigned to any team; mutually
exclusive with `next`.
- `ModerationPayload.other_media` and
`ModerationPayloadResponse.other_media` — media URLs from attachments
outside the typed image/video/audio lists (custom attachment types such
as GIF pickers).

## Documentation-only spec changes

- The moderation `restore` action is now documented as state-aware: it
reverses whichever of a delete, a block, or a shadow block currently
applies (including both at once). `unblock` is marked deprecated in
favour of it.
- `push_types` is clarified as an allowlist — empty or omitted means no
types trigger push.

## Codegen churn (no behaviour change)

Most of the diff is the generator's output style changing:

- `T[]` → `Array<T>` in model and request types
- `decoders.X` → `decoders['X']`
- `Record<string, any>` → `{ [key: string]: any }` in decoder signatures

Normalizing those three patterns away shrinks the diff from ~4,450
changed lines to ~500, all accounted for above. `FeedsApi` and
`ModerationApi` have no semantic change at all; `VideoApi` only reflows
one call.

## ⚠️ Breaking changes

None. No endpoints, models, or fields were removed, no signatures
changed, and no optionality changed.

## Verification

- `yarn lint` — clean
- `yarn build` — succeeds (vite bundles + `tsc --emitDeclarationOnly`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants