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

Update file record

Access control

  • Restricted tokens need the API scope api.everything_else
PUT/v1/files/record/{file_id}
Authorization
AuthorizationBearer token · headerrequired
Path parameters
file_idstringrequired
Header parameters
X-Roboto-Org-Idstring
X-Roboto-User-Idstring
Request body
requiredapplication/json
descriptionstring | null
Show properties
Any of:
string
string
null
null
null
null
device_idstring | null
Show properties
Any of:
string
string
null
null
null
null
metadata_changesetMetadataChangeset | null
Show properties
Any of:
MetadataChangeset
put_tagsstring[] | null
default: null
Show properties
Any of:
string[]
Array of string
string
string[]
Array of string
string
null
null
remove_tagsstring[] | null
default: null
Show properties
Any of:
string[]
Array of string
string
string[]
Array of string
string
null
null
put_fieldsobject | null
default: null
Show properties
Any of:
object
object
null
null
remove_fieldsstring[] | null
default: null
Show properties
Any of:
string[]
Array of string
string
string[]
Array of string
string
null
null
replace_allboolean
default: false
null
null
ingestion_completeboolean | null
Show properties
Any of:
boolean
boolean
null
null
Responses
200

OK

dataobjectrequired

Wire-transmissible representation of a file in the Roboto platform.

FileRecord contains all the metadata and properties associated with a file, including its location, status, ingestion state, and user-defined metadata. This is the data structure used for API communication and persistence.

FileRecord instances are typically created by the platform during file import or upload operations, and are updated as files are processed and modified. The File domain class wraps FileRecord to provide a more convenient interface for file operations.

Show properties
association_idstringrequired
createdstring<date-time>required
created_bystring
default: ""
descriptionstring | null
default: null
Show properties
Any of:
string
string
null
null
device_idstring | null
default: null
Show properties
Any of:
string
string
null
null
file_idstringrequired
fs_typeFSType

File system type enum

Allowed:filedirectorylink
ingestableboolean
default: false
ingestion_statusIngestionStatus

Enumeration of file ingestion status values in the Roboto platform.

Ingestion status tracks whether a file's data has been processed and extracted into topics for analysis and visualization. This status determines what platform features are available for the file and whether it can trigger automated workflows.

File ingestion happens as a post-upload processing step. Roboto supports many common robotics log formats (ROS bags, MCAP files, ULOG files, etc.) out-of-the-box. Custom ingestion actions can be written for other formats.

When writing custom ingestion actions, be sure to update the file's ingestion status to mark it as fully ingested. This enables triggers and other automated workflows that depend on complete ingestion.

Ingested files have first-class visualization support and can be queried through the topic data system.

Allowed:not_ingestedpartly_ingestedingested
metadataobject
modifiedstring<date-time>required
modified_bystringrequired
namestringrequired
org_idstringrequired
originationstring
default: ""
parent_idstring | null
default: null
Show properties
Any of:
string
string
null
null
relative_pathstringrequired
sizeintegerrequired
statusFileStatus

Enumeration of possible file status values in the Roboto platform.

File status tracks the lifecycle state of a file from initial upload through to availability for use. This status is managed automatically by the platform and affects file visibility and accessibility.

The typical file lifecycle is: Reserved → Available → (optionally) Deleted.

Allowed:availabledeletedreserved
storage_typeFileStorageType

Enumeration of file storage types in the Roboto platform.

Storage type indicates how the file was added to the platform and affects access patterns and permissions. This information is used internally for credential management and access control.

Allowed:importeduploadeddirectory
tagsstring[]
upload_idstring
default: "NO_ID"
uristringrequired
versionintegerrequired
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/record/string' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "description": "string",
  "device_id": "string",
  "metadata_changeset": {
    "put_tags": null,
    "remove_tags": null,
    "put_fields": null,
    "remove_fields": null,
    "replace_all": false
  },
  "ingestion_complete": true
}'
Response
{
  "data": {
    "association_id": "string",
    "created": "2019-08-24T14:15:22Z",
    "created_by": "",
    "description": null,
    "device_id": null,
    "file_id": "string",
    "fs_type": "file",
    "ingestable": false,
    "ingestion_status": "not_ingested",
    "metadata": {},
    "modified": "2019-08-24T14:15:22Z",
    "modified_by": "string",
    "name": "string",
    "org_id": "string",
    "origination": "",
    "parent_id": null,
    "relative_path": "string",
    "size": 0,
    "status": "available",
    "storage_type": "imported",
    "tags": [
      "string"
    ],
    "upload_id": "NO_ID",
    "uri": "string",
    "version": 0
  }
}