Account - REST API

Stenomatic REST API

Clients

Create a Client

Request:
curl https://api.stenomatic.ai/v1/clients \
--request POST \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{"name": "ADD_CUSTOMER_NAME_HERE"}'
Response:
{
"id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name":"John Doe",
"parent_customer_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

List Clients

Request:
curl https://api.stenomatic.ai/v1/clients \
--request GET \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
--header 'Content-Type: application/json'
Response:
[
{
"id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name":"John Doe",
"parent_customer_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
]

Rooms

Create, update, remove or retrieve rooms.

Create Room

The room id is an optional parameter that is only enabled for customers with sufficient privileges. Please refer to the upgrade section.The id must match the ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$ regex pattern of words delimited with hyphens. If no id is provided, it will be automatically generated. The room id must be unique across all existing room id's.
Request:
curl https://api.stenomatic.ai/v1/clients/{client_id}/rooms \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
--data '{
"id":"xxx-xxxx-xxx",
"title":"Test room",
"description":"This is a test room",
"from_language":"en-US",
"to_languages":[
"de-DE",
"fr-FR"
],
"sponsorship_credit_title":"Sponsorship credit title",
"sponsorship_title":"Sponsorship title",
"sponsorship_description":"Sponsorship description",
"sponsorship_info_url":"example.com",
"passwords":{
"speaker":"xxxxxxxx",
"participant":"xxxxxxxx"
}
}'
Response:
{
"id":"xxx-xxxx-xxx",
"conference_id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"title":"Test room",
"description":"This is a test room",
"api_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"secret":"",
"client_branch_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"from_language":"en-US",
"to_languages":[
"de-DE",
"fr-FR"
],
"start_date":"0001-01-01T00:00:00.000Z",
"end_date":"0001-01-01T00:00:00.000Z",
"create_date":"2023-04-13T13:41:35.137Z",
"update_date":"2023-04-13T13:41:35.137Z",
"main_image_url":"",
"main_image_bucket_file_name":"",
"sponsorship_image_bucket_file_name":"",
"sponsorship_credit_title":"Sponsorship credit title",
"sponsorship_title":"Sponsorship title",
"sponsorship_description":"Sponsorship description",
"sponsorship_info_url":"example.com",
"sponsorship_image_url":"",
"closed_captions_endpoint":"",
"usage_in_seconds":{
"total":0,
"twenty_four_hour":0
},
"is_archived":false
}

List rooms

Request:
curl https://api.stenomatic.ai/v1/clients/{client_id}/rooms \
--request GET \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
Response:
[
{
"id":"xxx-xxxx-xxx",
"conference_id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"title":"Test room",
"description":"This is a test room",
"api_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"secret":"xxxxxxxxxxx",
"client_branch_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"from_language":"en-US",
"to_languages":[
"de-DE",
"fr-FR"
],
"start_date":"0001-01-01T00:00:00.000Z",
"end_date":"0001-01-01T00:00:00.000Z",
"create_date":"2023-04-13T13:41:35.137Z",
"update_date":"2023-04-13T13:41:35.137Z",
"main_image_url":"",
"main_image_bucket_file_name":"",
"sponsorship_image_bucket_file_name":"",
"sponsorship_credit_title":"Sponsorship credit title",
"sponsorship_title":"Sponsorship title",
"sponsorship_description":"Sponsorship description",
"sponsorship_info_url":"example.com",
"sponsorship_image_url":"",
"closed_captions_endpoint":"",
"usage_in_seconds":{
"total":0,
"twenty_four_hour":0
},
"is_archived":false
},]

Retrieve Room

Request:
curl https://api.stenomatic.ai/v1/rooms/{room_id} \
--request GET \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
Response:
{
"id":"xxx-xxxx-xxx",
"conference_id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"title":"Test room",
"description":"This is a test room",
"api_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"secret":"xxxxxxxxxxx",
"client_branch_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"from_language":"en-US",
"to_languages":[
"de-DE",
"fr-FR"
],
"start_date":"0001-01-01T00:00:00.000Z",
"end_date":"0001-01-01T00:00:00.000Z",
"create_date":"2023-04-13T13:41:35.137Z",
"update_date":"2023-04-13T13:41:35.137Z",
"main_image_url":"",
"main_image_bucket_file_name":"",
"sponsorship_image_bucket_file_name":"",
"sponsorship_credit_title":"Sponsorship credit title",
"sponsorship_title":"Sponsorship title",
"sponsorship_description":"Sponsorship description",
"sponsorship_info_url":"example.com",
"sponsorship_image_url":"",
"closed_captions_endpoint":"",
"usage_in_seconds":{
"total":0,
"twenty_four_hour":0
},
"is_archived":false
}

Retrieve Passwords

Request:
curl https://api.stenomatic.ai/v1/rooms/{room_id}/passwords \
--request GET \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
Response:
{
"speaker":"xxxxxxxx",
"participant":"xxxxxxxx"
}

Retrieve RTMP Stream URL

Request:
curl https://api.stenomatic.ai/v1/rooms/{room_id}/stream_url \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
--data '{
"speaker_name": "John Doe",
"language": "en-GB",
"phrases": [
"phrase 1",
"phrase 2"
]
}'
Response:
{
"url": "rtmps://rtmp.stenomatic.com/z?lang=en-GB&name=John+Doe&phrases=phrase+1&phrases=phrase+2"}
}

Update Room

Request:
curl https://api.stenomatic.ai/v1/rooms/{room_id} \
--request PATCH \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
--data '{"title": "The room"}'
Response:
{
"id":"xxx-xxxx-xxx",
"conference_id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"title":"The room",
"description":"This is a test room",
"api_key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"secret":"",
"client_branch_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"from_language":"en-US",
"to_languages":[
"de-DE",
"fr-FR"
],
"start_date":"0001-01-01T00:00:00.000Z",
"end_date":"0001-01-01T00:00:00.000Z",
"create_date":"2023-04-13T13:41:35.137Z",
"update_date":"2023-04-13T13:41:35.137Z",
"main_image_url":"",
"main_image_bucket_file_name":"",
"sponsorship_image_bucket_file_name":"",
"sponsorship_credit_title":"Sponsorship credit title",
"sponsorship_title":"Sponsorship title",
"sponsorship_description":"Sponsorship description",
"sponsorship_info_url":"example.com",
"sponsorship_image_url":"",
"closed_captions_endpoint":"",
"usage_in_seconds":{
"total":0,
"twenty_four_hour":0
},
"is_archived":false
}

Usage

Request

Retrieve all API usages for myself as a Customer
curl https://dev.api.stenomatic.ai/v1/customers/me/api_usage?from={timestamp_in_milliseconds}&to={timestamp_in_milliseconds} \
--request GET \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
--header 'Content-Type: application/json'
Retrieve API usages for a Client created under my Customer
curl https://dev.api.stenomatic.ai/v1/clients/{client_id}/api_usage?from={timestamp_in_milliseconds}&to={timestamp_in_milliseconds} \
--request GET \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
--header 'Content-Type: application/json'
Retrieve api usages for me as client
curl https://dev.api.stenomatic.ai/v1/clients/{client_id}/api_usage?from={timestamp_in_milliseconds}&to={timestamp_in_milliseconds} \
--request GET \
--header 'Authorization: Bearer YOUR_DEVELOPER_API_KEY_HERE' \
--header 'Content-Type: application/json'

Response

Returns API usages in nanoseconds (if they are greater than zero)
{
"speech_recognition":56960000000,
"voice_translate":32840000000
}