Syllable V1 API
The V1 API from Syllable — 4 operation(s) for v1.
The V1 API from Syllable — 4 operation(s) for v1.
openapi: 3.2.0
info:
title: SyllableSDK V1 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: V1
paths:
/api/v1/users/:
get:
tags:
- V1
summary: List Users
description: List the existing users.
operationId: users_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/UserProperties'
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/UserProperties'
- 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/UserProperties'
- 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_UserResponse_'
'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.users.list(page=0, limit=25, search_fields=[\n models.UserProperties.ROLE_ID,\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: 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.v1.list(page=0, limit=25, search_fields=[\n models.UserProperties.ROLE_ID,\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.users.list({\n page: 0,\n searchFields: [\n \"activity_status\",\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();"
- 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.v1.list({\n page: 0,\n searchFields: [\n \"activity_status\",\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:
- V1
summary: Create User
description: Create a new user.
operationId: users_create
security:
- APIKeyHeader: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserCreateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'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.users.create(request={\n \"email\": \"user@syllable.ai\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"role_id\": 1,\n \"login_type\": models.LoginType.USERNAME_AND_PASSWORD,\n })\n\n # Handle response\n print(res)"
- 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.v1.create(request={\n \"email\": \"user@syllable.ai\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"role_id\": 1,\n \"login_type\": models.LoginType.USERNAME_AND_PASSWORD,\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.users.create({\n email: \"user@syllable.ai\",\n firstName: \"Jane\",\n lastName: \"Smith\",\n roleId: 1,\n loginType: \"username_and_password\",\n });\n\n console.log(result);\n}\n\nrun();"
- 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.v1.create({\n email: \"user@syllable.ai\",\n firstName: \"Jane\",\n lastName: \"Smith\",\n roleId: 1,\n loginType: \"username_and_password\",\n });\n\n console.log(result);\n}\n\nrun();"
put:
tags:
- V1
summary: Update User
description: Update an existing user.
operationId: users_update
security:
- APIKeyHeader: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdateRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'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.users.update(request={\n \"email\": \"user@syllable.ai\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"role_id\": 1,\n \"last_updated_comments\": \"Updated to change which role was assigned\",\n })\n\n # Handle response\n print(res)"
- 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.v1.update(request={\n \"email\": \"user@syllable.ai\",\n \"first_name\": \"Jane\",\n \"last_name\": \"Smith\",\n \"role_id\": 1,\n \"last_updated_comments\": \"Updated to change which role was assigned\",\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.users.update({\n email: \"user@syllable.ai\",\n firstName: \"Jane\",\n lastName: \"Smith\",\n roleId: 1,\n lastUpdatedComments: \"Updated to change which role was assigned\",\n });\n\n console.log(result);\n}\n\nrun();"
- 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.v1.update({\n email: \"user@syllable.ai\",\n firstName: \"Jane\",\n lastName: \"Smith\",\n roleId: 1,\n lastUpdatedComments: \"Updated to change which role was assigned\",\n });\n\n console.log(result);\n}\n\nrun();"
delete:
tags:
- V1
summary: Delete User
description: Delete a user.
operationId: users_delete
security:
- APIKeyHeader: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserDeleteRequest'
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.users.delete(request={\n \"email\": \"user@syllable.ai\",\n \"reason\": \"User left the organization\",\n })\n\n # Handle response\n print(res)"
- 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.v1.delete(request={\n \"email\": \"user@syllable.ai\",\n \"reason\": \"User left the organization\",\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.users.delete({\n email: \"user@syllable.ai\",\n reason: \"User left the organization\",\n });\n\n console.log(result);\n}\n\nrun();"
- 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.v1.delete({\n email: \"user@syllable.ai\",\n reason: \"User left the organization\",\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/users/{user_email}:
get:
tags:
- V1
summary: Get User
description: Fetch a given user.
operationId: users_get_by_email
security:
- APIKeyHeader: []
parameters:
- name: user_email
in: path
required: true
schema:
type: string
title: User Email
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'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.users.users_get_by_email(user_email=\"<value>\")\n\n # Handle response\n print(res)"
- 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.v1.users_get_by_email(user_email=\"<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.users.usersGetByEmail({\n userEmail: \"<value>\",\n });\n\n console.log(result);\n}\n\nrun();"
- 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.v1.usersGetByEmail({\n userEmail: \"<value>\",\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/users/{user_email}/send_email:
post:
tags:
- V1
summary: Send User Email
description: Send a welcome email to a user.
operationId: users_send_email
security:
- APIKeyHeader: []
parameters:
- name: user_email
in: path
required: true
schema:
type: string
title: User Email
- name: skip_auth
in: query
required: false
schema:
type: boolean
default: false
title: Skip Auth
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.users.users_send_email(user_email=\"<value>\", skip_auth=False)\n\n # Handle response\n print(res)"
- 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.v1.users_send_email(user_email=\"<value>\", skip_auth=False)\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.users.usersSendEmail({\n userEmail: \"<value>\",\n });\n\n console.log(result);\n}\n\nrun();"
- 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.v1.usersSendEmail({\n userEmail: \"<value>\",\n });\n\n console.log(result);\n}\n\nrun();"
/api/v1/users/delete_account:
delete:
tags:
- V1
summary: Request Removal Of This Account
description: 'Request removal of the account of the user calling this endpoint. Intended for removing trial
accounts.'
operationId: users_delete_account
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
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.users.users_delete_account()\n\n # Handle response\n print(res)"
- 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.v1.users_delete_account()\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.users.usersDeleteAccount();\n\n console.log(result);\n}\n\nrun();"
- 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.v1.usersDeleteAccount();\n\n console.log(result);\n}\n\nrun();"
components:
schemas:
UserProperties:
type: string
enum:
- email
- first_name
- last_name
- role_id
- role_name
- email_first_name_last_name
- activity_status
- last_updated
title: UserProperties
description: Names of user fields supported for filtering/sorting on list endpoint.
ListResponse_UserResponse_:
properties:
items:
items:
$ref: '#/components/schemas/UserResponse'
type: array
title: Items
description: List of items returned from the query
examples: []
page:
type: integer
title: Page
description: The page number of the results (0-based)
examples:
- 0
page_size:
type: integer
title: Page Size
description: The number of items returned per page
examples:
- 25
total_pages:
anyOf:
- type: integer
- type: 'null'
title: Total Pages
description: The total number of pages of results given the indicated page size
examples:
- 4
total_count:
anyOf:
- type: integer
- type: 'null'
title: Total Count
description: The total number of items returned from the query
examples:
- 100
type: object
required:
- items
- page
- page_size
title: ListResponse[UserResponse]
UserResponse:
properties:
email:
type: string
title: Email
description: Email address of the user
examples:
- user@syllable.ai
first_name:
anyOf:
- type: string
- type: 'null'
title: First Name
description: First name of the user
examples:
- Jane
last_name:
anyOf:
- type: string
- type: 'null'
title: Last Name
description: Last name of the user
examples:
- Smith
role_id:
type: integer
title: Role Id
description: ID of the role assigned to the user
examples:
- 1
utm:
anyOf:
- $ref: '#/components/schemas/DaoUtm'
- type: 'null'
description: Optional UTM campaign attribution to record in user_metadata.
last_updated_comments:
anyOf:
- type: string
- type: 'null'
title: Last Updated Comments
description: Comments for the most recent edit to the user.
examples:
- Updated to change which role was assigned
id:
type: integer
title: Id
description: Internal ID of the user
examples:
- 1
role_name:
type: string
title: Role Name
description: Name of the role assigned to the user
examples:
- Admin
email_sent:
type: boolean
title: Email Sent
description: Whether the welcome email has been sent to the user
examples:
- true
activity_status:
$ref: '#/components/schemas/UserActivityStatus'
description: The activity status of the user
examples:
- invited
last_updated:
type: string
format: date-time
title: Last Updated
description: The timestamp of the most recent update to the user
last_updated_by:
anyOf:
- type: string
- type: 'null'
title: Last Updated By
description: The email address of the user who last updated the user
examples:
- admin@email.com
last_session_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Last Session At
description: The timestamp of the user's last session
examples:
- '2025-01-01T12:00:00Z'
type: object
required:
- email
- role_id
- id
- role_name
- email_sent
- activity_status
- last_updated
title: UserResponse
description: Information about a user.
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
DaoUtm:
properties:
utm_source:
anyOf:
- type: string
maxLength: 256
- type: 'null'
title: Utm Source
utm_medium:
anyOf:
- type: string
maxLength: 256
- type: 'null'
title: Utm Medium
utm_campaign:
anyOf:
- type: string
maxLength: 256
- type: 'null'
title: Utm Campaign
utm_term:
anyOf:
- type: string
maxLength: 256
- type: 'null'
title: Utm Term
utm_content:
anyOf:
- type: string
maxLength: 256
- type: 'null'
title: Utm Content
type: object
title: DaoUtm
UserDeleteRequest:
properties:
email:
type: string
title: Email
description: The email address of the user to delete
examples:
- user@syllable.ai
reason:
type: string
title: Reason
description: The reason for deleting the user
examples:
- User left the organization
type: object
required:
- email
- reason
title: UserDeleteRequest
description: Request model to delete a user.
LoginType:
type: string
enum:
- google
- username_and_password
title: LoginType
description: The type of login to use for the user.
UserCreateRequest:
properties:
email:
type: string
title: Email
description: Email address of the user
examples:
- user@syllable.ai
first_name:
anyOf:
- type: string
- type: 'null'
title: First Name
description: First name of the user
examples:
- Jane
last_name:
anyOf:
- type: string
- type: 'null'
title: Last Name
description: Last name of the user
examples:
- Smith
role_id:
type: integer
title: Role Id
description: ID of the role assigned to the user
examples:
- 1
utm:
anyOf:
- $ref: '#/components/schemas/DaoUtm'
- type: 'null'
description: Optional UTM campaign attribution to record in user_metadata.
login_type:
anyOf:
- $ref: '#/components/schemas/LoginType'
- type: 'null'
description: The type of login to use for the user. If not provided, defaults to google for @gmail.com email addresses, and username and password otherwise.
examples:
- username_and_password
skip_auth:
type: boolean
title: Skip Auth
description: Whether to skip authentication for the user.
default: false
type: object
required:
- email
- role_id
title: UserCreateRequest
description: Request model to create a user.
UserUpdateRequest:
properties:
email:
type: string
title: Email
description: Email address of the user
examples:
- user@syllable.ai
first_name:
anyOf:
- type: string
- type: 'null'
title: First Name
description: First name of the user
examples:
- Jane
last_name:
anyOf:
- type: string
- type: 'null'
title: Last Name
description: Last name of the user
examples:
- Smith
role_id:
type: integer
title: Role Id
description: ID of the role assigned to the user
examples:
- 1
utm:
anyOf:
- $ref: '#/components/schemas/DaoUtm'
- type: 'null'
description: Optional UTM campaign attribution to record in user_metadata.
last_updated_comments:
anyOf:
- type: string
- type: 'null'
title: Last Updated Comments
description: Comments for the most recent edit to the user.
examples:
- Updated to change which role was assigned
type: object
required:
- email
- role_id
title: UserUpdateRequest
description: Request model to update an existing user.
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
UserActivityStatus:
type: string
enum:
- not_invited
- invited
- active
title: UserActi
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/syllable/refs/heads/main/openapi/syllable-v1-api-openapi.yml