openapi: 3.1.0
info:
title: Speech-to-speech (EVI)
version: 1.0.0
paths:
/v0/evi/chat/{chat_id}/send:
post:
operationId: send
summary: Send Message
description: Send a message to a specific chat.
tags:
- subpackage_controlPlane
parameters:
- name: chat_id
in: path
required: true
schema:
type: string
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/controlPlane_send_Response_200'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ControlPlanePublishEvent'
/v0/evi/configs:
post:
operationId: create-config
summary: Create config
description: >-
Creates a **Config** which can be applied to EVI.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/return_config_public'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/posted_config'
get:
operationId: list-configs
summary: List configs
description: >-
Fetches a paginated list of **Configs**.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: page_number
in: query
description: >-
Specifies the page number to retrieve, enabling pagination.
This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of
results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items
10-19), and so on. Defaults to 0, which retrieves the first page.
required: false
schema:
type: integer
default: 0
- name: page_size
in: query
description: >-
Specifies the maximum number of results to include per page, enabling pagination. The value must be between
1 and 100, inclusive.
For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10.
required: false
schema:
type: integer
- name: restrict_to_most_recent
in: query
description: >-
By default, `restrict_to_most_recent` is set to true, returning only the latest version of each config. To
include all versions of each config in the list, set `restrict_to_most_recent` to false.
required: false
schema:
type: boolean
- name: name
in: query
description: Filter to only include configs with this name.
required: false
schema:
type: string
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_paged_configs'
/v0/evi/configs/{id}:
get:
operationId: list-config-versions
summary: List config versions
description: >-
Fetches a list of a **Config's** versions.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: id
in: path
description: Identifier for a Config. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: page_number
in: query
description: >-
Specifies the page number to retrieve, enabling pagination.
This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of
results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items
10-19), and so on. Defaults to 0, which retrieves the first page.
required: false
schema:
type: integer
default: 0
- name: page_size
in: query
description: >-
Specifies the maximum number of results to include per page, enabling pagination. The value must be between
1 and 100, inclusive.
For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10.
required: false
schema:
type: integer
- name: restrict_to_most_recent
in: query
description: >-
By default, `restrict_to_most_recent` is set to true, returning only the latest version of each config. To
include all versions of each config in the list, set `restrict_to_most_recent` to false.
required: false
schema:
type: boolean
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_paged_configs'
post:
operationId: create-config-version
summary: Create config version
description: >-
Updates a **Config** by creating a new version of the **Config**.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: id
in: path
description: Identifier for a Config. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/return_config_public'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/posted_config_version'
patch:
operationId: update-config-name
summary: Update config name
description: >-
Updates the name of a **Config**.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: id
in: path
description: Identifier for a Config. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/configs_update-config-name_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/posted_config_name'
delete:
operationId: delete-config
summary: Delete config
description: >-
Deletes a **Config** and its versions.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: id
in: path
description: Identifier for a Config. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/configs_delete-config_Response_200'
/v0/evi/configs/{id}/version/{version}:
get:
operationId: get-config-version
summary: Get config version
description: >-
Fetches a specified version of a **Config**.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: id
in: path
description: Identifier for a Config. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: version
in: path
description: >-
Version number for a Config.
Configs, Prompts, Custom Voices, and Tools are versioned. This versioning system supports iterative
development, allowing you to progressively refine configurations and revert to previous versions if needed.
Version numbers are integer values representing different iterations of the Config. Each update to the
Config increments its version number.
required: true
schema:
type: integer
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_config_public'
patch:
operationId: update-config-description
summary: Update config description
description: >-
Updates the description of a **Config**.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: id
in: path
description: Identifier for a Config. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: version
in: path
description: >-
Version number for a Config.
Configs, Prompts, Custom Voices, and Tools are versioned. This versioning system supports iterative
development, allowing you to progressively refine configurations and revert to previous versions if needed.
Version numbers are integer values representing different iterations of the Config. Each update to the
Config increments its version number.
required: true
schema:
type: integer
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_config_public'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/posted_config_version_description'
delete:
operationId: delete-config-version
summary: Delete config version
description: >-
Deletes a specified version of a **Config**.
For more details on configuration options and how to configure EVI, see our [configuration
guide](/docs/speech-to-speech-evi/configuration).
tags:
- subpackage_configs
parameters:
- name: id
in: path
description: Identifier for a Config. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: version
in: path
description: >-
Version number for a Config.
Configs, Prompts, Custom Voices, and Tools are versioned. This versioning system supports iterative
development, allowing you to progressively refine configurations and revert to previous versions if needed.
Version numbers are integer values representing different iterations of the Config. Each update to the
Config increments its version number.
required: true
schema:
type: integer
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/configs_delete-config-version_Response_200'
/v0/evi/prompts:
post:
operationId: create-prompt
summary: Create prompt
description: >-
Creates a **Prompt** that can be added to an [EVI
configuration](/reference/speech-to-speech-evi/configs/create-config).
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/return_prompt_public'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/posted_prompt'
get:
operationId: list-prompts
summary: List prompts
description: >-
Fetches a paginated list of **Prompts**.
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: page_number
in: query
description: >-
Specifies the page number to retrieve, enabling pagination.
This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of
results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items
10-19), and so on. Defaults to 0, which retrieves the first page.
required: false
schema:
type: integer
default: 0
- name: page_size
in: query
description: >-
Specifies the maximum number of results to include per page, enabling pagination. The value must be between
1 and 100, inclusive.
For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10.
required: false
schema:
type: integer
- name: restrict_to_most_recent
in: query
description: >-
By default, `restrict_to_most_recent` is set to true, returning only the latest version of each prompt. To
include all versions of each prompt in the list, set `restrict_to_most_recent` to false.
required: false
schema:
type: boolean
- name: name
in: query
description: Filter to only include prompts with name.
required: false
schema:
type: string
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_paged_prompts'
/v0/evi/prompts/{id}:
get:
operationId: list-prompt-versions
summary: List prompt versions
description: >-
Fetches a list of a **Prompt's** versions.
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: page_number
in: query
description: >-
Specifies the page number to retrieve, enabling pagination.
This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of
results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items
10-19), and so on. Defaults to 0, which retrieves the first page.
required: false
schema:
type: integer
default: 0
- name: page_size
in: query
description: >-
Specifies the maximum number of results to include per page, enabling pagination. The value must be between
1 and 100, inclusive.
For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10.
required: false
schema:
type: integer
- name: restrict_to_most_recent
in: query
description: >-
By default, `restrict_to_most_recent` is set to true, returning only the latest version of each prompt. To
include all versions of each prompt in the list, set `restrict_to_most_recent` to false.
required: false
schema:
type: boolean
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_paged_prompts'
post:
operationId: create-prompt-version
summary: Create prompt version
description: >-
Updates a **Prompt** by creating a new version of the **Prompt**.
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: id
in: path
description: Identifier for a Prompt. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/return_prompt_public'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/posted_prompt_version'
patch:
operationId: update-prompt-name
summary: Update prompt name
description: >-
Updates the name of a **Prompt**.
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: id
in: path
description: Identifier for a Prompt. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/prompts_update-prompt-name_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/posted_prompt_name'
delete:
operationId: delete-prompt
summary: Delete prompt
description: >-
Deletes a **Prompt** and its versions.
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: id
in: path
description: Identifier for a Prompt. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/prompts_delete-prompt_Response_200'
/v0/evi/prompts/{id}/version/{version}:
get:
operationId: get-prompt-version
summary: Get prompt version
description: >-
Fetches a specified version of a **Prompt**.
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: id
in: path
description: Identifier for a Prompt. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: version
in: path
description: >-
Version number for a Prompt.
Prompts, Configs, Custom Voices, and Tools are versioned. This versioning system supports iterative
development, allowing you to progressively refine prompts and revert to previous versions if needed.
Version numbers are integer values representing different iterations of the Prompt. Each update to the
Prompt increments its version number.
required: true
schema:
type: integer
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_prompt_public'
patch:
operationId: update-prompt-description
summary: Update prompt description
description: >-
Updates the description of a **Prompt**.
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: id
in: path
description: Identifier for a Prompt. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: version
in: path
description: >-
Version number for a Prompt.
Prompts, Configs, Custom Voices, and Tools are versioned. This versioning system supports iterative
development, allowing you to progressively refine prompts and revert to previous versions if needed.
Version numbers are integer values representing different iterations of the Prompt. Each update to the
Prompt increments its version number.
required: true
schema:
type: integer
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_prompt_public'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/patched_prompt_version_description'
delete:
operationId: delete-prompt-version
summary: Delete prompt version
description: >-
Deletes a specified version of a **Prompt**.
See our [prompting guide](/docs/speech-to-speech-evi/guides/phone-calling) for tips on crafting your system
prompt.
tags:
- subpackage_prompts
parameters:
- name: id
in: path
description: Identifier for a Prompt. Formatted as a UUID.
required: true
schema:
type: string
format: uuid
- name: version
in: path
description: >-
Version number for a Prompt.
Prompts, Configs, Custom Voices, and Tools are versioned. This versioning system supports iterative
development, allowing you to progressively refine prompts and revert to previous versions if needed.
Version numbers are integer values representing different iterations of the Prompt. Each update to the
Prompt increments its version number.
required: true
schema:
type: integer
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/prompts_delete-prompt-version_Response_200'
/v0/evi/tools:
post:
operationId: create-tool
summary: Create tool
description: >-
Creates a **Tool** that can be added to an [EVI
configuration](/reference/speech-to-speech-evi/configs/create-config).
Refer to our [tool use](/docs/speech-to-speech-evi/features/tool-use#function-calling) guide for comprehensive
instructions on defining and integrating tools into EVI.
tags:
- subpackage_tools
parameters:
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/return_user_defined_tool'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/posted_user_defined_tool'
get:
operationId: list-tools
summary: List tools
description: >-
Fetches a paginated list of **Tools**.
Refer to our [tool use](/docs/speech-to-speech-evi/features/tool-use#function-calling) guide for comprehensive
instructions on defining and integrating tools into EVI.
tags:
- subpackage_tools
parameters:
- name: page_number
in: query
description: >-
Specifies the page number to retrieve, enabling pagination.
This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of
results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items
10-19), and so on. Defaults to 0, which retrieves the first page.
required: false
schema:
type: integer
default: 0
- name: page_size
in: query
description: >-
Specifies the maximum number of results to include per page, enabling pagination. The value must be between
1 and 100, inclusive.
For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10.
required: false
schema:
type: integer
- name: restrict_to_most_recent
in: query
description: >-
By default, `restrict_to_most_recent` is set to true, returning only the latest version of each tool. To
include all versions of each tool in the list, set `restrict_to_most_recent` to false.
required: false
schema:
type: boolean
- name: name
in: query
description: Filter to only include tools with name.
required: false
schema:
type: string
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_paged_user_defined_tools'
/v0/evi/tools/{id}:
get:
operationId: list-tool-versions
summary: List tool versions
description: >-
Fetches a list of a **Tool's** versions.
Refer to our [tool use](/docs/speech-to-speech-evi/features/tool-use#function-calling) guide for comprehensive
instructions on defining and integrating tools into EVI.
tags:
- subpackage_tools
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: page_number
in: query
description: >-
Specifies the page number to retrieve, enabling pagination.
This parameter uses zero-based indexing. For example, setting `page_number` to 0 retrieves the first page of
results (items 0-9 if `page_size` is 10), setting `page_number` to 1 retrieves the second page (items
10-19), and so on. Defaults to 0, which retrieves the first page.
required: false
schema:
type: integer
default: 0
- name: page_size
in: query
description: >-
Specifies the maximum number of results to include per page, enabling pagination. The value must be between
1 and 100, inclusive.
For example, if `page_size` is set to 10, each page will include up to 10 items. Defaults to 10.
required: false
schema:
type: integer
- name: restrict_to_most_recent
in: query
description: >-
By default, `restrict_to_most_recent` is set to true, returning only the latest version of each tool. To
include all versions of each tool in the list, set `restrict_to_most_recent` to false.
required: false
schema:
type: boolean
- name: X-Hume-Api-Key
in: header
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/return_paged_user_defined_tools'
post:
operationId: create-tool-version
summary: Create tool version
description: >-
Updates a **Tool** by creating a new version of the **Tool**.
Refer to our [tool use](/docs/speech-to-speech-evi/features/tool-use#function-calling) guide for comprehensive
instructions on defining and integrating tools into EVI.
tags:
- subpackage_tools
parameters:
- name: id
in: path
description: Identifier for a Tool. Formatted as a UUID.
required: true
schema:
type:
# --- truncated at 32 KB (171 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hume-ai/refs/heads/main/openapi/hume-ai-evi-openapi.yml