openapi: 3.2.0
info:
title: Sonetel Textmgr API
version: '2.0'
contact:
name: Sonetel API Support
url: www.sonetel.com
email: api.support@sonetel.com
termsOfService: https://sonetel.com/en/help/help-topics/terms-conditions/terms-conditions/
description: 'Operations tagged Textmgr across 2 of this provider''s published API definitions: 13_ai_textmanager.yaml, sonetel-ai-text-manager-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- name: Textmgr
paths:
/textmgr/text:
get:
summary: List texts
description: Fetch a list of text objects based on criteria. The response returns a list of text objects and associated fields. Optionally, the latest version of each text may also be returned.
operationId: get-textmgr-text
parameters:
- name: account_id
in: query
description: The Sonetel account id
schema:
type: string
examples:
- '52688784'
examples:
default:
value: '52688784'
- name: business_id
in: query
description: The business Id for which texts should be returned
schema:
type: string
examples:
- 2hngtre
- name: language
in: query
description: Text available in this language should be returned. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
schema:
type: string
minLength: 2
maxLength: 35
default: en
examples:
- sv-sv
- name: user_id
in: query
description: Texts associated to this user_id should be returned
schema:
type: string
examples:
- '19876'
examples:
default:
value: '19876'
- name: type
in: query
description: Texts of this type are returned
schema:
type: string
enum:
- business-description
- blog-title-list
- blog-article
- poem
- marketing-email
- website
- webpage
- meeting-minutes
- vm-summary
- call-summary
examples:
- business-description
- name: fields
in: query
description: 'Specify (comma separated) what additional fields are required to be returned. The default response only carries limited fields. Possible values: `processed_text` `completion_text` `status` `meta_data` `user_input`'
schema:
type: string
examples:
- processed_text,meta_data
- name: create_date
in: query
description: Filter create date with operators `*__gte*` (Greater than or equal to), `*__lte*` (Less than or equal to), or `*=*`
schema:
type: string
examples:
- create_date__gte'2019-08-24T14:15:22Z'
- name: update_date
in: query
description: Filter update date with operators `*__gte*` (Greater than or equal to), `*__lte*` (Less than or equal to), or `*=*`
schema:
type: string
examples:
- update_date__lte'2019-08-24T14:15:22Z'
responses:
'200':
$ref: '#/components/responses/Text-list'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
post:
summary: Create a text
description: Create a new text object. The version 1 of the text is automatically created and set as the latest version
operationId: post-textmgr-text
requestBody:
$ref: '#/components/requestBodies/Post-text'
responses:
'200':
$ref: '#/components/responses/Create-text-response'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
delete:
summary: Delete many text(s)
description: Delete a set of texts and all associated versions. This API may be used when many text objects need to be deleted together
operationId: delete-textmgr-text
parameters:
- name: account_id
in: query
description: Sonetel account Id for which texts are to be deleted
required: true
schema:
type: string
examples:
- '52688784'
examples:
default:
value: '52688784'
- name: business_id
in: query
description: Business for which all texts are to be deleted
schema:
type: string
examples:
- 2hngtre
- name: type
in: query
description: Type of text which should be deleted
schema:
type: string
enum:
- business-description
- blog-title-list
- blog-article
- poem
- marketing-email
- website
- webpage
- meeting-minutes
- vm-summary
- call-summary
responses:
'202':
$ref: '#/components/responses/delete-success'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}:
get:
summary: GET text by id
description: 'Fetch a text by Id.
You can specify one or more versions of the text. You may also specify which fields of the text should be returned.'
operationId: get-textmgr-text-text-id
parameters:
- name: version
in: query
description: Specify version required. If not specified, the latest is fetched. If `all` is specified, all versions are fetched. A specific version fetches the single required version
schema:
type: integer
examples:
- 3
- name: format
in: query
description: Specify the format in which text should be returned
schema:
type: string
enum:
- json
- html
- pdf
default: json
examples:
- html
- name: fields
in: query
description: Specify what fields are required
schema:
type: string
enum:
- processed_text
- completion_text
- user_input
- meta_data
examples:
- processed_text
- name: text_id
in: path
description: The text Id being updated
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-text-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
put:
summary: Update text fields
description: Updates text fields such as `user_id`, `business_id`
operationId: put-ai-textman-text-text-id
parameters:
- name: text_id
in: path
description: The text Id being updated
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/Put-text-id'
responses:
'200':
$ref: '#/components/responses/Put-text-id-response'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
delete:
summary: Delete a text
description: 'Delete a text. This deletes all versions of the text.
The deleted text is returned'
operationId: delete-ai-textmgr-text-text-id
parameters:
- name: text_id
in: path
description: The text Id being updated
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-text-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/version:
post:
summary: Create text version
description: Create a new version of the text and set that as the latest
operationId: post-textmgr-text-text-id-version
parameters:
- name: text_id
in: path
description: The text Id for which version is created
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/Post-text-version'
responses:
'200':
$ref: '#/components/responses/Put-version-response'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/version/{version}:
put:
summary: Update a text version (internal)
description: 'Update a specific text version by providing what fields to update
This API is not available publicly and is used only by internal Sonetel applications'
operationId: put-textmgr-text-text-id-version-version-id
parameters:
- name: text_id
in: path
description: The text Id for which version is updated
required: true
schema:
type: string
- name: version
in: path
description: The specific version being updated. `latest` may be specified to update the latest version
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/Put-text-version'
responses:
'200':
$ref: '#/components/responses/Put-version-response'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
delete:
summary: Delete text version
description: 'Delete a specific text version.
Deleting a version deletes all later versions of the specified text and also resets the latest version
A new version list is returned'
operationId: delete-textmgr-text-text-id-version-version-id
parameters:
- name: text_id
in: path
description: The text Id for which version is updated
required: true
schema:
type: string
- name: version
in: path
description: The specific version being updated. `latest` may be specified to update the latest version
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Delete-version'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/write:
post:
summary: Write text (internal)
description: 'Write processed or completion text.
Used only internally by Sonetel applications, this endpoint enables applications to update the completion text or processed text
The text is written is to the latest version of the text, unless a specific version is provided in the request.
Since text may be written in chunks as it is received from other remote services, this endpoint enables an application to specify if the writing is completed or if it is an interim text update'
operationId: post-textmgr-text-text-id-write
parameters:
- name: version
in: query
description: Specify version which should be written to. Default is the latest
schema:
type: number
examples:
- 3
- name: text_id
in: path
description: The text Id being written to
required: true
schema:
type: string
requestBody:
description: The request specifies the version to be set as the latest version
content:
application/json:
schema:
type: object
properties:
text_type:
type: string
enum:
- processed_text
- completion_text
description: The field that should be updated - completion text or processed text
examples:
- completion_text
text:
type: string
description: The text that should be be appended to the text written so far
examples:
- this text would be appended to the text already stored so far
status:
type: string
enum:
- in_progress
- completed
description: Specifies is the text is final and the status can be changed to completed after writing. Or if more text is coming
examples:
- in_progress
error:
type: object
properties:
code:
type: string
description: The error code in case of failure
examples:
- 4001233-yt
error_description:
type: string
description: A textual description of the error
examples:
- Not enough AI credits
required:
- text_type
- text
- status
responses:
'202':
description: The submitted text has been accepted
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/business-description:
get:
summary: Get business description
description: Fetch business description
operationId: get-textmgr-text-id-business-description
parameters:
- name: version
in: query
description: The version that should be returned. If not specified, the latest version is returned
schema:
type: number
minimum: 1
examples:
- 2
- name: text_id
in: path
description: The text Id for which business description should be returned
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-business-description-by-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/business-description:
get:
summary: List business description
description: Fetch a list of business description
operationId: get-txtmgr-business-description
parameters:
- name: account_id
in: query
description: List business descriptions for this account Id
schema:
type: string
- name: business_id
in: query
description: List business descriptions for this business Id
schema:
type: string
- name: user_id
in: query
description: List business descriptions for this user Id
schema:
type: string
- name: status
in: query
description: List business descriptions with this status
schema:
type: string
enum:
- not_stated
- in_progress
- ready
examples:
- in_progress
- name: version
in: query
description: List business descriptions for a specific version (provide version number, e.g. `version=2`) or all versions (`version=all`l)
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-business-description-list'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text-id}/webpage:
get:
summary: Get Web page
description: Get web page data
operationId: get-textmgr-text-text-id-webpage
parameters:
- name: text-id
in: path
description: The text Id of the web page
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-web-page-by-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/webpage:
get:
summary: List web pages
description: Fetch a list of web pages based on criteria
operationId: get-textmgr-webpage
parameters:
- name: account_id
in: query
description: List web pages for this account Id
schema:
type: string
- name: business_id
in: query
description: List web pages for this business Id
schema:
type: string
- name: user_id
in: query
description: List web pages for this user Id
schema:
type: string
- name: status
in: query
description: List web pages with this status
schema:
type: string
enum:
- not_started
- in_progress
- ready
examples:
- in_progress
- name: language
in: query
description: List web pages in this language. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
schema:
type: string
- name: url
in: query
description: List web pages matching the url string. Search is done using [Lucene search syntax](https://lucene.apache.org/core/2_9_4/queryparsersyntax.html)
schema:
type: string
examples:
- url=www.sonetel.com/en/*
- name: page_type
in: query
description: List web pages matching this page type
schema:
type: string
enum:
- home
- contact
- product
- name: parent_text_id
in: query
description: List web pages that have this text Id as parent
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-web-page-list'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/blog-title-list:
get:
summary: Get blog title list
description: Fetch a blog title list based on text Id
operationId: get-textmgr-text-text_id-blog-title-list
parameters:
- name: version
in: query
description: Specify version required. If not specified, the latest is fetched. If `all` is specified, all versions are fetched. A specific version fetches the single required version
schema:
type: string
examples:
- '1'
- name: text_id
in: path
description: Text Id of the blog title list
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-blog-title-list-by-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/blog-title-list:
get:
summary: List Blog title lists
description: Fetch blog title lists based on search criteria
operationId: get-textmgr-blog-title-list
parameters:
- name: account_id
in: query
description: List blog title lists for this account Id
schema:
type: string
- name: business_id
in: query
description: List blog title lists for this business Id
schema:
type: string
- name: user_id
in: query
description: List blog title lists for this user Id
schema:
type: string
- name: status
in: query
description: List blog title lists with this status
schema:
type: string
enum:
- not_started
- ready
examples:
- not_started
- name: language
in: query
description: List blog title lists in this language. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
schema:
type: string
- name: version
in: query
description: List blog title lists for a specific version (provide version number, e.g. `version=2`) or all versions (`version=all`l)
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-blog-title-lists'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/blog:
get:
summary: Get blog article
description: Fetch a blog article based on its text Id.
operationId: get-textmgr-text-text_id-blog
parameters:
- name: text_id
in: path
description: The text Id of the blog article
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-blog-by-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/blog:
get:
summary: List blogs
description: Fetch a list of blogs based on search criteria
operationId: get-textmgr-blog
parameters:
- name: account_id
in: query
description: List blogs for this account Id
schema:
type: string
- name: business_id
in: query
description: List blogs for this business Id
schema:
type: string
- name: user_id
in: query
description: List blogs for this user Id
schema:
type: string
- name: status
in: query
description: List blogs with this status
schema:
type: string
enum:
- not_started
- ready
examples:
- not_started
- name: language
in: query
description: List blogs in this language. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
schema:
type: string
- name: version
in: query
description: List blogs for a specific version (provide version number, e.g. `version=2`) or all versions (`version=all`l)
schema:
type: string
- name: title
in: query
description: List blogs with this title
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-blog-list'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/meeting-minutes:
get:
summary: Get meeting minutes
description: Fetch meeting minutes based on its `text_id`
operationId: get-textmgr-text-text_id-meeting-minutes
parameters:
- name: text_id
in: path
description: The text_id of the meeting minutes
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-meeting-minutes-by-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
delete:
summary: Delete meeting-minutes
operationId: delete-textmgr-text-text_id-meeting-minutes
parameters:
- name: text_id
in: path
description: The text_id of the meeting minutes
required: true
schema:
type: string
requestBody:
content: {}
responses:
'200':
$ref: '#/components/responses/Get-meeting-minutes-by-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
put:
summary: Update meeting minutes
description: Update meeting minutes. A few fields such as name, date, notes and participants may be updated
operationId: put-textmgr-text-text_id-meeting-minutes
parameters:
- name: text_id
in: path
description: The text_id of the meeting minutes
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/Put-meeting-minutes'
responses:
'200':
$ref: '#/components/responses/Get-meeting-minutes-by-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/meeting-minutes:
get:
summary: List meeting minutes
description: List meeting minutes based on search criteria
operationId: get-textmgr-meeting-minutes
parameters:
- name: account_id
in: query
description: List meeting minutes for this account Id
schema:
type: string
- name: business_id
in: query
description: List meeting minutes for this business Id
schema:
type: string
- name: user_id
in: query
description: List meeting minutes for this user Id
schema:
type: string
- name: status
in: query
description: List meeting minutes with this status
schema:
type: string
enum:
- not_started
- ready
examples:
- not_started
- name: language
in: query
description: List meeting minutes in this language. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
schema:
type: string
- name: version
in: query
description: List meeting minutes for a specific version (provide version number, e.g. `version=2`) or all versions (`version=all`l)
schema:
type: string
- name: meeting_date
in: query
description: List meeting minutes based on meeting date. Filter meeting date with operators `*__gte*` (Greater than or equal to), `*__lte*` (Less than or equal to), or `*=*`
schema:
type: string
examples:
- meeting_date__lte'2019-08-24T14:15:22Z'
examples:
default:
value: meeting_date__lte'2019-08-24T14:15:22Z'
- name: fields
in: query
description: List of fields that must be returned. Specify one or more fields comma separated. Basic details including `text_info`, `name`, `meeting_date` is always returned. Can take values `transcript`, `minutes`,`file`, `notes`, `participants`,
schema:
type: string
examples:
- participants,minutes
responses:
'200':
$ref: '#/components/responses/Get-meeting-minutes-list'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/vm-summary:
get:
summary: Get voicemail summary
description: Fetch voicemail summary based on `text_id`
operationId: get-textmgr-text-text_id-vm-summary
parameters:
- name: text_id
in: path
description: The text_id of the voicemail summary
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-vmail-summary-by-id'
security:
- Sonetel: []
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/vm-summary:
get:
summary: List voicemail summaries
description: List meeting minutes based on search criteria
operationId: get-textmgr-vm-summary
parameters:
- name: account_id
in: query
description: List Voicemail summaries for this account Id
schema:
type: string
- name: business_id
in: query
description: List Voicemail summaries for this business Id
schema:
type: string
- name: user_id
in: query
description: List Voicemail summaries for this user Id
schema:
type: string
- name: status
in: query
description: List Voicemail summaries with this status
schema:
type: string
enum:
- not_started
- ready
examples:
- not_started
- name: language
in: query
description: List Voicemail summaries in this language. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
schema:
type: string
- name: date
in: query
description: List Voicemail summaries based on date they were generated. Filter date with operators `*__gte*` (Greater than or equal to), `*__lte*` (Less than or equal to), or `*=*`
schema:
type: string
examples:
- meeting_date__lte'2019-08-24T14:15:22Z'
examples:
default:
value: meeting_date__lte'2019-08-24T14:15:22Z'
- name: fields
in: query
description: List of fields that must be returned. Specify one or more fields comma separated. Basic details including `text_info`, `vmail_id`, `name`, `company_name`, `word_count` is always returned. Can take values `transcript`, `summary`, `file`
schema:
type: string
examples:
- participants,minutes
responses:
'200':
$ref: '#/components/responses/Get-vmail-summary-list'
servers:
- url: https://public-api.sonetel.com
description: Production
x-internal: true
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/text/{text_id}/call-summary:
get:
summary: Fetch call summary
description: Fetch call summary based on its `text_id`
operationId: get-textmgr-text-text_id-call-summary
parameters:
- name: text_id
in: path
description: The `text_id` of the call summary
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-call-summary-by-id'
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
delete:
summary: Delete call summary
description: Delete a call summary
operationId: delete-textmgr-text-call-summary-text_id
parameters:
- name: text_id
in: path
description: The `text_id` of the call summary
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-call-summary-by-id'
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
/textmgr/call-summary:
get:
summary: List call summaries
description: List meeting minutes based on search criteria
operationId: get-textmgr-call-summary
parameters:
- name: account_id
in: query
description: List call summaries for this account Id
schema:
type: string
- name: business_id
in: query
description: List call summaries for this business Id
schema:
type: string
- name: user_id
in: query
description: List call summaries for this user Id
schema:
type: string
- name: status
in: query
description: List call summaries with this status
schema:
type: string
enum:
- not_started
- ready
examples:
- not_started
- name: language
in: query
description: List call summaries in this language. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
schema:
type: string
- name: meeting_date
in: query
description: List call summaries based on call date. Filter call date with operators `*__gte*` (Greater than or equal to), `*__lte*` (Less than or equal to), or `*=*`
schema:
type: string
examples:
- meeting_date__lte'2019-08-24T14:15:22Z'
examples:
default:
value: meeting_date__lte'2019-08-24T14:15:22Z'
- name: fields
in: query
description: List of fields that must be returned. Specify one or more fields comma separated. Basic details including `text_info`, `call_rec_id`, is always returned. Can take values `call_details`, `transcript`, `summary`, `analysis`, `classification`, `follow_up_email`
schema:
type: string
examples:
- call_details,transcript,summary
- name: call_rec_id
in: query
description: Get call summary for this call recording Id
schema:
type: string
- name: sip_call_id
in: query
description: Get call summary for this SIP call Id
schema:
type: string
- name: intent
in: query
description: Get call summaries with this intent
schema:
type: string
- name: direction
in: query
description: Get call summaries for calls with this direction
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Get-call-summary-list'
servers:
- url: https://public-api.sonetel.com
description: Production
tags:
- Textmgr
servers:
- url: https://public-api.sonetel.com
description: Production
components:
schemas:
Meta-data:
title: Meta-data
description: The meta data associated to a version of the text. The meta-data may take the structure of any of any of the text types depending on the type of text stored
oneOf:
- $ref: '#/components/schemas/Business-description'
- $ref: '#/components/schemas/Web-page'
- $ref: '#/components/schemas/Blog-title-list'
- $ref: '#/components/schemas/Blog'
- $ref: '#/components/schemas/Meeting-minutes'
- $ref: '#/components/schemas/Call-summary'
Text-section:
type: object
title: Text-section
description: 'A section of text which is a part of a longer text. A section has a `type` and `status`
`type` may be used by user interfaces to render the section in a certain way
`status` indicates if the text in the section is ready or still being written'
properties:
id:
type: string
description: The Id of the section
examples:
- gb36765
type:
type: string
enum:
- title
- intro
- list-numbered
- list-bulleted
- list-item
- h1
- h2
- text
description: The type of text in this section. If the type is a list type, the `text_list` field carries the list of texts. If type is a non-list type, the field `text_data` carries the text
text_data:
$ref: '#/components/schemas/Text-data-simple'
text_list:
type: array
description: If the text section is of type `list-numbered` or `list-bulleted`, the text_list contains the text sections for each item in the list.
items:
$ref: '#/components/schemas/Text-section'
next_id:
type: string
description: The reference pointing to the Id of the next section in sequence
examples:
- nj3ju876
is_first:
type: boolean
description: Indicates if this item is the first item in the list. Only one item (the first one) in a list has this set true. Absence of this field indicates `false`
Call-analysis-other:
type: object
title: Call-analysis-other
properties:
general:
$ref: '#/components/schemas/Call-summary-common'
Text-data-simple:
type: object
title: Text-data-simple
description: Simple text data with status
properties:
text_data:
type: string
description: The completed or partially ready (still being written) text data
status:
type: string
enum:
- not_started
- in_progress
- ready
- ready_limited
description: 'The status of the text data.
`ready`: Text is fully ready and available on `text_data`
`ready-limited`: Text is ready, but API only returns a part of the text or no text. This is due to restrictions with your account. An upgrade or purchase may be required to get access to full text.
`not_started`: no part of text is available yet
`in_progress`: text is being written. The `text_data` may have partially written text
his text)
`failed`: Text generation has failed. The `error_code` and `error_description` provide more details'
examples:
- in_progress
error:
type: object
properties:
code:
type: string
description: The error code in case of failure
examples:
- 4001233-yt
error_description:
type: string
description: A textual description of the error
examples:
- Not enough AI credits
Call-summary-tactics:
type: array
title: Call-summary-tactics
items:
type: object
properties:
type:
type: string
enum:
- successful
- failed
summary:
type: string
list:
type: array
items:
type: string
header:
type: string
description: The header for successful or failed sales tactics
Call-analysis-score:
type: object
title: Call-analysis-score
description: Scores from call analysis
properties:
overall:
type: number
format: float
minimum: 0
maximum: 10
examples:
- 7.5
scores:
type: array
items:
type: object
properties:
seq_num:
type: number
minimum: 1
examples:
- 2
category:
type: string
enum:
- engagement
- politeness
- emotional
- communication_style
- intent_to_buy
value_type:
type: string
enum:
- 0-10
- 0-5
default: 0-10
value:
type: integer
examples:
- 5
explanation:
type: string
header:
type: string
description: The header for each score type
header:
type: string
description: Header for overall score
Text:
type: object
title: Text
description: The text object with the latest version of the text
properties:
text_id:
type: string
description: The unique text Id
examples:
- hn3h8645s
account_id:
type: string
description: The Sonetel account id
examples:
- '52688784'
business_id:
type: string
description: The business Id if specified
examples:
- 2hngtre
language:
type: string
description: Text available in this language should be returned. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
minLength: 2
maxLength: 35
default: en
examples:
- sv-sv
user_id:
type: string
description: The user Id to which the text is associated
examples:
- '19876'
created_date:
type: string
description: The date/time when this version was created
format: date-time
updated_date:
type: string
description: The date/time when this version was last updated
format: date-time
type:
type: string
enum:
- business-description
- blog-title-list
- blog-article
- poem
- marketing-email
- website
- webpage
- meeting-minutes
- vm-summary
- call-summary
description: The text type
version_count:
type: integer
description: The number of versions that exist for this text
format: int32
examples:
- 2
parent_text_id:
type: string
description: The reference to the parent text_id of this text
examples:
- hn3h8645s
latest_version:
$ref: '#/components/schemas/Text-version-object'
description: Latest version of the text
in_use_with:
$ref: '#/components/schemas/InUseWith'
description: The services this text is in use with
examples: []
Blog:
type: object
title: Blog
description: A blog article along with a bunch of information about it. Blog article is broken down into ordered sections with text. Each section is assigned a type.
properties:
title:
type: string
description: The blog title
seo_keywords:
type: string
description: SEO keywords associated to this blog article
sections:
type: array
description: List of text sections that form the blog
items:
$ref: '#/components/schemas/Text-section'
text_info:
$ref: '#/components/schemas/Text-info'
examples:
- title: Writing great quality python code for the cloud
seo_keywords: python code cloud
sections:
- id: gb36765
type: title
text_data:
text_data: string
status: in_progress
text_list: {}
next_id: nj3ju876
Text-version-object:
type: object
title: Text-version-object
description: A version of text with the various text data, status and meta-data
properties:
version:
type: integer
default: 1
examples:
- 2
processed_text:
type: string
completion_text:
type: string
status:
type: string
enum:
- not_started
- in_progress
- completed
default: not_started
examples:
- in_progress
error:
type: object
properties:
code:
type: string
description: The error code in case of failure
examples:
- 4001233-yt
error_description:
type: string
description: A textual description of the error
examples:
- Not enough AI credits
meta_data:
$ref: '#/components/schemas/Meta-data'
create_date:
type: string
format: date-time
update_date:
type: string
format: date-time
user_input:
type: string
required:
- version
- status
- create_date
- update_date
Meeting-minutes:
type: object
title: Meeting-minutes
description: Meeting minutes and meeting details including meeting name, agreement, summary, action items.
properties:
name:
type: string
description: The meeting name
examples:
- Europe sales
meeting_date:
type: string
description: The date/time of the meeting.
format: date-time
participants:
type: array
description: List of participants and their names
items:
type: string
examples:
- Davy Jones
transcript:
$ref: '#/components/schemas/Text-data-simple'
description: Raw transcript of the meeting
minutes:
type: array
description: Meeting minutes broken down into various sections
items:
$ref: '#/components/schemas/Text-section'
notes:
type: string
description: Notes input by the user
text_info:
$ref: '#/components/schemas/Text-info'
file:
$ref: '#/components/schemas/File-single'
description: The file used as input for generating meeting minutes
word_count:
type: string
description: Number of words in the transcript
Text-info:
type: object
title: Text-info
description: Information about the text
properties:
text_id:
type: string
description: Text Id of the text object
account_id:
type: string
business_id:
type: string
user_id:
type: string
update_date:
type: string
format: date-time
version:
type: number
minimum: 1
examples:
- 2
user_input:
type: string
description: User feedback provided for generating description
language:
type: string
status:
type: string
enum:
- not_started
- in_progress
- completed
description: The overall status of the latest version of the text
examples:
- in_progress
in_use_with:
$ref: '#/components/schemas/InUseWith'
description: The services this text is in use with
Business-description:
$ref: '#/components/schemas/Text-data-simple'
title: Business description
description: 'Business description with partially (still being written) or completed text.
If status is `in_progress`, `text_data` may have part of the text available. The `text_data` continues to get updated until the status changes to `ready`.'
Call-summary-common:
type: object
title: Call-summary-common
properties:
summary:
type: object
properties:
one_sentence:
type: string
phrase:
type: string
detailed:
type: string
short:
type: string
headers:
$ref: '#/components/schemas/Headers'
topics:
type: object
properties:
main:
type: string
list:
type: array
items:
type: string
agreements:
type: array
items:
$ref: '#/components/schemas/Text-section'
action_items:
type: array
items:
type: object
properties:
action_for:
type: string
enum:
- general
- agent
- customer
- management
action:
type: string
Headers:
type: array
title: Headers
description: Headers to be shown on the UI
items:
type: object
properties:
field:
type: string
description: The field (typically maps to the JSON field) to which this header applies
header:
type: string
description: The header text that must be shown on the UI
x-internal: true
Text-version-object-no-Id:
type: object
title: Text-version-object-no-id
description: A version of text with the various text data, status and meta-data
properties:
processed_text:
type: string
completion_text:
type: string
status:
type: string
enum:
- not_started
- in_progress
- completed
default: not_started
examples:
- in_progress
error:
type: object
properties:
code:
type: string
description: The error code in case of failure
error_description:
type: string
description: A textual description of the error
meta_data:
$ref: '#/components/schemas/Meta-data'
user_input:
type: string
required:
- status
Voicemail-summary:
type: object
title: Voicemail-summary
description: Voicemail summary text object
properties:
vmail_id:
type: string
description: Unique Id of the voicemail
examples:
- Tht34uyh
transcript:
$ref: '#/components/schemas/Text-data-simple'
description: Raw transcript of the voicemail
summary:
type: array
description: The voicemail summary with its various sections
items:
$ref: '#/components/schemas/Text-section'
caller_name:
type: string
description: The name of the caller that left the voicemail
company_name:
type: string
description: The company name of the caller that left the voicemail
sentiment:
type: integer
description: 'The sentiment of the caller with values
`-1`: Negative
`0`: Neutral
`1`: Positive'
format: int32
minimum: -1
maximum: 1
readOnly: true
examples:
- 0
text_info:
$ref: '#/components/schemas/Text-info'
file:
$ref: '#/components/schemas/File-single'
description: The file used as input for generating summary
word_count:
type: string
description: Number of words in the transcript
Blog-title-list:
type: object
title: Blog-title-list
description: List of blog titles
properties:
titles:
type: array
items:
type: object
properties:
id:
type: string
description: Unique Id of the title in the blog title list
title:
type: string
description: The blog title
examples:
- How to select the best communication provider for your business
blogTextId:
type: string
examples:
- hng37y539j
seoKeyphrase:
type: string
nextId:
type: string
description: The title Id of the next title for sorting
isFirst:
type: boolean
description: Indicates of this title is the first in the list. Absence of this field indicates `false`.
blog_status:
type: string
enum:
- not_started
- in_progress
- ready
description: 'The status of the blog article with this title
not_started'
readOnly: true
default: not_started
examples:
- in_progress
required:
- id
status:
type: string
enum:
- not_started
- ready
description: Status of the blog title list, if it is ready or not
examples:
- ready
text_info:
$ref: '#/components/schemas/Text-info'
Call-summary:
type: object
title: Call-summary
description: Call summary text object
properties:
call_rec_id:
type: string
description: Unique Id of the call recording
transcript:
$ref: '#/components/schemas/Text-data-simple'
description: Raw transcript of the call
summary:
type: array
description: The call summary with its various sections
items:
$ref: '#/components/schemas/Text-section'
call_details:
type: object
properties:
from_name:
type: string
description: The name or number of the person calling
to_name:
type: string
description: The name or number of the person called
sip_call_id:
type: string
description: Unique SIP call identifer that can be used to retrieve call summaries
call_success:
type: boolean
description: True If there was a conversation that occurred in the call
readOnly: true
classification:
type: object
properties:
caller_role:
type: string
enum:
- employee
- customer
- business_partner
- job_applicant
- investor
- private_contact
- lead
- government
- public_relations
- unsolicited
- other
callee_role:
type: string
enum:
- employee
- customer
- business_partner
- job_applicant
- investor
- private_contact
- lead
- government
- public_relations
- unsolicited
- other
direction:
type: string
enum:
- inbound
- outbound
- internal
intent:
type: string
enum:
- sales
- purchasing
- customer_service
- order_placement
- billing_payment
- marketing_promotions
- business_partner_issue
- internal_coordination
- job_related
- investor_relations
- project_updates_coordination
- compliance_regulations
- unsolicited_sales
- other
analysis:
oneOf:
- $ref: '#/components/schemas/Call-analysis-support'
- $ref: '#/components/schemas/Call-analysis-sales'
- $ref: '#/components/schemas/Call-analysis-other'
follow_up_email:
type: array
items:
$ref: '#/components/schemas/Text-section'
text_info:
$ref: '#/components/schemas/Text-info'
file:
$ref: '#/components/schemas/File-single'
description: The file used as input for generating summary
word_count:
type: integer
format: int32
minimum: 0
examples:
- 457
Call-analysis-sales:
type: object
title: Call-analysis-sales
properties:
general:
$ref: '#/components/schemas/Call-summary-common'
sentiment:
$ref: '#/components/schemas/Call-analysis-sentiment-customer'
score:
$ref: '#/components/schemas/Call-analysis-score'
suggestion:
$ref: '#/components/schemas/Call-analysis-suggestions'
tactics:
$ref: '#/components/schemas/Call-summary-tactics'
Call-analysis-sentiment-customer:
type: object
title: Call-analysis-sentiment-customer
properties:
overall:
type: number
format: float
minimum: -1
maximum: 1
examples:
- 1
agent:
type: number
format: float
minimum: -1
maximum: 1
examples:
- 1
customer:
type: number
format: float
minimum: -1
maximum: 1
examples:
- 1
customer_h1:
type: number
format: float
minimum: -1
maximum: 1
examples:
- 1
customer_h2:
type: number
format: float
minimum: -1
maximum: 1
examples:
- 1
sentiment_decline_reason:
type: string
header:
type: string
description: Header indicating change in customer sentiment
Call-analysis-suggestions:
type: object
title: Call-analysis-suggestions
properties:
list:
type: array
items:
type: object
properties:
suggestion_by:
type: string
enum:
- sonetel-ai
- agent
- customer
suggestion_for:
type: string
enum:
- agent
- management
summary:
type: string
details:
type: array
items:
$ref: '#/components/schemas/Text-section'
header:
type: string
description: The header shown on UI for each suggestion type
Web-page:
type: object
title: Web-page
description: Web page information along with the URL, raw text references and additional fields
properties:
url:
type: string
description: The page URL
format: uri-reference
examples:
- https://sonetel.com/en/services/virtual-phone-numbers/
page_summary:
$ref: '#/components/schemas/Text-data-simple'
description: A summary of the web page with status
page_type:
type: string
enum:
- home
- contact
- product
- other
description: The type of page
examples:
- contact
meta_description:
type: string
description: Meta description for the page
examples:
- Have your own local phone number in any city and country of choice. Answer calls anywhere. From $1.79 per month.
title:
type: string
description: The title of the page
examples:
- Be a Global Entrepreneur
text_info:
$ref: '#/components/schemas/Text-info'
File-single:
type: object
title: File-single
description: A single file information
oneOf:
- type: object
properties:
file_id:
type: string
- type: object
properties:
file_url:
type: string
InUseWith:
type: array
title: InUseWith
description: List of services a text is in use with.
items:
type: object
properties:
service:
type: string
enum:
- meeting-minutes
- business-desc
- blog-title-list
- blog
- vmail-summary
- call-summary
description: The service the text is in use with
auto_expire:
type: string
description: Automatic expiry timestamp when the text is no longer required by the service. An empty value implies that the text is never automatically deleted.
format: date-time
Call-analysis-support:
type: object
title: Call-analysis-support
properties:
resolution:
type: boolean
general:
$ref: '#/components/schemas/Call-summary-common'
sentiment:
$ref: '#/components/schemas/Call-analysis-sentiment-customer'
score:
$ref: '#/components/schemas/Call-analysis-score'
suggestion:
$ref: '#/components/schemas/Call-analysis-suggestions'
tactics:
$ref: '#/components/schemas/Call-summary-tactics'
Text-many-versions:
type: object
title: Text-many-versions
description: The text object with the latest version of the text
properties:
text_id:
type: string
description: The unique text Id
examples:
- hn3h8645s
account_id:
type: string
description: The Sonetel account id
examples:
- '52688784'
business_id:
type: string
description: The business Id if specified
examples:
- 2hngtre
language:
type: string
description: Text available in this language should be returned. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
minLength: 2
maxLength: 35
default: en
examples:
- sv-sv
user_id:
type: string
description: The user Id to which the text is associated
examples:
- '19876'
created_date:
type: string
description: The date/time when this version was created
format: date-time
updated_date:
type: string
description: The date/time when this version was last updated
format: date-time
type:
type: string
enum:
- business-description
- blog-title-list
- blog-article
- poem
- marketing-email
- website
- webpage
- meeting-minutes
- vm-summary
- call-summary
description: The text type
version_count:
type: integer
description: The number of versions that exist for this text
format: int32
examples:
- 2
parent_text_id:
type: string
description: The reference to the parent text_id of this text
examples:
- hn3h8645s
latest_version:
$ref: '#/components/schemas/Text-version-object'
other_versions:
type: array
items:
$ref: '#/components/schemas/Text-version-object'
in_use_with:
$ref: '#/components/schemas/InUseWith'
description: The services this text is in use with
required:
- text_id
- account_id
- business_id
- language
- created_date
- updated_date
- type
- version_count
- parent_text_id
responses:
Get-blog-by-id:
description: A blog article
content:
application/json:
schema:
$ref: '#/components/schemas/Blog'
Get-vmail-summary-by-id:
description: Voicemail summary
content:
application/json:
schema:
$ref: '#/components/schemas/Voicemail-summary'
Put-version-response:
description: Text version information
content:
application/json:
schema:
$ref: '#/components/schemas/Text-version-object'
Delete-version:
description: Deleted text version
content:
application/json:
schema:
$ref: '#/components/schemas/Text-version-object'
Get-meeting-minutes-by-id:
description: Meeting minutes
content:
application/json:
schema:
$ref: '#/components/schemas/Meeting-minutes'
Get-business-description-by-id:
description: The business description data
content:
application/json:
schema:
$ref: '#/components/schemas/Business-description'
application/xml:
schema:
type: object
Create-text-response:
description: The newly created text object
content:
application/json:
schema:
type: object
properties:
text_id:
type: string
description: The unique text Id
examples:
- hn3h8645s
type:
type: string
enum:
- business-description
- blog-title-list
- blog-article
- website
- webpage
- poem
- photo-search-terms
- marketing-email
- meeting-minutes
- vm-summary
- call-summary
description: The text type
language:
type: string
description: Text available in this language should be returned. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
account_id:
type: string
description: The Sonetel account Id
examples:
- '52688784'
business_id:
type: string
description: Optional business Id
examples:
- 2hngtre
user_id:
type: string
description: The user Id to which the text is associated
examples:
- '19876'
user_input:
type: string
description: The optional user specified input feedback text that is used by AI service for generating the final processed text
in_use_with:
$ref: '#/components/schemas/InUseWith'
description: The services the text is in use with
required:
- type
- language
- account_id
x-examples:
Example 1:
id: text_id
text:
Get-blog-title-list-by-id:
description: Get a blog title list by Id
content:
application/json:
schema:
$ref: '#/components/schemas/Blog-title-list'
Get-meeting-minutes-list:
description: List of meeting minutes
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Meeting-minutes'
Get-web-page-list:
description: List of web pages with URL, page summary and a bunch of other information
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Web-page'
Get-business-description-list:
description: List of business description data
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Business-description'
Put-text-id-response:
description: Text Id with latest version
content:
application/json:
schema:
$ref: '#/components/schemas/Text'
Get-vmail-summary-list:
description: List of voicemail summaries
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Voicemail-summary'
Text-list:
description: A list of text objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Text'
Get-blog-title-lists:
description: Get blog title lists
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Blog-title-list'
Get-text-id:
description: Text object with one or more versions
content:
application/json:
schema:
$ref: '#/components/schemas/Text-many-versions'
Get-web-page-by-id:
description: A web page with URL, page summary and a bunch of other info
content:
application/json:
schema:
$ref: '#/components/schemas/Web-page'
Get-blog-list:
description: List of blog articles
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Blog'
Get-call-summary-list:
description: List of call summaries
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Call-summary'
delete-success:
description: List of deleted text Ids
content:
application/json:
schema:
type: object
properties:
text_id_list:
type: array
description: List of text Ids that are deleted
items:
type: string
examples:
- 4gh6354
required:
- text_id_list
x-examples:
example-1:
status: SUCCESS
message: 'Data deleted successfully. Account id : 200000000'
response: null
examples:
Example 1:
value:
text_id_list:
- 4gh6354
- gnr873654
Get-call-summary-by-id:
description: Call summary
content:
application/json:
schema:
$ref: '#/components/schemas/Call-summary'
requestBodies:
Post-text-version:
description: List of fields while creating a new version
content:
application/json:
schema:
type: object
properties:
user_input:
type: string
Put-text-version:
description: Request fields to update a specific version of the text
content:
application/json:
schema:
$ref: '#/components/schemas/Text-version-object-no-Id'
Post-text:
description: The data for the text object to be created. All fields except the type are optional
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- business-description
- blog-title-list
- blog-article
- website
- webpage
- poem
- photo-search-terms
- marketing-email
- meeting-minutes
- vm-summary
- call-summary
description: The text type
language:
type: string
description: The language of the text language. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
default: en
examples:
- sv-sv
account_id:
type: string
description: The Sonetel account Id
examples:
- '52688784'
business_id:
type: string
description: Optional business Id
examples:
- 2hngtre
user_id:
type: string
description: The user Id to which the text is associated
examples:
- '19876'
user_input:
type: string
description: The optional user specified input feedback text that is used by AI service for generating the final processed text
parent_text_id:
type: string
description: The parent text Id to this text object
in_use_with:
$ref: '#/components/schemas/InUseWith'
description: The services the text is in use with
required:
- type
application/xml:
schema:
type: object
Put-text-id:
description: List of fields to be updated
content:
application/json:
schema:
type: object
properties:
business_id:
type: string
description: The business Id
examples:
- 2hngtre
user_id:
type: string
description: The user_id to which the text is associated
examples:
- '19876'
language:
type: string
description: Text available in this language should be returned. [2 char ISO](https://en.wikipedia.org/wiki/ISO_639-1) or [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag)
minLength: 2
maxLength: 35
examples:
- sv-sv
parent_text_id:
type: string
description: The parent text Id
examples:
- hn3h8645s
Put-meeting-minutes:
description: Update meeting minutes
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: The meeting name
examples:
- Europe sales
meeting_date:
type: string
description: The date/time of the meeting.
format: date-time
notes:
type: string
description: Notes input by the user
participants:
type: array
description: List of participants and their names
items:
type: string
auto_expire:
type: string
description: 'The date time when this meeting minutes text must be deleted automatically.
If not specified or set to empty, this value implies that the text is never automatically deleted'
format: date-time
securitySchemes:
Sonetel:
type: oauth2
description: Get an access token from the `/oauth/token` and pass it as a Bearer token in the `Authorization` header.
flows:
password:
refreshUrl: https://api.sonetel.com/SonetelAuth/beta/oauth/token
tokenUrl: https://api.sonetel.com/SonetelAuth/beta/oauth/token
scopes: {}
x-refined-from:
- 13_ai_textmanager.yaml
- sonetel-ai-text-manager-openapi.yml