You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e3fcfc9
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: openapi/chat-openapi-clientside.yaml
+40-8Lines changed: 40 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -1411,17 +1411,24 @@ components:
1411
1411
format: date-time
1412
1412
title: Created at
1413
1413
type: string
1414
-
x-stream-index: "001.007"
1414
+
x-stream-index: "001.009"
1415
1415
message_id_map:
1416
1416
additionalProperties:
1417
1417
type: string
1418
1418
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
1422
1422
title: Message ID map
1423
1423
type: object
1424
1424
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"
1425
1432
source_channel_cid:
1426
1433
description: CID of the channel the fork was copied from
1427
1434
title: Source channel CID
@@ -1436,14 +1443,23 @@ components:
1436
1443
description: '`completed` once every message is copied. `backfilling` while
1437
1444
a background task copies the history older than the newest page; the fork
1438
1445
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'
1440
1450
title: Status
1441
1451
type: string
1442
1452
x-stream-index: "001.004"
1443
1453
task_id:
1444
1454
description: ID of the task copying the older history of a backfilling fork
1445
1455
title: Task ID
1446
1456
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
1447
1463
x-stream-index: "001.006"
1448
1464
required:
1449
1465
- channel_cid
@@ -1473,6 +1489,13 @@ components:
1473
1489
format: date-time
1474
1490
title: Created at
1475
1491
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
1476
1499
x-stream-index: "007"
1477
1500
source_channel_cid:
1478
1501
description: CID of the channel the fork was copied from
@@ -1488,14 +1511,23 @@ components:
1488
1511
description: '`completed` once every message is copied. `backfilling` while
1489
1512
a background task copies the history older than the newest page; the fork
1490
1513
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'
1492
1518
title: Status
1493
1519
type: string
1494
1520
x-stream-index: "004"
1495
1521
task_id:
1496
1522
description: ID of the task copying the older history of a backfilling fork
1497
1523
title: Task ID
1498
1524
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
1499
1531
x-stream-index: "006"
1500
1532
required:
1501
1533
- channel_cid
@@ -18844,7 +18876,7 @@ components:
18844
18876
type: apiKey
18845
18877
info:
18846
18878
title: Stream API
18847
-
version: v239.97.5
18879
+
version: v240.0.0
18848
18880
x-stream-breaking-changes:
18849
18881
go:
18850
18882
- CHA-3441 (2026-10-08)
@@ -19756,7 +19788,7 @@ paths:
19756
19788
/channels/{type}/{id}/fork:
19757
19789
post:
19758
19790
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.
Copy file name to clipboardExpand all lines: openapi/chat-openapi.yaml
+178-8Lines changed: 178 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -2970,17 +2970,24 @@ components:
2970
2970
format: date-time
2971
2971
title: Created at
2972
2972
type: string
2973
-
x-stream-index: "001.007"
2973
+
x-stream-index: "001.009"
2974
2974
message_id_map:
2975
2975
additionalProperties:
2976
2976
type: string
2977
2977
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
2981
2981
title: Message ID map
2982
2982
type: object
2983
2983
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"
2984
2991
source_channel_cid:
2985
2992
description: CID of the channel the fork was copied from
2986
2993
title: Source channel CID
@@ -2995,14 +3002,23 @@ components:
2995
3002
description: '`completed` once every message is copied. `backfilling` while
2996
3003
a background task copies the history older than the newest page; the fork
2997
3004
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'
2999
3009
title: Status
3000
3010
type: string
3001
3011
x-stream-index: "001.004"
3002
3012
task_id:
3003
3013
description: ID of the task copying the older history of a backfilling fork
3004
3014
title: Task ID
3005
3015
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
3006
3022
x-stream-index: "001.006"
3007
3023
required:
3008
3024
- channel_cid
@@ -3032,6 +3048,13 @@ components:
3032
3048
format: date-time
3033
3049
title: Created at
3034
3050
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
3035
3058
x-stream-index: "007"
3036
3059
source_channel_cid:
3037
3060
description: CID of the channel the fork was copied from
@@ -3047,14 +3070,23 @@ components:
3047
3070
description: '`completed` once every message is copied. `backfilling` while
3048
3071
a background task copies the history older than the newest page; the fork
3049
3072
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'
3051
3077
title: Status
3052
3078
type: string
3053
3079
x-stream-index: "004"
3054
3080
task_id:
3055
3081
description: ID of the task copying the older history of a backfilling fork
3056
3082
title: Task ID
3057
3083
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
3058
3090
x-stream-index: "006"
3059
3091
required:
3060
3092
- channel_cid
@@ -16341,6 +16373,110 @@ components:
16341
16373
- duration
16342
16374
title: Channels list
16343
16375
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
16344
16480
QueryDraftsRequest:
16345
16481
nullable: true
16346
16482
properties:
@@ -26427,7 +26563,7 @@ components:
26427
26563
type: apiKey
26428
26564
info:
26429
26565
title: Stream API
26430
-
version: v239.97.5
26566
+
version: v240.0.0
26431
26567
x-stream-breaking-changes:
26432
26568
go:
26433
26569
- CHA-3441 (2026-10-08)
@@ -27717,7 +27853,7 @@ paths:
27717
27853
/channels/{type}/{id}/fork:
27718
27854
post:
27719
27855
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.
27721
27857
27722
27858
Sends events:
27723
27859
- channel.created
@@ -28763,6 +28899,40 @@ paths:
28763
28899
summary: Deletes channels asynchronously
28764
28900
tags:
28765
28901
- 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.
0 commit comments