Skip to main content
POST
/
apps
/
{appId}
/
schemas
Create Schema
curl --request POST \
  --url https://api.vela.dev/v1/apps/{appId}/schemas \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "eventName": "order.placed",
  "description": "Emitted when a checkout completes",
  "fields": [
    {
      "id": "fld-order-id",
      "name": "orderId",
      "type": "string",
      "required": true
    },
    {
      "id": "fld-amount",
      "name": "amountCents",
      "type": "number",
      "required": true
    }
  ],
  "metadataFields": [
    {
      "id": "meta-env",
      "name": "environment",
      "type": "string"
    }
  ]
}
'
{
  "id": "<string>",
  "appId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "eventName": "<string>",
  "description": "<string>",
  "fields": [
    {
      "id": "<string>",
      "name": "<string>",
      "type": "string",
      "required": false,
      "enumValues": [
        "<string>"
      ]
    }
  ],
  "metadataFields": [
    {
      "id": "<string>",
      "name": "<string>",
      "type": "string",
      "required": false,
      "enumValues": [
        "<string>"
      ]
    }
  ],
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Client secret for management API access. Format: vela_cs_...

Path Parameters

appId
string
required

App UUID or slug

Body

application/json
eventName
string
required

Event name (unique per app)

fields
object[]
required

At least one field definition

Minimum array length: 1
description
string

Human-readable description

metadataFields
object[]

Optional metadata field definitions

Response

201 - application/json

Schema created

id
string

Schema identifier

appId
string<uuid>

Associated app

eventName
string

Event name (unique per app)

description
string

Human-readable description

fields
object[]

Event data field definitions

metadataFields
object[]

Metadata field definitions

createdAt
string<date-time>
updatedAt
string<date-time>