La API de Verbato

Envía una grabación desde tu propio código y recibe su transcripción y los documentos que escribe su tipo de proyecto. Lo que un tipo de proyecto hace en la app, una clave lo puede hacer aquí.

Versión v1Leída del documento OpenAPI de la APIDescargarlo (JSON)

Obtener una claveLas claves se crean en Configuración, en el plan Business. Ver los planes
En esta página
  1. Inicio rápido
  2. Autenticación
  3. Errores
  4. Límites
  5. Webhooks
  6. Proyectos
  7. Documentos
  8. Segmentos de la transcripción
  9. Biblioteca
  10. Uso
  11. Webhooks

Inicio rápido

Tres pasos llevan una grabación de principio a fin: envíala, espera a que termine y lee lo que volvió.

  1. Envía una grabación

    Desde un enlace, en una llamada. Un archivo va en la misma llamada como multipart/form-data; uno grande va a la dirección que te da POST /api/v1/projects/upload-url, y el proyecto se crea con el storageKey que recibiste.

    Petición
    curl -X POST https://api.verbato.io/api/v1/projects \
      -H "Authorization: Bearer $VERBATO_KEY" \
      -H "Content-Type: application/json" \
      -d '{"sourceUrl":"https://example.com/supplier-interview.mp3","title":"Supplier interview"}'
  2. Espera a que termine

    Registra un webhook una vez y Verbato te llama cuando un proyecto termina o falla. O pide el proyecto hasta que su status sea Completed o Failed.

    Petición
    curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID" \
      -H "Authorization: Bearer $VERBATO_KEY"
  3. Lee lo que volvió

    La transcripción se descarga en el formato que pidas. Los documentos que escribió su tipo de proyecto se listan con GET /api/v1/projects/{projectId}/documents, y cada uno se exporta en Markdown, texto, Word o PDF.

    Petición
    curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/transcript?format=txt" \
      -H "Authorization: Bearer $VERBATO_KEY" -o transcript.txt

Autenticación

Cada petición lleva tu clave como token bearer:

HTTP
Authorization: Bearer sk_live_…

Las claves se crean en Configuración → API. Una clave nueva se muestra una vez, al crearla, y nunca más: guárdala donde tu código guarda sus secretos, nunca en una página o una app que un visitante pueda leer.

Una clave hace el trabajo: envía grabaciones, lee lo que volvió y cambia la biblioteca. No actúa por la cuenta: no cambia el plan ni la forma de pago, no crea ni revoca claves, no conecta un canal y no borra la cuenta ni todos sus proyectos de una vez. Eso queda en manos de una persona que entra en la app.

Errores

Una negativa responde con un estado y, salvo dos, un cuerpo de una sola forma. error dice qué pasó, en una frase para una persona. Cuando la negativa tiene un código, va en detail: comprueba el código, nunca la frase, que puede cambiar. Un 401, y un 429 por demasiadas peticiones, no traen cuerpo.

Respuesta
{
  "error": "Concurrent job limit reached",
  "detail": "CONCURRENCY_LIMIT_REACHED"
}
EstadoCuándo
400La petición no es válida: falta un campo, el archivo es de un tipo que no acepta, o el idioma no es uno de los que Verbato transcribe.
401No hay clave, o la clave no es válida o fue revocada.
403El plan no lo permite: una clave cuya cuenta ya no está en el plan con la API, por ejemplo.
404No hay nada con ese id, o es de otra cuenta.
409Las horas no cubren la grabación, al empezar una retenida o al transcribir una de nuevo. La respuesta da los minutos que hacen falta y los disponibles.
429Demasiadas peticiones para la clave, o tantas grabaciones en curso como permite el plan. No se pone nada en cola: vuelve a enviarla más tarde.

Límites

Cada clave: 100 peticiones por minuto y 10.000 al día. Pasado cualquiera de los dos, la respuesta es 429, y su cabecera Retry-After dice cuántos segundos esperar.

Las grabaciones a la vez y las horas son las del plan, igual que en la app. Una clave que empieza una grabación más de las que el plan procesa a la vez recibe 429, y no se pone nada en cola: vuelve a enviarla cuando termine una. Ver los planes.

Webhooks

Registra una dirección https una vez con POST /api/v1/webhooks, y Verbato la llama cuando uno de los proyectos de la cuenta termina o falla: los eventos project.completed y project.failed. La respuesta al registro trae el secreto del webhook, una sola vez.

Cada llamada es un POST con este cuerpo, y el evento otra vez en X-Verbato-Event:

Lo que envía Verbato
{
  "id": "6f1c3e0a-…",
  "event": "project.completed",
  "createdAt": "2026-10-19T14:02:11Z",
  "data": {
    "projectId": "3b9e1c2a-…",
    "title": "Supplier interview",
    "status": "Completed",
    "source": "api",
    "errorMessage": null,
    "createdAt": "2026-10-19T13:58:40Z",
    "completedAt": "2026-10-19T14:02:10Z"
  }
}

Comprueba que una llamada viene de Verbato antes de actuar. X-Verbato-Signature dice t=<hora>,v1=<firma>: la firma es el HMAC-SHA256, en hexadecimal, de la hora, un punto y el cuerpo, hecho con el secreto del webhook.

Responde con un 2xx en menos de 15 segundos. Una llamada que recibe otra cosa se envía de nuevo, hasta 3 veces más, a los 2, 10 y 30 segundos. Tras 10 eventos seguidos sin entregar, el webhook se desactiva: bórralo y regístralo otra vez.

Comprueba la firma (Node.js)
import crypto from "node:crypto";

// header: the X-Verbato-Signature value; body: the raw body, as it arrived
export function isFromVerbato(secret, header, body) {
  const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
  if (!parts.t || !parts.v1) return false;
  const expected = crypto
    .createHmac("sha256", secret)
    .update(`${parts.t}.${body}`)
    .digest("hex");
  return expected.length === parts.v1.length &&
    crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}

Referencia

Cada operación que una clave puede llamar, leída del documento OpenAPI de la API. Descarga el documento para generar un cliente en tu lenguaje. swagger.json

Lo que dice cada operación está en inglés, como el documento.

Proyectos

Una grabación y todo lo que sale de ella: envíala, síguela, lee su transcripción, consérvala o bórrala.

POST/api/v1/projects/upload-url

Get a URL to upload a file to

Returns a URL to upload one audio or video file to, and the storageKey to create the project with once it is there. Upload the file to the URL with a PUT that carries the Content-Type declared here. The file's size is checked against the plan and its type against the kinds accepted, and the URL expires in 30 minutes.

Cuerpo

CampoTipoQué es
fileName obligatoriostringThe file's name, with its extension.
contentType obligatoriostringThe file's media type, such as audio/mpeg. The upload must carry the same Content-Type.
fileSizeBytes obligatoriointegerThe file's size in bytes.

Respuestas

  • 200UploadUrlResponse
  • 400un error
  • 429un error
Petición
curl -X POST https://api.verbato.io/api/v1/projects/upload-url \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fileName":"supplier-interview.m4a","contentType":"audio/mp4","fileSizeBytes":18324000}'
POST/api/v1/projects

Create a project

Creates a project from a recording and starts it. The recording is a file sent with the request (multipart/form-data), a file already uploaded to the URL from POST /api/v1/projects/upload-url (storageKey), or a link (sourceUrl). Once the transcript is done, the project's type writes its documents. When the account's hours do not cover the recording, the project is held (status QuotaBlocked) and starts by itself when they do. When as many recordings are running as the account allows, the request is refused with 429: send it again later.

Cuerpo, JSON

CampoTipoQué es
storageKeystringThe storageKey POST /api/v1/projects/upload-url returned, once the file is uploaded to its URL. Send this or sourceUrl.
titlestringThe project's name. Left out, it is made from the file's name or the link.
languagestringThe language spoken, as a code from the languages Verbato transcribes (GET /api/v1/usage, supportedLanguages), such as en, es or pt. Left out, it is identified from the recording. Any other code is refused with 400.
enableDiarizationbooleanLabel who speaks when. Left out, the project type decides.
sourceUrlstringA link to the recording instead of a file: a page of a supported video or audio site, or a file's own address. Send this or storageKey.
projectTypeIduuidThe project type that writes the documents. Left out, the account's default (GET /api/v1/library/default-project-type).
retentionDaysintegerHow many days to keep the project, from 1 to the most the plan allows. Left out, the account's default.
documentsarrayWhich of the project type's documents to write, each named by its templateId and instructionsId. Left out, all of them; an empty list, the transcript alone.

Cuerpo, un formulario con el archivo

CampoTipoQué es
file obligatoriofileThe recording: one audio or video file.
titlestringThe project's name. Left out, it is made from the file's name or the link.
languagestringThe language spoken, as a code from the languages Verbato transcribes (GET /api/v1/usage, supportedLanguages), such as en, es or pt. Left out, it is identified from the recording. Any other code is refused with 400.
enableDiarizationbooleanLabel who speaks when. Left out, the project type decides.
projectTypeIduuidThe project type that writes the documents. Left out, the account's default (GET /api/v1/library/default-project-type).
retentionDaysintegerHow many days to keep the project, from 1 to the most the plan allows. Left out, the account's default.
documentsstringThe same list as the JSON body's documents, sent as JSON text.

Respuestas

  • 201Project
  • 400un error
  • 403un error
  • 429un error
Petición
curl -X POST https://api.verbato.io/api/v1/projects \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sourceUrl":"https://example.com/supplier-interview.mp3","title":"Supplier interview"}'
GET/api/v1/projects

List projects

Returns the account's projects, newest first, a page at a time. A project transcribed again is listed once, as its newest version.

Parámetros

ParámetroEnTipoQué es
pagequeryintegerThe page, from 1. Por defecto 1.
pageSizequeryintegerProjects a page, from 1 to 100. Por defecto 20.
statusquerystringOnly projects with this status, such as Completed or Failed.
sourcequerystringOnly projects from this source: api for those sent with a key.
searchquerystringOnly projects whose title contains this text.
localequerystringes for the Spanish names of the packs' project types. Left out, English.

Respuestas

  • 200una página de ProjectList
Petición
curl https://api.verbato.io/api/v1/projects \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/projects/{id}

Get a project

Returns a project: its settings, where it stands, why it failed if it did, and the first 50 segments of its transcript.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
localequerystringes for the Spanish names of the packs' project types. Left out, English.

Respuestas

  • 200ProjectDetail
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
PATCH/api/v1/projects/{id}

Rename a project

Sets the project's title, from 1 to 500 characters.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
localequerystringes for the Spanish names of the packs' project types. Left out, English.

Cuerpo

CampoTipoQué es
titlestringThe new title, from 1 to 500 characters.

Respuestas

  • 200ProjectDetail
  • 400un error
  • 404un error
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
DELETE/api/v1/projects/{id}

Delete a project

Deletes a project: its recording, transcript and documents are erased and a deletion receipt is written. A row with no title, file name, link or sender stays until the account is deleted.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 204
  • 404un error
Petición
curl -X DELETE "https://api.verbato.io/api/v1/projects/$PROJECT_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/projects/{id}/transcript

Download the transcript

Downloads the transcript as it stands, with every edit, as a file: txt, srt, vtt, json, docx or pdf. A project that is not completed has none yet (400).

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
formatquerystringtxt, srt, vtt, json, docx or pdf. Por defecto txt.
subtitleStylequerystringFor srt and vtt: standard (lines as spoken), social-media (a few words a line), word (one word a line) or custom (maxWords a line). Por defecto standard.
maxWordsqueryintegerWords a line, from 1 to 15: needed with custom, and changes social-media's.

Respuestas

  • 200un archivo
  • 400un error
  • 403un error
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/transcript?format=txt" \
  -H "Authorization: Bearer $VERBATO_KEY" -o transcript.txt
GET/api/v1/projects/{id}/segments

List the transcript's segments

Returns the transcript segment by segment, with its edits, a page at a time. Filter by speaker, by text, or by time.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
pagequeryintegerThe page, from 1. Por defecto 1.
pageSizequeryintegerSegments a page, from 1 to 100. Por defecto 50.
speakerquerystringOnly this speaker's segments.
searchquerystringOnly segments whose text contains this.
fromquerynumberOnly segments that start at or after this second.
toquerynumberOnly segments that end at or before this second.

Respuestas

  • 200una página de TranscriptSegment
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/segments" \
  -H "Authorization: Bearer $VERBATO_KEY"
PATCH/api/v1/projects/{id}/done

Mark a project done, or back in review

Marks a completed project done, or puts it back in review. Done is the reader's call, not the processing's: a time beside the status, never a status of its own. It changes nothing else: nothing is deleted, hidden or kept longer. Transcribing the project again, or writing a document again, clears it, because what was reviewed is no longer what the project holds.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
done obligatoriobooleantrue to mark the project done, false to put it back in review.

Respuestas

  • 200ProjectDone
  • 400un error
  • 404un error
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID/done" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"done":true}'
PATCH/api/v1/projects/{id}/retention

Set how long a project is kept

Sets how many days the project is kept, counted from the day it was created: from 1 to the most the plan allows. When the time is up, its recording, transcript and documents are deleted. A project held for hours must be started first (409).

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
days obligatoriointegerDays to keep the project, counted from the day it was created: from 1 to the most the plan allows.

Respuestas

  • 200Retention
  • 400un error
  • 404un error
  • 409un error
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID/retention" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"days":30}'
PATCH/api/v1/projects/{id}/settings

Change a project's settings

Changes the settings that can still change, and answers which were applied and which were already locked. The project type can change until its documents are written; once they exist, the new type applies to the project and nothing already written is rewritten. documents picks which of the type's documents to write: absent leaves it as it is, an empty list means the transcript alone, and a new project type resets it. The language can change until transcription starts, and the speakers while the project is processing or once it is completed. Turning the speakers on for a completed project labels them from the audio it already has; when as many recordings are running as the account allows, that request is refused with 429 and nothing changes: send it again later.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
projectTypeIduuidA new project type, until its documents are written. Left out, unchanged.
enableDiarizationbooleanLabel who speaks when. Left out, unchanged.
languagestringThe language spoken, as a code from the languages Verbato transcribes, until transcription starts. An empty string returns it to automatic. Left out, unchanged.
documentsarrayWhich of the type's documents to write, each named by its templateId and instructionsId. Left out, unchanged; an empty list, the transcript alone.

Respuestas

  • 200ApplyProjectSettingsResult
  • 400un error
  • 403un error
  • 404un error
  • 429un error
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID/settings" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{id}/retry

Retry a failed project

Starts a failed project again: its status goes back to Pending. Only a failed project can be retried (400). When as many recordings are running as the account allows, the request is refused with 429 and the project stays as it is: send it again later.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 200Project
  • 400un error
  • 404un error
  • 429un error
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/retry" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{id}/resume

Start a project held for hours

Starts a project that was held because the account's hours did not cover it (status QuotaBlocked). It starts at once when the account has a free slot, and is queued (status Queued) when it has none. Hours already promised to queued or running projects do not count as available: while the hours are still short, the answer is 409 with requiredMinutes and availableMinutes. A held project also starts by itself when hours arrive.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 202Project
  • 400un error
  • 404un error
  • 409un error
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/resume" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/projects/{id}/download-url

Get a link to the recording or the first transcript

Returns a link to download the project's original recording (format audio) or its transcript as first written, before any edit (format json). The link expires in 60 minutes. Any other format is refused with 400 and DOWNLOAD_FORMAT_UNSUPPORTED: the transcript as it stands, in txt, srt, vtt, docx or pdf, is GET /api/v1/projects/{id}/transcript.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
formatquerystringaudio for the original recording, json for the transcript as first written. Any other format is refused (400). Por defecto json.

Respuestas

  • 200DownloadUrlResponse
  • 400un error
  • 403un error
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/download-url" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{id}/retranscribe

Transcribe a project again

Creates a new project from the same recording with other settings (language, speakers). It keeps the project's type and document selection, so it writes the documents a first run writes; speakers left out follow the type. The new project is counted against the account's hours like any other, and they are counted first: when they do not cover the recording, the answer is 409 with requiredMinutes and availableMinutes, nothing starts and the original stays as it is. A language the plan does not transcribe, or a plan that cannot transcribe again, is refused with 403; as many recordings running as the account allows, with 429.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
languagestringThe language spoken, as a code from the languages Verbato transcribes (GET /api/v1/usage, supportedLanguages). Left out, identified from the recording.
enableDiarizationbooleanLabel who speaks when. Left out, the project type decides.

Respuestas

  • 201RetranscribeResponse
  • 400un error
  • 403un error
  • 404un error
  • 409un error
  • 429un error
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/retranscribe" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{id}/diarize

Add speaker labels

Labels the speakers of a completed project's transcript, from the audio it already has, without transcribing it again. A project that already has speaker labels is refused (400), and so is a plan without them (403). When as many recordings are running as the account allows, the request is refused with 429 and the project stays as it is: send it again later.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
localequerystringes for the Spanish names of the packs' project types. Left out, English.

Respuestas

  • 200ProjectDetail
  • 400un error
  • 403un error
  • 404un error
  • 409un error
  • 429un error
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/diarize" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/projects/{id}/exports

List the transcript's export formats

Lists the transcript's export formats, each with its download path and whether it can be downloaded now: the project must be completed and the format allowed by the plan.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 200ProjectExports
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/exports" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{id}/share

Create or update a share link

Gives a completed project a link that anyone who has it can open to read its documents, and returns the link. A project already shared keeps its link. includeTranscript sets whether the link shows the transcript too; left out, the setting does not change.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
includeTranscriptbooleanWhether the link shows the transcript too. Left out, unchanged.

Respuestas

  • 200ShareResponse
  • 400un error
  • 404un error
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/share" \
  -H "Authorization: Bearer $VERBATO_KEY"
DELETE/api/v1/projects/{id}/share

Revoke the share link

Removes the share link: it stops working, and sharing the project again makes a new one.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 204
  • 404un error
Petición
curl -X DELETE "https://api.verbato.io/api/v1/projects/$PROJECT_ID/share" \
  -H "Authorization: Bearer $VERBATO_KEY"

Documentos

Lo que el tipo de un proyecto escribe a partir de su transcripción: léelo, corrígelo, vuelve a escribirlo, expórtalo.

GET/api/v1/projects/{projectId}/documents

List a project's documents

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid

Respuestas

  • 200una lista de Document
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{projectId}/documents

Write another document

Writes one more document for the project, from a template and instructions the account can see. It is written in the background (202): read it back once its status is Completed. Documents are not counted against the hours. A project may have a limited number of documents written for it; past it, the answer is 429.

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid

Cuerpo

CampoTipoQué es
templateId obligatoriouuidThe template the document is written from.
instructionsId obligatoriouuidThe instructions it is written with.

Respuestas

  • 202Document
  • 400un error
  • 404un error
  • 429un error
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"instructionsId":"…","templateId":"…"}'
GET/api/v1/projects/{projectId}/documents/{documentId}

Get a document with its current content and version history

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid
documentId obligatoriopathuuid

Respuestas

  • 200DocumentDetail
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents/$DOCUMENT_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
PUT/api/v1/projects/{projectId}/documents/{documentId}

Edit a document

Saves the content sent, from 1 to 200,000 characters, as a new version (kind Edited) and makes it current.

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid
documentId obligatoriopathuuid

Cuerpo

CampoTipoQué es
content obligatoriostringThe document's whole new content.

Respuestas

  • 200DocumentDetail
  • 400un error
  • 404un error
Petición
curl -X PUT "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents/$DOCUMENT_ID" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content":"## Summary\n\nThe supplier confirmed the first delivery for March."}'
GET/api/v1/projects/{projectId}/documents/{documentId}/versions/{versionId}

Get one version's content

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid
documentId obligatoriopathuuid
versionId obligatoriopathuuid

Respuestas

  • 200DocumentVersionContent
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents/$DOCUMENT_ID/versions/$VERSION_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{projectId}/documents/{documentId}/correct

Correct a document by saying what is wrong

Applies the correction to this document as a new version (kind Corrected). When the correction is a rule rather than a fact about this recording, Verbato also learns it, for the account to keep or drop in the app. The answer's marginTag says which: structure, tone or term when it was learned, once when it was not. Corrections are held to a lower rate than other requests, and a document takes a limited number of them; past either, the answer is 429.

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid
documentId obligatoriopathuuid

Cuerpo

CampoTipoQué es
correction obligatoriostringWhat is wrong, in your own words.
aboutSectionstringThe name of the section the correction is about, if it is about one: at most 1,000 characters.

Respuestas

  • 200DocumentCorrectionResponse
  • 400un error
  • 404un error
  • 429un error
  • 502un error
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents/$DOCUMENT_ID/correct" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"correction":"The second supplier is Brightline, not Brightside."}'
POST/api/v1/projects/{projectId}/documents/{documentId}/regenerate

Write a document again

Writes a new version (kind Regenerated) in the background and makes it current; an edited version stays in the history. It counts toward the project's limit of documents written. When the template or the instructions it was written from no longer exist, the answer is 409.

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid
documentId obligatoriopathuuid

Respuestas

  • 202Document
  • 400un error
  • 404un error
  • 409un error
  • 429un error
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents/$DOCUMENT_ID/regenerate" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/projects/{projectId}/documents/{documentId}/export

Export a document

Exports the current version as a file: md, txt, docx or pdf. Exports are not counted against the hours.

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid
documentId obligatoriopathuuid
formatquerystringmd, txt, docx or pdf. Por defecto md.

Respuestas

  • 200
  • 400un error
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents/$DOCUMENT_ID/export?format=pdf" \
  -H "Authorization: Bearer $VERBATO_KEY" -o document.pdf
PUT/api/v1/projects/{projectId}/documents/{documentId}/current-version

Make a version current

Makes one of the document's versions current. An export is of the current version.

Parámetros

ParámetroEnTipoQué es
projectId obligatoriopathuuid
documentId obligatoriopathuuid

Cuerpo

CampoTipoQué es
versionId obligatoriouuidThe version to make current, one of the document's.

Respuestas

  • 200DocumentDetail
  • 400un error
  • 404un error
Petición
curl -X PUT "https://api.verbato.io/api/v1/projects/$PROJECT_ID/documents/$DOCUMENT_ID/current-version" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"versionId":"…"}'

Segmentos de la transcripción

La transcripción línea a línea: edita una línea, cambia el nombre de quien habla, busca y reemplaza, marca una línea.

PATCH/api/v1/projects/{id}/segments/{segmentId}

Edit a segment's text

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
segmentId obligatoriopathuuid

Cuerpo

CampoTipoQué es
text obligatoriostringThe segment's new text. It cannot be empty.

Respuestas

  • 200
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID/segments/$SEGMENT_ID" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"We ship on the first Monday of each month."}'
PATCH/api/v1/projects/{id}/segments/bulk

Find and replace text across the transcript

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
find obligatoriostringThe text to find.
replace obligatoriostringThe text to put in its place.
caseSensitivebooleanMatch upper and lower case exactly. Left out, false.
wholeWordbooleanMatch whole words only. Left out, false: the text is found inside words too.

Respuestas

  • 200
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID/segments/bulk" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"find":"Acme Ltd","replace":"Acme Limited"}'
PATCH/api/v1/projects/{id}/speakers/{oldLabel}/rename

Rename a speaker across the transcript

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
oldLabel obligatoriopathstring

Cuerpo

CampoTipoQué es
newLabel obligatoriostringThe speaker's new name, on every segment that had the old one.

Respuestas

  • 200
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID/speakers/$OLD_LABEL/rename" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"newLabel":"Dana"}'
PATCH/api/v1/projects/{id}/segments/{segmentId}/speaker

Change one segment's speaker

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
segmentId obligatoriopathuuid

Cuerpo

CampoTipoQué es
speakerstringThe speaker of this segment. It cannot be empty.

Respuestas

  • 200
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID/segments/$SEGMENT_ID/speaker" \
  -H "Authorization: Bearer $VERBATO_KEY"
PATCH/api/v1/projects/{id}/segments/{segmentId}/revert

Put a segment back to the text first transcribed

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
segmentId obligatoriopathuuid

Respuestas

  • 200
Petición
curl -X PATCH "https://api.verbato.io/api/v1/projects/$PROJECT_ID/segments/$SEGMENT_ID/revert" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{id}/segments/{segmentId}/bookmark

Bookmark a segment, or remove its bookmark

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
segmentId obligatoriopathuuid

Respuestas

  • 200
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/segments/$SEGMENT_ID/bookmark" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/projects/{id}/bookmarks

List a project's bookmarked segments

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 200
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/bookmarks" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/projects/{id}/segments/{segmentId}/annotation

Add or change a segment's note

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
segmentId obligatoriopathuuid

Cuerpo

CampoTipoQué es
noteText obligatoriostringThe note's text.

Respuestas

  • 200
Petición
curl -X POST "https://api.verbato.io/api/v1/projects/$PROJECT_ID/segments/$SEGMENT_ID/annotation" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"noteText":"Check the delivery date with finance."}'
DELETE/api/v1/projects/{id}/segments/{segmentId}/annotation

Delete a segment's note

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
segmentId obligatoriopathuuid

Respuestas

  • 200
Petición
curl -X DELETE "https://api.verbato.io/api/v1/projects/$PROJECT_ID/segments/$SEGMENT_ID/annotation" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/projects/{id}/annotations

List a project's segments with notes

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 200
Petición
curl "https://api.verbato.io/api/v1/projects/$PROJECT_ID/annotations" \
  -H "Authorization: Bearer $VERBATO_KEY"

Biblioteca

Las plantillas, las instrucciones y los tipos de proyecto que deciden qué documentos recibe una grabación, y los packs que los traen hechos.

GET/api/v1/library/templates

List templates

The account's own templates and those of its installed packs, Core's included: Core is built in and installed on every account. A pack's template cannot be changed; duplicate it to make one of your own.

Parámetros

ParámetroEnTipoQué es
localequerystringes for the Spanish text of the packs' objects. Left out, English.

Respuestas

  • 200una lista de Template
Petición
curl https://api.verbato.io/api/v1/library/templates \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/library/templates

Create a template

Cuerpo

CampoTipoQué es
name obligatoriostringA name for the document the template writes.
descriptionstringWhat the template is for. Optional.
sections obligatorioarrayThe document's sections, in order.
outputFormatstringmarkdown or plain. Left out, markdown.

Respuestas

  • 201Template
  • 400un error
Petición
curl -X POST https://api.verbato.io/api/v1/library/templates \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Supplier interview summary","sections":[{"name":"Supplier interview summary"}]}'
GET/api/v1/library/templates/{id}

Get a template

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
localequerystringes for the Spanish text of the packs' objects. Left out, English.

Respuestas

  • 200Template
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/library/templates/$TEMPLATE_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
PUT/api/v1/library/templates/{id}

Update one of your templates

A null or absent description keeps the stored one, and so does a null or absent outputFormat. An empty description clears it.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
name obligatoriostringA name for the document the template writes.
descriptionstringWhat the template is for. Null or absent keeps the stored one; empty clears it.
sections obligatorioarrayThe document's sections, in order. They replace the ones it has.
outputFormatstringmarkdown or plain. Null or absent keeps the stored one.

Respuestas

  • 200Template
  • 400un error
  • 403un error
  • 404un error
Petición
curl -X PUT "https://api.verbato.io/api/v1/library/templates/$TEMPLATE_ID" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Supplier interview summary","sections":[{"name":"Supplier interview summary"}]}'
DELETE/api/v1/library/templates/{id}

Delete one of your templates

Refused (409) while a project type uses it.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 204
  • 403un error
  • 404un error
  • 409un error
Petición
curl -X DELETE "https://api.verbato.io/api/v1/library/templates/$TEMPLATE_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/library/templates/{id}/section-state

Switch a section of one of your templates off or on

A section that is off stays in the template, with its name, its guidance and its place, and is not written. Applies from the next generation: documents already written are not touched. At least one section stays on.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
index obligatoriointegerThe section's place in the template, from 0.
name obligatoriostringIts heading, which must match the section at that place.
off obligatoriobooleantrue to switch it off, false to switch it on.

Respuestas

  • 200Template
  • 403un error
  • 404un error
  • 409un error
Petición
curl -X POST "https://api.verbato.io/api/v1/library/templates/$TEMPLATE_ID/section-state" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"index":0,"name":"Supplier interview summary","off":true}'
POST/api/v1/library/templates/{id}/own-section-state

Switch a section off in your copy of a pack's template

A pack's template is never changed. With no copy of it yet, it is copied into your library with the section off, and the project type that writes it becomes one of your own too (201). With a copy, copyId names the one the section goes off in (200). It never replaces a copy and never makes a second one: 409 COPY_EXISTS when a copy exists and none was named.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
index obligatoriointegerThe section's place in the pack's template, from 0.
name obligatoriostringIts heading, which must match the section at that place.
instructionsId obligatoriouuidThe instructions the template is paired with.
copyIduuidYour copy to switch the section off in. Left out, a copy is made.
projectTypeIduuidThe project type the template is written under.
localestringes to make the copy in Spanish. Left out, English.

Respuestas

  • 200OwnSectionStateResponse
  • 201OwnSectionStateResponse
  • 404un error
  • 409un error
Petición
curl -X POST "https://api.verbato.io/api/v1/library/templates/$TEMPLATE_ID/own-section-state" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"index":0,"instructionsId":"…","name":"Supplier interview summary"}'
POST/api/v1/library/templates/{id}/duplicate

Duplicate a template into your library

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 201Template
  • 404un error
Petición
curl -X POST "https://api.verbato.io/api/v1/library/templates/$TEMPLATE_ID/duplicate" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/library/instructions

List instructions

The account's own instructions and those of its installed packs, Core's included. A pack's instructions cannot be changed; duplicate them to make your own. Rules for reading a recording are ordinary instructions.

Parámetros

ParámetroEnTipoQué es
localequerystringes for the Spanish text of the packs' objects. Left out, English.

Respuestas

  • 200una lista de Instructions
Petición
curl https://api.verbato.io/api/v1/library/instructions \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/library/instructions

Create instructions

Cuerpo

CampoTipoQué es
name obligatoriostringA name, up to 200 characters.
descriptionstringWhat the instructions are for. Optional.
rulesText obligatoriostringThe rules the document is written by, as plain text.

Respuestas

  • 201Instructions
  • 400un error
Petición
curl -X POST https://api.verbato.io/api/v1/library/instructions \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Supplier interview summary","rulesText":"Write in plain sentences. Name each supplier as they were introduced."}'
GET/api/v1/library/instructions/{id}

Get instructions

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
localequerystringes for the Spanish text of the packs' objects. Left out, English.

Respuestas

  • 200Instructions
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/library/instructions/$INSTRUCTION_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
PUT/api/v1/library/instructions/{id}

Update your instructions

A null or absent description keeps the stored one. An empty description clears it.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
name obligatoriostringA name, up to 200 characters.
descriptionstringWhat the instructions are for. Null or absent keeps the stored one; empty clears it.
rulesText obligatoriostringThe rules the document is written by, as plain text.

Respuestas

  • 200Instructions
  • 400un error
  • 403un error
  • 404un error
Petición
curl -X PUT "https://api.verbato.io/api/v1/library/instructions/$INSTRUCTION_ID" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Supplier interview summary","rulesText":"Write in plain sentences. Name each supplier as they were introduced."}'
DELETE/api/v1/library/instructions/{id}

Delete your instructions

Refused (409) while a project type uses them.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 204
  • 403un error
  • 404un error
  • 409un error
Petición
curl -X DELETE "https://api.verbato.io/api/v1/library/instructions/$INSTRUCTION_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/library/instructions/{id}/duplicate

Duplicate instructions into your library

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 201Instructions
  • 404un error
Petición
curl -X POST "https://api.verbato.io/api/v1/library/instructions/$INSTRUCTION_ID/duplicate" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/library/project-types

List project types

The account's own project types and those of its installed packs. A project type is a named set of template and instructions pairs, from none upward: each pair writes one document.

Parámetros

ParámetroEnTipoQué es
localequerystringes for the Spanish text of the packs' objects. Left out, English.

Respuestas

  • 200una lista de ProjectType
Petición
curl https://api.verbato.io/api/v1/library/project-types \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/library/project-types

Create a project type

Cuerpo

CampoTipoQué es
name obligatoriostringA name, up to 200 characters.
descriptionstringWhat the project type is for. Optional.
pairs obligatorioarrayThe template and instructions pairs, one per document. May be empty: a project type that writes none, only the transcript.

Respuestas

  • 201ProjectType
  • 400un error
Petición
curl -X POST https://api.verbato.io/api/v1/library/project-types \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Supplier interview summary","pairs":[{"instructionsId":"…","templateId":"…"}]}'
GET/api/v1/library/project-types/{id}

Get a project type

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid
localequerystringes for the Spanish text of the packs' objects. Left out, English.

Respuestas

  • 200ProjectType
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/library/project-types/$PROJECT_TYPE_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
PUT/api/v1/library/project-types/{id}

Update one of your project types

Replaces its pairs with the ones sent. A null or absent description keeps the stored one. An empty description clears it.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Cuerpo

CampoTipoQué es
name obligatoriostringA name, up to 200 characters.
descriptionstringWhat the project type is for. Null or absent keeps the stored one; empty clears it.
pairs obligatorioarrayThe pairs, which replace the ones it has. May be empty.

Respuestas

  • 200ProjectType
  • 400un error
  • 403un error
  • 404un error
Petición
curl -X PUT "https://api.verbato.io/api/v1/library/project-types/$PROJECT_TYPE_ID" \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Supplier interview summary","pairs":[{"instructionsId":"…","templateId":"…"}]}'
DELETE/api/v1/library/project-types/{id}

Delete one of your project types

Refused (409) while it is the account's default or a channel's.

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 204
  • 403un error
  • 404un error
  • 409un error
Petición
curl -X DELETE "https://api.verbato.io/api/v1/library/project-types/$PROJECT_TYPE_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/library/project-types/{id}/duplicate

Duplicate a project type, with its pairs, into your library

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 201ProjectType
  • 404un error
Petición
curl -X POST "https://api.verbato.io/api/v1/library/project-types/$PROJECT_TYPE_ID/duplicate" \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/library/default-project-type

Get the account's default project type

The account's default, when it has one it can still see; otherwise Core's Transcript + summary. A project created without a type gets this one.

Parámetros

ParámetroEnTipoQué es
localequerystringes for the Spanish text of the packs' objects. Left out, English.

Respuestas

  • 200ProjectType
  • 404un error
Petición
curl https://api.verbato.io/api/v1/library/default-project-type \
  -H "Authorization: Bearer $VERBATO_KEY"
PUT/api/v1/library/default-project-type

Set the account's default project type

Cuerpo

CampoTipoQué es
projectTypeId obligatoriouuidA project type the account can see.

Respuestas

  • 200ProjectType
  • 404un error
Petición
curl -X PUT https://api.verbato.io/api/v1/library/default-project-type \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"projectTypeId":"…"}'
GET/api/v1/library/packs

List packs

Every pack, and whether the account has installed it. Core is built in and installed on every account.

Parámetros

ParámetroEnTipoQué es
localequerystringes for the Spanish text of the packs' objects. Left out, English.

Respuestas

  • 200una lista de Pack
Petición
curl https://api.verbato.io/api/v1/library/packs \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/library/packs/{key}/contents

See what a pack holds

The pack's project types, with the documents each one writes, its templates with their section names, and its specialties, whether the pack is installed or not. With a specialty, only the project types and templates tagged with it or with none.

Parámetros

ParámetroEnTipoQué es
key obligatoriopathstring
localequerystringes for the Spanish text of the packs' objects. Left out, English.
specialtyquerystringA specialty key of the pack: only the project types and templates tagged with it, or tagged with none, are listed. Left out, every one.

Respuestas

  • 200PackContents
  • 404un error
Petición
curl "https://api.verbato.io/api/v1/library/packs/$PACK_KEY/contents" \
  -H "Authorization: Bearer $VERBATO_KEY"
POST/api/v1/library/packs/{key}/install

Install a pack

Installs the pack: its project types, templates and instructions join the account's. Installing a pack already installed changes nothing.

Parámetros

ParámetroEnTipoQué es
key obligatoriopathstring
sourcequerystringWhere in the app the install was asked from. Leave it out: it changes nothing.
specialtyquerystringThe specialty the install was asked for, one of the pack's. Leave it out: it changes nothing.

Respuestas

  • 200Pack
  • 404un error
Petición
curl -X POST "https://api.verbato.io/api/v1/library/packs/$PACK_KEY/install" \
  -H "Authorization: Bearer $VERBATO_KEY"
DELETE/api/v1/library/packs/{key}/install

Uninstall a pack

Core cannot be uninstalled. A default that names one of the pack's project types is reset; your own duplicates are not touched.

Parámetros

ParámetroEnTipoQué es
key obligatoriopathstring

Respuestas

  • 204
  • 400un error
  • 404un error
Petición
curl -X DELETE "https://api.verbato.io/api/v1/library/packs/$PACK_KEY/install" \
  -H "Authorization: Bearer $VERBATO_KEY"

Uso

Las horas de la cuenta y lo que ha usado.

GET/api/v1/usage/hours

Get the account's hours

The minutes left in this period's allowance and in top-up packs, the period's dates, the minutes used in it, and the minutes metered past the allowance.

Respuestas

  • 200HourUsage
Petición
curl https://api.verbato.io/api/v1/usage/hours \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/usage/dashboard-stats

Get the account's statistics

Returns dashboard statistics including project counts (current and previous period for trend), total duration, top export format, and project breakdown by source channel.

Respuestas

  • 200DashboardStats
Petición
curl https://api.verbato.io/api/v1/usage/dashboard-stats \
  -H "Authorization: Bearer $VERBATO_KEY"
GET/api/v1/usage

Get the account's usage

Returns the account's usage: its projects this period against the plan's limit, their total duration in seconds, the jobs running and the most that may run at once, the plan, the billing period's dates, and whether the account opted out of analytics.

Respuestas

  • 200Usage
Petición
curl https://api.verbato.io/api/v1/usage \
  -H "Authorization: Bearer $VERBATO_KEY"

Webhooks

Las direcciones a las que Verbato llama cuando un proyecto termina o falla.

POST/api/v1/webhooks

Register a webhook

Registers an https address to call when one of the account's projects completes or fails. The answer carries the webhook's signing secret, the only time it is shown. An account may have 5 webhooks. What is sent, and how to check its signature, is under webhooks. An account whose plan does not include the API cannot register one: 403, with the code PLAN_UPGRADE_REQUIRED.

Cuerpo

CampoTipoQué es
url obligatoriostringAn https address of yours that answers POST.
eventsarrayproject.completed, project.failed, or both. Left out, both.

Respuestas

  • 201CreatedWebhook
  • 400un error
  • 403un error
Petición
curl -X POST https://api.verbato.io/api/v1/webhooks \
  -H "Authorization: Bearer $VERBATO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/hooks/verbato","events":["project.completed","project.failed"]}'
GET/api/v1/webhooks

List webhooks

The account's webhooks: each one's address and events, the start of its secret, whether it is on, when it last delivered, and how many deliveries in a row have failed.

Respuestas

  • 200una lista de Webhook
Petición
curl https://api.verbato.io/api/v1/webhooks \
  -H "Authorization: Bearer $VERBATO_KEY"
DELETE/api/v1/webhooks/{id}

Delete a webhook

Parámetros

ParámetroEnTipoQué es
id obligatoriopathuuid

Respuestas

  • 204
  • 404un error
Petición
curl -X DELETE "https://api.verbato.io/api/v1/webhooks/$WEBHOOK_ID" \
  -H "Authorization: Bearer $VERBATO_KEY"