@vitrina/api 15.22.0 → 15.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.cts +132 -3
- package/dist/index.d.ts +132 -3
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -147153,7 +147153,7 @@ interface paths {
|
|
|
147153
147153
|
};
|
|
147154
147154
|
/**
|
|
147155
147155
|
* Undo «No requiere respuesta»
|
|
147156
|
-
* @description Removes the click `POST /no-reply-needed` recorded on the current wait (and the verdict row it created), so the conversation waits again as before. `subject_id` (optional) names the wait the undo is for: when the conversation now waits on another message, nothing changes. Nothing to undo → `changed: false`.
|
|
147156
|
+
* @description Removes the click `POST /conversations/{id}/no-reply-needed` recorded on the current wait (and the verdict row it created), so the conversation waits again as before. `subject_id` (optional) names the wait the undo is for: when the conversation now waits on another message, nothing changes. Nothing to undo → `changed: false`.
|
|
147157
147157
|
*/
|
|
147158
147158
|
delete: {
|
|
147159
147159
|
parameters: {
|
|
@@ -200542,6 +200542,8 @@ interface paths {
|
|
|
200542
200542
|
* "original_filename": "IMG_2231.HEIC",
|
|
200543
200543
|
* "ai_enabled": true,
|
|
200544
200544
|
* "shows_person": true,
|
|
200545
|
+
* "speaker": null,
|
|
200546
|
+
* "is_intro": false,
|
|
200545
200547
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
200546
200548
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
200547
200549
|
* "expires_at": null,
|
|
@@ -200625,7 +200627,7 @@ interface paths {
|
|
|
200625
200627
|
put?: never;
|
|
200626
200628
|
/**
|
|
200627
200629
|
* Upload a file to the library
|
|
200628
|
-
* @description Uploads `file` with its details. The kind (image, video, audio, document) is read from the bytes. Accepted files and caps: images JPG/PNG/WebP/HEIC ≤ 10 MB (auto-rotated, every metadata block — EXIF, GPS — removed, long edge ≤ 2560 px, stored as JPEG, or PNG when it was PNG, ≤ 5 MB); videos MP4/MOV/WebM ≤ 50 MB (converted to a WhatsApp-safe MP4 that must end ≤ 16 MB); PDF ≤ 16 MB; audio OGG/Opus, MP3, M4A/AAC, WAV, WebM, AMR ≤ 16 MB (transcribed unless `transcript` is sent). Refusals carry `details.code`: 413 `MEDIA_TOO_LARGE` (`details.limit_bytes`), 415 `MEDIA_UNSUPPORTED_TYPE` (an HEIC the server cannot decode included: convert it to JPG), 422 `MEDIA_EMPTY`. `name` defaults to the file name. `shows_person` defaults to true for images and videos in a healthcare workspace; while it is true and the consent is not confirmed nobody can send the file. A file identical to one already in the library is still created and the answer carries `duplicate_of: {id, name}`. 409 `MEDIA_LIBRARY_FULL` past 500 files; 422 for an unknown topic.
|
|
200630
|
+
* @description Uploads `file` with its details. The kind (image, video, audio, document) is read from the bytes. Accepted files and caps: images JPG/PNG/WebP/HEIC ≤ 10 MB (auto-rotated, every metadata block — EXIF, GPS — removed, long edge ≤ 2560 px, stored as JPEG, or PNG when it was PNG, ≤ 5 MB); videos MP4/MOV/WebM ≤ 50 MB (converted to a WhatsApp-safe MP4 that must end ≤ 16 MB); PDF ≤ 16 MB; audio OGG/Opus, MP3, M4A/AAC, WAV, WebM, AMR ≤ 16 MB (transcribed unless `transcript` is sent). Refusals carry `details.code`: 413 `MEDIA_TOO_LARGE` (`details.limit_bytes`), 415 `MEDIA_UNSUPPORTED_TYPE` (an HEIC the server cannot decode included: convert it to JPG), 422 `MEDIA_EMPTY`. `name` defaults to the file name. `shows_person` defaults to true for images and videos in a healthcare workspace; while it is true and the consent is not confirmed nobody can send the file. A file identical to one already in the library is still created and the answer carries `duplicate_of: {id, name}`. 409 `MEDIA_LIBRARY_FULL` past 500 files; 422 for an unknown topic. Audio and video may name their `speaker` («Voz de», ≤ 80 characters; images and PDFs: 400 `MEDIA_SPEAKER_KIND`). An audio with a speaker may be that speaker’s `is_intro` («Presentación»): a short greeting the agent is never offered; the platform sends it once per conversation, right before the first audio of that speaker. 400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`; one live intro per speaker (case-insensitive): a second is 409 `MEDIA_INTRO_EXISTS` with `details.speaker`, `details.intro_id`, `details.intro_name`.
|
|
200629
200631
|
*
|
|
200630
200632
|
* **Or a JSON body** (`application/json`) — what an MCP connector sends through `call_operation`, which cannot build multipart: `{ filename, content, content_encoding?, content_type? }` plus the operation's own form fields. `content` is UTF-8 text by default, or base64 when `content_encoding` is `"base64"` (images, PDF, audio, video). The same byte cap applies to the decoded bytes (413 above it); invalid base64 is a 400; the content type defaults from the filename extension.
|
|
200631
200633
|
*/
|
|
@@ -200675,6 +200677,10 @@ interface paths {
|
|
|
200675
200677
|
models?: string[];
|
|
200676
200678
|
/** @description Audio: what it says. When given, speech-to-text is skipped. */
|
|
200677
200679
|
transcript?: string;
|
|
200680
|
+
/** @description «Voz de»: who speaks in this audio or video (e.g. "Dra. Valentina"), ≤ 80 characters, trimmed; empty = nobody in particular. Images and PDFs: 400 `MEDIA_SPEAKER_KIND`. */
|
|
200681
|
+
speaker?: string;
|
|
200682
|
+
/** @description «Presentación»: this audio is the speaker’s short greeting ("Hola, soy …"). Never offered to the agent: the platform sends it once per conversation, right before the first audio of that speaker. Audio with a `speaker` only (400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`); one per speaker (409 `MEDIA_INTRO_EXISTS`). Default false. */
|
|
200683
|
+
is_intro?: boolean;
|
|
200678
200684
|
file?: unknown;
|
|
200679
200685
|
};
|
|
200680
200686
|
/**
|
|
@@ -200725,6 +200731,10 @@ interface paths {
|
|
|
200725
200731
|
models?: string[];
|
|
200726
200732
|
/** @description Audio: what it says. When given, speech-to-text is skipped. */
|
|
200727
200733
|
transcript?: string;
|
|
200734
|
+
/** @description «Voz de»: who speaks in this audio or video (e.g. "Dra. Valentina"), ≤ 80 characters, trimmed; empty = nobody in particular. Images and PDFs: 400 `MEDIA_SPEAKER_KIND`. */
|
|
200735
|
+
speaker?: string;
|
|
200736
|
+
/** @description «Presentación»: this audio is the speaker’s short greeting ("Hola, soy …"). Never offered to the agent: the platform sends it once per conversation, right before the first audio of that speaker. Audio with a `speaker` only (400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`); one per speaker (409 `MEDIA_INTRO_EXISTS`). Default false. */
|
|
200737
|
+
is_intro?: boolean;
|
|
200728
200738
|
};
|
|
200729
200739
|
};
|
|
200730
200740
|
};
|
|
@@ -200763,6 +200773,8 @@ interface paths {
|
|
|
200763
200773
|
* "original_filename": "IMG_2231.HEIC",
|
|
200764
200774
|
* "ai_enabled": true,
|
|
200765
200775
|
* "shows_person": true,
|
|
200776
|
+
* "speaker": null,
|
|
200777
|
+
* "is_intro": false,
|
|
200766
200778
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
200767
200779
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
200768
200780
|
* "expires_at": null,
|
|
@@ -200846,6 +200858,113 @@ interface paths {
|
|
|
200846
200858
|
patch?: never;
|
|
200847
200859
|
trace?: never;
|
|
200848
200860
|
};
|
|
200861
|
+
"/media-assets/speakers": {
|
|
200862
|
+
parameters: {
|
|
200863
|
+
query?: never;
|
|
200864
|
+
header?: never;
|
|
200865
|
+
path?: never;
|
|
200866
|
+
cookie?: never;
|
|
200867
|
+
};
|
|
200868
|
+
/**
|
|
200869
|
+
* List the speakers of the library
|
|
200870
|
+
* @description The distinct `speaker` values («Voz de») of the live files, case-insensitive, by name — the suggestions for a new upload. Each carries how many live files name it and the id of its «Presentación» (`intro_id`, null when it has none).
|
|
200871
|
+
*/
|
|
200872
|
+
get: {
|
|
200873
|
+
parameters: {
|
|
200874
|
+
query?: never;
|
|
200875
|
+
header?: never;
|
|
200876
|
+
path?: never;
|
|
200877
|
+
cookie?: never;
|
|
200878
|
+
};
|
|
200879
|
+
requestBody?: never;
|
|
200880
|
+
responses: {
|
|
200881
|
+
/** @description Speakers */
|
|
200882
|
+
200: {
|
|
200883
|
+
headers: {
|
|
200884
|
+
[name: string]: unknown;
|
|
200885
|
+
};
|
|
200886
|
+
content: {
|
|
200887
|
+
/**
|
|
200888
|
+
* @example [
|
|
200889
|
+
* {
|
|
200890
|
+
* "speaker": "Dra. Valentina",
|
|
200891
|
+
* "assets": 4,
|
|
200892
|
+
* "intro_id": "5a4b3c2d-1e0f-4a9b-8c7d-6e5f4a3b2c1d"
|
|
200893
|
+
* }
|
|
200894
|
+
* ]
|
|
200895
|
+
*/
|
|
200896
|
+
"application/json": {
|
|
200897
|
+
data?: unknown;
|
|
200898
|
+
meta?: {
|
|
200899
|
+
[key: string]: unknown;
|
|
200900
|
+
};
|
|
200901
|
+
};
|
|
200902
|
+
};
|
|
200903
|
+
};
|
|
200904
|
+
/** @description Validation error */
|
|
200905
|
+
400: {
|
|
200906
|
+
headers: {
|
|
200907
|
+
[name: string]: unknown;
|
|
200908
|
+
};
|
|
200909
|
+
content: {
|
|
200910
|
+
"application/json": components["schemas"]["Error"];
|
|
200911
|
+
};
|
|
200912
|
+
};
|
|
200913
|
+
/** @description Unauthorized */
|
|
200914
|
+
401: {
|
|
200915
|
+
headers: {
|
|
200916
|
+
[name: string]: unknown;
|
|
200917
|
+
};
|
|
200918
|
+
content: {
|
|
200919
|
+
"application/json": components["schemas"]["Error"];
|
|
200920
|
+
};
|
|
200921
|
+
};
|
|
200922
|
+
/** @description Forbidden */
|
|
200923
|
+
403: {
|
|
200924
|
+
headers: {
|
|
200925
|
+
[name: string]: unknown;
|
|
200926
|
+
};
|
|
200927
|
+
content: {
|
|
200928
|
+
"application/json": components["schemas"]["Error"];
|
|
200929
|
+
};
|
|
200930
|
+
};
|
|
200931
|
+
/** @description Not found */
|
|
200932
|
+
404: {
|
|
200933
|
+
headers: {
|
|
200934
|
+
[name: string]: unknown;
|
|
200935
|
+
};
|
|
200936
|
+
content: {
|
|
200937
|
+
"application/json": components["schemas"]["Error"];
|
|
200938
|
+
};
|
|
200939
|
+
};
|
|
200940
|
+
/** @description Conflict (incl. Idempotency-Key reuse with different body) */
|
|
200941
|
+
409: {
|
|
200942
|
+
headers: {
|
|
200943
|
+
[name: string]: unknown;
|
|
200944
|
+
};
|
|
200945
|
+
content: {
|
|
200946
|
+
"application/json": components["schemas"]["Error"];
|
|
200947
|
+
};
|
|
200948
|
+
};
|
|
200949
|
+
/** @description Rate limited */
|
|
200950
|
+
429: {
|
|
200951
|
+
headers: {
|
|
200952
|
+
[name: string]: unknown;
|
|
200953
|
+
};
|
|
200954
|
+
content: {
|
|
200955
|
+
"application/json": components["schemas"]["Error"];
|
|
200956
|
+
};
|
|
200957
|
+
};
|
|
200958
|
+
};
|
|
200959
|
+
};
|
|
200960
|
+
put?: never;
|
|
200961
|
+
post?: never;
|
|
200962
|
+
delete?: never;
|
|
200963
|
+
options?: never;
|
|
200964
|
+
head?: never;
|
|
200965
|
+
patch?: never;
|
|
200966
|
+
trace?: never;
|
|
200967
|
+
};
|
|
200849
200968
|
"/media-assets/{id}": {
|
|
200850
200969
|
parameters: {
|
|
200851
200970
|
query?: never;
|
|
@@ -200902,6 +201021,8 @@ interface paths {
|
|
|
200902
201021
|
* "original_filename": "IMG_2231.HEIC",
|
|
200903
201022
|
* "ai_enabled": true,
|
|
200904
201023
|
* "shows_person": true,
|
|
201024
|
+
* "speaker": null,
|
|
201025
|
+
* "is_intro": false,
|
|
200905
201026
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
200906
201027
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
200907
201028
|
* "expires_at": null,
|
|
@@ -201065,7 +201186,7 @@ interface paths {
|
|
|
201065
201186
|
head?: never;
|
|
201066
201187
|
/**
|
|
201067
201188
|
* Edit a library file
|
|
201068
|
-
* @description Changes the details; the bytes are replaced with `POST /media-assets/{id}/file`. `tags`, `topic_ids` and `models` replace their sets. `caption: null` and `expires_at: null` clear them. `consent_confirmed: true` records the calling member and now as the consent confirmation (a member only; an API key gets 422), `false` clears it. At least one field is required; an unknown topic is 422.
|
|
201189
|
+
* @description Changes the details; the bytes are replaced with `POST /media-assets/{id}/file`. `tags`, `topic_ids` and `models` replace their sets. `caption: null` and `expires_at: null` clear them. `consent_confirmed: true` records the calling member and now as the consent confirmation (a member only; an API key gets 422), `false` clears it. At least one field is required; an unknown topic is 422. `speaker: null` (or empty) clears the speaker and with it `is_intro`. Audio and video may name their `speaker` («Voz de», ≤ 80 characters; images and PDFs: 400 `MEDIA_SPEAKER_KIND`). An audio with a speaker may be that speaker’s `is_intro` («Presentación»): a short greeting the agent is never offered; the platform sends it once per conversation, right before the first audio of that speaker. 400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`; one live intro per speaker (case-insensitive): a second is 409 `MEDIA_INTRO_EXISTS` with `details.speaker`, `details.intro_id`, `details.intro_name`.
|
|
201069
201190
|
*/
|
|
201070
201191
|
patch: {
|
|
201071
201192
|
parameters: {
|
|
@@ -201108,6 +201229,10 @@ interface paths {
|
|
|
201108
201229
|
* @description When the file stops being sendable (ISO 8601). Null = never. An expired file stays in the library, marked `expired`.
|
|
201109
201230
|
*/
|
|
201110
201231
|
expires_at?: string | null;
|
|
201232
|
+
/** @description «Voz de»: who speaks in this audio or video (e.g. "Dra. Valentina"), ≤ 80 characters, trimmed; empty = nobody in particular. Images and PDFs: 400 `MEDIA_SPEAKER_KIND`. null or empty clears it, and with it `is_intro`. */
|
|
201233
|
+
speaker?: string | null;
|
|
201234
|
+
/** @description «Presentación»: this audio is the speaker’s short greeting ("Hola, soy …"). Never offered to the agent: the platform sends it once per conversation, right before the first audio of that speaker. Audio with a `speaker` only (400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`); one per speaker (409 `MEDIA_INTRO_EXISTS`). */
|
|
201235
|
+
is_intro?: boolean;
|
|
201111
201236
|
};
|
|
201112
201237
|
};
|
|
201113
201238
|
};
|
|
@@ -201146,6 +201271,8 @@ interface paths {
|
|
|
201146
201271
|
* "original_filename": "IMG_2231.HEIC",
|
|
201147
201272
|
* "ai_enabled": true,
|
|
201148
201273
|
* "shows_person": true,
|
|
201274
|
+
* "speaker": null,
|
|
201275
|
+
* "is_intro": false,
|
|
201149
201276
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
201150
201277
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
201151
201278
|
* "expires_at": null,
|
|
@@ -201325,6 +201452,8 @@ interface paths {
|
|
|
201325
201452
|
* "original_filename": "IMG_2231.HEIC",
|
|
201326
201453
|
* "ai_enabled": true,
|
|
201327
201454
|
* "shows_person": true,
|
|
201455
|
+
* "speaker": null,
|
|
201456
|
+
* "is_intro": false,
|
|
201328
201457
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
201329
201458
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
201330
201459
|
* "expires_at": null,
|
package/dist/index.d.ts
CHANGED
|
@@ -147153,7 +147153,7 @@ interface paths {
|
|
|
147153
147153
|
};
|
|
147154
147154
|
/**
|
|
147155
147155
|
* Undo «No requiere respuesta»
|
|
147156
|
-
* @description Removes the click `POST /no-reply-needed` recorded on the current wait (and the verdict row it created), so the conversation waits again as before. `subject_id` (optional) names the wait the undo is for: when the conversation now waits on another message, nothing changes. Nothing to undo → `changed: false`.
|
|
147156
|
+
* @description Removes the click `POST /conversations/{id}/no-reply-needed` recorded on the current wait (and the verdict row it created), so the conversation waits again as before. `subject_id` (optional) names the wait the undo is for: when the conversation now waits on another message, nothing changes. Nothing to undo → `changed: false`.
|
|
147157
147157
|
*/
|
|
147158
147158
|
delete: {
|
|
147159
147159
|
parameters: {
|
|
@@ -200542,6 +200542,8 @@ interface paths {
|
|
|
200542
200542
|
* "original_filename": "IMG_2231.HEIC",
|
|
200543
200543
|
* "ai_enabled": true,
|
|
200544
200544
|
* "shows_person": true,
|
|
200545
|
+
* "speaker": null,
|
|
200546
|
+
* "is_intro": false,
|
|
200545
200547
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
200546
200548
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
200547
200549
|
* "expires_at": null,
|
|
@@ -200625,7 +200627,7 @@ interface paths {
|
|
|
200625
200627
|
put?: never;
|
|
200626
200628
|
/**
|
|
200627
200629
|
* Upload a file to the library
|
|
200628
|
-
* @description Uploads `file` with its details. The kind (image, video, audio, document) is read from the bytes. Accepted files and caps: images JPG/PNG/WebP/HEIC ≤ 10 MB (auto-rotated, every metadata block — EXIF, GPS — removed, long edge ≤ 2560 px, stored as JPEG, or PNG when it was PNG, ≤ 5 MB); videos MP4/MOV/WebM ≤ 50 MB (converted to a WhatsApp-safe MP4 that must end ≤ 16 MB); PDF ≤ 16 MB; audio OGG/Opus, MP3, M4A/AAC, WAV, WebM, AMR ≤ 16 MB (transcribed unless `transcript` is sent). Refusals carry `details.code`: 413 `MEDIA_TOO_LARGE` (`details.limit_bytes`), 415 `MEDIA_UNSUPPORTED_TYPE` (an HEIC the server cannot decode included: convert it to JPG), 422 `MEDIA_EMPTY`. `name` defaults to the file name. `shows_person` defaults to true for images and videos in a healthcare workspace; while it is true and the consent is not confirmed nobody can send the file. A file identical to one already in the library is still created and the answer carries `duplicate_of: {id, name}`. 409 `MEDIA_LIBRARY_FULL` past 500 files; 422 for an unknown topic.
|
|
200630
|
+
* @description Uploads `file` with its details. The kind (image, video, audio, document) is read from the bytes. Accepted files and caps: images JPG/PNG/WebP/HEIC ≤ 10 MB (auto-rotated, every metadata block — EXIF, GPS — removed, long edge ≤ 2560 px, stored as JPEG, or PNG when it was PNG, ≤ 5 MB); videos MP4/MOV/WebM ≤ 50 MB (converted to a WhatsApp-safe MP4 that must end ≤ 16 MB); PDF ≤ 16 MB; audio OGG/Opus, MP3, M4A/AAC, WAV, WebM, AMR ≤ 16 MB (transcribed unless `transcript` is sent). Refusals carry `details.code`: 413 `MEDIA_TOO_LARGE` (`details.limit_bytes`), 415 `MEDIA_UNSUPPORTED_TYPE` (an HEIC the server cannot decode included: convert it to JPG), 422 `MEDIA_EMPTY`. `name` defaults to the file name. `shows_person` defaults to true for images and videos in a healthcare workspace; while it is true and the consent is not confirmed nobody can send the file. A file identical to one already in the library is still created and the answer carries `duplicate_of: {id, name}`. 409 `MEDIA_LIBRARY_FULL` past 500 files; 422 for an unknown topic. Audio and video may name their `speaker` («Voz de», ≤ 80 characters; images and PDFs: 400 `MEDIA_SPEAKER_KIND`). An audio with a speaker may be that speaker’s `is_intro` («Presentación»): a short greeting the agent is never offered; the platform sends it once per conversation, right before the first audio of that speaker. 400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`; one live intro per speaker (case-insensitive): a second is 409 `MEDIA_INTRO_EXISTS` with `details.speaker`, `details.intro_id`, `details.intro_name`.
|
|
200629
200631
|
*
|
|
200630
200632
|
* **Or a JSON body** (`application/json`) — what an MCP connector sends through `call_operation`, which cannot build multipart: `{ filename, content, content_encoding?, content_type? }` plus the operation's own form fields. `content` is UTF-8 text by default, or base64 when `content_encoding` is `"base64"` (images, PDF, audio, video). The same byte cap applies to the decoded bytes (413 above it); invalid base64 is a 400; the content type defaults from the filename extension.
|
|
200631
200633
|
*/
|
|
@@ -200675,6 +200677,10 @@ interface paths {
|
|
|
200675
200677
|
models?: string[];
|
|
200676
200678
|
/** @description Audio: what it says. When given, speech-to-text is skipped. */
|
|
200677
200679
|
transcript?: string;
|
|
200680
|
+
/** @description «Voz de»: who speaks in this audio or video (e.g. "Dra. Valentina"), ≤ 80 characters, trimmed; empty = nobody in particular. Images and PDFs: 400 `MEDIA_SPEAKER_KIND`. */
|
|
200681
|
+
speaker?: string;
|
|
200682
|
+
/** @description «Presentación»: this audio is the speaker’s short greeting ("Hola, soy …"). Never offered to the agent: the platform sends it once per conversation, right before the first audio of that speaker. Audio with a `speaker` only (400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`); one per speaker (409 `MEDIA_INTRO_EXISTS`). Default false. */
|
|
200683
|
+
is_intro?: boolean;
|
|
200678
200684
|
file?: unknown;
|
|
200679
200685
|
};
|
|
200680
200686
|
/**
|
|
@@ -200725,6 +200731,10 @@ interface paths {
|
|
|
200725
200731
|
models?: string[];
|
|
200726
200732
|
/** @description Audio: what it says. When given, speech-to-text is skipped. */
|
|
200727
200733
|
transcript?: string;
|
|
200734
|
+
/** @description «Voz de»: who speaks in this audio or video (e.g. "Dra. Valentina"), ≤ 80 characters, trimmed; empty = nobody in particular. Images and PDFs: 400 `MEDIA_SPEAKER_KIND`. */
|
|
200735
|
+
speaker?: string;
|
|
200736
|
+
/** @description «Presentación»: this audio is the speaker’s short greeting ("Hola, soy …"). Never offered to the agent: the platform sends it once per conversation, right before the first audio of that speaker. Audio with a `speaker` only (400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`); one per speaker (409 `MEDIA_INTRO_EXISTS`). Default false. */
|
|
200737
|
+
is_intro?: boolean;
|
|
200728
200738
|
};
|
|
200729
200739
|
};
|
|
200730
200740
|
};
|
|
@@ -200763,6 +200773,8 @@ interface paths {
|
|
|
200763
200773
|
* "original_filename": "IMG_2231.HEIC",
|
|
200764
200774
|
* "ai_enabled": true,
|
|
200765
200775
|
* "shows_person": true,
|
|
200776
|
+
* "speaker": null,
|
|
200777
|
+
* "is_intro": false,
|
|
200766
200778
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
200767
200779
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
200768
200780
|
* "expires_at": null,
|
|
@@ -200846,6 +200858,113 @@ interface paths {
|
|
|
200846
200858
|
patch?: never;
|
|
200847
200859
|
trace?: never;
|
|
200848
200860
|
};
|
|
200861
|
+
"/media-assets/speakers": {
|
|
200862
|
+
parameters: {
|
|
200863
|
+
query?: never;
|
|
200864
|
+
header?: never;
|
|
200865
|
+
path?: never;
|
|
200866
|
+
cookie?: never;
|
|
200867
|
+
};
|
|
200868
|
+
/**
|
|
200869
|
+
* List the speakers of the library
|
|
200870
|
+
* @description The distinct `speaker` values («Voz de») of the live files, case-insensitive, by name — the suggestions for a new upload. Each carries how many live files name it and the id of its «Presentación» (`intro_id`, null when it has none).
|
|
200871
|
+
*/
|
|
200872
|
+
get: {
|
|
200873
|
+
parameters: {
|
|
200874
|
+
query?: never;
|
|
200875
|
+
header?: never;
|
|
200876
|
+
path?: never;
|
|
200877
|
+
cookie?: never;
|
|
200878
|
+
};
|
|
200879
|
+
requestBody?: never;
|
|
200880
|
+
responses: {
|
|
200881
|
+
/** @description Speakers */
|
|
200882
|
+
200: {
|
|
200883
|
+
headers: {
|
|
200884
|
+
[name: string]: unknown;
|
|
200885
|
+
};
|
|
200886
|
+
content: {
|
|
200887
|
+
/**
|
|
200888
|
+
* @example [
|
|
200889
|
+
* {
|
|
200890
|
+
* "speaker": "Dra. Valentina",
|
|
200891
|
+
* "assets": 4,
|
|
200892
|
+
* "intro_id": "5a4b3c2d-1e0f-4a9b-8c7d-6e5f4a3b2c1d"
|
|
200893
|
+
* }
|
|
200894
|
+
* ]
|
|
200895
|
+
*/
|
|
200896
|
+
"application/json": {
|
|
200897
|
+
data?: unknown;
|
|
200898
|
+
meta?: {
|
|
200899
|
+
[key: string]: unknown;
|
|
200900
|
+
};
|
|
200901
|
+
};
|
|
200902
|
+
};
|
|
200903
|
+
};
|
|
200904
|
+
/** @description Validation error */
|
|
200905
|
+
400: {
|
|
200906
|
+
headers: {
|
|
200907
|
+
[name: string]: unknown;
|
|
200908
|
+
};
|
|
200909
|
+
content: {
|
|
200910
|
+
"application/json": components["schemas"]["Error"];
|
|
200911
|
+
};
|
|
200912
|
+
};
|
|
200913
|
+
/** @description Unauthorized */
|
|
200914
|
+
401: {
|
|
200915
|
+
headers: {
|
|
200916
|
+
[name: string]: unknown;
|
|
200917
|
+
};
|
|
200918
|
+
content: {
|
|
200919
|
+
"application/json": components["schemas"]["Error"];
|
|
200920
|
+
};
|
|
200921
|
+
};
|
|
200922
|
+
/** @description Forbidden */
|
|
200923
|
+
403: {
|
|
200924
|
+
headers: {
|
|
200925
|
+
[name: string]: unknown;
|
|
200926
|
+
};
|
|
200927
|
+
content: {
|
|
200928
|
+
"application/json": components["schemas"]["Error"];
|
|
200929
|
+
};
|
|
200930
|
+
};
|
|
200931
|
+
/** @description Not found */
|
|
200932
|
+
404: {
|
|
200933
|
+
headers: {
|
|
200934
|
+
[name: string]: unknown;
|
|
200935
|
+
};
|
|
200936
|
+
content: {
|
|
200937
|
+
"application/json": components["schemas"]["Error"];
|
|
200938
|
+
};
|
|
200939
|
+
};
|
|
200940
|
+
/** @description Conflict (incl. Idempotency-Key reuse with different body) */
|
|
200941
|
+
409: {
|
|
200942
|
+
headers: {
|
|
200943
|
+
[name: string]: unknown;
|
|
200944
|
+
};
|
|
200945
|
+
content: {
|
|
200946
|
+
"application/json": components["schemas"]["Error"];
|
|
200947
|
+
};
|
|
200948
|
+
};
|
|
200949
|
+
/** @description Rate limited */
|
|
200950
|
+
429: {
|
|
200951
|
+
headers: {
|
|
200952
|
+
[name: string]: unknown;
|
|
200953
|
+
};
|
|
200954
|
+
content: {
|
|
200955
|
+
"application/json": components["schemas"]["Error"];
|
|
200956
|
+
};
|
|
200957
|
+
};
|
|
200958
|
+
};
|
|
200959
|
+
};
|
|
200960
|
+
put?: never;
|
|
200961
|
+
post?: never;
|
|
200962
|
+
delete?: never;
|
|
200963
|
+
options?: never;
|
|
200964
|
+
head?: never;
|
|
200965
|
+
patch?: never;
|
|
200966
|
+
trace?: never;
|
|
200967
|
+
};
|
|
200849
200968
|
"/media-assets/{id}": {
|
|
200850
200969
|
parameters: {
|
|
200851
200970
|
query?: never;
|
|
@@ -200902,6 +201021,8 @@ interface paths {
|
|
|
200902
201021
|
* "original_filename": "IMG_2231.HEIC",
|
|
200903
201022
|
* "ai_enabled": true,
|
|
200904
201023
|
* "shows_person": true,
|
|
201024
|
+
* "speaker": null,
|
|
201025
|
+
* "is_intro": false,
|
|
200905
201026
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
200906
201027
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
200907
201028
|
* "expires_at": null,
|
|
@@ -201065,7 +201186,7 @@ interface paths {
|
|
|
201065
201186
|
head?: never;
|
|
201066
201187
|
/**
|
|
201067
201188
|
* Edit a library file
|
|
201068
|
-
* @description Changes the details; the bytes are replaced with `POST /media-assets/{id}/file`. `tags`, `topic_ids` and `models` replace their sets. `caption: null` and `expires_at: null` clear them. `consent_confirmed: true` records the calling member and now as the consent confirmation (a member only; an API key gets 422), `false` clears it. At least one field is required; an unknown topic is 422.
|
|
201189
|
+
* @description Changes the details; the bytes are replaced with `POST /media-assets/{id}/file`. `tags`, `topic_ids` and `models` replace their sets. `caption: null` and `expires_at: null` clear them. `consent_confirmed: true` records the calling member and now as the consent confirmation (a member only; an API key gets 422), `false` clears it. At least one field is required; an unknown topic is 422. `speaker: null` (or empty) clears the speaker and with it `is_intro`. Audio and video may name their `speaker` («Voz de», ≤ 80 characters; images and PDFs: 400 `MEDIA_SPEAKER_KIND`). An audio with a speaker may be that speaker’s `is_intro` («Presentación»): a short greeting the agent is never offered; the platform sends it once per conversation, right before the first audio of that speaker. 400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`; one live intro per speaker (case-insensitive): a second is 409 `MEDIA_INTRO_EXISTS` with `details.speaker`, `details.intro_id`, `details.intro_name`.
|
|
201069
201190
|
*/
|
|
201070
201191
|
patch: {
|
|
201071
201192
|
parameters: {
|
|
@@ -201108,6 +201229,10 @@ interface paths {
|
|
|
201108
201229
|
* @description When the file stops being sendable (ISO 8601). Null = never. An expired file stays in the library, marked `expired`.
|
|
201109
201230
|
*/
|
|
201110
201231
|
expires_at?: string | null;
|
|
201232
|
+
/** @description «Voz de»: who speaks in this audio or video (e.g. "Dra. Valentina"), ≤ 80 characters, trimmed; empty = nobody in particular. Images and PDFs: 400 `MEDIA_SPEAKER_KIND`. null or empty clears it, and with it `is_intro`. */
|
|
201233
|
+
speaker?: string | null;
|
|
201234
|
+
/** @description «Presentación»: this audio is the speaker’s short greeting ("Hola, soy …"). Never offered to the agent: the platform sends it once per conversation, right before the first audio of that speaker. Audio with a `speaker` only (400 `MEDIA_INTRO_AUDIO_ONLY` / `MEDIA_INTRO_NEEDS_SPEAKER`); one per speaker (409 `MEDIA_INTRO_EXISTS`). */
|
|
201235
|
+
is_intro?: boolean;
|
|
201111
201236
|
};
|
|
201112
201237
|
};
|
|
201113
201238
|
};
|
|
@@ -201146,6 +201271,8 @@ interface paths {
|
|
|
201146
201271
|
* "original_filename": "IMG_2231.HEIC",
|
|
201147
201272
|
* "ai_enabled": true,
|
|
201148
201273
|
* "shows_person": true,
|
|
201274
|
+
* "speaker": null,
|
|
201275
|
+
* "is_intro": false,
|
|
201149
201276
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
201150
201277
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
201151
201278
|
* "expires_at": null,
|
|
@@ -201325,6 +201452,8 @@ interface paths {
|
|
|
201325
201452
|
* "original_filename": "IMG_2231.HEIC",
|
|
201326
201453
|
* "ai_enabled": true,
|
|
201327
201454
|
* "shows_person": true,
|
|
201455
|
+
* "speaker": null,
|
|
201456
|
+
* "is_intro": false,
|
|
201328
201457
|
* "consent_confirmed_at": "2026-10-29T14:00:00.000Z",
|
|
201329
201458
|
* "consent_confirmed_by": "2f1e0d9c-8b7a-4c6d-9e5f-1a2b3c4d5e6f",
|
|
201330
201459
|
* "expires_at": null,
|
package/package.json
CHANGED