Skip to main content
POST
/
assets
/
{assetId}
/
blocks
Create a block
curl --request POST \
  --url https://versuno.ai/api/public/assets/{assetId}/blocks \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "block": {
    "type": "paragraph",
    "content": "New block text",
    "meta": {}
  }
}
'
{
  "assetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "block": {
    "id": "b_35effee2-0c97-463b-9a0a-8973eca1b4da",
    "type": "paragraph",
    "meta": {},
    "content": "This block was updated",
    "inline": [
      {}
    ],
    "children": "<array>"
  },
  "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.

Create a new block by providing a block payload. Optionally set parentId and position.

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
block
object
required
parentId
string | null

Target parent block ID. Null means root level.

position
integer

Insert position among siblings.

Required range: x >= 0

Response

Block created.

assetId
string<uuid>
block
object

A single editor block in an asset's structured content tree.

content
string
contentBlocks
object[]