Skip to content

Commit e3fcfc9

Browse files
chore: update OpenAPI specs to v240.0.0 (#2214)
Co-authored-by: GH Action CI Stream <ci@stream.io>
1 parent 4d071d5 commit e3fcfc9

58 files changed

Lines changed: 1075 additions & 123 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎openapi/chat-openapi-clientside.json‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

‎openapi/chat-openapi-clientside.yaml‎

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1411,17 +1411,24 @@ components:
14111411
format: date-time
14121412
title: Created at
14131413
type: string
1414-
x-stream-index: "001.007"
1414+
x-stream-index: "001.009"
14151415
message_id_map:
14161416
additionalProperties:
14171417
type: string
14181418
description: Maps the ID of each message the request copied, the newest
1419-
page, to its ID in the fork. A fork message ID is a UUIDv5 of the fork
1420-
CID and the source message ID; the fork message IDs endpoint maps any
1421-
others
1419+
page, to its ID in the fork; short when the request copied less than a
1420+
page (see `status`). A fork message ID is a UUIDv5 of the fork CID and
1421+
the source message ID; the fork message IDs endpoint maps any others
14221422
title: Message ID map
14231423
type: object
14241424
x-stream-index: "002"
1425+
oldest_source_message_id:
1426+
description: ID, in the source channel, of the oldest message a truncated
1427+
fork copied. The fork holds no older source message; replies of the oldest
1428+
copied messages may also have been left out
1429+
title: Oldest source message ID
1430+
type: string
1431+
x-stream-index: "001.007"
14251432
source_channel_cid:
14261433
description: CID of the channel the fork was copied from
14271434
title: Source channel CID
@@ -1436,14 +1443,23 @@ components:
14361443
description: '`completed` once every message is copied. `backfilling` while
14371444
a background task copies the history older than the newest page; the fork
14381445
is usable meanwhile, and the newest messages, which an agent reads, are
1439-
already there'
1446+
normally already there. The request reads at most 1,000 source messages:
1447+
when those are mostly deleted, shadowed or replies shown in the channel,
1448+
it copies fewer, at least the message the fork is made at, and the task
1449+
copies the rest'
14401450
title: Status
14411451
type: string
14421452
x-stream-index: "001.004"
14431453
task_id:
14441454
description: ID of the task copying the older history of a backfilling fork
14451455
title: Task ID
14461456
type: string
1457+
x-stream-index: "001.008"
1458+
truncated:
1459+
description: 'True, once completed, when the source held more than 10,000
1460+
messages up to the fork point: the fork holds the newest 10,000 of them'
1461+
title: Truncated
1462+
type: boolean
14471463
x-stream-index: "001.006"
14481464
required:
14491465
- channel_cid
@@ -1473,6 +1489,13 @@ components:
14731489
format: date-time
14741490
title: Created at
14751491
type: string
1492+
x-stream-index: "009"
1493+
oldest_source_message_id:
1494+
description: ID, in the source channel, of the oldest message a truncated
1495+
fork copied. The fork holds no older source message; replies of the oldest
1496+
copied messages may also have been left out
1497+
title: Oldest source message ID
1498+
type: string
14761499
x-stream-index: "007"
14771500
source_channel_cid:
14781501
description: CID of the channel the fork was copied from
@@ -1488,14 +1511,23 @@ components:
14881511
description: '`completed` once every message is copied. `backfilling` while
14891512
a background task copies the history older than the newest page; the fork
14901513
is usable meanwhile, and the newest messages, which an agent reads, are
1491-
already there'
1514+
normally already there. The request reads at most 1,000 source messages:
1515+
when those are mostly deleted, shadowed or replies shown in the channel,
1516+
it copies fewer, at least the message the fork is made at, and the task
1517+
copies the rest'
14921518
title: Status
14931519
type: string
14941520
x-stream-index: "004"
14951521
task_id:
14961522
description: ID of the task copying the older history of a backfilling fork
14971523
title: Task ID
14981524
type: string
1525+
x-stream-index: "008"
1526+
truncated:
1527+
description: 'True, once completed, when the source held more than 10,000
1528+
messages up to the fork point: the fork holds the newest 10,000 of them'
1529+
title: Truncated
1530+
type: boolean
14991531
x-stream-index: "006"
15001532
required:
15011533
- channel_cid
@@ -18844,7 +18876,7 @@ components:
1884418876
type: apiKey
1884518877
info:
1884618878
title: Stream API
18847-
version: v239.97.5
18879+
version: v240.0.0
1884818880
x-stream-breaking-changes:
1884918881
go:
1885018882
- CHA-3441 (2026-10-08)
@@ -19756,7 +19788,7 @@ paths:
1975619788
/channels/{type}/{id}/fork:
1975719789
post:
1975819790
description: |
19759-
Forks an agent channel at one of its messages: creates a new agent channel holding a copy of the messages a client sees up to it, itself included, with their replies up to it. The source channel is not changed. Reactions, pins, polls, read state, mutes, reminders, moderation flags and edit history are not copied. Fork only at a message the agent has finished writing. The request copies the newest 100 messages and their replies, so the fork is usable when it returns; older history is copied by a background task (`fork.status` is `backfilling`, `fork.task_id` names the task) and `channel.forked` is sent once every message is copied. A retry with the same channel ID and message returns the fork. Only available for the `agent` channel type.
19791+
Forks an agent channel at one of its messages: creates a new agent channel holding a copy of the messages a client sees up to it, itself included, with their replies up to it. The source channel is not changed. Reactions, pins, polls, read state, mutes, reminders, moderation flags and edit history are not copied. Fork only at a message the agent has finished writing. The request copies the newest 100 messages and their replies, so the fork is usable when it returns (fewer when the newest 1,000 messages are mostly deleted or hidden); older history is copied by a background task (`fork.status` is `backfilling`, `fork.task_id` names the task) and `channel.forked` is sent once every message is copied. A retry with the same channel ID and message returns the fork. Only available for the `agent` channel type.
1976019792

1976119793
Sends events:
1976219794
- channel.created

‎openapi/chat-openapi.json‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

‎openapi/chat-openapi.yaml‎

Lines changed: 178 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2970,17 +2970,24 @@ components:
29702970
format: date-time
29712971
title: Created at
29722972
type: string
2973-
x-stream-index: "001.007"
2973+
x-stream-index: "001.009"
29742974
message_id_map:
29752975
additionalProperties:
29762976
type: string
29772977
description: Maps the ID of each message the request copied, the newest
2978-
page, to its ID in the fork. A fork message ID is a UUIDv5 of the fork
2979-
CID and the source message ID; the fork message IDs endpoint maps any
2980-
others
2978+
page, to its ID in the fork; short when the request copied less than a
2979+
page (see `status`). A fork message ID is a UUIDv5 of the fork CID and
2980+
the source message ID; the fork message IDs endpoint maps any others
29812981
title: Message ID map
29822982
type: object
29832983
x-stream-index: "002"
2984+
oldest_source_message_id:
2985+
description: ID, in the source channel, of the oldest message a truncated
2986+
fork copied. The fork holds no older source message; replies of the oldest
2987+
copied messages may also have been left out
2988+
title: Oldest source message ID
2989+
type: string
2990+
x-stream-index: "001.007"
29842991
source_channel_cid:
29852992
description: CID of the channel the fork was copied from
29862993
title: Source channel CID
@@ -2995,14 +3002,23 @@ components:
29953002
description: '`completed` once every message is copied. `backfilling` while
29963003
a background task copies the history older than the newest page; the fork
29973004
is usable meanwhile, and the newest messages, which an agent reads, are
2998-
already there'
3005+
normally already there. The request reads at most 1,000 source messages:
3006+
when those are mostly deleted, shadowed or replies shown in the channel,
3007+
it copies fewer, at least the message the fork is made at, and the task
3008+
copies the rest'
29993009
title: Status
30003010
type: string
30013011
x-stream-index: "001.004"
30023012
task_id:
30033013
description: ID of the task copying the older history of a backfilling fork
30043014
title: Task ID
30053015
type: string
3016+
x-stream-index: "001.008"
3017+
truncated:
3018+
description: 'True, once completed, when the source held more than 10,000
3019+
messages up to the fork point: the fork holds the newest 10,000 of them'
3020+
title: Truncated
3021+
type: boolean
30063022
x-stream-index: "001.006"
30073023
required:
30083024
- channel_cid
@@ -3032,6 +3048,13 @@ components:
30323048
format: date-time
30333049
title: Created at
30343050
type: string
3051+
x-stream-index: "009"
3052+
oldest_source_message_id:
3053+
description: ID, in the source channel, of the oldest message a truncated
3054+
fork copied. The fork holds no older source message; replies of the oldest
3055+
copied messages may also have been left out
3056+
title: Oldest source message ID
3057+
type: string
30353058
x-stream-index: "007"
30363059
source_channel_cid:
30373060
description: CID of the channel the fork was copied from
@@ -3047,14 +3070,23 @@ components:
30473070
description: '`completed` once every message is copied. `backfilling` while
30483071
a background task copies the history older than the newest page; the fork
30493072
is usable meanwhile, and the newest messages, which an agent reads, are
3050-
already there'
3073+
normally already there. The request reads at most 1,000 source messages:
3074+
when those are mostly deleted, shadowed or replies shown in the channel,
3075+
it copies fewer, at least the message the fork is made at, and the task
3076+
copies the rest'
30513077
title: Status
30523078
type: string
30533079
x-stream-index: "004"
30543080
task_id:
30553081
description: ID of the task copying the older history of a backfilling fork
30563082
title: Task ID
30573083
type: string
3084+
x-stream-index: "008"
3085+
truncated:
3086+
description: 'True, once completed, when the source held more than 10,000
3087+
messages up to the fork point: the fork holds the newest 10,000 of them'
3088+
title: Truncated
3089+
type: boolean
30583090
x-stream-index: "006"
30593091
required:
30603092
- channel_cid
@@ -16341,6 +16373,110 @@ components:
1634116373
- duration
1634216374
title: Channels list
1634316375
type: object
16376+
QueryDeletedChannelsRequest:
16377+
nullable: true
16378+
properties:
16379+
filter_conditions:
16380+
additionalProperties: {}
16381+
description: 'Optional filter. Omit it, or pass {}, to list every soft-deleted
16382+
channel of the app; for example {"team": "tenant-a"} narrows to one tenant'
16383+
title: Filter
16384+
type: object
16385+
x-stream-filter-fields:
16386+
cid:
16387+
operators:
16388+
- $eq
16389+
- $in
16390+
type: string
16391+
created_at:
16392+
operators:
16393+
- $gt
16394+
- $gte
16395+
- $lt
16396+
- $lte
16397+
type: date
16398+
created_by_id:
16399+
operators:
16400+
- $eq
16401+
- $in
16402+
type: string
16403+
deleted_at:
16404+
operators:
16405+
- $gt
16406+
- $gte
16407+
- $lt
16408+
- $lte
16409+
type: date
16410+
team:
16411+
operators:
16412+
- $eq
16413+
- $in
16414+
type: string
16415+
type:
16416+
operators:
16417+
- $eq
16418+
- $in
16419+
type: string
16420+
x-stream-index: "001"
16421+
limit:
16422+
description: Number of channels per page, 1-100 (default 25)
16423+
format: int32
16424+
maximum: 100
16425+
minimum: 0
16426+
title: Limit
16427+
type: integer
16428+
x-stream-index: "004.001"
16429+
next:
16430+
description: Cursor for the next page, from the previous response
16431+
title: Next
16432+
type: string
16433+
x-stream-index: "004.002"
16434+
prev:
16435+
description: Cursor for the previous page, from the previous response
16436+
title: Prev
16437+
type: string
16438+
x-stream-index: "004.003"
16439+
sort:
16440+
description: Sort order. Only created_at is supported; defaults to created_at
16441+
ascending
16442+
items:
16443+
$ref: '#/components/schemas/SortParamRequest'
16444+
maxItems: 1
16445+
title: Sort
16446+
type: array
16447+
x-stream-index: "002"
16448+
x-stream-sort-combinations:
16449+
- - created_at
16450+
x-stream-sort-fields:
16451+
- created_at
16452+
title: Query Deleted Channels Request
16453+
type: object
16454+
QueryDeletedChannelsResponse:
16455+
nullable: true
16456+
properties:
16457+
channels:
16458+
description: Soft-deleted channels matching the filter, each with deleted_at
16459+
set
16460+
items:
16461+
$ref: '#/components/schemas/ChannelResponse'
16462+
title: Channels
16463+
type: array
16464+
x-stream-index: "001"
16465+
duration:
16466+
description: Duration of the request in milliseconds
16467+
title: Duration
16468+
type: string
16469+
x-stream-index: "003.001"
16470+
next:
16471+
type: string
16472+
x-stream-index: "002.001"
16473+
prev:
16474+
type: string
16475+
x-stream-index: "002.002"
16476+
required:
16477+
- channels
16478+
- duration
16479+
type: object
1634416480
QueryDraftsRequest:
1634516481
nullable: true
1634616482
properties:
@@ -26427,7 +26563,7 @@ components:
2642726563
type: apiKey
2642826564
info:
2642926565
title: Stream API
26430-
version: v239.97.5
26566+
version: v240.0.0
2643126567
x-stream-breaking-changes:
2643226568
go:
2643326569
- CHA-3441 (2026-10-08)
@@ -27717,7 +27853,7 @@ paths:
2771727853
/channels/{type}/{id}/fork:
2771827854
post:
2771927855
description: |
27720-
Forks an agent channel at one of its messages: creates a new agent channel holding a copy of the messages a client sees up to it, itself included, with their replies up to it. The source channel is not changed. Reactions, pins, polls, read state, mutes, reminders, moderation flags and edit history are not copied. Fork only at a message the agent has finished writing. The request copies the newest 100 messages and their replies, so the fork is usable when it returns; older history is copied by a background task (`fork.status` is `backfilling`, `fork.task_id` names the task) and `channel.forked` is sent once every message is copied. A retry with the same channel ID and message returns the fork. Only available for the `agent` channel type.
27856+
Forks an agent channel at one of its messages: creates a new agent channel holding a copy of the messages a client sees up to it, itself included, with their replies up to it. The source channel is not changed. Reactions, pins, polls, read state, mutes, reminders, moderation flags and edit history are not copied. Fork only at a message the agent has finished writing. The request copies the newest 100 messages and their replies, so the fork is usable when it returns (fewer when the newest 1,000 messages are mostly deleted or hidden); older history is copied by a background task (`fork.status` is `backfilling`, `fork.task_id` names the task) and `channel.forked` is sent once every message is copied. A retry with the same channel ID and message returns the fork. Only available for the `agent` channel type.
2772127857

2772227858
Sends events:
2772327859
- channel.created
@@ -28763,6 +28899,40 @@ paths:
2876328899
summary: Deletes channels asynchronously
2876428900
tags:
2876528901
- product:chat
28902+
/channels/deleted:
28903+
post:
28904+
description: |
28905+
Lists soft-deleted channels, ordered by created_at. Server-side only. Without a filter it lists every soft-deleted channel of the app; filter by team to scope it to one tenant. To permanently remove the returned channels, pass their cids to Delete channels (POST /channels/delete) with hard_delete set to true; the single-channel Delete channel endpoint does not accept soft-deleted channels.
28906+
operationId: QueryDeletedChannels
28907+
requestBody:
28908+
content:
28909+
application/json:
28910+
schema:
28911+
$ref: '#/components/schemas/QueryDeletedChannelsRequest'
28912+
description: Query Deleted Channels Request
28913+
required: true
28914+
responses:
28915+
"201":
28916+
content:
28917+
application/json:
28918+
schema:
28919+
$ref: '#/components/schemas/QueryDeletedChannelsResponse'
28920+
description: Successful response
28921+
"400":
28922+
content:
28923+
application/json:
28924+
schema:
28925+
$ref: '#/components/schemas/APIError'
28926+
description: Bad request
28927+
"429":
28928+
content:
28929+
application/json:
28930+
schema:
28931+
$ref: '#/components/schemas/APIError'
28932+
description: Too many requests
28933+
summary: Query deleted channels
28934+
tags:
28935+
- product:chat
2876628936
/channels/delivered:
2876728937
post:
2876828938
description: |

‎openapi/clientside-api.json‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)