API Documentation
Transcriptions ¶
Overview
Transcriptions are structured records of transcribed conversations (e.g. voice calls or meetings). A transcription belongs to a brand and may optionally be linked to a contact, a deal, and an audio file.
This is the canonical replacement for storing free-form transcripts in contact note attributes.
Transcription
A Transcription's data model is described in the table below:
| Field | Type | Association | Description |
|---|---|---|---|
| id | uuid | Internal identifier of the object | |
| created_at | number | Unix timestamp of creation | |
| updated_at | number | Unix timestamp of last update | |
| brand | uuid | The brand this transcription belongs to | |
| user | User | transcription.user |
The user who recorded/owns this transcription |
| contact | Contact | transcription.contact |
Optional contact this conversation is with |
| deal | Deal | transcription.deal |
Optional deal this conversation is about |
| audio | File | transcription.audio |
Optional uploaded audio file for this recording |
| entries | Utterance[] | transcription.entries |
Ordered list of transcribed utterances (see below) |
| created_by | uuid | User who created this record | |
| updated_by | uuid | User who last updated this record |
Utterance
Each entry of contents is an object describing a single line of the conversation:
| Field | Type | Required | Description |
|---|---|---|---|
| timestamp | number | no | Offset from the start of the conversation, in seconds. Fractional values are allowed. |
| author | string | no | Free-form speaker label (e.g. Agent, Client, or a name). |
| text | string | yes | The transcribed text for this utterance. |
Endpoints
List transcriptions for a brand ¶
List transcriptions for a brandGET/brands/:id/transcriptions
Returns all transcriptions belonging to the brand, ordered most-recent-first. Optionally filter by contact, deal, or both.
Query parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| contact | uuid | no | When provided, only transcriptions for this contact are returned. |
| deal | uuid | no | When provided, only transcriptions for this deal are returned. |
Example URI
- id
string(required) Example: 23dc00ec-9da7-45ce-9a71-da1893ff0ad0
200Body
{
"code": "OK",
"data": [
{
"id": "bd749d22-333d-4669-8d18-c69929ed378b",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"created_at": 1779368605.246143,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_by": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"updated_by": null,
"type": "transcription",
"entries": [
{
"id": "ad8d717c-036f-4c97-bb01-7764029bc29f",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 0,
"timestamp": 0,
"author": "Agent",
"text": "Hi, how can I help you?",
"created_at": 1779368605.246143,
"type": "transcription_entry"
},
{
"id": "9792e60d-d174-413b-966f-4d5cded6235b",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 1,
"timestamp": 3.5,
"author": "Client",
"text": "Looking for a 3-bedroom house.",
"created_at": 1779368605.246143,
"type": "transcription_entry"
},
{
"id": "f2e89b4b-15e2-4101-9e97-3d153b111dd0",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 2,
"timestamp": 7.2,
"author": "Agent",
"text": "Great, what is your budget?",
"created_at": 1779368605.246143,
"type": "transcription_entry"
}
]
},
{
"id": "31a2c510-8c50-46b9-a2f9-734884449b50",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"created_at": 1779368605.246143,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_by": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"updated_by": null,
"type": "transcription",
"entries": [
{
"id": "63c1c58f-b397-4ab6-8b0e-1825e07f87ac",
"transcription": "31a2c510-8c50-46b9-a2f9-734884449b50",
"position": 0,
"timestamp": null,
"author": null,
"text": "Older device transcript with no utterance metadata.",
"created_at": 1779368605.246143,
"type": "transcription_entry"
}
]
},
{
"id": "96bfe024-7a2e-44e4-9bbf-dcd592ba1522",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"created_at": 1779368605.246143,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_by": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"updated_by": null,
"type": "transcription",
"entries": [
{
"id": "74f15d67-dc3c-40ed-b6b9-20af1e329f6b",
"transcription": "96bfe024-7a2e-44e4-9bbf-dcd592ba1522",
"position": 0,
"timestamp": null,
"author": null,
"text": "Metadata can be null.",
"created_at": 1779368605.246143,
"type": "transcription_entry"
}
]
},
{
"id": "dd2beaee-8fde-45ab-8162-b2a8762b3c1e",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"created_at": 1779368605.246143,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_by": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"updated_by": null,
"type": "transcription",
"entries": null
},
{
"id": "e2190fe1-04ab-4f38-8c38-6be6cdd69b13",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"created_at": 1779368605.246143,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_by": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"updated_by": null,
"type": "transcription",
"entries": [
{
"id": "c6c1b66c-3a1e-4962-bd09-e827cdf03efb",
"transcription": "e2190fe1-04ab-4f38-8c38-6be6cdd69b13",
"position": 0,
"timestamp": null,
"author": null,
"text": "Deal recording without a contact.",
"created_at": 1779368605.246143,
"type": "transcription_entry"
}
]
}
],
"info": {
"count": 5,
"total": 0
}
}Get a specific transcription ¶
Get a specific transcriptionGET/brands/:id/transcriptions/:transcription
Example URI
- id
string(required) Example: 23dc00ec-9da7-45ce-9a71-da1893ff0ad0- transcription
string(required) Example: bd749d22-333d-4669-8d18-c69929ed378b- associations
string(required) Example: transcription.contact
200Body
{
"code": "OK",
"data": {
"id": "bd749d22-333d-4669-8d18-c69929ed378b",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"contact": {
"id": "7965572b-7149-4b27-8ca5-5c6be69a4b23",
"display_name": "Johnny",
"partner_name": "Jane Doe",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"brand_id": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"user_id": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"sort_field": "Johnny",
"last_touch": null,
"last_touch_action": null,
"next_touch": null,
"touch_freq": null,
"ios_address_book_id": null,
"android_address_book_id": null,
"created_at": 1779368606.792721,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_for": "direct_request",
"updated_for": "direct_request",
"deleted_for": null,
"title": null,
"first_name": "John",
"partner_first_name": "Jane",
"middle_name": "M.",
"last_name": "Doe",
"partner_last_name": "Doe",
"marketing_name": null,
"nickname": "Johnny",
"email": "[email protected]",
"primary_email": "[email protected]",
"emails": [
"[email protected]"
],
"parked": false,
"partner_email": "[email protected]",
"phone_number": "+989124834198",
"primary_phone_number": "+989124834198",
"phone_numbers": [
"+989124834198"
],
"company": "Rechat",
"birthday": "1970-01-12T00:00:00.000Z",
"profile_image_url": "https://inomics.com/sites/default/files/pictures/picture-95970-1460131169.png",
"cover_image_url": "https://inomics.com/sites/default/files/pictures/picture-95970-1460131169.png",
"job_title": "Contact Test Subject",
"source_type": "ExplicitlyCreated",
"source": null,
"website": [
"http://www.gholi.com"
],
"tags": [
"poo",
"foo",
"New"
],
"address": [
{
"city": "Dallas",
"full": "Street, Dallas Texas 72890",
"name": "Street",
"type": "stdaddr",
"extra": "Office",
"line1": "Street",
"line2": "Dallas Texas 72890",
"state": "Texas",
"country": "US",
"postcode": "72890"
}
],
"type": "contact"
},
"created_at": 1779368605.246143,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_by": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"updated_by": null,
"type": "transcription",
"entries": [
{
"id": "ad8d717c-036f-4c97-bb01-7764029bc29f",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 0,
"timestamp": 0,
"author": "Agent",
"text": "Hi, how can I help you?",
"created_at": 1779368605.246143,
"type": "transcription_entry"
},
{
"id": "9792e60d-d174-413b-966f-4d5cded6235b",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 1,
"timestamp": 3.5,
"author": "Client",
"text": "Looking for a 3-bedroom house.",
"created_at": 1779368605.246143,
"type": "transcription_entry"
},
{
"id": "f2e89b4b-15e2-4101-9e97-3d153b111dd0",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 2,
"timestamp": 7.2,
"author": "Agent",
"text": "Great, what is your budget?",
"created_at": 1779368605.246143,
"type": "transcription_entry"
}
]
}
}Create a transcription ¶
Create a transcriptionPOST/brands/:id/transcriptions
Creates a transcription under the given brand. The optional contact and deal must belong to the same brand, and audio must reference an accessible uploaded file. The contents array may be empty, but every entry must include text.
Body fields:
| Field | Type | Required | Description |
|---|---|---|---|
| contact | uuid | no | Optional contact this conversation was with |
| deal | uuid | no | Optional deal this conversation was about |
| audio | uuid | no | Optional audio file id |
| contents | Utterance[] | yes | Ordered list of utterances (may be empty) |
Example URI
- id
string(required) Example: 23dc00ec-9da7-45ce-9a71-da1893ff0ad0- associations
string(required) Example: transcription.contact,transcription.entries
Body
{
"contact": "7965572b-7149-4b27-8ca5-5c6be69a4b23",
"contents": [
{
"timestamp": 0,
"author": "Agent",
"text": "Hi, how can I help you?"
},
{
"timestamp": 3.5,
"author": "Client",
"text": "Looking for a 3-bedroom house."
},
{
"timestamp": 7.2,
"author": "Agent",
"text": "Great, what is your budget?"
}
]
}200Body
{
"code": "OK",
"data": {
"id": "bd749d22-333d-4669-8d18-c69929ed378b",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"contact": {
"id": "7965572b-7149-4b27-8ca5-5c6be69a4b23",
"display_name": "Johnny",
"partner_name": "Jane Doe",
"brand": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"brand_id": "23dc00ec-9da7-45ce-9a71-da1893ff0ad0",
"user_id": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"sort_field": "Johnny",
"last_touch": null,
"last_touch_action": null,
"next_touch": null,
"touch_freq": null,
"ios_address_book_id": null,
"android_address_book_id": null,
"created_at": 1779368606.792721,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_for": "direct_request",
"updated_for": "direct_request",
"deleted_for": null,
"title": null,
"first_name": "John",
"partner_first_name": "Jane",
"middle_name": "M.",
"last_name": "Doe",
"partner_last_name": "Doe",
"marketing_name": null,
"nickname": "Johnny",
"email": "[email protected]",
"primary_email": "[email protected]",
"emails": [
"[email protected]"
],
"parked": false,
"partner_email": "[email protected]",
"phone_number": "+989124834198",
"primary_phone_number": "+989124834198",
"phone_numbers": [
"+989124834198"
],
"company": "Rechat",
"birthday": "1970-01-12T00:00:00.000Z",
"profile_image_url": "https://inomics.com/sites/default/files/pictures/picture-95970-1460131169.png",
"cover_image_url": "https://inomics.com/sites/default/files/pictures/picture-95970-1460131169.png",
"job_title": "Contact Test Subject",
"source_type": "ExplicitlyCreated",
"source": null,
"website": [
"http://www.gholi.com"
],
"tags": [
"poo",
"foo",
"New"
],
"address": [
{
"city": "Dallas",
"full": "Street, Dallas Texas 72890",
"name": "Street",
"type": "stdaddr",
"extra": "Office",
"line1": "Street",
"line2": "Dallas Texas 72890",
"state": "Texas",
"country": "US",
"postcode": "72890"
}
],
"type": "contact"
},
"created_at": 1779368605.246143,
"updated_at": 1779368605.246143,
"deleted_at": null,
"created_by": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"updated_by": null,
"type": "transcription",
"entries": [
{
"id": "ad8d717c-036f-4c97-bb01-7764029bc29f",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 0,
"timestamp": 0,
"author": "Agent",
"text": "Hi, how can I help you?",
"created_at": 1779368605.246143,
"type": "transcription_entry"
},
{
"id": "9792e60d-d174-413b-966f-4d5cded6235b",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 1,
"timestamp": 3.5,
"author": "Client",
"text": "Looking for a 3-bedroom house.",
"created_at": 1779368605.246143,
"type": "transcription_entry"
},
{
"id": "f2e89b4b-15e2-4101-9e97-3d153b111dd0",
"transcription": "bd749d22-333d-4669-8d18-c69929ed378b",
"position": 2,
"timestamp": 7.2,
"author": "Agent",
"text": "Great, what is your budget?",
"created_at": 1779368605.246143,
"type": "transcription_entry"
}
]
}
}Upload transcription audio ¶
Upload transcription audioPOST/brands/:id/transcriptions/audio
Uploads or imports an audio file for later use as audio in POST /brands/:id/transcriptions. Supports multipart uploads, copying an existing file, or importing { url, filename } with common audio extensions such as m4a, mp3, wav, and aac.
Example URI
- id
string(required) Example: 23dc00ec-9da7-45ce-9a71-da1893ff0ad0
200Body
{
"code": "OK",
"data": {
"id": "c1c0e384-4906-4b10-82b5-c29bf5ab9b5b",
"created_at": 1779368607.25211,
"updated_at": 1779368607.25211,
"deleted_at": null,
"created_by": "80a227b2-29a0-11e7-b636-e4a7a08e15d4",
"path": "transcriptions/23dc00ec-9da7-45ce-9a71-da1893ff0ad0/audio/75199100-5515-11f1-8e8a-390655dbf437.mp3",
"name": "sample.mp3",
"public": false,
"type": "file",
"url": "https://private-cdn.irish.rechat.com/transcriptions/23dc00ec-9da7-45ce-9a71-da1893ff0ad0/audio/75199100-5515-11f1-8e8a-390655dbf437.mp3?Expires=1779455007256&Key-Pair-Id=APKAIIRG223GKFAC4MHA&Signature=OBVADm16woQonZjTyWAC~nKXUw0hDxEQYNuCqKuxeM4Rbcbg7Y6feTYHKvz1JQg0VQM~-NlQyq20HWNgj7EelpM62dtcYqA15T-AnlxJrhxOF4MkYM61B4hvqgCnstrtMXqJHi6VQ9yseRHFDZbcTv-WtinMzi-Zc6vyQYyTardoKP6geiSY9PNv4vsOgMizf-gtIe7h5aFMWS94ABRUVz7JJOP-MdPcaSKLouMpG-o0XrKpXTo02nhaRkMLJaQmPoYhdLVoEU806jqzO1ckj8GOqCkN5B~rucjx18Ym7YNrXm5ucABDSQaf3agK6HSCmmt8AOgVTekS-dBTDGAYXw__",
"preview_url": "http://assets.rechat.com/mimes/unknown.png",
"mime": "audio/mpeg"
}
}Delete a transcription ¶
Delete a transcriptionDELETE/brands/:id/transcriptions/:transcription
Soft-deletes a transcription. Returns 204 on success.
Example URI
- id
string(required) Example: 23dc00ec-9da7-45ce-9a71-da1893ff0ad0- transcription
string(required) Example: bd749d22-333d-4669-8d18-c69929ed378b
204