> ## 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.

# resource_ref

> sift/common/type/v1/resource_ref.proto

<a name="sift_common_type_v1_resource_ref-proto" />

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

## Services

*RPC methods exposed by this API.*

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

## Messages

*Data models used across requests/responses.*

### FindResourceBy

| Field                         | Type   | Label | Description                                                                                                                                              |
| :---------------------------- | :----- | :---- | :------------------------------------------------------------------------------------------------------------------------------------------------------- |
| oneof identifier. id          | string |       | Find by the resource's global id, e.g. asset\_id, run\_id, report\_id.                                                                                   |
| oneof identifier. client\_key | string |       | Find by the resource's client\_key, if available.                                                                                                        |
| oneof identifier. name        | string |       | Find by the resource's name. If multiple resources are found with the same name, an error will be returned.                                              |
| organization\_id              | string |       | When finding by `client_key` or `name`, the `organization_id` should also be specified. Only required if the user belongs to more than one organization. |

### ResourceRef

ResourceRef is meant to be embedded as a field in other resources. It's used by one resource to point to another resource.
In a request, use the `find_by` field to select a resource to point to.
In a response, the fields marked `google.api.field_behavior = OUTPUT_ONLY` will be populated by the backend.

| Field       | Type                              | Label    | Description                                                                                                                                             |
| :---------- | :-------------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ |
| id          | string                            |          | The global unique id of the resource, e.g. the asset\_id, run\_id, or report\_id.                                                                       |
| client\_key | string                            | optional | If a resource has a client\_key associated with it, it will be included.                                                                                |
| name        | string                            |          | The name of the resource.                                                                                                                               |
| find\_by    | [FindResourceBy](#findresourceby) |          | Use this field to 'construct' a ResourceRef. You can give just the name, id, or client\_key and the backend will find the resource you're referring to. |

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

## Enums

*Allowed constant values used in message fields.*
