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

# Introduction

> Programmatic access to your Gojiberry AI data.

This API lets you access your Gojiberry AI data and integrate it with your applications.

## How it works

Gojiberry runs your outreach as a pipeline of three building blocks:

1. **Source agent — the lead finder.** A source agent continuously sources leads matching your targeting criteria (job titles, industries, locations, signals, ...) and scores them with AI.
2. **List — where the leads land.** Every source agent is linked to a list (`listId` is required when creating an agent): the leads it finds are imported as contacts into that list. Lists can also be filled by importing contacts yourself.
3. **Campaign — the outreach.** A campaign uses one or more lists as its lead source (`listIds` is required when creating a campaign) and runs its steps (LinkedIn invitations, messages, emails, ...) on the contacts of those lists, sending through your LinkedIn and/or email seats. Once activated, the campaign runs the outreach automatically on a daily basis.

**Terminology.** In the Gojiberry platform, an **Agent** is a *campaign agent* — the campaign that performs the outreach. A **source agent** is the lead finder that sources the leads. The two are linked through a **list**: the source agent imports the leads it finds into the list, and the campaign agent reaches out to the contacts of that list.

**Best practice: create a Full Cycle agent.** Always create the three resources in this order — first the list, then the source agent that fills it, then the campaign that reaches out to it. Together, the list + source agent + campaign agent form a **Full Cycle agent**: leads are sourced and outreached automatically, end to end. If you create a source agent without a campaign agent, it shows up as a **legacy agent** in the platform: it only sources leads and does **no outreach**. So it's best practice to always create all three.

A typical setup through the API:

```text theme={null}
POST /v1/list                  # 1. create the list
POST /v1/agent                 # 2. create the source agent (lead finder) linked to that list (listId)
POST /v1/campaign              # 3. create the campaign agent using that list as lead source (listIds)
GET  /v1/campaign/{id}/logs    # 4. follow the outreach activity
```

## Base URL

**Production:** `https://ext.gojiberry.ai`

## Example usage

```bash theme={null}
# Get all contacts
curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://ext.gojiberry.ai/v1/contact

# Get contacts with filtering
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://ext.gojiberry.ai/v1/contact?search=john&agent=1&dateFrom=2024-01-01"

# Get a specific contact
curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://ext.gojiberry.ai/v1/contact/123
```

Authentication, impersonation, and rate limits are on the [Quickstart](/quickstart) page. Webhook delivery and signature verification are on the [Webhooks](/api-reference/webhooks) page.

## Support

For API support, contact [hello@gojiberry.ai](mailto:hello@gojiberry.ai).


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