---
title: "Promote file version"
method: POST
path: "/files/{file_id}/versions/current"
tags: ["File versions"]
---

# Promote file version

`POST /files/{file_id}/versions/current`

Promote a specific version of a file.

If previous versions exist, this method can be used to
promote one of the older versions to the top of the version history.

This creates a new copy of the old version and puts it at the
top of the versions history. The file will have the exact same contents
as the older version, with the same hash digest, `etag`, and
name as the original.

Other properties such as comments do not get updated to their
former values.

Don't use this endpoint to restore Box Notes,
as it works with file formats such as PDF, DOC,
PPTX or similar.

## Path parameters

- `file_id` string, required

## Query parameters

- `fields` string[]

## Request body

- object — The file version to promote.
  - `id` string — The file version ID.
  - `type` 'file_version' — The type to promote.

## Response `201`

Returns a newly created file version object.

- FileVersionFull — The bare basic representation of a file version, the minimal amount of fields returned when using the `fields` query parameter.
  - `id` string, required — The unique identifier that represent a file version.
  - `type` 'file_version', required — The value will always be `file_version`.
  - `sha1` string — The SHA1 hash of this version of the file.
  - `name` string — The name of the file version.
  - `size` integer — Size of the file version in bytes.
  - `created_at` string, date-time — When the file version object was created.
  - `modified_at` string, date-time — When the file version object was last updated.
  - `modified_by` object — The user who last updated the file version.
    - `id` string, required — The unique identifier for this user.
    - `type` 'user', required — The value will always be `user`.
    - `name` string — The display name of this user.
    - `login` string, email — The primary email address of this user.
  - `trashed_at` string, date-time, nullable — When the file version object was trashed.
  - `trashed_by` object — The user who trashed the file version.
    - `id` string, required — The unique identifier for this user.
    - `type` 'user', required — The value will always be `user`.
    - `name` string — The display name of this user.
    - `login` string, email — The primary email address of this user.
  - `restored_at` string, date-time, nullable — When the file version was restored from the trash.
  - `restored_by` object — The user who restored the file version from the trash.
    - `id` string, required — The unique identifier for this user.
    - `type` 'user', required — The value will always be `user`.
    - `name` string — The display name of this user.
    - `login` string, email — The primary email address of this user.
  - `purged_at` string, date-time, nullable — When the file version object will be permanently deleted.
  - `uploader_display_name` string — The display name of the user that uploaded the file. In most cases this is the name of the user logged in at the time of the upload. If the file was uploaded using a File Request form that requires the user to provide an email address, this field is populated with that email address. If an email address was not required in the File Request form, this field is set to return a value of `File Request`. In all other anonymous cases where no email was provided this field will default to a value of `Someone`.
  - `version_number` string — The version number of this file version.

## Other responses

- `default` — An unexpected client error.

---

[API](https://skmtc.net/box/apis/platform-api.md) · [All operations](https://skmtc.net/box/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/box/platform-api/revisions/ba8f087e1a4d/schema)
