Welcome
Welcome to the Raisetalk universe, a platform designed to transform your interactions into actionable insights. Our API, available at https://api.raisetalk.com, allows you to easily integrate our features into your existing tools in order to:
- Reliably transcribe audio calls to text.
- Analyze conversations to extract valuable insights.
- Automate processes and improve your teams' efficiency.
This documentation will guide you step by step through the use of our REST endpoints.
Authentication
The Raisetalk API uses a Bearer token-based authentication system to secure access to its endpoints.
Initial Login
Use your email and password to authenticate via the /login endpoint. Once the login is validated, a unique Bearer token will be returned.
Sample Request
POST {{host}}/login
{
"password": "myC0mplicatedpass_ord",
"email": "john.doe@company.com"
}
Sample Success Response
Code http 200
{
"result": "success",
"accessToken": "5c06ec916af844faac30c822055d1f77b3abgb3f259477330750ce570f851324",
"expiration": "2024-12-01 00:00:00+00:00",
"user": {
(some information about you)
},
"rights": [
(list of your rights)
]
}
Sample Error Response
Code http 403
{
"result": "error",
"message": "Unexpected error #798a34a1",
"error": {
"user": {
"rule": "Unexpected error #35b505bf"
}
}
}
Using the Bearer Token
The obtained token must be included in the Authorization header of all subsequent requests to access protected endpoints.
Header format:
Authorization: Bearer {{ your_token }}
Important Notes
- Bearer tokens have a limited validity period (see the
expirationfield in the login response). - Before your token expires, use the
/refreshTokenendpoint to generate a new one. - Make sure you never share your token with third parties.
- In case of an authentication issue, a response with a 403 Forbidden status will be returned. Check your credentials or the validity of your token.
Token Refresh
When your token is approaching its expiration date, you need to refresh it.
Sample Request
POST {{host}}/refreshToken
Sample Success Response
Code http 200
{
"result": "success",
"accessToken": "b63066930a0b2a2e75194f8c1d1cb6a5bcPe04fb526da5035b0ad5d4f1b89dc4",
"expiration": "2024-12-01 00:00:00+00:00"
}
Sample Error Response Code http 403
{
"result": "error",
"message": "Unexpected error #2d34957c",
"error": "Invalid access token"
}
Timezone
Raisetalk uses IANA timezone identifiers (TZDB, see Wikipedia), also known as "tz database names", which are the recognized standard for timezone management in most modern systems.
These identifiers can be provided via the X-Timezone header.
These identifiers take the form:
Continent/City(examples:Europe/Paris,America/New_York,Asia/Tokyo)- Or aliases such as
UTC,GMT, etc.
Valid Examples
| Example | Description |
|---|---|
Europe/Paris | Paris timezone (CET/CEST) |
America/New_York | US East Coast timezone |
Asia/Tokyo | Japan timezone |
UTC or GMT | Coordinated Universal Time |
Invalid Examples
| Example | Why to avoid? |
|---|---|
+02:00 | Time offset, not a TZDB name |
Paris | Invalid without the Europe/ prefix |
CET or EST | Ambiguous and not recommended |
Fallback
If an incorrect timezone is provided, or no timezone is set, then calls are considered as GMT.
Conversations
Send a Conversation for Analysis
Conversations to be analyzed are sent to Raisetalk via a multipart/form-data form and include
- the file to send
- the conversation context information, called "Labels"
Minimal Sample Request
POST /upload/create
Form data:
file: the file to uploadlanguage: the language used in the conversation, among:fr,en,es,de,it,pt,nl,hi,ja,zh,fi,ko,pl,ru,tr,uk,vimodel_id: the identifier of the analysis grid to use. Refer to the list of grids in the Raisetalk interface.analysis_region: region where data should be processed, among:eu,ustranscription_model: the Speech to Text transcription model to useSee the list of transcription models.
summaries_model: the LLM model to use for summary generation, sentiments and attitudes.See the list of analysis models.
questions_model: the LLM model to use for criteria analysis.See the list of analysis models.
callback: the optional callback URL where Raisetalk should send the processing resultsanonymization: array of Personally Identifiable Information (PII) to attempt to anonymize, among the following values:account_number,banking_information,blood_type,credit_card_cvv,credit_card_expiration,credit_card_number,date,date_of_birth,drivers_license,drug,email_address,event,gender_sexuality,healthcare_number,injury,ip_address,language,location,medical_condition,medical_process,money_amount,nationality,number_sequence,occupation,organization,passport_number,password,person_age,person_name,phone_number,political_affiliation,religion,url,us_social_security_number,username,vehicle_id.speakers: defines the role of conversation participants. Value among:salesperson_prospect,advisor_customer
Analysis in a Different Language
When using compatible Speech to Text transcription models, you can require the analysis to be provided in a target language, via the analysis_language parameter which accepts the following values: fr, en, en_US, en_AU, en_UK, es, de, it, pt, nl, hi, ja, zh, fi, ko, pl, ru, tr, uk, vi.
Transcription Translation
When using compatible transcription models, you can require the transcription to be provided in a target language, via the transcription_language parameter which accepts the following values: fr, en, en_US, en_AU, en_UK, es, de, it, pt, nl, hi, ja, zh, fi, ko, pl, ru, tr, uk, vi.
Sample Success Response
Code http 200
{
"result": "success",
"upload": {
"id": 215,
"analysis_region": "eu",
"model_id": 41,
"transcription_model": "best",
"summaries_model": "gemini-2.0-flash-001",
"questions_model": "gemini-2.0-flash-001",
"originalFilename": "sample_audio_recording.mp3",
"storedFilename": "6e200fd8102fe6b3.mp3",
"mediaType": "audio/mp3",
"size": 8800586,
"length": 1057.3474166666667,
"speakers": "salesperson_prospect",
"language": "fr",
"analysis_language":"en",
"transcription_language":"es"
"callback": null
},
"setAttributes": [],
"uptodateAttributes": [],
"attachedUser": "User not set.",
"anonymization": [
"email_address",
"ip_address",
"person_age"
],
}
Sample Error Response
Code http 403
{
"result": "error",
"message": "Unexpected error #2d34957c",
"error": "Invalid access token"
}
{
"result": "error",
"message": "Unexpected error #36cb15b4",
"error": {
"body": "You must provide minimum information about your upload."
}
}
{
"result": "error",
"message": "Unexpected error #36cb15b4",
"error": {
"summaries_model": "Models allow in `us` region are: anthropic/claude-3-5-sonnet, anthropic/claude-3-haiku"
}
}
Transcription Models
Read our article on transcription models: https://www.raisetalk.com/en/blog/raisetalk-speech-to-text-models-for-conversational-analysis
Analysis Models
Blog article coming soon.
