# IRPCObjectOperations.SetTier

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md) > [Objects, versions, properties and files](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/SetTier/

Badges: `Vault API / core` `write` `session or assertion`

Moves objects between storage tiers.

- **Service:** [Objects, versions, properties and files](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/index.md) `MFiles.IRPCObjectOperations`
- **gRPC method:** `/MFiles.IRPCObjectOperations/SetTier`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/set-tier`
- **Request:** [`SetTierRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/SetTier/index.md#request)
- **Response:** [`SetTierResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/SetTier/index.md#response)
- **Book and level:** Vault API, core
- **Kind:** write
- **Session:** Required: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
- **Idempotent:** no
- **Returns metadata structure version:** no
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

Requires full control of the vault. Objects that could not be moved are listed in `failed`.

<a id="request"></a>

## Request: SetTierRequest

A request structure for SetTier RPC call. It contains all request data.

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `objects[]` | repeated [`ObjID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjID/index.md) | Objects to set the tier for. |
| `objects[].type` | `int32` | The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID). |
| `objects[].item_id` | [`ItemID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ItemID/index.md) | The ID of the object within its type, in `item_id.internal_id`. |
| `objects[].item_id.internal_id` | `int32` | The ID of the object or value list item. |
| `objects[].item_id.external_repository_id` | [`ExternalRepositoryID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExternalRepositoryID/index.md) | Used only for objects in external repositories (external connectors). Leave it unset for objects stored in the vault. |
| `force_undo_checkout` | `bool` | True to force undo checkout for checked out objects. |
| `can_skip` | `bool` | True if objects can be skipped (e.g. when preconditions aren't met). |
| `storage_tier` | [`StorageTier`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.StorageTier/index.md) | The storage tier to set. Values: `STORAGE_TIER_UNDEFINED` (0), `STORAGE_TIER_CONTENT` (1), `STORAGE_TIER_RECORD` (2). |
| `output_result_data` | `bool` | True if the response should contain result data. |

<a id="response"></a>

## Response: SetTierResponse

A response structure for SetTier RPC call. It contains all response data.

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `failed[]` | repeated [`ObjectOperationStatus`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectOperationStatus/index.md) | Objects that failed (tier couldn't be set). |
| `failed[].obj_id` | [`ObjID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjID/index.md) | The object. |
| `failed[].obj_id.type` | `int32` | The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID). |
| `failed[].obj_id.item_id` | [`ItemID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ItemID/index.md) | The ID of the object within its type, in `item_id.internal_id`. |
| `failed[].message` | `string` | Status message. |
| `failed[].status` | `int32` | Status code, HRESULT. |
| `results[]` | repeated [`ExtObjectInfo`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExtObjectInfo/index.md) | Resulting object information if requested. |
| `results[].is_visible` | `bool` | True if any version of the object is visible to the caller. |
| `results[].object_info` | [`ObjectLevelInfo`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectLevelInfo/index.md) | Object-level information, if `is_visible` is true. |
| `results[].object_info.obj_id` | [`ObjID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjID/index.md) | The object type and ID of the object. |
| `results[].object_info.external_id_status` | [`ExtIDStatus`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.ExtIDStatus/index.md) | The status of this object's external ID. Values: `EXT_IDSTATUS_UNKNOWN` (0), `EXT_IDSTATUS_EXTERNAL` (1), `EXT_IDSTATUS_INTERNAL` (2), `EXT_IDSTATUS_DISCARDED` (3), `EXT_IDSTATUS_NOT_AVAILABLE` (4), `EXT_IDSTATUS_EXTERNAL_REDUCED` (5). |
| `results[].object_info.external_id` | `string` | The external ID (display ID) of this object. unset means that the external ID is the same as the internal ID. |
| `results[].object_info.checked_out_version` | [`ObjVerVersion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjVerVersion/index.md) | The version that is checked out. Version number 0 if the object is not checked out. |
| `results[].object_info.checked_out_to_user_id` | `int32` | The ID of the user who has the object checked out. |
| `results[].object_info.checked_out_to_user_name` | `string` | The user name of the user who has the object checked out. |
| `results[].object_info.checked_out_to_host_name` | `string` | The host name of the computer to which the object was checked out. |
| `results[].object_info.checked_out_at_utc` | [`google.protobuf.Timestamp`](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp) | The timestamp of the moment the object was checked out. |
| `results[].object_info.checked_in_version` | [`ObjVerVersion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjVerVersion/index.md) | The latest checked-in version. |
| `results[].object_info.created_at_utc` | [`google.protobuf.Timestamp`](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp) | The time when the object was created (same as the PROPERTYDEF_CREATED propertyvalue). |
| `results[].object_info.accessed_by_me_utc` | [`google.protobuf.Timestamp`](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp) | Accessed by me timestamp. Parallel operations may cause slight inconsistencies in the returned timestamp in rare cases and the precise value shouldn't be relied upon. The observed timestamp may even roll back. |
| `results[].object_info.guid` | `string` | The object GUID, in braces. The same value as `GetObjectGUID` returns. |
| `results[].object_info.options` | [`ITEMFLAGS`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ITEMFLAGS/index.md) | Bit flags that provide additional information on the object (e.g. is the object deleted or a stub). |
| `results[].object_info.original_vault_guid` | `string` | The GUID of the vault in which the object was originally created. |
| `results[].object_info.original_vault_obj_id` | [`ObjID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjID/index.md) | The original objid in the vault in which the object was originally created. |
| `results[].object_info.associated_view_id` | [`ItemID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ItemID/index.md) | Identifies the view associated with this object if any. |
| `results[].object_info.external_repository_icon_id` | `string` | If not null, identifies the icon of the object. Currently applicable only to unmanaged objects. |
| `results[].object_info.primary_view_id` | [`ItemID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ItemID/index.md) | If not null, identifies the primary view of the object that is also the default opening location of the object. Currently applicable only to unmanaged objects. |
| `results[].object_info.capabilities` | [`OBJECTCAPABILITYFLAGS`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.OBJECTCAPABILITYFLAGS/index.md) | Bit flags that provide information on the object capabilities. |
| `results[].is_latest_version_visible` | `bool` | True if the latest version of the object is visible to the caller. |
| `results[].latest_version` | [`ObjectVersionExWP`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectVersionExWP/index.md) | The latest version of the object with its properties and ACL, if `is_latest_version_visible` is true. Some methods (for example UndoCheckout) return it without property values. |
| `results[].latest_version.object_version` | [`ObjectVersionEx`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectVersionEx/index.md) | Object info. |
| `results[].latest_version.properties[]` | repeated [`PropertyValue`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PropertyValue/index.md) | Property values, or an empty array. |
| `results[].latest_version.acl` | [`AccessControlList`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.AccessControlList/index.md) | If set, ACL. |
| `results[].latest_version.current_user_permissions` | [`ObjectPermissionsForClient`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectPermissionsForClient/index.md) | If set, permissions of the object version. |
| `results[].original_obj_ver` | [`ObjVer`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjVer/index.md) | The object version the request named, as sent. The version part may be unset. |
| `results[].original_obj_ver.obj_id` | [`ObjID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjID/index.md) | The object. |
| `results[].original_obj_ver.version` | [`ObjVerVersion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjVerVersion/index.md) | The version. Usually `OBJ_VER_VERSION_TYPE_SPECIFIC` with `internal_version`. |
