Conflicts API
List conflicts
Section titled “List conflicts”GET /api/conflicts?status=pendingcurl http://localhost:8000/api/conflicts?status=pendingQuery params
| Param | Values | Default |
|---|---|---|
status | pending, resolved, dismissed | (all) |
Response 200 OK
[ { "conflict_id": "c-abc123", "wcp_id": "notion:page_xyz", "sides": [ { "app_name": "notion", "data": {"title": "v1"}, "detected_at": "2026-04-03T10:00:00Z" }, { "app_name": "obsidian", "data": {"title": "v2"}, "detected_at": "2026-04-03T10:01:00Z" } ], "strategy": "manual", "status": "pending", "resolution": null, "resolved_at": null, "resolved_by": null }]Resolve conflict
Section titled “Resolve conflict”POST /api/conflicts/{conflict_id}/resolveContent-Type: application/jsoncurl -X POST http://localhost:8000/api/conflicts/c-abc123/resolve \ -H "Content-Type: application/json" \ -d '{"winning_app": "notion"}'Body
{"winning_app": "notion"}winning_app must be the name of one of the apps involved in the conflict.
Response 200 OK — returns the updated ConflictOut object.
Errors
| Code | Reason |
|---|---|
404 | Conflict ID not found |
409 | Conflict already resolved or dismissed |
422 | winning_app is not part of this conflict |
Dismiss conflict
Section titled “Dismiss conflict”Marks the conflict as dismissed without writing any data.
POST /api/conflicts/{conflict_id}/dismisscurl -X POST http://localhost:8000/api/conflicts/c-abc123/dismissResponse 204 No Content
Errors
| Code | Reason |
|---|---|
404 | Conflict ID not found |
409 | Conflict already resolved or dismissed |
Get strategy
Section titled “Get strategy”GET /api/conflicts/strategycurl http://localhost:8000/api/conflicts/strategyResponse 200 OK
{"strategy": "source_wins"}Set strategy
Section titled “Set strategy”PUT /api/conflicts/strategyContent-Type: application/jsoncurl -X PUT http://localhost:8000/api/conflicts/strategy \ -H "Content-Type: application/json" \ -d '{"strategy": "manual"}'Body
{"strategy": "manual"}Valid values: source_wins, last_write_wins, manual.
Errors
| Code | Reason |
|---|---|
422 | Invalid strategy value |