Syllable Organizations API
Operations related to organizations.
Operations related to organizations.
openapi: 3.2.0
info:
title: SyllableSDK Organizations 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: organizations
description: Operations related to organizations.
paths:
/api/v1/organizations/:
get:
tags:
- organizations
summary: Get Current Organization
description: Fetch the current organization.
operationId: organizations_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationResponse'
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.organizations.organizations_get()\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.organizations.organizationsGet();\n\n console.log(result);\n}\n\nrun();"
put:
tags:
- organizations
summary: Update Current Organization
description: Update the current organization.
operationId: organizations_update
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_organizations_update'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationResponse'
'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.organizations.update(request={\n \"display_name\": \"My Great Org\",\n \"description\": \"An organization that does great things with agentic AI\",\n \"domains\": \"mygreatorg.com,mygreatorg.org\",\n \"saml_provider_id\": \"saml.syllablesso\",\n \"update_comments\": \"Updated the organization to add a new domain\",\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.organizations.update({\n displayName: \"My Great Org\",\n description: \"An organization that does great things with agentic AI\",\n domains: \"mygreatorg.com,mygreatorg.org\",\n samlProviderId: \"saml.syllablesso\",\n updateComments: \"Updated the organization to add a new domain\",\n });\n\n console.log(result);\n}\n\nrun();"
post:
tags:
- organizations
summary: Create Organization
description: Create a new organization.
operationId: organizations_create
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_organizations_create'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationResponse'
'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.organizations.create(request={\n \"logo\": {\n \"file_name\": \"example.file\",\n \"content\": open(\"example.file\", \"rb\"),\n },\n \"display_name\": \"My Great Org\",\n \"description\": \"An organization that does great things with agentic AI\",\n \"domains\": \"mygreatorg.com,mygreatorg.org\",\n \"saml_provider_id\": \"saml.syllablesso\",\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.organizations.create({\n logo: await openAsBlob(\"example.file\"),\n displayName: \"My Great Org\",\n description: \"An organization that does great things with agentic AI\",\n domains: \"mygreatorg.com,mygreatorg.org\",\n samlProviderId: \"saml.syllablesso\",\n });\n\n console.log(result);\n}\n\nrun();"
delete:
tags:
- organizations
summary: Delete Current Organization
description: Delete the current organization and all its users.
operationId: organizations_delete
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Body_organizations_delete'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'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.organizations.delete(request={\n \"delete_comments\": \"Deleted the organization because it was no longer needed\",\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.organizations.delete({\n deleteComments: \"Deleted the organization because it was no longer needed\",\n });\n\n console.log(result);\n}\n\nrun();"
components:
schemas:
OrganizationResponse:
properties:
display_name:
type: string
title: Display Name
description: The human-readable display name of the organization.
examples:
- My Great Org
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description of the organization.
examples:
- An organization that does great things with agentic AI.
domains:
anyOf:
- type: string
- type: 'null'
title: Domains
description: Comma-delimited list of domains that users at the organization may have in their email addresses.
examples:
- mygreatorg.com,myothergreatorg.org
saml_provider_id:
anyOf:
- type: string
- type: 'null'
title: Saml Provider Id
description: SAML provider ID for user authentication
examples:
- saml.syllablesso
id:
type: integer
title: Id
description: The internal ID of the organization.
examples:
- 1
last_updated_comments:
anyOf:
- type: string
- type: 'null'
title: Last Updated Comments
description: Comments for the most recent edit to the organization.
examples:
- Updated to add an additional domain
name:
type: string
title: Name
description: Unique, non-human-readable hash for the organization
slug:
anyOf:
- type: string
- type: 'null'
title: Slug
description: The slug of the organization used for URLs in the Console UI. Null until slug backfill has been run.
examples:
- my-great-org
last_updated:
type: string
format: date-time
title: Last Updated
description: The timestamp of the most recent update to the organization
last_updated_by:
anyOf:
- type: string
- type: 'null'
title: Last Updated By
description: The email of the user who most recently updated the organization
logo_url:
anyOf:
- type: string
- type: 'null'
title: Logo Url
description: CDN URL. The org will always have a logo, but this value will be null on a response to an update where no logo was provided on the request
examples:
- https://image.png
type: object
required:
- display_name
- id
- name
- last_updated
title: OrganizationResponse
Body_organizations_create:
properties:
logo:
type: string
format: binary
title: Logo
description: The organization logo image file to upload. Must be a PNG file and 120x120 pixels.
display_name:
type: string
title: Display Name
description: The human-readable display name of the organization
examples:
- My Great Org
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description of the organization
examples:
- An organization that does great things with agentic AI
domains:
anyOf:
- type: string
- type: 'null'
title: Domains
description: Comma-delimited list of domains that users at the organization may have in their email addresses
examples:
- mygreatorg.com,mygreatorg.org
saml_provider_id:
anyOf:
- type: string
- type: 'null'
title: Saml Provider Id
description: SAML provider ID for user authentication
examples:
- saml.syllablesso
type: object
required:
- logo
- display_name
title: Body_organizations_create
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
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
Body_organizations_update:
properties:
logo:
anyOf:
- type: string
format: binary
- type: 'null'
title: Logo
description: The organization logo image file to upload. Must be a PNG file and 120x120 pixels. If not provided, the logo will not be updated.
display_name:
type: string
title: Display Name
description: The human-readable display name of the organization
examples:
- My Great Org
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Description of the organization
examples:
- An organization that does great things with agentic AI
domains:
anyOf:
- type: string
- type: 'null'
title: Domains
description: Comma-delimited list of domains that users at the organization may have in their email addresses
examples:
- mygreatorg.com,mygreatorg.org
saml_provider_id:
anyOf:
- type: string
- type: 'null'
title: Saml Provider Id
description: SAML provider ID for user authentication
examples:
- saml.syllablesso
update_comments:
anyOf:
- type: string
- type: 'null'
title: Update Comments
description: Comments about the update
examples:
- Updated the organization to add a new domain
type: object
required:
- display_name
title: Body_organizations_update
Body_organizations_delete:
properties:
delete_comments:
anyOf:
- type: string
- type: 'null'
title: Delete Comments
description: Comments explaining the deletion
examples:
- Deleted the organization because it was no longer needed
type: object
title: Body_organizations_delete
securitySchemes:
APIKeyHeader:
type: apiKey
in: header
name: Syllable-API-Key
x-speakeasy-name-override:
- operationId: .*_list$
methodNameOverride: list
- operationId: .*_create$
methodNameOverride: create
- operationId: .*_update$
methodNameOverride: update
- operationId: .*_upload$
methodNameOverride: upload
- operationId: .*_delete$
methodNameOverride: delete
- operationId: .*_get_by_id$
methodNameOverride: get_by_id
- operationId: .*_get_by_name$
methodNameOverride: get_by_name
- operationId: .*_add$
methodNameOverride: add
- operationId: .*_remove$
methodNameOverride: remove
- operationId: .*_results$
methodNameOverride: results
- operationId: .*_queue_work$
methodNameOverride: queue_work
- operationId: .*_activate$
methodNameOverride: activate
- operationId: .*_inactivate$
methodNameOverride: inactivate
- operationId: .*_list_files$
methodNameOverride: list_files
- operationId: .*_move_files$
methodNameOverride: move_files
- operationId: .*_upload_file$
methodNameOverride: upload_file