Skip to content
Roboto
Esc
↑↓navigate↵open⌘Jpreview

Set file timeline offsets

Calibrate timelines on a file.

Each entry’s unix_epoch_offset_ns is added to stored partition times to place them in Unix-epoch time (session_time_ns = stored_time_ns + unix_epoch_offset_ns). It is a non-negative integer of nanoseconds, or any value roboto.time.to_epoch_nanoseconds reads: a float or numeric string is seconds, and an ISO 8601 string is the instant at which stored time 0 occurred. Selectors narrow which extents an entry touches:

  1. topic_name restricts the entry to one topic on this file.
  2. timeline_source_name or timeline_source_id restricts the entry to a specific timeline source within the selected scope.
  3. An entry with no selectors targets every timeline extent on the file.

When a session declares an explicit time range over this file, that range is stored in anchored time and moves with the data it names: it shifts by the same distance when every partition in the session’s slice of the file carries one offset before this write and one after. Partitions that disagree on either side leave no single distance to move by, so the range stays where it is; that is what happens when an entry’s selectors reach only part of the slice, or when the slice already sat at more than one offset. Every session holding data this write moved has its aggregate bounds recomputed.

Returns the updated timeline extent records. An extent already carrying the offset an entry assigns is left untouched and omitted, so re-stating an anchor that already holds returns an empty list.

At least one entry is required; an empty request yields a 400. All entries apply in a single transaction. Two conditions yield a 404, each with its own message: the file carries no registered topic data to offset at all, or the entries’ selectors together reach no extent on it. An entry that reaches nothing while another entry reaches something is skipped without error. An entry whose offset would move the data it reaches before the Unix epoch or past the largest storable instant (2**63 - 1 ns) yields a 400, and nothing in the request is written. The caller must hold edit access to the file; an unknown file yields a 404.

Access control

  • Restricted tokens need the API scope api.everything_else
POST/v1/files/id/{fs_node_id}/timeline-offsets
Authorization
AuthorizationBearer token · headerrequired
Path parameters
fs_node_idstringrequired
Header parameters
X-Roboto-Org-Idstring
X-Roboto-User-Idstring
Request body
requiredapplication/json
offsetsTimelineOffsetEntry[]required
min items 1
Show properties
Array of TimelineOffsetEntry
unix_epoch_offset_nsintegerrequired
min 0 · max 9223372036854776000
topic_namestring | null
default: null
Show properties
Any of:
string
string
null
null
timeline_source_namestring | null
default: null
Show properties
Any of:
string
string
null
null
timeline_source_idstring | null
default: null
Show properties
Any of:
string
string
null
null
Responses
200

OK

dataobject[]required
Show properties
Array of object
createdstring<date-time> | null
default: null
Show properties
Any of:
string<date-time>
string<date-time>
null
null
created_bystringrequired
max_timestampinteger | null
default: null
Show properties
Any of:
integer
integer
null
null
min_timestampinteger | null
default: null
Show properties
Any of:
integer
integer
null
null
modifiedstring<date-time> | null
default: null
Show properties
Any of:
string<date-time>
string<date-time>
null
null
modified_bystringrequired
org_idstringrequired
timeline_extent_idstringrequired
timeline_source_idstringrequired
topic_part_idstringrequired
unix_epoch_offset_nsinteger
default: 0
400

Thrown 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.

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
401

Thrown when authentication fails

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
403

Thrown if an operation would exceed a user or org level limit.

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
404

Thrown if a user is attempting to perform an action unrecognized by the Roboto platform.

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
409

Thrown if there is a conflict between a resource you're creating and another existing resource

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
410

Thrown if a resource is missing or expired.

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
500

An 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.

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
501

Thrown by shimmed out APIs which have not yet been implemented

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
503

Thrown 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.

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
504

Thrown when the service times out while processing a request. This is exepcted to be transient and ought to be retried.

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
507

Thrown 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.

errorobject
Show properties
error_codenumber
messagestring
stack_tracestring | null
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST 'https://api.roboto.ai/v1/files/id/string/timeline-offsets' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "offsets": [
    {
      "unix_epoch_offset_ns": 0,
      "topic_name": null,
      "timeline_source_name": null,
      "timeline_source_id": null
    }
  ]
}'
Response
{
  "data": [
    {
      "created": null,
      "created_by": "string",
      "max_timestamp": null,
      "min_timestamp": null,
      "modified": null,
      "modified_by": "string",
      "org_id": "string",
      "timeline_extent_id": "string",
      "timeline_source_id": "string",
      "topic_part_id": "string",
      "unix_epoch_offset_ns": 0
    }
  ]
}