---
title: Trigger a recipient removal from a share
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/go)

[Resource Sharing](https://developers.cloudflare.com/api/go/resources/resource_sharing)

[Recipients](https://developers.cloudflare.com/api/go/resources/resource_sharing/subresources/recipients)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Trigger a recipient removal from a share

client.ResourceSharing.Recipients.Delete(ctx, shareID, recipientID, body) (\*[RecipientDeleteResponse](<https://developers.cloudflare.com/api/go/resources/resource_sharing#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)>), error)

DELETE/accounts/{account\_id}/shares/{share\_id}/recipients/{recipient\_id}

Performs a **soft delete**: sets the recipient’s `desired_association_status` to `disassociated`, which signals the background reconciliation workflow (Temporal) to remove the shared resources from the recipient account. The recipient record remains in the database for audit purposes and is still returned by `GET /accounts/{account_id}/shares/{share_id}/recipients` with its updated status.

Resource access is not fully removed until the workflow completes and `current_association_status` transitions to `disassociated`. The recipient record itself is never physically deleted.

##### Security

API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**`X-Auth-Email: user@example.com`

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**`X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194`

##### ParametersExpand Collapse

shareID string

Share identifier tag.

maxLength32

[Link to this property](<#(resource)%20resource_sharing.recipients%20%3E%20(method)%20delete%20%3E%20(params)%20default%20%3E%20(param)%20share_id%20%3E%20(schema)>)

recipientID string

Share Recipient identifier tag.

maxLength32

[Link to this property](<#(resource)%20resource_sharing.recipients%20%3E%20(method)%20delete%20%3E%20(params)%20default%20%3E%20(param)%20recipient_id%20%3E%20(schema)>)

<details>

<summary>

body RecipientDeleteParams

</summary>

AccountID param.Field\[string]

Account identifier.

maxLength32

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(method)%20delete%20%3E%20(params)%20default%20%3E%20(param)%20account_id">Link to this property</a>

</details>

[Link to this property](<#(resource)%20resource_sharing.recipients%20%3E%20(method)%20delete%20%3E%20(params)%20default>)

##### ReturnsExpand Collapse

<details>

<summary>

type RecipientDeleteResponse struct{…}

A recipient of a share. The <code>association_status</code> field tracks the lifecycle of the shared resources in the recipient account. All recipients are returned by the list endpoint regardless of status; filter client-side if only active recipients are needed.

</summary>

ID string

Share Recipient identifier tag.

maxLength32

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20id">Link to this property</a>

AccountID string

Account identifier.

maxLength32

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20account_id">Link to this property</a>

<details>

<summary>

AssociationStatus RecipientDeleteResponseAssociationStatus

The current state of the recipient relative to the share. The <code>desired_association_status</code> (not exposed in the response) tracks the target state set by the API; the background reconciliation workflow drives <code>current_association_status</code> toward it.

- <code>associating</code> — The recipient was recently added; the workflow is pushing shared resources into the recipient account.
- <code>associated</code> — Shared resources have been successfully applied to the recipient account.
- <code>disassociating</code> — The recipient was removed (via DELETE or PUT replacement); the workflow is removing shared resources from the recipient account.
- <code>disassociated</code> — Shared resources have been removed from the recipient account. The recipient record remains in the database.

</summary>

One of the following:

const RecipientDeleteResponseAssociationStatusAssociating RecipientDeleteResponseAssociationStatus = "associating"

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20association_status%20%3E%20(member)%200">Link to this property</a>

const RecipientDeleteResponseAssociationStatusAssociated RecipientDeleteResponseAssociationStatus = "associated"

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20association_status%20%3E%20(member)%201">Link to this property</a>

const RecipientDeleteResponseAssociationStatusDisassociating RecipientDeleteResponseAssociationStatus = "disassociating"

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20association_status%20%3E%20(member)%202">Link to this property</a>

const RecipientDeleteResponseAssociationStatusDisassociated RecipientDeleteResponseAssociationStatus = "disassociated"

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20association_status%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20association_status">Link to this property</a>

Created Time

When the share was created.

formatdate-time

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20created">Link to this property</a>

Modified Time

When the share was modified.

formatdate-time

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20modified">Link to this property</a>

<details>

<summary>

Resources \[]RecipientDeleteResponseResourceOptional

</summary>

Error string

Share Recipient error message.

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20resources%20%3E%20(items)%20%3E%20(property)%20error">Link to this property</a>

ResourceID string

Share Resource identifier.

maxLength32

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20resources%20%3E%20(items)%20%3E%20(property)%20resource_id">Link to this property</a>

ResourceVersion int64

Resource Version.

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20resources%20%3E%20(items)%20%3E%20(property)%20resource_version">Link to this property</a>

Terminal bool

Whether the error is terminal or will be continually retried.

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20resources%20%3E%20(items)%20%3E%20(property)%20terminal">Link to this property</a>

</details>

<a href="#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)%20%3E%20(property)%20resources">Link to this property</a>

</details>

[Link to this property](<#(resource)%20resource_sharing.recipients%20%3E%20(model)%20RecipientDeleteResponse%20%3E%20(schema)>)

### Trigger a recipient removal from a share

Go

HTTPTypeScriptPythonGoTerraform

```
package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/resource_sharing"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  recipient, err := client.ResourceSharing.Recipients.Delete(
    context.TODO(),
    "3fd85f74b32742f1bff64a85009dda07",
    "3fd85f74b32742f1bff64a85009dda07",
    resource_sharing.RecipientDeleteParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", recipient.ID)
}
```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "3fd85f74b32742f1bff64a85009dda07",
    "account_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "association_status": "associating",
    "created": "2023-09-21T18:56:32.624632Z",
    "modified": "2023-09-21T18:56:32.624632Z",
    "resources": [
      {
        "error": "Recipient is missing necessary entitlement",
        "resource_id": "023e105f4ecef8ad9ca31a8372d0c353",
        "resource_version": 0,
        "terminal": true
      }
    ]
  }
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "3fd85f74b32742f1bff64a85009dda07",
    "account_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "association_status": "associating",
    "created": "2023-09-21T18:56:32.624632Z",
    "modified": "2023-09-21T18:56:32.624632Z",
    "resources": [
      {
        "error": "Recipient is missing necessary entitlement",
        "resource_id": "023e105f4ecef8ad9ca31a8372d0c353",
        "resource_version": 0,
        "terminal": true
      }
    ]
  }
}
```