Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: SyllableSDK Prompts API
description: "\n# Syllable Platform SDK\n\nSyllable SDK gives you the power of awesome AI agentry. \U0001F680\n\n## Overview\n\nThe Syllable SDK provides a comprehensive set of tools and APIs to integrate powerful AI\ncapabilities into your communication applications. Whether you're building phone agents, chatbots,\nvirtual assistants, or any other AI-driven solutions, Syllable SDK has got you covered.\n\n## Features\n\n- **Agent Configuration**: Create and manage agents that can interact with users across various \nchannels.\n- **Channel Management**: Configure channels like SMS, web chat, and more to connect agents with \nusers.\n- **Custom Messages**: Set up custom messages that agents can deliver as greetings or responses.\n- **Conversations**: Track and manage conversations between users and agents, including session \nmanagement.\n- **Tools and Workflows**: Leverage tools and workflows to enhance agent capabilities, such as data \nprocessing and API calls.\n- **Data Sources**: Integrate data sources to provide agents with additional context and \ninformation.\n- **Insights and Analytics**: Analyze conversations and sessions to gain insights into user \ninteractions.\n- **Permissions and Security**: Manage permissions to control access to various features and \nfunctionalities.\n- **Language Support**: Define language groups to enable multilingual support for agents.\n- **Outbound Campaigns**: Create and manage outbound communication campaigns to reach users \neffectively.\n- **Session Labels**: Label sessions with evaluations of quality and descriptions of issues \nencountered.\n- **Incident Management**: Track and manage incidents related to agent interactions.\n"
version: 0.0.3
servers:
- url: https://api.syllable.cloud
description: API server
tags:
- name: prompts
description: Operations related to prompts. A prompt defines the behavior of an agent by delivering instructions to the LLM about how the agent should behave. A prompt can be linked to one or more agents. A prompt can also be linked to tools to allow an agent using the prompt to use them. For more information, see [Console docs](https://docs.syllable.ai/Resources/Prompts).
paths:
/api/v1/prompts/:
get:
tags:
- prompts
summary: Prompt List
description: List the existing prompts
operationId: prompts_list
security:
- APIKeyHeader: []
parameters:
- name: page
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
description: The page number from which to start (0-based)
examples:
- 0
default: 0
title: Page
description: The page number from which to start (0-based)
- name: limit
in: query
required: false
schema:
type: integer
minimum: 0
description: The maximum number of items to return
examples:
- 25
default: 25
title: Limit
description: The maximum number of items to return
- name: search_fields
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/PromptProperties'
description: String names of fields to search. Correspond by index to search field values
examples:
- name
default: []
title: Search Fields
description: String names of fields to search. Correspond by index to search field values
- name: search_field_values
in: query
required: false
schema:
type: array
items:
type: string
description: Values of fields to search. Correspond by index to search fields. Unless field name contains "list", an individual search field value cannot be a list
examples:
- Some Object Name
default: []
title: Search Field Values
description: Values of fields to search. Correspond by index to search fields. Unless field name contains "list", an individual search field value cannot be a list
- name: order_by
in: query
required: false
schema:
anyOf:
- $ref: '#/components/schemas/PromptProperties'
- type: 'null'
description: The field whose value should be used to order the results
examples:
- name
title: Order By
description: The field whose value should be used to order the results
- name: order_by_direction
in: query
required: false
schema:
anyOf:
- $ref: '#/components/schemas/OrderByDirection'
- type: 'null'
description: The direction in which to order the results
title: Order By Direction
description: The direction in which to order the results
- name: fields
in: query
required: false
schema:
anyOf:
- type: array
items:
$ref: '#/components/schemas/PromptProperties'
- type: 'null'
description: The fields to include in the response
default: []
title: Fields
description: The fields to include in the response
- name: start_datetime
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The start datetime for filtering results
examples:
- '2023-01-01T00:00:00Z'
title: Start Datetime
description: The start datetime for filtering results
- name: end_datetime
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The end datetime for filtering results
examples:
- '2024-01-01T00:00:00Z'
title: End Datetime
description: The end datetime for filtering results
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListResponse_PromptResponse_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK, models\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.prompts.list(page=0, limit=25, search_fields=[\n models.PromptProperties.NAME,\n ], search_field_values=[\n \"Some Object Name\",\n ], start_datetime=\"2023-01-01T00:00:00Z\", end_datetime=\"2024-01-01T00:00:00Z\")\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.prompts.list({\n page: 0,\n searchFields: [\n \"name\",\n ],\n searchFieldValues: [\n \"Some Object Name\",\n ],\n startDatetime: \"2023-01-01T00:00:00Z\",\n endDatetime: \"2024-01-01T00:00:00Z\",\n });\n\n console.log(result);\n}\n\nrun();"
post:
tags:
- prompts
summary: Create Prompt
description: Create a new prompt
operationId: prompts_create
security:
- APIKeyHeader: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PromptCreateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PromptResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.prompts.create(request={\n \"name\": \"Weather Agent Prompt\",\n \"description\": \"Prompt for a weather agent.\",\n \"type\": \"prompt_v1\",\n \"context\": \"You are a weather agent. Answer the user's questions about weather and nothing else.\",\n \"tools\": [],\n \"llm_config\": {\n \"api_version\": \"2024-06-01\",\n \"temperature\": 1,\n \"seed\": 123,\n },\n \"session_end_tool_id\": 1,\n \"edit_comments\": \"Updated prompt text to include requirement to not answer questions that aren't about weather.\",\n })\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.prompts.create({\n name: \"Weather Agent Prompt\",\n description: \"Prompt for a weather agent.\",\n type: \"prompt_v1\",\n context: \"You are a weather agent. Answer the user's questions about weather and nothing else.\",\n tools: [],\n llmConfig: {\n apiVersion: \"2024-06-01\",\n temperature: 1,\n seed: 123,\n },\n sessionEndToolId: 1,\n editComments: \"Updated prompt text to include requirement to not answer questions that aren't about weather.\",\n });\n\n console.log(result);\n}\n\nrun();"
put:
tags:
- prompts
summary: Update Prompt
description: Update an existing prompt
operationId: prompts_update
security:
- APIKeyHeader: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PromptUpdateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PromptResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.prompts.update(request={\n \"name\": \"Weather Agent Prompt\",\n \"description\": \"Prompt for a weather agent.\",\n \"type\": \"prompt_v1\",\n \"context\": \"You are a weather agent. Answer the user's questions about weather and nothing else.\",\n \"tools\": [],\n \"llm_config\": {\n \"api_version\": \"2024-06-01\",\n \"temperature\": 1,\n \"seed\": 123,\n },\n \"session_end_tool_id\": 1,\n \"edit_comments\": \"Updated prompt text to include requirement to not answer questions that aren't about weather.\",\n \"id\": 1,\n })\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.prompts.update({\n name: \"Weather Agent Prompt\",\n description: \"Prompt for a weather agent.\",\n type: \"prompt_v1\",\n context: \"You are a weather agent. Answer the user's questions about weather and nothing else.\",\n tools: [],\n llmConfig: {\n apiVersion: \"2024-06-01\",\n temperature: 1,\n seed: 123,\n },\n sessionEndToolId: 1,\n editComments: \"Updated prompt text to include requirement to not answer questions that aren't about weather.\",\n id: 1,\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/prompts/{prompt_id}:
get:
tags:
- prompts
summary: Get Prompt By Id
description: Get a prompt by ID
operationId: prompts_get_by_id
security:
- APIKeyHeader: []
parameters:
- name: prompt_id
in: path
required: true
schema:
type: integer
title: Prompt Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PromptResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.prompts.get_by_id(prompt_id=417330)\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.prompts.getById({\n promptId: 417330,\n });\n\n console.log(result);\n}\n\nrun();"
delete:
tags:
- prompts
summary: Delete Prompt
description: Delete a prompt
operationId: prompts_delete
security:
- APIKeyHeader: []
parameters:
- name: prompt_id
in: path
required: true
schema:
type: integer
title: Prompt Id
- name: reason
in: query
required: true
schema:
type: string
title: Reason
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.prompts.delete(prompt_id=982839, reason=\"<value>\")\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.prompts.delete({\n promptId: 982839,\n reason: \"<value>\",\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/prompts/{prompt_id}/history:
get:
tags:
- prompts
summary: Get Prompt History
description: Get a list of historical versions of a prompt by its ID
operationId: prompts_history
security:
- APIKeyHeader: []
parameters:
- name: prompt_id
in: path
required: true
schema:
type: integer
title: Prompt Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PromptHistory'
title: Response Prompts History
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.prompts.prompts_history(prompt_id=922849)\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.prompts.promptsHistory({\n promptId: 922849,\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/prompts/llms/supported:
get:
tags:
- prompts
summary: Get Supported Llm Configs
description: Get supported LLM configs.
operationId: prompt_get_supported_llms
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SupportedLlm'
type: array
title: Response Prompt Get Supported Llms
security:
- APIKeyHeader: []
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.prompts.prompt_get_supported_llms()\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.prompts.promptGetSupportedLlms();\n\n console.log(result);\n}\n\nrun();"
components:
schemas:
ToolHttpEndpoint:
properties:
url:
type: string
title: Url
description: The endpoint URL of the external service to call.
examples:
- https://api.example.com
method:
$ref: '#/components/schemas/ToolHttpMethod'
description: The HTTP method to use for the service call.
examples:
- get
argument_location:
$ref: '#/components/schemas/ToolArgumentLocation'
description: How to pass the arguments to the request.
examples:
- query
timeout:
anyOf:
- type: number
maximum: 120
minimum: 1
- type: 'null'
title: Timeout
description: Timeout in seconds for the HTTP request. Default 20 seconds when not set.
examples:
- 45.0
type: object
required:
- url
- method
- argument_location
title: ToolHttpEndpoint
description: The configuration for an HTTP API call by a tool.
LoadToolFromFileTask:
properties:
id:
anyOf:
- type: string
- type: 'null'
title: Id
description: A unique identifier for the task.
config:
anyOf:
- additionalProperties:
$ref: '#/components/schemas/JsonValue'
type: object
- type: 'null'
title: Config
variables:
anyOf:
- items:
$ref: '#/components/schemas/Variable'
type: array
- type: 'null'
title: Variables
metadata:
anyOf:
- $ref: '#/components/schemas/ContextTaskMetadata'
- type: 'null'
tool:
anyOf:
- $ref: '#/components/schemas/ContextToolInfo'
- type: 'null'
type:
type: string
const: import
title: Type
default: import
version:
type: string
const: v1alpha
title: Version
default: v1alpha
file:
anyOf:
- type: string
- items:
type: string
type: array
title: File
description: The local path of the tool definition JSON file.
type: object
required:
- file
title: LoadToolFromFileTask
description: Bootstraps a tool from a file (for internal developer use only if ENV.local=True).
PromptCreateRequest:
properties:
name:
type: string
title: Name
description: The prompt name
examples:
- Weather Agent Prompt
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: The description of the prompt
examples:
- Prompt for a weather agent.
type:
type: string
title: Type
description: The type of the prompt
examples:
- prompt_v1
context:
anyOf:
- type: string
- type: 'null'
title: Context
description: The prompt text that will be sent to the LLM at the beginning of the conversation
examples:
- You are a weather agent. Answer the user's questions about weather and nothing else.
tools:
items:
type: string
type: array
title: Tools
description: Names of tools to which the prompt has access
default: []
examples:
- []
llm_config:
$ref: '#/components/schemas/PromptLlmConfig'
description: The configuration for the LLM that the prompt uses
examples:
- model: gpt-4o
provider: openai
version: '2024-08-06'
session_end_enabled:
type: boolean
title: Session End Enabled
description: Whether session end functionality is enabled for this prompt
default: false
examples:
- false
session_end_tool_id:
anyOf:
- type: integer
- type: 'null'
title: Session End Tool Id
description: ID of the optional session end tool associated with the prompt
examples:
- 1
edit_comments:
anyOf:
- type: string
- type: 'null'
title: Edit Comments
description: The comments for the most recent edit to the prompt
examples:
- Updated prompt text to include requirement to not answer questions that aren't about weather.
include_default_tools:
type: boolean
title: Include Default Tools
description: Whether to include the default tools (`hangup`) in the list of tools for the prompt (also includes set_current_language if any of the agents assigned to the prompt have Dynamic Language Switching enabled). If you disable this during creation, you might want to disable it during updates as well; otherwise the default tools will be added when updating the prompt.
default: true
examples:
- true
type: object
required:
- name
- type
- llm_config
title: PromptCreateRequest
description: Request model to create a prompt.
JMESPathExpression:
properties:
expression:
type: string
title: Expression
description: JMESPath expression string.
examples:
- inputs.can_sign_consent == `true`
type:
type: string
enum:
- jp
- jmespath
title: Type
description: JMESPath expression language selector. Use with object form {"type":"jp"|"jmespath","expression":"..."}.
default: jp
type: object
required:
- expression
title: JMESPathExpression
description: 'JMESPath expression object.
Use this object form to explicitly mark JMESPath syntax:
{"type": "jp", "expression": "inputs.can_sign_consent == `true`"}
See https://jmespath.org/specification.html#grammar'
SayAction:
properties:
if:
anyOf:
- oneOf:
- $ref: '#/components/schemas/CelExpression'
- $ref: '#/components/schemas/JMESPathExpression'
discriminator:
propertyName: type
mapping:
cel: '#/components/schemas/CelExpression'
jmespath: '#/components/schemas/JMESPathExpression'
jp: '#/components/schemas/JMESPathExpression'
- $ref: '#/components/schemas/CaseExpression'
- type: string
- type: 'null'
title: If
description: 'Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == `true`".'
examples:
- inputs.can_sign_consent == `true`
- expression: inputs.can_sign_consent == `true`
type: jp
- expression: inputs.can_sign_consent == true
type: cel
text:
type: string
title: Text
description: Text to apply if the condition is true.
action:
type: string
const: say
title: Action
default: say
role:
type: string
enum:
- user
- assistant
title: Role
description: The role of the message.
default: assistant
type: object
required:
- text
title: SayAction
ContextToolInfo:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The name of the generated tool.
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: The description of the tool.
type: object
title: ContextToolInfo
InputParameter:
properties:
name:
type: string
title: Name
description: The name of the property.
type:
anyOf:
- type: string
enum:
- string
- number
- integer
- boolean
- object
- array
- 'null'
- type: 'null'
title: Type
description:
anyOf:
- type: string
- type: 'null'
title: Description
title:
anyOf:
- type: string
- type: 'null'
title: Title
format:
anyOf:
- type: string
- type: 'null'
title: Format
pattern:
anyOf:
- type: string
- type: 'null'
title: Pattern
enum:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Enum
examples:
anyOf:
- items:
$ref: '#/components/schemas/JsonValue'
type: array
- type: 'null'
title: Examples
required:
type: boolean
title: Required
default: true
type: object
required:
- name
title: InputParameter
PromptProperties:
type: string
enum:
- id
- name
- name_exact
- description
- name_description
- context
- tools
- llm_config
- last_updated
- last_updated_by
- agent_count
- session_end_enabled
title: PromptProperties
description: Names of prompt fields supported for filtering/sorting on list endpoint.
NextStep:
properties:
if:
anyOf:
- oneOf:
- $ref: '#/components/schemas/CelExpression'
- $ref: '#/components/schemas/JMESPathExpression'
discriminator:
propertyName: type
mapping:
cel: '#/components/schemas/CelExpression'
jmespath: '#/components/schemas/JMESPathExpression'
jp: '#/components/schemas/JMESPathExpression'
- $ref: '#/components/schemas/CaseExpression'
- type: string
- type: 'null'
title: If
description: 'Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Example JMESPath string: "inputs.can_sign_consent == `true`".'
examples:
- inputs.can_sign_consent == `true`
- expression: inputs.can_sign_consent == `true`
type: jp
- expression: inputs.can_sign_consent == true
type: cel
id:
type: string
title: Id
description: The identifier of the next step.
requires:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Requires
description: List of input field names required for this transition. Validates that specified inputs are collected before allowing transition.
type: object
required:
- id
title: NextStep
description: Represents a conditional transition to the next step.
Variable:
properties:
value:
anyOf:
- $ref: '#/components/schemas/JsonValue'
- type: 'null'
description: Initial value of the variable.
valueFrom:
anyOf:
- oneOf:
- $ref: '#/components/schemas/CelExpression'
- $ref: '#/components/schemas/JMESPathExpression'
discriminator:
propertyName: type
mapping:
cel: '#/components/schemas/CelExpression'
jmespath: '#/components/schemas/JMESPathExpression'
jp: '#/components/schemas/JMESPathExpression'
- $ref: '#/components/schemas/CaseExpression'
- type: string
- type: 'null'
title: Valuefrom
description: 'Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {"type":"jp"|"jmespath","expression":"..."}, or (3) typed CEL object {"type":"cel","expression":"..."}. Mutually exclusive with value.'
examples:
- inputs.provided_dob == patient_dob
- expression: inputs.provided_dob == patient_dob
type: jmespath
- expression: inputs.count + 1
type: cel
name:
type: string
title: Name
description: The name of the property.
type:
anyOf:
- type: string
enum:
- string
- number
- integer
- boolean
- object
- array
- 'null'
- type: 'null'
title: Type
description:
anyOf:
- type: string
- type: 'null'
title: Description
title:
anyOf:
- type: string
- type: 'null'
title: Title
format:
anyOf:
- type: string
- type: 'null'
title: Format
pattern:
anyOf:
- type: string
- type: 'null'
title: Pattern
enum:
anyOf:
- items:
type: string
# --- truncated at 32 KB (102 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/syllable/refs/heads/main/openapi/syllable-prompts-api-openapi.yml