Skip to content

Resolve Canvas cards

POST
/api/v1/canvas/cards/resolve
curl --request POST \
--url https://example.com/api/v1/canvas/cards/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "links": [ "example" ], "text_links": [ "example" ] }'

Resolve a bounded batch of stable item links using the caller’s current access to each target. Private or missing targets return no private content. Route: /api/v1/canvas/cards/resolve. Inputs: . Safe reads can use bounded retries.

Media typeapplication/json

A link-only input. The target path is never treated as a Home path.

object
links
required

Stable §33 links visible in the current Canvas viewport.

Array<string>
>= 1 items <= 200 items
text_links

Linked drawings request bounded source text separately from card labels.

Array<string>
<= 20 items
Examplegenerated
{
"links": [
"example"
],
"text_links": [
"example"
]
}

Per-viewer card data or uniform placeholders

Media typeapplication/json
Array<object>

Per-viewer display data. Core fields are present for every placeholder; thumbnails are omitted. Missing and unreadable targets have one shape with no kind-specific hint.

object
available
required

False for deleted, malformed or unreadable targets.

boolean
can_edit

Current item grant; clients must still pass the event-time server check.

boolean | null
edit_hint

Plain rename guidance, supplied only after the item read is authorized.

string | null
kind

Present only after the existing Plugin route grants read access.

string | null
link
required

The unchanged source link, used only as a client-side lookup key.

string
linked_text

Viewer-authorized source text for linked drawings; never cached in source.

string | null
open_link

Stable Files identity opens a shared Note/Task through the shared reader.

string | null
subtitle

A safe, non-body summary from the authorized API response.

string | null
thumbnail

Authorized Files thumbnail, always served from this Instance.

string | null
title

A short title from the authorized item’s real API response.

string | null
Examplegenerated
[
{
"available": true,
"can_edit": true,
"edit_hint": "example",
"kind": "example",
"link": "example",
"linked_text": "example",
"open_link": "example",
"subtitle": "example",
"thumbnail": "example",
"title": "example"
}
]

Card resolution rate limit reached