Set topic unix offset
Anchor the data one session holds for one topic to wall-clock time.
unix_epoch_offset_ns is added to the stored timestamps of every partition of this topic
that the session’s membership claims admit, so they read as wall-clock time
(session_time_ns = stored_time_ns + unix_epoch_offset_ns). This is the write for a session
whose data all starts from one time 0 but is stored apart: chunked across several files, or
packed into slices of one shared file. All of its partitions move in one transaction, so a
failure leaves every one of them at the offset it already had.
The offset is an integer of nanoseconds since the Unix epoch, or any time
roboto.time.to_epoch_nanoseconds reads: a float or numeric string is seconds, and an ISO 8601
string is that instant.
The offsets are stored on the partitions’ timeline extents, which belong to the files rather than to
the session: any other session holding the same data sees the same anchor. A membership’s declared
time range is stored in anchored time, so it moves with its data, but only when everything the
membership claims moved by one distance; a membership whose claim also covers data this write
leaves alone (another topic in the same file or slice) keeps its declared range. To move a
whole session at once, use the session’s own unix-offset endpoint, or declare its anchor_ns
at ingest; the file’s timeline-offsets endpoint with no selector does the same in one call only
when the whole session is one whole file.
Returns the updated timeline extent records.
The caller must hold session-view access in the org that owns the session, and edit access to every file behind the data being written. An unknown session yields a 404, and one the caller cannot view yields a 401. The topic is reached only through the session’s partitions, so both an unknown topic and one the session holds no data for yield a 404.
An offset yields a 400 when it cannot be read as a time, when it does not fall after the Unix epoch and below 263 ns, or when it would move the data it reaches, or a time range declared over that data, before the Unix epoch or past the largest storable instant (263 - 1 ns). A concurrent writer adding data to the session yields a 409; retry the request.
Access control
- Restricted tokens need the API scope
api.everything_else
/v2/topics/id/{topic_id}/unix-offsetAuthorizationBearer token · headerrequiredtopic_idstringrequiredX-Roboto-Org-IdstringX-Roboto-User-Idstringapplication/jsonsession_idstringrequiredunix_epoch_offset_nsintegerrequiredOK
dataobject[]requiredShow propertiesHide properties
objectcreatedstring<date-time> | nullShow propertiesHide properties
string<date-time>nullcreated_bystringrequiredmax_timestampinteger | nullShow propertiesHide properties
integernullmin_timestampinteger | nullShow propertiesHide properties
integernullmodifiedstring<date-time> | nullShow propertiesHide properties
string<date-time>nullmodified_bystringrequiredorg_idstringrequiredtimeline_extent_idstringrequiredtimeline_source_idstringrequiredtopic_part_idstringrequiredunix_epoch_offset_nsintegerThrown when the conversation context (messages, system prompt, tool results) exceeds the model's context window limit.
The token estimate and the model's context limit are not carried on the exception, so a caller cannot read usage numbers off it.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when authentication fails
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if an operation would exceed a user or org level limit.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if a user is attempting to perform an action unrecognized by the Roboto platform.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if there is a conflict between a resource you're creating and another existing resource
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if a resource is missing or expired.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullAn error the platform reported that this SDK release cannot resolve to a specific exception class.
Reported for an element of a :py:class:~roboto.http.BatchResponse whose error names a code this release
defines no class for, or that arrived without a code, without a message, or as text that is not an
error envelope at all. It carries whatever code and message the platform sent, so a caller handling the
failure still learns what went wrong; when no message could be read, the message is the error's raw text.
The error envelope carries no status code, so http_status_code reports the 500 inherited from
:py:class:RobotoDomainException rather than the status the failure actually had.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown by shimmed out APIs which have not yet been implemented
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when a service is unavailable, such as when it's under heavy load and can't accept new requests. This is expected to be transient and ought to be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when the service times out while processing a request. This is exepcted to be transient and ought to be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when the server cannot complete the request because the response payload exceeds a storage or transport capacity limit (e.g., Lambda response size). This is NOT expected to be transient and should NOT be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | null