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

# Introduction

> Connect your backend to Pineyard: manage agents, run calling campaigns, send WhatsApp messages and read call results over HTTPS.

The Pineyard API lets your own backend do what your team does in the Pineyard dashboard: set up AI calling
agents, run campaigns against your contact lists, send WhatsApp messages, and read back call outcomes,
transcripts, recordings and extracted lead data.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    List agents, create a campaign, add contacts, start it and read the results.
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    How API keys work and how to get one.
  </Card>

  <Card title="Run a campaign end to end" icon="phone" href="/guides/run-a-campaign">
    The full flow, including phone numbers, scheduling and retries.
  </Card>

  <Card title="Receive results" icon="webhook" href="/guides/receive-results">
    Get a signed webhook when each lead's result is ready.
  </Card>
</CardGroup>

## Base URL

All requests go to:

```text theme={null}
https://api.pineyard.ai
```

Requests and responses are JSON (`Content-Type: application/json`) unless an endpoint says otherwise
(file uploads use `multipart/form-data`; exports return CSV).

## Two API surfaces

| Surface | Paths | What it is for |
| - | - | - |
| **Public API** | `/v1/*` | A small, stable surface for the most common integration: push leads into a running campaign and collect one final result per lead. Also manages campaigns, lists agents and phone numbers. |
| **Workspace API** | everything else (`/agents`, `/campaigns`, `/calls`, `/whatsapp`, …) | The same endpoints the Pineyard dashboard uses. Gives a scoped API key access to everything its scopes allow. |

Both accept the same API key. What a key may do is controlled by its [scopes](/concepts/scopes).

<Note>
  The Workspace API is available to **scoped API keys**. Keys issued before scopes existed can call `/v1`
  endpoints only.
</Note>

## Conventions

* **Durations are in milliseconds.** See [Timestamps & durations](/concepts/timestamps-and-durations).
* **Errors** are JSON objects with a machine-readable `error` code. See [Errors](/concepts/errors).
* **Retries are safe** on billed endpoints when you send an `Idempotency-Key`. See [Idempotency](/concepts/idempotency).
* **Agent prompts are not returned.** In agent responses `prompt` is an empty string and `studioConfig` is `null`.
  See [Agents](/api-reference/introduction#agents) for the one exception.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.