---
search:
  tags:
    - Files
    - PUT
seo:
  description: >-
    Replace the representations of the named topics on one… Reference for the
    PUT /v1/files/id/{fs_node_id}/representations endpoint in the Roboto REST
    API.
sidebar:
  label: Set file representations
  badge: PUT
title: Set file representations
type: openapi-operation
---
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`
