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

Set file representations

Replace the representations of the named topics on one already-uploaded file.

Each topic and slice listed ends up with exactly the representations listed; topics and slices not listed keep theirs. The request is all or nothing: nothing is written unless every entry is accepted.

Answers 404 when:

  1. The file is not Available, or a listed representation names a file that is not an Available file of the same org.
  2. An entry names a topic or slice the file does not carry.

Answers 401 when the caller lacks edit access to the file or to a file a listed representation names.

Answers 400 when the request is malformed, or when an entry:

  1. Lists a PARQUET representation for a topic whose data on the file carries a timeline extent on a timeline source of kind message_log_time or message_publish_time.
  2. Lists a representation of a field the topic’s schema on the file does not have.
  3. Lists, for a slice, a representation covering what no listed representation readable by row position covers, whether that is the whole topic or one field. A representation is readable by row position when it has no transformations or every one is an encode.

Access control

  • Restricted tokens need the API scope api.everything_else
PUT/v1/files/id/{fs_node_id}/representations
Authorization
AuthorizationBearer token · headerrequired
Path parameters
fs_node_idstringrequired
Header parameters
X-Roboto-Org-Idstring
X-Roboto-User-Idstring
Request body
requiredapplication/json
topicsTopicRepresentations[]required
min items 1 · max items 500
Show properties
Array of TopicRepresentations
topic_namestringrequired
min length 1
data_rangeany[] | null
default: null
Show properties
Any of:
any[]
Array of any
null
null
representationsRepresentationDeclaration[]required
Show properties
Array of RepresentationDeclaration
file_idstringrequired
min length 1
storage_formatRepresentationStorageFormatrequired

Supported storage formats for topic data representations.

Defines the available formats for storing and accessing topic data within the Roboto platform. Each format has different characteristics and use cases.

Allowed:mcapparquet
content_formatstring | null
default: null
Show properties
Any of:
string
string
null
null
transformationsstring[]
field_pathstring[] | null
default: null
Show properties
Any of:
string[]
Array of string
string
null
null
Responses
200

OK

datanullrequired
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 PUT 'https://api.roboto.ai/v1/files/id/string/representations' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "topics": [
    {
      "topic_name": "string",
      "data_range": null,
      "representations": [
        {
          "file_id": "string",
          "storage_format": "mcap",
          "content_format": null,
          "transformations": [
            "string"
          ],
          "field_path": null
        }
      ]
    }
  ]
}'
Response
{
  "data": null
}