> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siftstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# remote_files

> sift/remote_files/v1/remote_files.proto

<a name="sift_remote_files_v1_remote_files-proto" />

<a name="sift_remote_files_v1_remote_files-proto-services" />

## Services

*RPC methods exposed by this API.*

### RemoteFileService

| Method                   | Request                                                             | Response                                                              | Description                                                                                |
| :----------------------- | :------------------------------------------------------------------ | :-------------------------------------------------------------------- | :----------------------------------------------------------------------------------------- |
| GetRemoteFile            | [GetRemoteFileRequest](#getremotefilerequest)                       | [GetRemoteFileResponse](#getremotefileresponse)                       | Retrieve a remote file.                                                                    |
| CreateRemoteFile         | [CreateRemoteFileRequest](#createremotefilerequest)                 | [CreateRemoteFileResponse](#createremotefileresponse)                 | Create a remote file. Note that this does not perform the actual file upload.              |
| ListRemoteFiles          | [ListRemoteFilesRequest](#listremotefilesrequest)                   | [ListRemoteFilesResponse](#listremotefilesresponse)                   | List remote files.                                                                         |
| UpdateRemoteFile         | [UpdateRemoteFileRequest](#updateremotefilerequest)                 | [UpdateRemoteFileResponse](#updateremotefileresponse)                 | Updates an existing remote file using using the list of fields specified in `update_mask`. |
| DeleteRemoteFile         | [DeleteRemoteFileRequest](#deleteremotefilerequest)                 | [DeleteRemoteFileResponse](#deleteremotefileresponse)                 | Delete a remote file.                                                                      |
| BatchDeleteRemoteFiles   | [BatchDeleteRemoteFilesRequest](#batchdeleteremotefilesrequest)     | [BatchDeleteRemoteFilesResponse](#batchdeleteremotefilesresponse)     | Batch deletes remote files. Each batch is limited to 1000 records.                         |
| GetRemoteFileDownloadUrl | [GetRemoteFileDownloadUrlRequest](#getremotefiledownloadurlrequest) | [GetRemoteFileDownloadUrlResponse](#getremotefiledownloadurlresponse) | Gets a download URL for the remote file.                                                   |

<a name="sift_remote_files_v1_remote_files-proto-messages" />

## Messages

*Data models used across requests/responses.*

### AudioMetadata

| Field             | Type                      | Label | Description |
| :---------------- | :------------------------ | :---- | :---------- |
| duration\_seconds | float                     |       |             |
| timestamp         | google.protobuf.Timestamp |       |             |

### BatchDeleteRemoteFilesRequest

The request for a call to `RemoteFileService_BatchDeleteRemoteFiles` to delete remote files.

| Field             | Type   | Label    | Description                                             |
| :---------------- | :----- | :------- | :------------------------------------------------------ |
| remote\_file\_ids | string | repeated | Up to 1000 remote file IDs can be provided per request. |

### BatchDeleteRemoteFilesResponse

The response of a call to `RemoteFileService_BatchDeleteRemoteFiles`.

*This message has no fields.*

### CreateRemoteFileRequest

The request for a call to `RemoteFileService_CreateRemoteFile` to create a remote file.

| Field                           | Type                                                              | Label    | Description                                                                  |
| :------------------------------ | :---------------------------------------------------------------- | :------- | :--------------------------------------------------------------------------- |
| file\_name                      | string                                                            |          |                                                                              |
| entity\_id                      | string                                                            |          |                                                                              |
| entity\_type                    | [EntityType](#entitytype)                                         |          |                                                                              |
| file\_mime\_type                | string                                                            |          |                                                                              |
| file\_content\_encoding         | string                                                            |          |                                                                              |
| file\_size                      | uint64                                                            |          |                                                                              |
| description                     | string                                                            | optional |                                                                              |
| organization\_id                | string                                                            |          | This field is only required if your user belongs to multiple organizations.  |
| oneof metadata. video\_metadata | [VideoMetadata](#videometadata)                                   |          |                                                                              |
| oneof metadata. image\_metadata | [ImageMetadata](#imagemetadata)                                   |          |                                                                              |
| oneof metadata. audio\_metadata | [AudioMetadata](#audiometadata)                                   |          |                                                                              |
| custom\_uuid                    | string                                                            | optional | A custom UUID used to generate the object key. Recommended to be left unset. |
| metadata\_values                | [sift.metadata.v1.MetadataValue](#sift-metadata-v1-metadatavalue) | repeated | The metadata values associated with this remote file.                        |

### CreateRemoteFileResponse

The response for a call to `RemoteFileService_CreateRemoteFile`.

| Field        | Type                      | Label | Description |
| :----------- | :------------------------ | :---- | :---------- |
| remote\_file | [RemoteFile](#remotefile) |       |             |

### DeleteRemoteFileRequest

The request for a call to `RemoteFileService_DeleteRemoteFile` to delete a remote file.

| Field            | Type   | Label | Description |
| :--------------- | :----- | :---- | :---------- |
| remote\_file\_id | string |       |             |

### DeleteRemoteFileResponse

The response of a call to `RemoteFileService_DeleteRemoteFile`.

*This message has no fields.*

### GetRemoteFileDownloadUrlRequest

The request for a call to `RemoteFileService_GetRemoteFileDownloadUrl`.

| Field            | Type   | Label | Description |
| :--------------- | :----- | :---- | :---------- |
| remote\_file\_id | string |       |             |

### GetRemoteFileDownloadUrlResponse

The response of a call to `RemoteFileService_GetRemoteFileDownloadUrl`.

| Field         | Type   | Label | Description |
| :------------ | :----- | :---- | :---------- |
| download\_url | string |       |             |

### GetRemoteFileRequest

The request for a call to `RemoteFileService_GetRemoteFile` to retrieve a remote file;

| Field            | Type   | Label | Description |
| :--------------- | :----- | :---- | :---------- |
| remote\_file\_id | string |       |             |

### GetRemoteFileResponse

The response of a call to `RemoteFileService_GetRemoteFile`.

| Field        | Type                      | Label | Description |
| :----------- | :------------------------ | :---- | :---------- |
| remote\_file | [RemoteFile](#remotefile) |       |             |

### ImageMetadata

| Field  | Type   | Label | Description |
| :----- | :----- | :---- | :---------- |
| height | uint32 |       |             |
| width  | uint32 |       |             |

### ListRemoteFilesRequest

The request for a call to `RemoteFileService_ListRemoteFiles` to retrieve remote files.

| Field            | Type   | Label | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| :--------------- | :----- | :---- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| page\_size       | uint32 |       | The maximum number of remote files to return. The service may return fewer than this value. If unspecified, at most 50 remote files will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. Optional.                                                                                                                                                                                                                                                                                                 |
| page\_token      | string |       | A page token, received from a previous `ListRemoteFiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRemoteFiles` must match the call that provided the page token. Optional.                                                                                                                                                                                                                                                                                          |
| filter           | string |       | A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. Available fields to filter by are `remote_file_id`, `entity_id`, `entity_type`, `metadata`, and `file_name`. For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/remote_files#remotefile). Optional. |
| organization\_id | string |       | This field is only required if your user belongs to multiple organizations.                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| order\_by        | string |       | How to order the retrieved reports. Formatted as a comma-separated string i.e. "FIELD\_NAME\[ desc],...". Available fields to order\_by are `name`, `created_date` and `modified_date`. If left empty, items are ordered by `created_date` in descending order (newest-first). For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) Example: "created\_date desc,modified\_date"                                                                                                     |

### ListRemoteFilesResponse

The response of a call to `RemoteFileService_ListRemoteFilesResponse`.

| Field             | Type                      | Label    | Description |
| :---------------- | :------------------------ | :------- | :---------- |
| remote\_files     | [RemoteFile](#remotefile) | repeated |             |
| next\_page\_token | string                    |          |             |

### RemoteFile

| Field                           | Type                                                              | Label    | Description |
| :------------------------------ | :---------------------------------------------------------------- | :------- | :---------- |
| remote\_file\_id                | string                                                            |          |             |
| organization\_id                | string                                                            |          |             |
| entity\_id                      | string                                                            |          |             |
| entity\_type                    | [EntityType](#entitytype)                                         |          |             |
| file\_name                      | string                                                            |          |             |
| file\_mime\_type                | string                                                            |          |             |
| file\_content\_encoding         | string                                                            |          |             |
| storage\_key                    | string                                                            |          |             |
| file\_size                      | uint64                                                            |          |             |
| description                     | string                                                            | optional |             |
| oneof metadata. video\_metadata | [VideoMetadata](#videometadata)                                   |          |             |
| oneof metadata. image\_metadata | [ImageMetadata](#imagemetadata)                                   |          |             |
| oneof metadata. audio\_metadata | [AudioMetadata](#audiometadata)                                   |          |             |
| created\_by\_user\_id           | string                                                            |          |             |
| modified\_by\_user\_id          | string                                                            |          |             |
| created\_date                   | google.protobuf.Timestamp                                         |          |             |
| modified\_date                  | google.protobuf.Timestamp                                         |          |             |
| metadata\_values                | [sift.metadata.v1.MetadataValue](#sift-metadata-v1-metadatavalue) | repeated |             |
| remote\_file\_type              | [RemoteFileType](#remotefiletype)                                 |          |             |

### UpdateRemoteFileRequest

The request for a call to `RemoteFileService_UpdateRemoteFile` to update a remote file.

| Field        | Type                                                    | Label | Description                                                                                                                |
| :----------- | :------------------------------------------------------ | :---- | :------------------------------------------------------------------------------------------------------------------------- |
| remote\_file | [RemoteFile](#remotefile)                               |       | The remote file to update.                                                                                                 |
| update\_mask | [google.protobuf.FieldMask](#google-protobuf-fieldmask) |       | The list of fields to be updated. The fields available to be updated are `description`, `metadata_values`, and `metadata`. |

### UpdateRemoteFileResponse

The response of a call to `RemoteFileService_UpdateRemoteFile`.

| Field        | Type                      | Label | Description |
| :----------- | :------------------------ | :---- | :---------- |
| remote\_file | [RemoteFile](#remotefile) |       |             |

### VideoMetadata

| Field             | Type                      | Label | Description |
| :---------------- | :------------------------ | :---- | :---------- |
| height            | uint32                    |       |             |
| width             | uint32                    |       |             |
| duration\_seconds | float                     |       |             |
| timestamp         | google.protobuf.Timestamp |       |             |

<a name="sift_remote_files_v1_remote_files-proto-enums" />

## Enums

*Allowed constant values used in message fields.*

### EntityType

| Name                          | Number | Description |
| :---------------------------- | :----- | :---------- |
| ENTITY\_TYPE\_UNSPECIFIED     | 0      |             |
| ENTITY\_TYPE\_RUN             | 1      |             |
| ENTITY\_TYPE\_ANNOTATION      | 2      |             |
| ENTITY\_TYPE\_ASSET           | 3      |             |
| ENTITY\_TYPE\_ANNOTATION\_LOG | 4      |             |
| ENTITY\_TYPE\_TEST\_REPORT    | 5      |             |
| ENTITY\_TYPE\_TEST\_STEP      | 6      |             |

### RemoteFileType

| Name                             | Number | Description                                                |
| :------------------------------- | :----- | :--------------------------------------------------------- |
| REMOTE\_FILE\_TYPE\_UNSPECIFIED  | 0      |                                                            |
| REMOTE\_FILE\_TYPE\_TELEMETRY    | 1      | Data import / telemetry (internal: created by import job). |
| REMOTE\_FILE\_TYPE\_IMAGE        | 2      |                                                            |
| REMOTE\_FILE\_TYPE\_VIDEO        | 3      |                                                            |
| REMOTE\_FILE\_TYPE\_AUDIO        | 4      |                                                            |
| REMOTE\_FILE\_TYPE\_TEST\_REPORT | 5      |                                                            |
