> ## 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 Memory Conflict

> Retrieve the full details of a single memory conflict in a project

```
GET /openapi/memorylake/api/v3/workspaces/{workspaceId}/projects/{projectId}/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:** `project:mem_read`
</Note>

### Path Parameters

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

<ParamField path="projectId" type="string" required>
  Project 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/projects/proj_def456/memories/conflicts/conf-abc123' \
    -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-abc123",
      "name": "Contradicting project deadline",
      "description": "One fact states the project deadline is March 2025; another says it was moved to June 2025.",
      "category": "m2m",
      "resolved": true,
      "resolve": {
        "id": "res-9f8e7d6c",
        "strategy": "keep_fact",
        "keep_fact_id": "fact-002",
        "forgotten_fact_ids": ["fact-001"],
        "created_at": "2025-01-21T09:15:00Z"
      },
      "stale": false,
      "conflict_type": "logical",
      "fact_ids": ["fact-001", "fact-002"],
      "fact_snapshots": [
        {
          "fact_id": "fact-001",
          "fact_text": "Project deadline is March 2025"
        },
        {
          "fact_id": "fact-002",
          "fact_text": "Project deadline was moved to June 2025"
        }
      ],
      "file_chunks": [],
      "created_at": "2025-01-20T14:30:00Z",
      "updated_at": "2025-01-21T09:15:00Z"
    }
  }
  ```
</ResponseExample>

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