Skip to main content
PATCH
/
assets
/
{assetId}
/
blocks
Patch specific blocks
curl --request PATCH \
  --url https://versuno.ai/api/public/assets/{assetId}/blocks \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "contentBlocks": [
    {
      "id": "b_35effee2-0c97-463b-9a0a-8973eca1b4da",
      "content": "Only this block is updated"
    }
  ]
}
'
{
  "assetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "updatedBlockIds": [
    "<string>"
  ],
  "content": "<string>",
  "contentBlocks": [
    {
      "id": "b_35effee2-0c97-463b-9a0a-8973eca1b4da",
      "type": "paragraph",
      "meta": {},
      "content": "This block was updated",
      "inline": [
        {}
      ],
      "children": "<array>"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.versuno.ai/llms.txt

Use this file to discover all available pages before exploring further.

Use this endpoint for targeted block edits. It applies id-based patches and keeps untouched blocks intact.
This endpoint does not perform full replacement. If you need full content replacement, use PATCH /assets/{assetId}/update with contentBlocks.
This endpoint is field-only (content, inline, meta). Use Apply block operations for structural transforms via turn_into.

Code examples

curl -X PATCH "https://versuno.ai/api/public/assets/<asset-uuid>/blocks" \
  -H "Authorization: Bearer uk_live_your_api_key_here" \
  -H "Content-Type: application/json" \ 
  -d '{
    "contentBlocks": [
      {
        "id": "b_35effee2-0c97-463b-9a0a-8973eca1b4da",
        "content": "Updated paragraph content"
      },
      {
        "id": "b_74f0ee4e-59c3-4593-9ac7-7b0f5ddf359a",
        "meta": { "checked": true }
      }
    ]
  }'

Authorizations

Authorization
string
header
default:Bearer uk_live_your_api_key_here
required

Versuno API key. Must be prefixed with Bearer. Format: Bearer uk_live_...

Path Parameters

assetId
string<uuid>
required

Query Parameters

assetType
enum<string>

Optional type guard. If supplied, it must match the asset's actual type.

Available options:
prompt,
persona,
context,
system_prompt,
skill

Body

application/json
contentBlocks
object[]
required
Minimum array length: 1

Response

Patched blocks and full updated block tree.

assetId
string<uuid>
updatedBlockIds
string[]
content
string
contentBlocks
object[]