# Update Access Request Destinations

Launch stage: Public Preview

`PATCH /api/3.0/rfa/destinations`

Updates the access request destinations for the given securable.
 The caller must be a metastore admin, the owner of the securable, or a user that has the **MANAGE** privilege on the securable in order to assign destinations.
 A maximum of 5 emails and 5 external notification destinations (Slack, Microsoft Teams, Generic Webhook, and Databricks App Slack/Teams destinations) can be assigned to a securable.
 If a URL destination is assigned, no other destinations can be set.

 The supported securable types are: "metastore", "catalog", "schema", "table",
 "external_location", "connection", "credential", "function", "registered_model", and "volume".

API scopes: unity-catalog

## Query parameters

- `update_mask` (string, required)

## Request body

The access request destinations to assign to the securable. 
 For each destination, a **destination_id** and **destination_type** must be defined.
- `destinations` (array of object, optional, Unordered list)
  The access request destinations for the securable.
  - `destination_id` (string, optional)
    The identifier for the destination. This is the email address for EMAIL destinations, the URL for URL destinations,
     or the unique Databricks notification destination ID for all other external destinations.
    Example: `john.doe@databricks.com`
  - `destination_type` (string, optional)
    The type of the destination.
    Possible values:
    - `EMAIL`
    - `SLACK`
    - `GENERIC_WEBHOOK`
    - `MICROSOFT_TEAMS`
    - `URL`
    Example: `EMAIL`
  - `special_destination` (string, optional)
    This field is used to denote whether the destination is the email of the owner of the securable object.
     The special destination cannot be assigned to a securable and only represents the default destination of the securable.
     The securable types that support default special destinations are: "catalog", "external_location", "connection", "credential", and "metastore".
     The **destination_type** of a **special_destination** is always EMAIL.
    Possible values:
    - `SPECIAL_DESTINATION_CATALOG_OWNER`
    - `SPECIAL_DESTINATION_EXTERNAL_LOCATION_OWNER`
    - `SPECIAL_DESTINATION_CONNECTION_OWNER`
    - `SPECIAL_DESTINATION_CREDENTIAL_OWNER`
    - `SPECIAL_DESTINATION_METASTORE_OWNER`
    - `SPECIAL_DESTINATION_SCHEMA_OWNER` — Beta
    - `SPECIAL_DESTINATION_TABLE_OWNER` — Beta
    - `SPECIAL_DESTINATION_VOLUME_OWNER` — Beta
    - `SPECIAL_DESTINATION_FUNCTION_OWNER` — Beta
    - `SPECIAL_DESTINATION_REGISTERED_MODEL_OWNER` — Beta
    Example: `SPECIAL_DESTINATION_CATALOG_OWNER`
- `securable` (object, required)
  The securable for which the access request destinations are being modified or read.
  - `type` (string, optional)
    Required. The type of securable (catalog/schema/table).
     Optional if resource_name is present.
    Possible values:
    - `CATALOG`
    - `SCHEMA`
    - `TABLE`
    - `STORAGE_CREDENTIAL`
    - `EXTERNAL_LOCATION`
    - `FUNCTION`
    - `SHARE`
    - `PROVIDER`
    - `RECIPIENT`
    - `CLEAN_ROOM`
    - `METASTORE`
    - `PIPELINE`
    - `VOLUME`
    - `CONNECTION`
    - `CREDENTIAL`
    - `EXTERNAL_METADATA`
    - `STAGING_TABLE`
    - `MODEL`
    - `MODEL_SERVICE`
    - `MCP_SERVICE`
    - `MODEL_PROVIDER_SERVICE`
    - `AGENT_SERVICE` — Beta
    - `SKILL` — Beta
  - `full_name` (string, optional)
    Required. The full name of the catalog/schema/table.
     Optional if resource_name is present.
  - `provider_share` (string, optional)
    Optional. The name of the Share object that contains the securable when the securable is
     getting shared in D2D Delta Sharing.

## Returns

Returns the AccessRequestDestinations object.

## Request

```json
{
  "access_request_destinations": {
    "destinations": [
      {
        "destination_id": "john.doe@databricks.com",
        "destination_type": "EMAIL"
      },
      {
        "destination_id": "456e7890-e89b-12d3-a456-426614174001",
        "destination_type": "SLACK"
      },
      {
        "destination_id": "789e0123-e89b-12d3-a456-426614174002",
        "destination_type": "MICROSOFT_TEAMS"
      },
      {
        "destination_id": "abcde123-e89b-12d3-a456-426614174003",
        "destination_type": "GENERIC_WEBHOOK"
      }
    ],
    "securable": {
      "full_name": "main.customer_data",
      "type": "SCHEMA"
    }
  }
}
```

## Response

```json
{
  "are_any_destinations_hidden": false,
  "destination_source_securable": {
    "full_name": "main",
    "type": "CATALOG"
  },
  "destinations": [
    {
      "destination_id": "john.doe@databricks.com",
      "destination_type": "EMAIL"
    },
    {
      "destination_id": "456e7890-e89b-12d3-a456-426614174001",
      "destination_type": "SLACK"
    },
    {
      "destination_id": "789e0123-e89b-12d3-a456-426614174002",
      "destination_type": "MICROSOFT_TEAMS"
    },
    {
      "destination_id": "abcde123-e89b-12d3-a456-426614174003",
      "destination_type": "GENERIC_WEBHOOK"
    }
  ],
  "securable": {
    "full_name": "main.customer_data",
    "type": "SCHEMA"
  }
}
```

