POST
/
v1
/
citation_schemas
/
Create Citation Schema
curl --request POST \
  --url https://api.bland.ai/v1/citation_schemas/ \
  --header 'Content-Type: application/json' \
  --header 'authorization: <authorization>' \
  --data '{
  "name": "<string>",
  "description": "<string>",
  "schema": {}
}'
{
  "status": 200,
  "data": {
    "id": "6ba7b812-9dad-11d1-80b4-00c04fd430c8",
    "name": "Customer Information Extraction",
    "description": "Extracts customer demographics and contact information from call transcripts",
    "org_id": "9b59f853-c2c7-4e3a-b5d6-8f7e9a1b2c3d",
    "schema": {
      "variables": [
        {
          "name": "Customer Name",
          "description": "The full name of the customer",
          "type": "string"
        },
        {
          "name": "Customer Email",
          "description": "The email address provided by the customer",
          "type": "string"
        },
        {
          "name": "Interested in Demo",
          "description": "Whether the customer wants to schedule a demo",
          "type": "boolean"
        }
      ],
      "groupings": [
        {
          "name": "Contact Information",
          "variables": ["Customer Name", "Customer Email"]
        }
      ],
      "conditions": [
        {
          "condition": {
            "value": "true",
            "operator": "===",
            "variable": "Interested in Demo"
          },
          "variables": [
            {
              "name": "Demo Preference",
              "type": "string",
              "description": "Type of demo the customer prefers (in-person, virtual, etc.)"
            }
          ]
        }
      ]
    },
    "created_at": "2023-12-15T14:30:00.000Z"
  },
  "errors": null
}

Overview

Create a citation schema to define what data should be extracted from call transcripts. Citation schemas allow you to automatically capture structured information like customer details, call outcomes, or any custom variables relevant to your use case.


Headers

authorization
string
required

Your API key for authentication.

Body Parameters

name
string
required

The name of the citation schema. This should be descriptive and help you identify the schema’s purpose.

description
string

An optional description explaining what this schema extracts and its intended use case.

schema
object

The JSON schema configuration that defines variables, groupings, and conditions for citation extraction. If not provided, an empty schema will be created that can be configured later.

The schema object can contain:

  • variables: Array of variable definitions for data extraction
  • groupings: Array of related variable collections
  • conditions: Array of conditional logic rules that trigger additional variable extraction

Example structure:

{
  "variables": [
    {
      "name": "Customer Name",
      "description": "The full name of the customer",
      "type": "string"
    },
    {
      "name": "Customer Email",
      "description": "The customer's email address",
      "type": "string"
    },
    {
      "name": "Customer Age",
      "description": "The customer's age in years",
      "type": "number"
    },
    {
      "name": "Interested in Demo",
      "description": "Whether the customer wants to schedule a demo",
      "type": "boolean"
    }
  ],
  "groupings": [
    {
      "name": "Contact Information",
      "variables": [
        "Customer Name",
        "Customer Email"
      ],
      "description": "The customer's contact details"
    },
    {
      "name": "Demographics",
      "variables": [
        "Customer Age"
      ],
      "description": "The customer's demographic information"
    }
  ],
  "conditions": [
    {
      "condition": {
        "value": "true",
        "operator": "===",
        "variable": "Interested in Demo"
      },
      "variables": [
        {
          "name": "Demo Preference",
          "type": "string",
          "description": "Type of demo preferred (in-person, virtual, etc.)"
        }
      ]
    }
  ]
}

Response

status
integer

HTTP status code (200 for success).

data
object

The created citation schema object.

id
string

The unique identifier for the created citation schema (UUID format).

name
string

The name of the citation schema.

description
string

The description of the citation schema.

org_id
string

The organization ID that owns this schema.

schema
object

The JSON schema configuration for citation extraction.

created_at
string

The timestamp when the citation schema was created (ISO 8601 format).

errors
null

Will be null for successful requests.

Error Responses

400 Bad Request

Returned when the required name parameter is missing.

{
  "status": 200,
  "data": {
    "id": "6ba7b812-9dad-11d1-80b4-00c04fd430c8",
    "name": "Customer Information Extraction",
    "description": "Extracts customer demographics and contact information from call transcripts",
    "org_id": "9b59f853-c2c7-4e3a-b5d6-8f7e9a1b2c3d",
    "schema": {
      "variables": [
        {
          "name": "Customer Name",
          "description": "The full name of the customer",
          "type": "string"
        },
        {
          "name": "Customer Email",
          "description": "The email address provided by the customer",
          "type": "string"
        },
        {
          "name": "Interested in Demo",
          "description": "Whether the customer wants to schedule a demo",
          "type": "boolean"
        }
      ],
      "groupings": [
        {
          "name": "Contact Information",
          "variables": ["Customer Name", "Customer Email"]
        }
      ],
      "conditions": [
        {
          "condition": {
            "value": "true",
            "operator": "===",
            "variable": "Interested in Demo"
          },
          "variables": [
            {
              "name": "Demo Preference",
              "type": "string",
              "description": "Type of demo the customer prefers (in-person, virtual, etc.)"
            }
          ]
        }
      ]
    },
    "created_at": "2023-12-15T14:30:00.000Z"
  },
  "errors": null
}