---
title: Verbit API Integration on Truto
slug: verbit
category: Artificial Intelligence
canonical: "https://truto.one/integrations/detail/verbit/"
---

# Verbit API Integration on Truto



**Category:** Artificial Intelligence  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 46 tools for Verbit that AI agents can call directly.

- **list_all_verbit_insights** — List Verbit AI insights for a specific job, supporting both live sessions and post-production jobs. Returns: uuid, url, fields. One of job_id, job_uuid, or order_id must be provided.
- **verbit_insights_generate** — Generate Verbit AI insights for a job based on the job's insights configuration. Returns: ErrorType, ErrorComment. Required: insights. One of job_id, job_uuid, or order_id must be provided.
- **list_all_verbit_orders** — List Verbit orders filtered by various criteria including search text, order type, status, recurrence, and dates. Returns: id, category_id, short_id, name, client_transaction_id, status, internal_status, last_updated_at, input, output, po_number, cost_center, service_type, settings, contact_details, request_origin, attachments, created_by, container, groups, created_at, verbitext_group_id,…
- **create_a_verbit_order** — Create a new live order in Verbit. Returns the created order including id, name, status, internal_status, input, output, and created_at. Required: name, client_transaction_id, input, output. Start time must be in the future.
- **get_single_verbit_order_by_id** — Get a single Verbit order by id. Returns: id, created_at, uuid, url, fields. Required: id.
- **update_a_verbit_order_by_id** — Update an existing Verbit order by id, modifying fields such as name, status, input, settings, contact details, and attachments. Returns the updated order object including id, name, status, internal_status, input, output, and created_at. Required: id.
- **verbit_orders_get_transcript** — Get the transcript for a specific Verbit order. Returns: link, is_verbitext_available, series_link, audio_recording_link, uuid, url, fields. Required: order_id.
- **verbit_orders_update_status** — Update the status of a Verbit order — primarily used to cancel an order. Returns the updated order object including id, name, status, and created_at. Required: order_id, name. Status can only be updated to canceled; cancellations only affect orders in created, pending_approval, pending_execution, ready_to_connect, or execution_error status.
- **verbit_orders_bulk_update** — Bulk update multiple Verbit orders by sending a JSON array of order objects. Returns: orders, uuid, url, fields. Required: client_transaction_id per order. Status can only be updated to canceled; updates must be made at least 5 hours (Captivate) or 24 hours (Human tier) before event start.
- **update_a_verbit_recurrence_by_id** — Update a Verbit recurrence order by id, modifying details such as name, input, settings, and contact information. Returns the updated order including id, name, status, internal_status, input, output, settings, contact_details, groups, and created_at. Required: id. The recurrence parameter defaults to 'future', which requires order_id.
- **verbit_recurrences_cancel** — Cancel orders in a Verbit recurring event series by recurrence id. Returns the order object including id, name, status, internal_status, created_at, input, output, and groups with recurrence rules. Required: recurrence_id. Orders can only be canceled in created, pending_approval, pending_execution, ready_to_connect, or execution_error status.
- **create_a_verbit_delivery** — Create a download request for Verbit captioning/transcription files. Returns the delivery object including its id, order_ids, formats, status, and download url. Required: order_ids, formats. The delivery status is automatically set to pending on creation.
- **get_single_verbit_delivery_by_id** — Get a Verbit download delivery by id. Returns the delivery object including its id, order_ids, formats, languages, status, and download url. Required: id.
- **verbit_deliveries_get_status** — Get the status of a Verbit download delivery by delivery_id. Returns: status, uuid, url, fields. Required: delivery_id.
- **verbit_uploads_get_presigned_url** — Get a presigned URL for uploading attachments to Verbit. Returns: uuid, url, fields. Required: file_name.
- **list_all_verbit_jobs** — List Verbit jobs with optional filtering by external_id, profile, job_name, language, label, and permission. Returns: id, category_id, short_id, name, client_transaction_id, status, internal_status, last_updated_at, input, output, po_number, cost_center, service_type, settings, contact_details, request_origin, attachments, created_by, container, groups, created_at, verbitext_group_id, editor_ids,…
- **create_a_verbit_job** — Create a new transcription job in Verbit by specifying an API version and a transcription profile. Returns a 201 success response. Required: v, profile. Optional parameters include job_name, language, dynamic_dictionary, permissions, labels, job_metadata, translation settings, and order_details.
- **verbit_jobs_add_asset** — Add an asset file to a Verbit transcription job. Returns a 200 success response. Required: v, job_id.
- **verbit_jobs_add_media** — Add media to a Verbit transcription job via a direct media URL or previously uploaded asset IDs. Returns a 200 success response. Required: v, job_id, media_url. Media URLs must be GET-accessible for at least 24 hours; merge_assets requires at least two asset_ids.
- **verbit_jobs_add_backup_record** — Add a backup record to a Verbit job by linking a previously uploaded asset to an existing transcription job. Returns a 200 success response. Required: v, job_id, asset_id.
- **verbit_jobs_add_notes_attachments** — Add notes or attachments to a Verbit transcription job by URL or asset ID. Returns an empty 200 response on success. Required: v, job_id. One of notes_attachment_url or asset_ids must be provided (mutually exclusive).
- **verbit_jobs_add_transcription** — Add existing transcription text or a transcription URL to a Verbit job. Returns an empty 200 response on success. Required: v, job_id. One of transcription_text or transcription_url must be provided (mutually exclusive).
- **verbit_jobs_perform_transcription** — Start transcription processing for a Verbit job, initiating ASR and human review. Returns an empty 200 response on success. Required: v, job_id.
- **verbit_jobs_get_info** — Get information and status for a specific Verbit job. Returns: job_id, external_id, status, draft_ready. Required: v, job_id.
- **verbit_jobs_get_draft** — Download the draft transcription for a Verbit job in the requested caption format. Returns the draft content as a file (srt, web_vtt, sami, txt, docx, or pdf). Required: v, job_id.
- **verbit_jobs_get_caption** — Download a transcription or caption file for a Verbit job. Returns: caption. Required: v, job_id.
- **verbit_jobs_get_keywords** — Get keywords associated with a Verbit job. Returns: keywords. Required: v, job_id.
- **verbit_jobs_get_widget_code** — Get embeddable HTML widget code for a Verbit job's transcription viewer, synced with a media player. Returns: widget_code. Required: v, job_id. Either player_id or media_url must be provided, but not both.
- **verbit_jobs_get_offline_widget** — Get the offline widget for a Verbit transcription job by job_id. Returns: widget. Required: v, job_id.
- **verbit_jobs_request_review** — Request a review for a Verbit transcription job by job_id. Returns: status, ErrorType, ErrorComment. Required: v, job_id.
- **verbit_jobs_request_upload_url** — Request a direct upload URL for a media file associated with a Verbit job. Returns a 200 success response with no documented response body fields. Required: v, job_id, file_name.
- **verbit_jobs_create_smart_player** — Create a Smart Player for a Verbit job. Returns a 200 success response with no documented response body fields. Required: v, job_id, video_url, title.
- **verbit_jobs_get_smart_player** — Get the Smart Player configuration for a Verbit job. Returns: job_id, video_url, title, description, credits, thumbnail_url, favicon. Required: v, job_id.
- **verbit_jobs_bulk_update** — Update the Smart Player configuration for a Verbit job. Returns: job_id, video_url, title, description, credits, thumbnail_url, favicon. Required: v, job_id, video_url, title.
- **list_all_verbit_profiles** — List Verbit profiles available for transcription job configuration. Profiles are referenced by name when creating or filtering jobs. Returns: id, name. Required: v.
- **list_all_verbit_users** — List users in Verbit. Returns a collection of user objects including id and email.
- **get_single_verbit_user_by_id** — Get a single Verbit user by id. Returns the user object including id and email. Required: id.
- **verbit_users_find_by_email** — Find a Verbit user by email address. Returns the matching user object including id and email. Required: email.
- **get_single_verbit_session_by_id** — Get details for a specific Verbit live session by id. Returns the full session order object including id, name, status, internal_status, input, output, contact_details, settings, and created_at. Required: id.
- **verbit_sessions_set_upstream** — Set the upstream state for a Verbit live session, controlling whether the audio/video source is blocked or passed through. Returns an empty 200 response on success. Required: order_id, upstream.
- **verbit_sessions_set_caption_placement** — Set the caption placement position for a Verbit live session. Returns an empty 200 response on success. Required: order_id, caption_placement.
- **verbit_sessions_end** — End a Verbit live session immediately by order id. Returns an empty 200 response on success. Required: order_id.
- **verbit_sessions_get_max_extend_time** — Get the maximum extend time available for a Verbit live session by order id. Returns the session order object including id, name, status, input, output, and created_at. Required: order_id.
- **verbit_sessions_extend** — Extend a Verbit realtime session's duration to a specified end time. Returns: ErrorType, ErrorComment. Required: order_id (UUID), end_time (ISO 8601 UTC).
- **verbit_sessions_change_connection_plan** — Change the connection plan template for a Verbit realtime session. Returns: ErrorType, ErrorComment. Required: order_id, connection_plan_id.
- **create_a_verbit_auth_token** — Acquire a JWT bearer token for authenticating Verbit API calls by submitting the integration's configured API key. Returns: token, ErrorType, ErrorComment. The bearer token expires 24 hours after creation.

## How it works

1. **Link your customer's Verbit account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Verbit.** The Proxy API is a 1-to-1 mapping of the Verbit API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Add ADA-compliant captioning to your video platform** — Video hosting, LMS, and content platforms can offer end-users native transcription and closed captioning without building an ASR pipeline. Truto handles the Verbit auth and API mechanics so you ship accessibility features in days, not quarters.
- **Power live-captioned webinars and virtual events** — Event and webinar platforms can programmatically book live captioners, stream real-time captions into their player, and extend sessions when broadcasts run long. Give enterprise customers FCC/ADA-ready live events out of the box.
- **Deliver certified transcripts inside legal case workflows** — LegalTech and deposition software can push secure audio to Verbit, request verbatim human-reviewed transcripts, and pull certified PDF/DOCX deliveries back into the case file — all without exposing users to Verbit's UI.
- **Turn long-form video into AI study guides and chapters** — EdTech and corporate learning products can auto-generate summaries, chapters, and keywords from lecture recordings using Verbit's Gen V insights, making every uploaded video searchable and study-ready.
- **Embed interactive transcript players without frontend work** — Media and knowledge-base platforms can drop Verbit's Smart Player into their UI to give users clickable, searchable transcripts synced to playback — offered as a premium tier to their customers.

## What you can build

- **Automated post-upload transcription pipeline** — When a user uploads media, create a Verbit job, attach the media, trigger transcription, and pull the finished transcript back into your app automatically.
- **Live captioning session controller** — Book live captioning orders, manage upstream feeds, adjust caption placement, extend runtime, and end sessions programmatically from your event scheduler.
- **Transcription tier selector for end users** — Surface Verbit profiles (AI-only, AI + human review, verbatim legal) inside your product so customers can pick accuracy vs. cost per job.
- **Multi-format transcript export** — Let users request deliveries in SRT, VTT, PDF, or DOCX and attach the finished files directly to records in your platform.
- **Embedded Smart Player with synced transcript** — Fetch Verbit's widget code or offline widget for a completed job and render an interactive, searchable transcript player inside your UI.
- **AI insights and chapter generation** — Trigger Gen V insights on completed transcripts to surface auto-generated summaries, keywords, and chapters as a premium content feature.

## FAQs

### How is authentication handled with Verbit through Truto?

Truto manages Verbit API credentials on behalf of your end users through Integrated Accounts. Your users connect their Verbit account once, and Truto handles token storage, refresh, and injection into every request — you never touch raw credentials.

### Can we upload large media files directly to Verbit?

Yes. Use verbit_uploads_get_presigned_url or verbit_jobs_request_upload_url to obtain a signed URL, then stream the file directly to Verbit's storage without proxying bytes through your backend.

### Does the integration support both asynchronous transcription and live captioning?

Yes. Asynchronous workflows use Jobs (create_a_verbit_job, verbit_jobs_perform_transcription), while live captioning uses Orders and Sessions (create_a_verbit_order, verbit_sessions_extend, verbit_sessions_end) for real-time control.

### How do we know when a transcript is ready?

You can poll job status with verbit_jobs_get_info or check delivery status with verbit_deliveries_get_status. For push-based updates, Truto can also relay Verbit webhooks to your endpoints where supported.

### What transcript output formats are supported?

Through create_a_verbit_delivery, you can request transcripts in SRT, VTT, PDF, and DOCX. You can also fetch drafts, captions, and keywords directly via verbit_jobs_get_draft, verbit_jobs_get_caption, and verbit_jobs_get_keywords.

### Can end users choose different accuracy tiers?

Yes. Use list_all_verbit_profiles to fetch the transcription profiles enabled on the connected Verbit account (e.g., AI-only, AI + human review, verbatim legal) and pass the selected profile when creating a job or order.

### Can we bulk-update jobs or orders?

Yes. verbit_jobs_bulk_update and verbit_orders_bulk_update let you modify multiple records in a single call, which is useful for reassigning profiles, updating metadata, or changing status across a batch.

## Related reading

- [Connect Verbit to Claude: Manage Live Sessions & Real-time Captions via MCP](https://truto.one/blog/connect-verbit-to-claude-manage-live-sessions-and-real-time-captions/) — Learn how to connect Verbit to Claude using a managed MCP server. This guide covers API rate limits, dynamic tool generation, and real-world media workflows.
- [Connect Verbit to ChatGPT: Manage Transcription Jobs and AI Insights](https://truto.one/blog/connect-verbit-to-chatgpt-manage-transcription-jobs-and-ai-insights/) — Learn how to connect Verbit to ChatGPT using a managed MCP server. Automate transcription workflows, extract AI insights, and manage live sessions.
- [Connect Verbit to AI Agents: Scale Media Processing and Deliveries](https://truto.one/blog/connect-verbit-to-ai-agents-scale-media-processing-and-deliveries/) — Learn how to connect Verbit to ai agents using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
