Gojiberry AI Email Seat API
The Email Seat API from Gojiberry AI — 1 operation(s) for email seat.
The Email Seat API from Gojiberry AI — 1 operation(s) for email seat.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/gojiberry-ai:gojiberry-ai-email-seat-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Gojiberry AI - External Email Seat API
description: '# Gojiberry AI External API
This API allows you to programmatically 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
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
```
## Authentication
All API requests require authentication using a Bearer token. To get your API key:
1. **Log in to your Gojiberry AI account** at https://app.gojiberry.ai
2. **Navigate to Settings** → **API** section
3. **Click "Create API Key"** to generate a new token
4. **Copy the API key** when it''s displayed (you won''t be able to see it again)
5. **Use the token** in your requests by adding the header: `Authorization: Bearer YOUR_API_KEY`
## Impersonation (organization owners)
If your API key belongs to the **owner of an organization**, you can perform any API call on behalf of another member of your organization by adding the `x-impersonate-user-id` header with the member''s user ID:
```bash
# Get the contacts of the organization member with user ID 123
curl -H "Authorization: Bearer YOUR_API_KEY" \
-H "x-impersonate-user-id: 123" \
https://ext.gojiberry.ai/v1/contact
```
When impersonating, the request behaves exactly as if it was made by that member: you read and write their data (contacts, campaigns, lists, unibox, etc.). Rules:
- Your API key must belong to the **organization owner**; other members cannot impersonate. - The impersonated user must belong to the **same organization** as the API key user. - Requests that don''t meet these rules are rejected with a `401 Unauthorized`. Tip: use `GET /v1/organization/members` to list the members of your organization and their user IDs, and `GET /v1/user/me` to verify which user the current request acts as. ## Rate Limits
- **100 requests per minute** per account. Short bursts above this are tolerated. - **100,000 requests per day** per account.'
version: '1.0'
contact: {}
servers:
- url: https://ext.gojiberry.ai
description: Production
tags:
- name: Email Seat
paths:
/v1/email-seat:
get:
description: Retrieve the email seats (connected Gmail / Outlook mailboxes) of the authenticated user. The seat IDs can be used in the emailSeatIds field when creating a campaign with POST /v1/campaign. When impersonating with the x-impersonate-user-id header, the email seats of the impersonated user are returned.
operationId: EmailSeatExternalController_getEmailSeats
parameters:
- name: x-impersonate-user-id
in: header
description: ID of an organization member to act on behalf of. The API key user must be the owner of the organization and the target user must belong to the same organization.
required: false
schema:
type: string
responses:
'200':
description: List of email seats
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: number
description: Email seat ID (usable in the emailSeatIds field of POST /v1/campaign)
email:
type: string
description: Email address of the mailbox
name:
type:
- string
- 'null'
description: Display name used as sender name
firstName:
type:
- string
- 'null'
description: First name of the sender
lastName:
type:
- string
- 'null'
description: Last name of the sender
type:
type: string
enum:
- google
- outlook
description: Email provider of the mailbox
purchased:
type: boolean
description: Whether the mailbox was purchased through Gojiberry
dailyEmailMax:
type: number
description: Maximum number of emails sent per day
dailyEmailCount:
type: number
description: Number of emails sent today
launchHour:
type: number
description: Hour of the day (0-23) at which the daily sending starts
activeDays:
type:
- object
- 'null'
description: Days of the week on which the seat sends emails
properties:
monday:
type: boolean
tuesday:
type: boolean
wednesday:
type: boolean
thursday:
type: boolean
friday:
type: boolean
saturday:
type: boolean
sunday:
type: boolean
trackOpening:
type: boolean
description: Whether email opens are tracked
removeUnsubscribeLink:
type: boolean
description: Whether the unsubscribe link is removed from the emails
warmupEnabled:
type: boolean
description: Whether the mailbox warm-up is enabled
warmupCompleted:
type: boolean
description: Whether the mailbox warm-up is completed
warmupStartedAt:
type:
- string
- 'null'
format: date-time
description: Date at which the warm-up started
createdAt:
type: string
format: date-time
description: Date at which the mailbox was connected
updatedAt:
type: string
format: date-time
description: Last update date
security:
- bearer: []
summary: Get all email seats
tags:
- Email Seat
components:
securitySchemes:
bearer:
scheme: bearer
bearerFormat: JWT
type: http
description: Enter API Key
x-provenance:
method: harvested
publisher: Gojiberry AI
source: https://ext.gojiberry.ai/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)