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

# Get Actor Memory Conflict

> Retrieve the full details of a single memory conflict among an actor's facts

```
GET /openapi/memorylake/api/v3/workspaces/{workspaceId}/actors/{actorId}/memories/conflicts/{conflictId}
```

Returns the complete record for a single conflict, including the fact snapshots captured at detection time, any document excerpts involved, and the resolution record if the conflict has been resolved.

<Note>
  **Permission required:** `workspace:actor_fact_read`
</Note>

### Path Parameters

<ParamField path="workspaceId" type="string" required>
  Workspace ID
</ParamField>

<ParamField path="actorId" type="string" required>
  Actor ID
</ParamField>

<ParamField path="conflictId" type="string" required>
  Conflict ID
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://app.memorylake.ai/openapi/memorylake/api/v3/workspaces/ws_abc123/actors/act-a1b2c3d4e5f6/memories/conflicts/conf-def456' \
    -H 'Authorization: Bearer sk_xxxxxx'
  ```
</RequestExample>

### Response

<ResponseField name="data" type="object">
  <Expandable title="Conflict object">
    <ResponseField name="id" type="string">Conflict identifier</ResponseField>
    <ResponseField name="name" type="string">Short title describing the conflict</ResponseField>
    <ResponseField name="description" type="string">Detailed explanation of the contradiction</ResponseField>
    <ResponseField name="category" type="string">Conflict category: `m2m` (fact vs. fact) or `m2d` (fact vs. document)</ResponseField>
    <ResponseField name="resolved" type="boolean">Whether the conflict has been resolved</ResponseField>

    <ResponseField name="resolve" type="object">
      Resolution record. Present only when the conflict has been resolved; `null` otherwise.

      <Expandable title="Resolution record">
        <ResponseField name="id" type="string">Resolution record identifier</ResponseField>
        <ResponseField name="strategy" type="string">Strategy that was applied: `keep_fact`, `trust_fact`, `trust_document`, or `dismiss`</ResponseField>
        <ResponseField name="keep_fact_id" type="string">The fact kept when `strategy` is `keep_fact`</ResponseField>
        <ResponseField name="forgotten_fact_ids" type="array">IDs of the facts forgotten as part of the resolution</ResponseField>
        <ResponseField name="created_at" type="string">When the conflict was resolved</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="stale" type="boolean">Whether an involved fact changed after the conflict was detected</ResponseField>
    <ResponseField name="conflict_type" type="string">Conflict type: `logical` or `knowledge`</ResponseField>
    <ResponseField name="fact_ids" type="array">IDs of the facts involved in the conflict</ResponseField>

    <ResponseField name="fact_snapshots" type="array">
      Snapshots of the involved facts at detection time

      <Expandable title="Fact snapshot">
        <ResponseField name="fact_id" type="string">Fact identifier</ResponseField>
        <ResponseField name="fact_text" type="string">Fact text at detection time</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="file_chunks" type="array">
      Document excerpts cited by a fact-vs-document conflict

      <Expandable title="File chunk">
        <ResponseField name="text" type="string">The conflicting excerpt text</ResponseField>
        <ResponseField name="document_id" type="string">ID of the document this excerpt belongs to</ResponseField>
        <ResponseField name="document_name" type="string">Display name of the document</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="created_at" type="string">When the conflict was first detected</ResponseField>
    <ResponseField name="updated_at" type="string">When the conflict was last updated</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Success (200) theme={null}
  {
    "success": true,
    "data": {
      "id": "conf-def456",
      "name": "Contradicting dietary preference",
      "description": "One fact states the user is vegetarian; another says their favorite dish is steak.",
      "category": "m2m",
      "resolved": true,
      "resolve": {
        "id": "res-1a2b3c4d",
        "strategy": "keep_fact",
        "keep_fact_id": "fact-101",
        "forgotten_fact_ids": ["fact-102"],
        "created_at": "2025-01-21T09:15:00Z"
      },
      "stale": false,
      "conflict_type": "logical",
      "fact_ids": ["fact-101", "fact-102"],
      "fact_snapshots": [
        {
          "fact_id": "fact-101",
          "fact_text": "User is vegetarian"
        },
        {
          "fact_id": "fact-102",
          "fact_text": "User's favorite dish is steak"
        }
      ],
      "file_chunks": [],
      "created_at": "2025-01-20T14:30:00Z",
      "updated_at": "2025-01-21T09:15:00Z"
    }
  }
  ```
</ResponseExample>

<Tip>
  To resolve this conflict, call [Resolve Actor Memory Conflict](/features/memorylake/api-reference/v3-conflicts/resolve-actor-conflict) with the strategy you want to apply.
</Tip>
