> ## Documentation Index
> Fetch the complete documentation index at: https://crevio.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ads & Voice

> Run multi-platform paid ad campaigns and place autonomous AI phone calls through the API — campaigns, audiences, pixels, and leads on the ads side; AI calls, phone numbers, and consent management on the voice side.

**Ads and Voice are Crevio's two outbound-growth surfaces: launch and optimize paid ad campaigns across platforms, and have an AI place real phone calls on your behalf — both metered as you go.**

You can just ask Crevio to launch a campaign for a product or call a lead to book a demo. Or drive it through the API: the ads surface manages the full campaign hierarchy, audiences, pixels, and leads; the voice surface places AI phone calls with a clear objective, manages your numbers, and tracks consent.

Both domains have many endpoints — this guide covers the workflow and the key calls. See the [API reference](/developer/api-reference/introduction) for the exhaustive parameter lists.

## Ads

Crevio ads run across multiple platforms with a standard hierarchy: **Campaign → Ad Group → Ad**, plus custom audiences, pixels & conversions, and lead forms.

### Connect an ads account first

Ads need their own connection — separate from your other integrations — before you can sync or create campaigns.

```bash theme={null}
curl -X POST https://api.crevio.co/v1/ads/connect \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

<Warning>
  Campaign creation will fail until an ads account is connected. Always run `POST /ads/connect` first.
</Warning>

### The campaign hierarchy

Once connected, build top-down:

```bash theme={null}
# 1. Create a campaign
curl -X POST https://api.crevio.co/v1/ads/campaigns \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Listing promo", "objective": "conversions" }'

# 2. Add an ad group under it, then 3. ads under the group
curl -X POST https://api.crevio.co/v1/ads/ad-groups \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "campaign": "adcmp_abc123", "name": "Lookalike — buyers" }'
```

### Audiences, targeting, pixels, and conversions

* **Custom audiences** — build and reuse audience segments.
* **Targeting search & reach estimates** — search targeting options and estimate audience reach before you spend.
* **Pixels & conversions** — install pixels and report conversions back for optimization.
* **Lead forms & leads** — collect leads with on-platform forms and pull the resulting leads.

### Boost a post and Click-to-WhatsApp

Turn an existing organic [social](/developer/guides/social) post into a paid ad:

```bash theme={null}
curl -X POST https://api.crevio.co/v1/ads/boost \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "post": "post_abc123", "budget": 5000 }'
```

Click-to-WhatsApp campaigns are supported for driving conversations directly into WhatsApp.

### Performance reports

Pull performance reports to see spend, results, and ROAS across the hierarchy, then feed that back into optimization — or let a [Task](/developer/guides/tasks) do the optimizing on a schedule.

## Voice

Crevio places **autonomous AI phone calls** — inbound and outbound. You give the AI an objective and an opening line, and it makes the call. Voice is billed per minute.

### Place a call

`POST /calls` starts an outbound AI call.

| Field           | Purpose                                   |
| --------------- | ----------------------------------------- |
| `to_number`     | The number to call                        |
| `objective`     | What the AI should accomplish on the call |
| `first_message` | The opening line the AI says              |
| `purpose`       | The reason/category for the call          |

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.crevio.co/v1/calls \
    -H "Authorization: Bearer YOUR_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "to_number": "+15551234567",
      "objective": "Follow up with the lead about the home they inquired about and book a viewing.",
      "first_message": "Hi, this is Maple Realty following up on the listing you asked about.",
      "purpose": "lead_follow_up"
    }'
  ```

  ```typescript SDK theme={null}
  import { Crevio } from "@crevio/sdk";

  const crevio = new Crevio({ apiKeyAuth: "YOUR_API_TOKEN" });

  await crevio.calls.create({
    to_number: "+15551234567",
    objective:
      "Follow up with the lead about the home they inquired about and book a viewing.",
    first_message: "Hi, this is Maple Realty following up on the listing you asked about.",
    purpose: "lead_follow_up",
  });
  ```

  ```text MCP (agent) theme={null}
  Call +1 555 123 4567 to follow up on the listing they inquired about
  and book a viewing.
  ```
</CodeGroup>

### Phone numbers

Provision a number to call from (and to receive inbound calls), and release it when you're done.

```bash theme={null}
# Provision a number
curl -X POST https://api.crevio.co/v1/phone-numbers \
  -H "Authorization: Bearer YOUR_API_TOKEN"

# Release a number
curl -X DELETE https://api.crevio.co/v1/phone-numbers/phon_abc123 \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

### Consent and do-not-call (TCPA)

Voice includes compliance tooling. Record **TCPA consents** before calling, and maintain **do-not-call suppressions** so the AI never dials a suppressed number.

```bash theme={null}
# Record consent
curl -X POST https://api.crevio.co/v1/phone-consents \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "phone_number": "+15551234567" }'

# Suppress a number (do not call)
curl -X POST https://api.crevio.co/v1/phone-suppressions \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "phone_number": "+15559876543" }'
```

<Warning>
  Calls are billed per minute and draw down credits. Always confirm you have valid consent before placing outbound calls.
</Warning>

## Next steps

<CardGroup cols={2}>
  <Card title="Social" icon="hashtag" href="/developer/guides/social">
    Boost organic posts into paid ads.
  </Card>

  <Card title="Tasks" icon="robot" href="/developer/guides/tasks">
    Automate campaign optimization and follow-up calls.
  </Card>

  <Card title="Usage & credits" icon="coins" href="/developer/guides/usage-billing">
    See how per-minute calls and ad operations bill.
  </Card>

  <Card title="API reference" icon="book" href="/developer/api-reference/introduction">
    Every ads and voice endpoint and parameter.
  </Card>
</CardGroup>
