openapi: 3.2.0
info:
title: SyllableSDK Directory 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: directory
description: Operations related to directory
paths:
/api/v1/directory_members/:
get:
tags:
- directory
summary: Directory Member List
description: List the directory_members
operationId: directory_member_list
security:
- APIKeyHeader: []
parameters:
- name: include_deleted
in: query
required: false
schema:
type: boolean
description: If true, include soft-deleted members in the list. Default excludes them.
default: false
title: Include Deleted
description: If true, include soft-deleted members in the list. Default excludes them.
- name: response_format
in: query
required: false
schema:
$ref: '#/components/schemas/DirectoryResponseFormat'
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
default: normalized
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
- name: page
in: query
required: false
schema:
anyOf:
- type: integer
minimum: 0
- type: 'null'
description: Page number (0-based)
default: 0
title: Page
description: Page number (0-based)
- name: limit
in: query
required: false
schema:
type: integer
minimum: 0
description: Items per page
default: 25
title: Limit
description: Items per page
- name: search_fields
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/DirectoryMemberProperties'
description: Fields to search; aligns with search_field_values
default: []
title: Search Fields
description: Fields to search; aligns with search_field_values
- name: search_field_values
in: query
required: false
schema:
type: array
items:
type: string
description: Values for search_fields in matching order
default: []
title: Search Field Values
description: Values for search_fields in matching order
- name: order_by
in: query
required: false
schema:
anyOf:
- $ref: '#/components/schemas/DirectoryMemberProperties'
- type: 'null'
description: Field to order results by
title: Order By
description: Field to order results by
- name: order_by_direction
in: query
required: false
schema:
anyOf:
- $ref: '#/components/schemas/OrderByDirection'
- type: 'null'
description: Direction to order results
title: Order By Direction
description: Direction to order results
- name: fields
in: query
required: false
schema:
anyOf:
- type: array
items:
$ref: '#/components/schemas/DirectoryMemberProperties'
- type: 'null'
description: Fields to include in response
default: []
title: Fields
description: Fields to include in response
- name: start_datetime
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Start datetime for filtering results
title: Start Datetime
description: Start datetime for filtering results
- name: end_datetime
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: End datetime for filtering results
title: End Datetime
description: End datetime for filtering results
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListResponse_DirectoryMember_'
'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.directory.list(include_deleted=False, page=0, limit=25, search_fields=[\n models.DirectoryMemberProperties.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.directory.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:
- directory
summary: Create Directory Member
description: Create a new member in the directory
operationId: directory_member_create
security:
- APIKeyHeader: []
parameters:
- name: response_format
in: query
required: false
schema:
$ref: '#/components/schemas/DirectoryResponseFormat'
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
default: normalized
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryMemberCreate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryMember'
'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.directory.create(directory_member_create={\n \"name\": \"Jane Doe\",\n \"type\": \"contact\",\n \"extensions\": [\n {\n \"name\": \"work\",\n \"numbers\": [\n {\n \"number\": \"+1234567890\",\n \"rules\": [\n {\n \"language\": \"en\",\n },\n ],\n },\n ],\n },\n ],\n \"contact_tags\": {\n \"tag1\": [\n \"value1\",\n ],\n \"tag2\": [\n \"value2\",\n ],\n },\n \"comments\": \"Updated to add new extension\",\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.directory.create({\n directoryMemberCreate: {\n name: \"Jane Doe\",\n type: \"contact\",\n extensions: [\n {\n name: \"work\",\n numbers: [\n {\n number: \"+1234567890\",\n rules: [\n {\n \"language\": \"en\",\n },\n ],\n },\n ],\n },\n ],\n contactTags: {\n \"tag1\": [\n \"value1\",\n ],\n \"tag2\": [\n \"value2\",\n ],\n },\n comments: \"Updated to add new extension\",\n },\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/directory_members/{member_id}/history:
get:
tags:
- directory
summary: Get Directory Member History
description: 'Get version history for a directory member (contact).
Version 1 is always the oldest; order_by_direction only controls response order.'
operationId: directory_member_history
security:
- APIKeyHeader: []
parameters:
- name: member_id
in: path
required: true
schema:
type: integer
title: Member Id
- name: page
in: query
required: false
schema:
type: integer
minimum: 0
description: Page number (0-based)
default: 0
title: Page
description: Page number (0-based)
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
description: Items per page
default: 25
title: Limit
description: Items per page
- name: order_by_direction
in: query
required: false
schema:
$ref: '#/components/schemas/OrderByDirection'
description: Sort by oldest first (asc) or newest first (desc). Version 1 is always the oldest.
default: asc
description: Sort by oldest first (asc) or newest first (desc). Version 1 is always the oldest.
- name: response_format
in: query
required: false
schema:
$ref: '#/components/schemas/DirectoryResponseFormat'
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
default: normalized
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListResponse_DirectoryMemberHistoryResponse_'
'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.directory.directory_member_history(member_id=371893, page=0, limit=25)\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.directory.directoryMemberHistory({\n memberId: 371893,\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/directory_members/{member_id}:
get:
tags:
- directory
summary: Get Directory Member By Id
description: Get a DirectoryMember by ID.
operationId: directory_member_get_by_id
security:
- APIKeyHeader: []
parameters:
- name: member_id
in: path
required: true
schema:
type: integer
title: Member Id
- name: response_format
in: query
required: false
schema:
$ref: '#/components/schemas/DirectoryResponseFormat'
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
default: normalized
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryMember'
'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.directory.get_by_id(member_id=562571)\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.directory.getById({\n memberId: 562571,\n });\n\n console.log(result);\n}\n\nrun();"
put:
tags:
- directory
summary: Update Directory Member
description: Update a DirectoryMember.
operationId: directory_member_update
security:
- APIKeyHeader: []
parameters:
- name: member_id
in: path
required: true
schema:
type: integer
title: Member Id
- name: response_format
in: query
required: false
schema:
$ref: '#/components/schemas/DirectoryResponseFormat'
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
default: normalized
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryMemberUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryMember'
'400':
description: Bad Request
'404':
description: Not Found
'412':
description: Precondition Failed
'500':
description: Internal Server Error
'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.directory.update(member_id=941217, directory_member_update={\n \"name\": \"Jane Doe\",\n \"type\": \"contact\",\n \"extensions\": [\n {\n \"name\": \"work\",\n \"numbers\": [\n {\n \"number\": \"+1234567890\",\n \"rules\": [\n {\n \"language\": \"en\",\n },\n ],\n },\n ],\n },\n ],\n \"contact_tags\": {\n \"tag1\": [\n \"value1\",\n ],\n \"tag2\": [\n \"value2\",\n ],\n },\n \"comments\": \"Updated phone number\",\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.directory.update({\n memberId: 941217,\n directoryMemberUpdate: {\n name: \"Jane Doe\",\n type: \"contact\",\n extensions: [\n {\n name: \"work\",\n numbers: [\n {\n number: \"+1234567890\",\n rules: [\n {\n \"language\": \"en\",\n },\n ],\n },\n ],\n },\n ],\n contactTags: {\n \"tag1\": [\n \"value1\",\n ],\n \"tag2\": [\n \"value2\",\n ],\n },\n comments: \"Updated phone number\",\n id: 1,\n },\n });\n\n console.log(result);\n}\n\nrun();"
delete:
tags:
- directory
summary: Delete Directory Member
description: Delete a DirectoryMember.
operationId: directory_member_delete
security:
- APIKeyHeader: []
parameters:
- name: member_id
in: path
required: true
schema:
type: integer
title: Member Id
- name: comment
in: query
required: true
schema:
type: string
description: Comment stored in version history for this deletion
title: Comment
description: Comment stored in version history for this deletion
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Bad Request
'404':
description: Not Found
'500':
description: Internal Server Error
'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.directory.delete(member_id=569311, comment=\"The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design\")\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.directory.delete({\n memberId: 569311,\n comment: \"The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design\",\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/directory_members/{member_id}/test:
get:
tags:
- directory
summary: Test Directory Member Extension
description: Test directory member extension at a specific timestamp and language.
operationId: directory_member_test_extension
security:
- APIKeyHeader: []
parameters:
- name: member_id
in: path
required: true
schema:
type: integer
title: Member Id
- name: timestamp
in: query
required: true
schema:
type: string
description: Timestamp for test in ISO 8601 format (e.g., 2025-12-04T14:29:39)
title: Timestamp
description: Timestamp for test in ISO 8601 format (e.g., 2025-12-04T14:29:39)
- name: language_code
in: query
required: false
schema:
anyOf:
- $ref: '#/components/schemas/LanguageCode'
- type: 'null'
description: Optional language code for test
title: Language Code
description: Optional language code for test
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryMemberTestResponse'
'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.directory.directory_member_test_extension(member_id=922412, timestamp=\"2024-07-02T14:32:47.235Z\")\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.directory.directoryMemberTestExtension({\n memberId: 922412,\n timestamp: \"2024-07-02T14:32:47.235Z\",\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/directory_members/{member_id}/restore:
put:
tags:
- directory
summary: Restore Directory Member
description: Restore a soft-deleted directory member.
operationId: directory_member_restore
security:
- APIKeyHeader: []
parameters:
- name: member_id
in: path
required: true
schema:
type: integer
title: Member Id
- name: response_format
in: query
required: false
schema:
$ref: '#/components/schemas/DirectoryResponseFormat'
description: Directory response format for the restored member.
default: normalized
description: Directory response format for the restored member.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryMemberRestore'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryMember'
'409':
description: Conflict
'404':
description: Not Found
'500':
description: Internal Server Error
'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.directory.directory_member_restore(member_id=507482, directory_member_restore={})\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.directory.directoryMemberRestore({\n memberId: 507482,\n directoryMemberRestore: {},\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/directory_members/upload/:
put:
tags:
- directory
summary: Bulk Load Directory Members
description: Update Directory Members in chunks of 100.
operationId: directory_member_bulk_load
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_directory_member_bulk_load'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'400':
description: Bad Request
'404':
description: Not Found
'412':
description: Precondition Failed
'500':
description: Internal Server Error
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
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.directory.directory_member_bulk_load(request={\n \"file\": {\n \"file_name\": \"example.file\",\n \"content\": open(\"example.file\", \"rb\"),\n },\n })\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { openAsBlob } from \"node:fs\";\nimport { 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.directory.directoryMemberBulkLoad({\n file: await openAsBlob(\"example.file\"),\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/directory_members/download/:
get:
tags:
- directory
summary: Download Directory Members
description: Download the entire directory as a JSON file.
operationId: directory_member_download
security:
- APIKeyHeader: []
parameters:
- name: response_format
in: query
required: false
schema:
$ref: '#/components/schemas/DirectoryResponseFormat'
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
default: normalized
description: 'Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values.'
responses:
'200':
description: Directory downloaded successfully
content:
application/json:
schema: {}
'500':
description: Internal Server Error
'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.directory.directory_member_download()\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.directory.directoryMemberDownload({});\n\n console.log(result);\n}\n\nrun();"
components:
schemas:
DirectoryResponseFormat:
type: string
enum:
- normalized
- raw
title: DirectoryResponseFormat
description: Response shape selector for directory member APIs.
DirectoryMemberTestResponse:
properties:
extension:
anyOf:
- type: string
- type: 'null'
title: Extension
description: Extension to which the user will be transferred if they call at the provided timestamp in the given language, or a status message if no rules match
status:
anyOf:
- type: string
- type: 'null'
title: Status
description: Status message if no rules match
type: object
title: DirectoryMemberTestResponse
DirectoryExtension:
properties:
name:
type: string
title: Name
description: Directory extension name
examples:
- work
numbers:
anyOf:
- items:
$ref: '#/components/schemas/DirectoryExtensionNumber'
type: array
- type: 'null'
title: Numbers
description: Directory extension numbers.
type: object
required:
- name
title: DirectoryExtension
OrderByDirection:
type: string
enum:
- asc
- desc
title: OrderByDirection
description: The direction in which to order list results, either ascending or descending.
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
DirectoryMemberCreate:
properties:
name:
type: string
title: Name
description: Name of the directory member
examples:
- Jane Doe
type:
type: string
title: Type
description: Type of the directory member
examples:
- Operator
extensions:
anyOf:
- items:
$ref: '#/components/schemas/DirectoryExtension'
type: array
- type: 'null'
title: Extensions
description:
# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/syllable/refs/heads/main/openapi/syllable-directory-api-openapi.yml