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

# Delete a backlink contact

> Delete one private contact at its expected revision and remove its link associations.

`delete_contact`

Delete one private contact at its expected revision and remove its link associations. onlyIfUnlinked refuses deletion while the contact has any link association (used by rollback). Keeps links and external sender records.

> [!NOTE]
>
> Name recorded in the 2026-10-27 deployment. This page describes current source; verify inputs and access in your connected catalog. Provider configuration and workspace access still apply.

| Access | Behavior |
| - | - |
| `watches:write` | Writes or admits work; can change or remove existing state |

## Example request

Connect through [MCP](https://docs.agentlinkops.com/guides/connect-mcp.md), [CLI](https://docs.agentlinkops.com/guides/connect-cli.md), or [HTTP](https://docs.agentlinkops.com/guides/connect-http.md). Replace example identifiers with records from your workspace.

```json MCP theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "delete_contact",
    "arguments": {
      "projectId": "project_example",
      "contactId": "contact_example",
      "revision": "e61fed8c-85c3-4f30-a4d8-d84934f27698"
    }
  }
}
```

```bash CLI theme={null}
agentlinkops call delete_contact --args '{"projectId":"project_example","contactId":"contact_example","revision":"e61fed8c-85c3-4f30-a4d8-d84934f27698"}'
```

```bash HTTP theme={null}
curl --fail-with-body https://app.agentlinkops.com/v1/commands/delete_contact \
  -H "Authorization: Bearer $AGENTLINKOPS_TOKEN" \
  -H 'Content-Type: application/json' \
  --data '{"projectId":"project_example","contactId":"contact_example","revision":"e61fed8c-85c3-4f30-a4d8-d84934f27698"}'
```

## Returned result

Schema-validated example; IDs and dates are illustrative. MCP returns this data in `structuredContent` and in a text content block; generic HTTP and CLI return the JSON result directly.

```json theme={null}
{
  "contactId": "contact_example",
  "deleted": true
}
```

## Input fields

Omit optional fields when you do not want to supply them. Null is accepted only where listed. Unknown input properties are rejected.

| Field | Type | Presence | Meaning and constraints |
| - | - | - | - |
| `projectId` | string | Required | project ID from create/list. minLength: `1`; maxLength: `200` |
| `contactId` | string | Required | contact ID from create/list. minLength: `1`; maxLength: `200` |
| `revision` | string | Required | Revision of this saved contact. Supply it as revision when updating or deleting the contact. format: `"uuid"`; pattern: `"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}\|00000000-0000-0000-0000-000000000000\|ffffffff-ffff-ffff-ffff-ffffffffffff)$"` |
| `onlyIfUnlinked` | boolean | Required | default: `false` |

### Validation and omitted values

Deletes the contact at its current opaque revision and removes its link associations. The links remain. A stale revision refuses deletion.

onlyIfUnlinked defaults false. Set it true for compensating rollback: it refuses deletion while any link association remains. External sender and source CRM records remain unchanged.

### Defaults when omitted

| Field | Default |
| - | - |
| `onlyIfUnlinked` | `false` |

## Output fields

Fields inside optional or nullable parents apply only when that parent exists. [Common schema conventions](https://docs.agentlinkops.com/reference/schemas.md) explain evidence states, empty lists and extensions.

| Field | Type | Presence | Meaning and constraints |
| - | - | - | - |
| `contactId` | string | Required | Identifier returned by the related operation. minLength: `1`; maxLength: `200` |
| `deleted` | boolean | Required | |

[Download input schema](https://docs.agentlinkops.com/schemas/delete_contact.input.json) · [Download output schema](https://docs.agentlinkops.com/schemas/delete_contact.output.json)

## Errors and retries

This write is annotated idempotent without a caller-supplied idempotency key. Reconcile saved state after an uncertain response, then use the same inputs for the same intended operation. Do not add an unsupported key.

See [error recovery](https://docs.agentlinkops.com/reference/errors.md) for status, scope, cooldown, cursor and retry handling. Unknown observations are result data and do not establish loss.

## HTTP resource routes

This operation has no separate resource alias. Use its generic command route in a matching environment.

## Continue

[list\_contacts](https://docs.agentlinkops.com/reference/commands/list_contacts.md)

Follow the [related workflow](https://docs.agentlinkops.com/guides/monitor-changes.md). See [capability status](https://docs.agentlinkops.com/capability-status.md) for availability or the [command index](https://docs.agentlinkops.com/reference/index.md) for another operation.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.