Skip to content

Links

SyncLinks track which entities are connected across apps. Each link maps a universal wcp_id to app-specific IDs and stores the content hash used for conflict detection.

http://localhost:8000/api/links
GET /api/links
Terminal window
curl http://localhost:8000/api/links

Response 200 OK

[
{
"wcp_id": "notion:page_abc",
"links": {
"notion": "page_abc",
"obsidian": "My-Page.md"
},
"last_synced_at": "2025-01-15T10:30:00Z",
"content_hash": "a1b2c3d4e5f6"
}
]
GET /api/links/{wcp_id}
Terminal window
curl http://localhost:8000/api/links/notion:page_abc

Response 200 OK

{
"wcp_id": "notion:page_abc",
"links": {
"notion": "page_abc",
"obsidian": "My-Page.md"
},
"last_synced_at": "2025-01-15T10:30:00Z",
"content_hash": "a1b2c3d4e5f6"
}

Error 404 Not Found — Link does not exist.

Removes the sync relationship. The entities themselves are not deleted from the apps.

DELETE /api/links/{wcp_id}
Terminal window
curl -X DELETE http://localhost:8000/api/links/notion:page_abc

Response 204 No Content

A link_deleted event is broadcast via WebSocket:

{ "type": "link_deleted", "wcp_id": "notion:page_abc" }
FieldTypeDescription
wcp_idstringUniversal entity identifier (e.g., notion:page_abc)
linksobjectMap of app_name → app_specific_id
last_synced_atstringISO 8601 timestamp of last successful sync
content_hashstringHash of the entity data, used for conflict detection