canonical: https://jentic.com/apis/getvibrato.com/getvibrato

# Getvibrato Vibrato Call API

Jentic publishes the only available OpenAPI specification for Vibrato Call API, keeping it validated and agent-ready. The Vibrato Call API powers AI-driven outbound and inbound phone calls. Across 23 endpoints it covers calls, campaigns, contacts, and task templates - the building blocks for automating phone outreach with AI voice. Authentication is HTTP bearer, and the API exposes a clean CRUD pattern across each resource so an integration can list contacts, build a campaign, and launch calls programmatically.

## For AI agents

Place AI-driven phone calls, run call campaigns, manage contacts, and configure task templates through Vibrato across 23 endpoints with bearer-token authentication.

## Scope

Does not handle SMS, email, or video conferencing - use for Vibrato AI-driven phone calls and call campaigns only.

## Capabilities

- Place an outbound AI-driven phone call to a specific contact
- Build call campaigns that target a contact list with a shared task template
- Manage contacts with name, phone number, and metadata fields
- Define reusable task templates that describe what the AI should accomplish on the call
- Update or delete a call, campaign, contact, or task template by id
- Retrieve a single call's status and recording references for downstream workflows

## Use cases

### Automated Lead Follow-Up Calling

Sales teams configure a campaign that calls every new inbound lead within minutes, using a task template that qualifies the lead and books a meeting if appropriate. Vibrato handles the AI voice, the contact iteration, and the per-call status tracking, so the sales-ops integration only needs to push contacts and read call outcomes.

Example prompt: Create a campaign 'New-Lead-Followup' that calls all contacts created in the last hour using task template id 42.

### Single AI Call from a Workflow Trigger

When a workflow tool detects a high-value event (a payment failure, a demo no-show), it can place a single targeted AI call rather than running a full campaign. POST /calls accepts a contact id and task template and returns the call uuid. The integration then polls GET `/calls/{id}` for status until the call completes.

Example prompt: Place a single call to contact uuid 'cnt_99' using task template 'payment-failure-recovery' and poll GET `/calls/{id}` until status is final.

### Contact List Synchronisation

CRM-driven contact lists feed Vibrato's contacts resource so campaigns target the latest customer record set. POST /contacts adds a contact, GET /contacts lists them with filters, and PATCH `/contacts/{id}` updates phone or metadata. This keeps the AI calling layer aligned with the CRM source of truth.

Example prompt: List the firm's CRM contacts and POST any missing ones to /contacts in Vibrato.

### AI Agent Voice Outreach

An AI agent assigned to a customer-success workflow can place calls, queue campaigns, and update task templates without UI navigation. Through Jentic the agent finds each operation by intent ('place an AI call' or 'create a call campaign') and Vibrato bearer tokens stay in the encrypted vault rather than reaching the agent context.

Example prompt: Create a campaign targeting contacts tagged 'renewal-30d' using template 'renewal-call' and start it.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/calls` | Place an AI-driven outbound call |
| GET | `/calls/{id}` | Retrieve a single call's status and details |
| POST | `/campaigns` | Create a call campaign |
| GET | `/campaigns` | List campaigns |
| PATCH | `/campaigns/{uuid}` | Update a campaign |
| POST | `/contacts` | Create a contact |
| GET | `/contacts` | List contacts |

## Key resources

- **Calls** — Place, list, retrieve, update, and cancel AI-driven phone calls
- **Campaigns** — Create, list, retrieve, update, and delete call campaigns targeting contact lists
- **Contacts** — Manage contacts with name, phone number, and metadata
- **Task Templates** — Define reusable templates describing what the AI should achieve on a call

## Why Jentic

- **Setup:** Wiring the Vibrato Call API by hand means attaching your bearer token to every request to api.getvibrato.com and being careful that each call places a real, billable outbound phone call yourself. Through Jentic you install once, import the Vibrato Call API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Vibrato puts the call and campaign id in the URL path (`/calls/{id}`, `/campaigns/{uuid}`), so a rule can pin your agent to one campaign for reads and updates. You choose the operations it may call, so placing a new billable call is not included unless you add it.
- **Credential handling:** Your Vibrato bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'place an AI phone call' or 'create a call campaign', and Jentic returns the matching Vibrato operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio Voice** — Twilio Voice provides primitive voice infrastructure; Vibrato is a higher-level AI calling product
- **Bland** — Bland is a comparable AI voice agent platform with similar call and campaign primitives
- **HubSpot CRM Contacts** — HubSpot stores the contact records that feed Vibrato campaigns

## FAQ

### Why is there no official OpenAPI spec for Vibrato Call API?

Vibrato does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the Vibrato Call API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Vibrato Call API use?

Vibrato uses HTTP bearer authentication - the bearer token is sent in the Authorization header. Through Jentic this token is stored encrypted in the vault and the agent receives only a scoped invocation capability, so the raw token never enters its context.

### Can I place a single AI phone call with the Vibrato API?

Yes. POST /calls accepts a contact reference and the task-template id and returns the call's uuid. Poll GET `/calls/{id}` for the latest status, recording references, and outcome details.

### What are the rate limits for the Vibrato Call API?

The spec does not declare explicit rate limits. Vibrato meters concurrent calls and total minutes by plan; production integrations should respect 429 responses with backoff and avoid spinning up many campaigns simultaneously without checking quota first.

### How do I create a call campaign through Jentic?

Search Jentic for 'create a vibrato call campaign'. Jentic returns POST /campaigns with its input schema; load it with the contact filter and task-template id, execute, and capture the returned campaign uuid for follow-up calls.

### Can I update a contact's phone number via the API?

Yes. PATCH `/contacts/{id}` accepts the partial update payload - for example a new phone number or metadata - and returns the updated contact record. POST /contacts is used for new records; PATCH is used to keep the list aligned with upstream CRM changes.

### Can I limit what my agent is allowed to do with the Vibrato Call API?

Yes. Because you run Jentic One yourself, your own rules decide which Vibrato operations and credentials the agent may use, so you can grant read and update calls like GET `/calls/{id}` or PATCH `/campaigns/{uuid}` while withholding the ability to place a new billable call. Vibrato puts the call and campaign id in the URL path (`/calls/{id}`, `/campaigns/{uuid}`), so a rule can pin the agent to a single campaign for reads and updates. Placing an outbound call via POST /calls is only available to the agent if you explicitly add that operation to what it is allowed to call.
