---
title: "Restore web link"
method: POST
path: "/web_links/{web_link_id}"
tags: ["Trashed web links"]
---

# Restore web link

`POST /web_links/{web_link_id}`

Restores a web link that has been moved to the trash.

An optional new parent ID can be provided to restore the  web link to in case
the original folder has been deleted.

## Path parameters

- `web_link_id` string, required

## Query parameters

- `fields` string[]

## Request body

- object
  - `name` string — An optional new name for the web link.
  - `parent` object — Specifies an optional ID of a folder to restore the web link to when the original folder no longer exists. Please be aware that this ID will only be used if the original folder no longer exists. Use this ID to provide a fallback location to restore the web link to if the original location has been deleted.
    - `id` string — The ID of parent item.

## Response `201`

Returns a web link object when it has been restored.

- TrashWebLinkRestored — Represents a web link restored from the trash.
  - `type` 'web_link' — The value will always be `web_link`.
  - `id` string — The unique identifier for this web link.
  - `sequence_id` string, required — A numeric identifier that represents the most recent user event that has been applied to this item. This can be used in combination with the `GET /events`-endpoint to filter out user events that would have occurred before this identifier was read. An example would be where a Box Drive-like application would fetch an item via the API, and then listen to incoming user events for changes to the item. The application would ignore any user events where the `sequence_id` in the event is smaller than or equal to the `sequence_id` in the originally fetched resource.
  - `etag` string — The entity tag of this web link. Used with `If-Match` headers.
  - `name` string — The name of the web link.
  - `url` string — The URL this web link points to.
  - `parent` object — The parent object the web link belongs to.
    - `id` string, required — The unique identifier that represent a folder. The ID for any folder can be determined by visiting a folder in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/folders/123` the `folder_id` is `123`.
    - `etag` string, nullable — The HTTP `etag` of this folder. This can be used within some API endpoints in the `If-Match` and `If-None-Match` headers to only perform changes on the folder if (no) changes have happened.
    - `type` 'folder', required — The value will always be `folder`.
    - `sequence_id` string — A numeric identifier that represents the most recent user event that has been applied to this item. This can be used in combination with the `GET /events`-endpoint to filter out user events that would have occurred before this identifier was read. An example would be where a Box Drive-like application would fetch an item via the API, and then listen to incoming user events for changes to the item. The application would ignore any user events where the `sequence_id` in the event is smaller than or equal to the `sequence_id` in the originally fetched resource.
    - `name` string — The name of the folder.
  - `description` string — The description accompanying the web link. This is visible within the Box web application.
  - `path_collection` object, required — The tree of folders that this web link is contained in, starting at the root.
    - `total_count` integer, required — The number of folders in this list.
    - `entries` FolderMini[], required — The parent folders for this item.
      - `id` string, required — The unique identifier that represent a folder. The ID for any folder can be determined by visiting a folder in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/folders/123` the `folder_id` is `123`.
      - `etag` string, nullable — The HTTP `etag` of this folder. This can be used within some API endpoints in the `If-Match` and `If-None-Match` headers to only perform changes on the folder if (no) changes have happened.
      - `type` 'folder', required — The value will always be `folder`.
      - `sequence_id` string — A numeric identifier that represents the most recent user event that has been applied to this item. This can be used in combination with the `GET /events`-endpoint to filter out user events that would have occurred before this identifier was read. An example would be where a Box Drive-like application would fetch an item via the API, and then listen to incoming user events for changes to the item. The application would ignore any user events where the `sequence_id` in the event is smaller than or equal to the `sequence_id` in the originally fetched resource.
      - `name` string — The name of the folder.
  - `created_at` string, date-time — When this file was created on Box’s servers.
  - `modified_at` string, date-time — When this file was last updated on the Box servers.
  - `trashed_at` string, nullable — The time at which this bookmark was put in the trash - becomes `null` after restore.
  - `purged_at` string, nullable — The time at which this bookmark will be permanently deleted - becomes `null` after restore.
  - `created_by` object — The user who created this web link.
    - `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.
  - `modified_by` object — The user who last modified this web link.
    - `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.
  - `owned_by` object — The user who owns this web link.
    - `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.
  - `shared_link` string, nullable — The shared link for this bookmark. This will be `null` if a bookmark had been trashed, even though the original shared link does become active again.
  - `item_status` 'active' | 'trashed' | 'deleted' — Whether this item is deleted or not. Values include `active`, `trashed` if the file has been moved to the trash, and `deleted` if the file has been permanently deleted.

## Other responses

- `403` — Returns an error if the user does not have access to the folder the web link is being restored to, or the user does not have permission to restore web link from the trash.
- `404` — Returns an error if the web link is not in the trash.
- `409` — Returns an error if there is an web link with the same name in the folder the web link is being restored to.
- `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)
