# RevCent MCP Guide: `ProjectDisassociateEntity`

AI/MCP-focused guide for disassociating a RevCent entity from a Project.

---

## Related Documentation

| Guide | Link | Why It Matters |
|---|---|---|
| Project Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewProject.md` | Explains how Projects and Project Notes should be used as the durable context trail for RevCent setup and account changes. |
| GetProject | `https://revcent.com/documentation/markdown/mcp/operation/GetProject.md` | Retrieve Project details and associated entities. |
| GetProjectNotes | `https://revcent.com/documentation/markdown/mcp/operation/GetProjectNotes.md` | Retrieve Project Notes, preferably filtered by Project. |
| CreateProjectNote | `https://revcent.com/documentation/markdown/mcp/operation/CreateProjectNote.md` | Record the reason, result, entity IDs, and follow-up after Project work. |


---

## Operation Summary

Operation:

```text
ProjectDisassociateEntity
```

Purpose:

```text
Disassociate an existing entity from a Project.
```

Use this operation only when an entity should intentionally be removed from Project context.

Important:

```text
ProjectDisassociateEntity removes the Project association.
It does not delete the underlying RevCent entity.
```

---

## When to Use

Use `ProjectDisassociateEntity` when:

- an entity was associated with the wrong Project,
- the Project scope changed,
- an entity is no longer relevant to the Project,
- a duplicate or obsolete association should be removed,
- the user explicitly wants the entity detached from the Project.

---

## Input Schema

The live schema requires `project_id`. AI/MCP should provide all three fields for a meaningful disassociation.

| Field | Type | Required | Description |
|---|---:|---:|---|
| `project_id` | string | Yes | 20-character Project ID. |
| `entity_type` | string | Strongly required for practical use | Entity type enum. |
| `entity_id` | string | Strongly required for practical use | 20-character entity ID. If disassociating `key_value`, use the key instead of an ID. |

Example:

```json
{
  "project_id": "XXXXXXXXXXXXXXXXXXXX",
  "entity_type": "payment_profile",
  "entity_id": "YYYYYYYYYYYYYYYYYYYY"
}
```

---

## Supported `entity_type` Values

| `entity_type` | Entity |
|---|---|
| `campaign` | Campaign |
| `ai_assistant` | AI Assistant |
| `ai_voice_agent` | AI Voice Agent |
| `ai_voice_snippet` | AI Voice Snippet |
| `ai_prompt` | AI Prompt |
| `key_value` | Key Value. Use the key as `entity_id`. |
| `bin_profile` | BIN Profile |
| `customer_group` | Customer Group |
| `customer_portal` | Customer Portal |
| `email_template` | Email Template |
| `fulfillment_account` | Fulfillment Account |
| `product` | Product |
| `product_group` | Product Group |
| `custom_function` | Function / Custom Function |
| `gateway` | Gateway |
| `gateway_group` | Gateway Group |
| `smtp_profile` | SMTP Profile |
| `paypal_account` | PayPal Account |
| `payment_profile` | Payment Profile |
| `shipping_profile` | Shipping Profile |
| `subscription_profile` | Subscription Profile |
| `url_parameter_set` | URL Parameter Set |
| `third_party_shop` | Third-Party Shop / Shop |
| `third_party_integration` | Third-Party Integration |
| `tracking_domain` | Tracking Domain |

Important:

```text
For Functions, use `custom_function` as the entity_type.
```

---

## Output Schema

Successful output can include:

| Field | Description |
|---|---|
| `api_call_id` | 20-character API call ID. |
| `api_call_unix` | Unix timestamp when the API call was initiated. |
| `code` | API response code. `1` indicates success. |
| `project_id` | 20-character Project ID. |
| `entity_type` | Entity type disassociated from the Project. |
| `entity_id` | Entity ID disassociated from the Project. |
| `result` | Result message. |

---

## Recommended Workflow

```text
1. GetProject to confirm the entity is associated with the Project.
2. Confirm the user wants the entity removed from Project context.
3. Run ProjectDisassociateEntity.
4. CreateProjectNote explaining why the entity was disassociated.
5. Run GetProject to verify the entity no longer appears under the Project.
```

---

## Project Note Example

```text
[2026-06-04] Disassociated Payment Profile "Old Gateway Routing Test" from the Acme Project.

Reason:
- User confirmed this Payment Profile was test-only and should not be considered part of the live implementation.

Important:
- This did not delete the Payment Profile.
```

---

## Project Note Tracking Rule

Project-related operations should almost always be paired with Project Notes.

Use Project Notes to record:

- what changed,
- why it changed,
- who/what requested the change,
- related entity IDs,
- whether the change affects global/shared configuration,
- follow-up work,
- warnings for future AI/MCP interactions.

Recommended note format:

```text
[YYYY-MM-DD] Short action summary

Context:
- Why this was done
- User decision or constraint

Changes:
- Operation(s) performed
- Entity names and IDs

Follow-up:
- Remaining work
- Warnings or confirmation requirements
```



---

## Common Mistakes to Avoid

Do not:

- disassociate entities without user intent,
- treat disassociation as deletion,
- remove context that future AI may need,
- disassociate without documenting why,
- use the wrong `entity_type`,
- use delete operations when the user only requested Project disassociation.

---

## Final AI/MCP Instruction

Use `ProjectDisassociateEntity` only when an entity should intentionally be removed from a Project. Always document the reason with `CreateProjectNote`.


---
Document Parent Directory
* [Operations](https://revcent.com/documentation/markdown/mcp/operation/index.md) - AI/MCP details and overviews for operations available within the RevCent MCP.