Link Create
Add a link to the community bookmarks. This will also scrape the content at the site the link points to, if possible. If scraping fails, the link is stored with basic information instead of scraped metadata. If the submitted URL already exists, the existing link is returned and a background scrape is queued to refresh its metadata. The handler consumes only the `url` field; submitted `title` and `description` are not applied. The submitted URL is used for lookup and storage without removing its fragment. Use the returned link resource to inspect the stored metadata.
/linksAdd a link to the community bookmarks. This will also scrape the content at the site the link points to, if possible. If scraping fails, the link is stored with basic information instead of scraped metadata.
If the submitted URL already exists, the existing link is returned and a
background scrape is queued to refresh its metadata. The handler
consumes only the url field; submitted title and description are
not applied.
The submitted URL is used for lookup and storage without removing its fragment. Use the returned link resource to inspect the stored metadata.
In: cookie
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/links" \ -H "Content-Type: application/json" \ -d '{ "url": "string" }'{
"id": "cc5lnd2s1s4652adtu50",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"misc": {},
"url": "string",
"slug": "github-com-southclaws-storyden",
"domain": "github.com",
"title": "The Open Graph Protocol",
"description": "The Open Graph protocol enables any web page to become a rich object in a social graph.",
"favicon_image": {
"id": "cc5lnd2s1s4652adtu50",
"filename": "string",
"path": "string",
"mime_type": "string",
"width": 0,
"height": 0,
"parent": {
"id": "cc5lnd2s1s4652adtu50",
"filename": "string",
"path": "string",
"mime_type": "string",
"width": 0,
"height": 0,
"parent": {}
}
},
"primary_image": {
"id": "cc5lnd2s1s4652adtu50",
"filename": "string",
"path": "string",
"mime_type": "string",
"width": 0,
"height": 0,
"parent": {
"id": "cc5lnd2s1s4652adtu50",
"filename": "string",
"path": "string",
"mime_type": "string",
"width": 0,
"height": 0,
"parent": {}
}
}
}{
"type": "string",
"title": "string",
"detail": "string",
"trace_id": "string",
"metadata": {}
}Node Version Update Status PATCH
Update the lifecycle status of a checkpoint. This endpoint is separate from the content patch endpoint because status changes have side effects. For the initial checkpoint workflow, the only supported transition is draft to applied. Applying a version is restricted to members with `MANAGE_LIBRARY`. Applying a draft copies the full draft snapshot into the target node, applies properties as a complete desired-state list, marks the version immutable, and updates the node's `current_version_id` pointer to the applied version. This is a linear operation; applying a draft does not merge against other draft or historical versions. Clients must use this endpoint for lifecycle transitions and must not combine status changes with regular draft content updates.
Link Get GET
Get the details for a specific link by its slug, including scraped metadata and the assets, nodes, and posts associated with it.