Skip to main content
POST
/
assets
/
{assetId}
/
blocks
/
operations
Apply block operations
curl --request POST \
  --url https://versuno.ai/api/public/assets/{assetId}/blocks/operations \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "operations": [
    {
      "op": "turn_into",
      "targetBlockId": "b_35effee2-0c97-463b-9a0a-8973eca1b4da",
      "turnInto": "quote"
    },
    {
      "op": "turn_into",
      "targetBlockId": "b_74f0ee4e-59c3-4593-9ac7-7b0f5ddf359a",
      "turnInto": "heading2"
    }
  ]
}
'
{
  "assetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "appliedOperations": [
    {
      "op": "<string>",
      "targetBlockId": "<string>",
      "turnInto": "<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 structural transforms that rewrite the block tree. Supported command:
  • turn_into (UI parity command with turnInto values from editor options)
Use PATCH /assets/{assetId}/blocks for field updates only (content, inline, meta).

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
operations
object[]
required
Minimum array length: 1

Response

Operations applied and full updated block tree returned.

assetId
string<uuid>
appliedOperations
object[]
contentBlocks
object[]