Pitchbox API Local (2.0)

E-mail: api@pitchbox.com License: proprietary

Pitchbox Developer API V2

The new Pitchbox API (API V2) allows you to access and interact with your Pitchbox data. The RESTful interface with JSON-formatted responses provides an easy way for developers to access the campaign, project, and outreach-related data.

Downloads

To help you test the API, Download a Swagger file to use in other API documentation tools such as Postman.

To get a proper directory structure when importing to Postman, please select "Tag" as the "Folder Organization" option. See screenshot below.

Folder Organization

Requests

Pagination

All "List" methods include pagination. To control limit and page numbers, use parameters page and limit.

Example of Opportunity Search with 10 results starting at page 3:

/api/opportunities?page=3&limit=10

The default limit is 100 items per page and maximum is 1000. If limit is set to greater than 1000, only 1000 results will be returned.

Filters

Results from list method can be filtered using two ways:

  1. A q parameter, which is very dynamic and mimics Advanced Search functionality in the Pitchbox application.
  2. Specific parameters defined for each method in the documentation.

The q parameter supports the following conditions:

Condition Example
= q=project.name="Example", q=project.name=""
!= q=project.name!="Example", q=project.name!=""
: (Like) q=project.name:"Example"
!: (Not like) q=project.name!:"Example"
>= q=project.id>=5
<= q=project.id<=5
> q=project.id>5 -> project.id > 5
< q=project.id<5 -> project.id < 5

Rate Limit

The rate limit is 300 requests per minute (rolling), per user. If the limit is reached, requests will be throttled and fail with status code 429.

Responses

Possible response status codes and messages:

Status Code Description Response Body
200 OK JSON
400 Bad request, missing required data, etc. {"message": "Missed required request parameters"}
401 Unauthorized. Invalid or missing signature {"message": "Access token is required for this operation."}
403 Access denied for inactive users {"message": "User or account inactive"}
404 Resource not found {"message": "Account contact not found"}
503 Maintenance {"message": "Maintenance"}

API Authentication

Overview

Pitchbox's API supports API Keys (JWT) authentication method. API Keys can be retrieved using two methods: using Pitchbox's user interface or using the "Get Refresh Token" endpoint.

First method is simple: API keys are created and managed in Pitchbox's user interface. To generate and retrieve API keys, click on the 'My Profile' menu item and select the 'API Keys' option. Then click on the 'New API Key' button to generate new keys. To retrieve an existing key, click the 'Copy' icon.

Api Credentials

The second method requires two steps:

Step 1 - Get Refresh Token: Send a request to the “Get Refresh Token” endpoint with your authorization data (email, password, account_name)

Step 2 - Get Access Token: Send a request to the “Get Access Token” endpoint and pass the newly generated Refresh Token. Access Tokens are active for 30 minutes.

Authentication

JWT

The Pitchbox API V2 uses JWT (JSON Web Tokens) to authenticate user-level access. JWT one of the most secure ways to authenticate to the Pitchbox's API and is an open standard. When authenticating to the Pitchbox's API, a JWT should be included as a Bearer <JWT> in each request's header.

Example:

// example.http
GET https://apiv2.pitchbox.com/api/opportunities
Authorization: Bearer <your token here>
Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

ClientIdInHeader

Security Scheme Type API Key
Header parameter name: X-Client-Id

ClientKeyInHeader

Security Scheme Type API Key
Header parameter name: Authorization

Auth

Get Access Token

Returns an access_token valid for 30 minutes.

Request Body schema: application/json
refresh_token
string

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "eyJ0e.eyJleHAiOm51b.b2dYOEfpg"
}

Response samples

Content type
application/json
{
  • "access_token": "eyJ0e.eyJleHAiOm51b.b2dYOEfpg"
}

Get Refresh Token

Returns a refresh_token needed to generate an access_token. This request will also provide the initial access_token, which is good for 30 minutes. When the access_token expires, use the Get Access Token method to generate a new one.

Request Body schema: application/json
email
string
password
string
account_name
string

Responses

Request samples

Content type
application/json
{
  • "email": "superman@pitchbox.com",
  • "password": "12345",
  • "account_name": "superman"
}

Response samples

Content type
application/json
{
  • "access_token": "yJ0e.eyJleHAiOm51b.b2",
  • "refesh_token": "yJ0e.eyJleHAiOm51b.b2",
  • "expires_in": "1800",
  • "client_payload":
    [
    ],
  • "profile":
    {
    }
}

Address Book

Get Contact By Id

Get Contact By Id
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "enhancement":
    {
    },
  • "email": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "opportunity_ids": [ ],
  • "is_unsubscribed": true,
  • "unsubscribed_date": "2019-08-24T14:15:22Z",
  • "unsubscribed_by": 0,
  • "unsubscribed_via_communication": 0,
  • "last_communication_date": "2019-08-24T14:15:22Z"
}

List Contacts

List Contacts
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

campaign.id
number

Filtering by campaign.id

email
string

Filtering by email

is_unsubscribed
boolean

Filtering by is_unsubscribed

opportunity.id
number

Filtering by opportunity.id

project.id
number

Filtering by project.id

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

Update Contact By Id

Update Contact By Id
Request cost: 2

Authorizations:
Request Body schema: application/json
first_name
string Nullable
last_name
string Nullable

Responses

Request samples

Content type
application/json
{
  • "first_name": "string",
  • "last_name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "enhancement":
    {
    },
  • "email": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "opportunity_ids": [ ],
  • "is_unsubscribed": true,
  • "unsubscribed_date": "2019-08-24T14:15:22Z",
  • "unsubscribed_by": 0,
  • "unsubscribed_via_communication": 0
}

Campaigns

Add Campaign Tags

Add Campaign Tags
Request cost: 2

Authorizations:
Request Body schema: application/json
tag
integer Nullable

Id of related tag

Responses

Request samples

Content type
application/json
{
  • "tag": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "tag":
    {
    },
  • "tagged_at": "2019-08-24T14:15:22Z"
}

Add to Backlink Campaign

Add to Backlink Campaign
Request cost: 2

Authorizations:
Request Body schema: application/json
input
required
Array of strings

Array of urls

metrics_filter_template_id
number

Campaign metrics filter template (see List Metrics Filter Templates)

Responses

Request samples

Content type
application/json
{
  • "input":
    [
    ],
  • "metrics_filter_template_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "project":
    {
    },
  • "created_by":
    {
    },
  • "country":
    {
    },
  • "tags":
    [
    ],
  • "name": "string",
  • "status": "string",
  • "domain_metrics": true,
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "data_source": "string"
}

Add to Discovery Campaign

Add to Discovery Campaign
Request cost: 2

Authorizations:
Request Body schema: application/json
input
required
Array of strings

Array of keywords/urls

metrics_filter_template_id
number

Campaign metrics filter template (see List Metrics Filter Templates)

Responses

Request samples

Content type
application/json
{
  • "input":
    [
    ],
  • "metrics_filter_template_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "project":
    {
    },
  • "created_by":
    {
    },
  • "country":
    {
    },
  • "tags":
    [
    ],
  • "name": "string",
  • "status": "string",
  • "domain_metrics": true,
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "data_source": "string"
}

Add to Import Campaign

Add to Import Campaign
Request cost: 2

Authorizations:
Request Body schema: application/json
required
Array of objects

Array of opportunity data

object

Full list of personalization fields can be obtained at /api/personalization endpoint.

object

Full list of custom fields can be obtained at /api/custom_fields endpoint.

metrics_filter_template_id
number

Campaign metrics filter template (see List Metrics Filter Templates)

Responses

Request samples

Content type
application/json
{
  • "import_json":
    [
    ],
  • "personalization_mapping":
    {
    },
  • "custom_fields_mapping":
    {
    },
  • "metrics_filter_template_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "project":
    {
    },
  • "created_by":
    {
    },
  • "country":
    {
    },
  • "tags":
    [
    ],
  • "name": "string",
  • "status": "string",
  • "domain_metrics": true,
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "data_source": "string"
}

Create Backlink Campaign

Create Backlink Campaign
Request cost: 2

Authorizations:
Request Body schema: application/json
clone_campaign_id
number

Requests with this field will copy the settings such as templates, outreach schedules, and personalization fields from a given campaign ID.

name
required
string

Campaign name

project
required
number

Campaign project

country
string

Country code (ISO 3166-1 alpha-2, example: us, gb)

input
required
Array of strings

Array of urls

tag_campaign_ids
Array of numbers

Array of tag ids

limit
number

Campaign opportunities limit (maximum depends on your plan)

backlink_type
string

Specify integration partner to use. Options are: moz, majestic, ahrefs, moz-url, majestic-url, ahrefs-url, ahrefs-broken. Integration partner campaigns require authorization and configuration through the app.

get_metrics
boolean
get_contacts
boolean
opportunity_deduplication
boolean
metrics_filter_template_id
number

Campaign metrics filter template (see List Metrics Filter Templates)

Responses

Request samples

Content type
application/json
{
  • "clone_campaign_id": 1,
  • "name": "CSV Hotels near Malorca",
  • "project": 1,
  • "country": "string",
  • "input":
    [
    ],
  • "tag_campaign_ids":
    [
    ],
  • "limit": 0,
  • "backlink_type": "string",
  • "get_metrics": true,
  • "get_contacts": true,
  • "opportunity_deduplication": true,
  • "metrics_filter_template_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "project":
    {
    },
  • "created_by":
    {
    },
  • "country":
    {
    },
  • "tags":
    [
    ],
  • "name": "string",
  • "status": "string",
  • "domain_metrics": true,
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "data_source": "string"
}

Create Discovery Campaign

Create Discovery Campaign
Request cost: 2

Authorizations:
Request Body schema: application/json
clone_campaign_id
number

Requests with this field will copy the settings such as templates, outreach schedules, and personalization fields from a given campaign ID.

name
required
string

Campaign name

project
required
number

Campaign project

country
string

Country code (ISO 3166-1 alpha-2, example: us, gb)

input
required
Array of strings

Array of keywords/urls

tag_campaign_ids
Array of numbers

Array of tag ids

limit
number

Campaign opportunities limit (maximum depends on your plan)

discovery_type
required
string

Example: advanced_operator_search, blogger_outreach, resource_pages, roundups, hot_off_the_press. Full list can be obtained at /api/discovery_types endpoint.

get_metrics
boolean
get_contacts
boolean
opportunity_deduplication
boolean
metrics_filter_template_id
number

Campaign metrics filter template (see List Metrics Filter Templates)

Responses

Request samples

Content type
application/json
{
  • "clone_campaign_id": 1,
  • "name": "CSV Hotels near Malorca",
  • "project": 1,
  • "country": "string",
  • "input":
    [
    ],
  • "tag_campaign_ids":
    [
    ],
  • "limit": 0,
  • "discovery_type": "string",
  • "get_metrics": true,
  • "get_contacts": true,
  • "opportunity_deduplication": true,
  • "metrics_filter_template_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "project":
    {
    },
  • "created_by":
    {
    },
  • "country":
    {
    },
  • "tags":
    [
    ],
  • "name": "string",
  • "status": "string",
  • "domain_metrics": true,
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "data_source": "string"
}

Create Import Campaign

Create Import Campaign
Request cost: 2

Authorizations:
Request Body schema: application/json
clone_campaign_id
number

Requests with this field will copy the settings such as templates, outreach schedules, and personalization fields from a given campaign ID.

name
required
string

Campaign name

project
required
number

Campaign project

country
string

Country code (ISO 3166-1 alpha-2, example: us, gb)

required
Array of objects

Array of opportunity data

object

Personalization fields.

object

Full list of custom fields can be obtained at /api/custom_fields endpoint.

tag_campaign_ids
Array of numbers

Array of tag ids

get_metrics
boolean
get_contacts
boolean
approval_workflow
boolean
opportunity_deduplication
boolean
merge_duplicate_personalization
boolean
metrics_filter_template_id
number

Campaign metrics filter template (see List Metrics Filter Templates)

Responses

Request samples

Content type
application/json
{
  • "clone_campaign_id": 1,
  • "name": "CSV Hotels near Malorca",
  • "project": 1,
  • "country": "string",
  • "import_json":
    [
    ],
  • "personalization_mapping":
    {
    },
  • "custom_fields_mapping":
    {
    },
  • "tag_campaign_ids":
    [
    ],
  • "get_metrics": true,
  • "get_contacts": true,
  • "approval_workflow": true,
  • "opportunity_deduplication": true,
  • "merge_duplicate_personalization": true,
  • "metrics_filter_template_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "project":
    {
    },
  • "created_by":
    {
    },
  • "country":
    {
    },
  • "tags":
    [
    ],
  • "name": "string",
  • "status": "string",
  • "domain_metrics": true,
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "data_source": "string"
}

Delete Campaign Tag

Delete Campaign Tag
Request cost: 2

Authorizations:

Responses

Get Campaign By Id

Get Campaign By Id
Response item cost: 1
Request cost: 2

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "project":
    {
    },
  • "created_by":
    {
    },
  • "country":
    {
    },
  • "tags":
    [
    ],
  • "name": "string",
  • "status": "string",
  • "domain_metrics": true,
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "data_source": "string"
}

Get Campaign Outreach Settings

Get Campaign Outreach Settings
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "campaign":
    {
    },
  • "daily_limit": 0,
  • "schedule_time_from": "string",
  • "schedule_time_to": "string",
  • "is_active": true,
  • "pause_outreach_until": "2019-08-24T14:15:22Z",
  • "schedule":
    {
    }
}

List Campaigns

List Campaigns
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

id
number

Filtering by id

name
string

Filtering by name

project.id
number

Filtering by project.id

status
string

Filter by status. Possible values: active, archived, deleted

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Discovery Types

List Discovery Types
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

Update Campaign

Update Campaign
Request cost: 2

Authorizations:
Request Body schema: application/json
name
string Nullable
domain_contact
boolean Nullable
disable_deduplication
boolean Nullable
approval_workflow
boolean Nullable

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "project":
    {
    },
  • "created_by":
    {
    },
  • "country":
    {
    },
  • "tags":
    [
    ],
  • "name": "string",
  • "status": "string",
  • "domain_metrics": true,
  • "domain_contact": true,
  • "disable_deduplication": true,
  • "approval_workflow": true,
  • "created_at": "2019-08-24T14:15:22Z",
  • "type": "string",
  • "data_source": "string"
}

Update Campaign Outreach Settings

Update Campaign Outreach Settings
Request cost: 2

Authorizations:
Request Body schema: application/json
daily_limit
number Nullable
schedule_time_from
string Nullable
schedule_time_to
string Nullable
is_active
boolean Nullable
pause_outreach_until
string <date-time> Nullable

Pause outreach until (Accepts 30-minute increments only)

object

Responses

Request samples

Content type
application/json
{
  • "daily_limit": 0,
  • "schedule_time_from": "string",
  • "schedule_time_to": "string",
  • "is_active": true,
  • "pause_outreach_until": "2019-08-24T14:15:22Z",
  • "schedule":
    {
    }
}

Response samples

Content type
application/json
{
  • "campaign":
    {
    },
  • "daily_limit": 0,
  • "schedule_time_from": "string",
  • "schedule_time_to": "string",
  • "is_active": true,
  • "pause_outreach_until": "2019-08-24T14:15:22Z",
  • "schedule":
    {
    }
}

Emails

List Email Accounts

List Email Accounts
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

id
number

Filtering by id

name
string

Filtering by name

status
string

Filtering by status

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Form Submissions

List Form Submissions
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

campaign.id
number

Filtering by campaign.id

opportunity.id
number

Filtering by opportunity.id

project.id
number

Filtering by project.id

user.id
number

Filtering by user.id

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Inbound Emails

List Inbound Emails
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

campaign.id
number

Filtering by campaign.id

email_account.id
number

Filtering by email_account.id

project.id
number

Filtering by project.id

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Outreach Emails

List Outreach Emails
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

sent_at_from
required
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the sent_at_from can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
sent_at_to
required
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Maximum period is 30 days
campaign.id
number

Filtering by campaign.id

contact.id
number

Filtering by contact.id

email_account.id
number

Filtering by email_account.id

opportunity.id
number

Filtering by opportunity.id

project.id
number

Filtering by project.id

user.id
number

Filtering by user.id

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Sent Reply Emails

List Sent Reply Emails
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

campaign.id
number

Filtering by campaign.id

email_account.id
number

Filtering by email_account.id

opportunity.id
number

Filtering by opportunity.id

project.id
number

Filtering by project.id

sent_at_from
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the sent_at_from can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
sent_at_to
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the sent_at_to can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

Opportunities

Add Opportunity

Add Opportunity
Request cost: 2

Authorizations:
Request Body schema: application/json
url
string

Opportunity url (For contact-based opportunity, do not provide 'url'. Just add value to 'contact' field.)

campaign
required
number

Opportunity project

Array of objects

Array of opportunity contacts (in case of empty url it will opportunity)

object

Oppotunity personalization. Field names: website, email_address, opportunity_name, first_name, last_name, company, job_title, work_phone, mobile_phone, contact_form_url, site_name, page_title

Responses

Request samples

Content type
application/json
{
  • "url": "string",
  • "campaign": 1,
  • "contacts":
    [
    ],
  • "personalization":
    {
    }
}

Add Opportunity Contact

Add Opportunity Contact
Request cost: 2

Authorizations:
Request Body schema: application/json
email
string Nullable

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "enhancement":
    {
    },
  • "email": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "opportunity_ids": [ ],
  • "is_unsubscribed": true,
  • "unsubscribed_date": "2019-08-24T14:15:22Z",
  • "unsubscribed_by": 0,
  • "unsubscribed_via_communication": 0
}

Add Opportunity Custom Field Value

Add Opportunity Custom Field Value
Request cost: 2

Authorizations:
Request Body schema: application/json
custom_field
integer Nullable

Id of related custom_field

value
string Nullable

Responses

Request samples

Content type
application/json
{
  • "custom_field": 0,
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "custom_field":
    {
    },
  • "value": "string"
}

Add Opportunity Note

Add Opportunity Note
Request cost: 2

Authorizations:
Request Body schema: application/json
content
string Nullable

Responses

Request samples

Content type
application/json
{
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "content": "string",
  • "is_system": true,
  • "is_zapier": true,
  • "created_at": "2019-08-24T14:15:22Z"
}

Add Opportunity Personalization Field Value

Add Opportunity Personalization Field Value
Request cost: 2

Authorizations:
Request Body schema: application/json
personalization_field
integer Nullable

Id of related personalization_field

value
string Nullable

Responses

Request samples

Content type
application/json
{
  • "personalization_field": 0,
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "personalization_field":
    {
    },
  • "value": "string"
}

Add Opportunity Tags

Add Opportunity Tags
Request cost: 2

Authorizations:
Request Body schema: application/json
tag
integer Nullable

Id of related tag

Responses

Request samples

Content type
application/json
{
  • "tag": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "tag":
    {
    }
}

Get Opportunity By Id

Get Opportunity By Id
Response item cost: 1
Request cost: 2

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "contacts":
    [
    ],
  • "tags":
    [
    ],
  • "milestone":
    {
    },
  • "domain":
    {
    },
  • "campaign":
    {
    },
  • "project":
    {
    },
  • "url": "string",
  • "name": "string",
  • "milestone_date": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "contact_form_url": "string",
  • "last_communication_date": "2019-08-24T14:15:22Z",
  • "last_communication_type": "string",
  • "link_monitoring_urls": [ ],
  • "workflow_status": "string",
  • "stage_status": "string",
  • "outreach_in_progress": true,
  • "outreach_started_date": "2019-08-24T14:15:22Z"
}

Launch automation

Launch Automation
Request cost: 2

Authorizations:
Request Body schema: application/json
opportunity_ids
Array of numbers

Target opportunity ids (max 50 items per call)

Responses

Request samples

Content type
application/json
{
  • "opportunity_ids":
    [
    ]
}

List Custom Fields

List Custom Fields
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Opportunities

List Opportunities
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

group
string

Context group of call usage. Available groups: by_domain,with_fields_and_metrics.

project.id
required
number

Filtering by project.id

campaign.id
number

Filtering by campaign.id

campaign.status
string

Filter by status. Possible values: active, archived, deleted

created_at
string <date>
Example 1 (single date): 2025-02-27
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the created_at can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
domain.name
string

Filtering by domain.name

id
number

Filtering by id

include_contacts
boolean

Include opportunity contacts to response

last_communication_date
string <date>
Example 1 (single date): 2025-02-27
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the last_communication_date can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
last_communication_type
string

Filtering by last_communication_type

milestone.id
number

Filtering by milestone.id

milestone_date
string <date>
Example 1 (single date): 2025-02-27
Example 2 (date range): 2025-02-24|2025-02-27
Filtering opportunities by the last milestone_date can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
name
string

Filtering by name

outreach_in_progress
boolean

Filtering by outreach_in_progress

outreach_started_date
string <date>
Example 1 (single date): 2025-02-27
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the outreach_started_date can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
project.status
string

Filter by status. Possible values: active, archived, deleted

tag_name
string

Filter by tag name

updated_at
string <date>
Example 1 (single date): 2025-02-27
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the updated_at can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
url
string

Filtering by url

workflow_status
string

Filtering by workflow_status

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Opportunity Custom Fields Values

List Opportunity Custom Fields Values
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Opportunity Milestone History

List Opportunity Milestone History
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Opportunity Milestones

List Opportunity Milestones
Response item cost: 1
Request cost: 2
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Opportunity Personalization Field Values

List Opportunity Personalization Field Values
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

List Personalization Fields

List Personalization Fields
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

project.id
required
number

Filtering by project.id

campaign.id
number

Filtering by campaign.id

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

Remove Opportunity Contact

Remove Opportunity Contact
Request cost: 2

Authorizations:

Responses

Update Opportunity

Update Opportunity
Request cost: 2

Authorizations:
Request Body schema: application/json
milestone
integer Nullable

Id of related milestone

Responses

Request samples

Content type
application/json
{
  • "milestone": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "tags":
    [
    ],
  • "milestone":
    {
    },
  • "domain":
    {
    },
  • "campaign": 0,
  • "project":
    {
    },
  • "url": "string",
  • "name": "string",
  • "milestone_date": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "contact_form_url": "string",
  • "last_communication_date": "2019-08-24T14:15:22Z",
  • "last_communication_type": "string",
  • "link_monitoring_urls": [ ],
  • "workflow_status": "string",
  • "stage_status": "string",
  • "outreach_in_progress": true,
  • "outreach_started_date": "2019-08-24T14:15:22Z"
}

Projects

List Projects

List Projects
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

id
number

Filtering by id

name
string

Filtering by name

status
string

Filter by status. Possible values: active, archived, deleted

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

Reports

Get Reports Info

Get reports info
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
campaigns_over_time
boolean

Include campaigns over time

workflow_over_time
boolean

Include workflow over time

outreach_over_time
boolean

Include outreach over time

won_lost_over_time
boolean

Include won lost over time

responses_by_attempt
boolean

Include responses by attempt

start_date
string <date>

Reports start date

end_date
string <date>

Reports end date

project_id
integer

Reports by projects

campaign_id
integer

Reports by campaigns

tag_opp_ids
Array of numbers

Reports by opportunity tags

tag_campaign_ids
Array of numbers

Reports by campaign tags

Responses

Response samples

Content type
application/json
{
  • "campaign_count": "1",
  • "sent_count": "1",
  • "responded_count": "1",
  • "won_count": "1",
  • "campaigns_over_time":
    [
    ],
  • "workflow_over_time":
    [
    ],
  • "outreach_over_time":
    [
    ],
  • "won_lost_over_time":
    [
    ],
  • "responses_by_attempt":
    [
    ]
}

Metrics

Create Metrics Filter Template

Create Metrics Filter Template
Request cost: 2

Authorizations:
Request Body schema: application/json
visibility
string Nullable
object Nullable
object Nullable
object Nullable
object Nullable
object Nullable
object Nullable
name
string Nullable

Responses

Request samples

Content type
application/json
{
  • "visibility": "string",
  • "moz":
    {
    },
  • "semrush":
    {
    },
  • "majestic":
    {
    },
  • "google":
    {
    },
  • "cemper":
    {
    },
  • "ahrefs":
    {
    },
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_by":
    {
    },
  • "visibility": "string",
  • "moz":
    {
    },
  • "semrush":
    {
    },
  • "majestic":
    {
    },
  • "google":
    {
    },
  • "cemper":
    {
    },
  • "ahrefs":
    {
    },
  • "name": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Delete Metrics Filter Template

Delete Metrics Filter Template
Request cost: 2

Authorizations:

Responses

List Metrics Filter Templates

List Metrics Filter Templates
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

name
string

Filtering by name

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

Update Metrics Filter Template

Update Metrics Filter Template
Request cost: 2

Authorizations:
Request Body schema: application/json
visibility
string Nullable
object Nullable
object Nullable
object Nullable
object Nullable
object Nullable
object Nullable
name
string Nullable

Responses

Request samples

Content type
application/json
{
  • "visibility": "string",
  • "moz":
    {
    },
  • "semrush":
    {
    },
  • "majestic":
    {
    },
  • "google":
    {
    },
  • "cemper":
    {
    },
  • "ahrefs":
    {
    },
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "created_by":
    {
    },
  • "visibility": "string",
  • "moz":
    {
    },
  • "semrush":
    {
    },
  • "majestic":
    {
    },
  • "google":
    {
    },
  • "cemper":
    {
    },
  • "ahrefs":
    {
    },
  • "name": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Tasks

Add Task

Add Task
Request cost: 2

Authorizations:
Request Body schema: application/json
assigned_to
integer Nullable

Id of related assigned_to

project
required
integer Nullable

Id of related project

campaign
integer Nullable

Id of related campaign

communication
integer Nullable

Id of related communication

opportunity
integer Nullable

Id of related opportunity

name
required
string Nullable
description
string Nullable
due_date
string <date-time> Nullable
autocomplete_on_communication
boolean Nullable
autocomplete_on_milestone
boolean Nullable

Responses

Request samples

Content type
application/json
{
  • "assigned_to": 0,
  • "project": 0,
  • "campaign": 0,
  • "communication": 0,
  • "opportunity": 0,
  • "name": "string",
  • "description": "string",
  • "due_date": "2019-08-24T14:15:22Z",
  • "autocomplete_on_communication": true,
  • "autocomplete_on_milestone": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "completed_by":
    {
    },
  • "assigned_to":
    {
    },
  • "project":
    {
    },
  • "campaign":
    {
    },
  • "communication":
    {
    },
  • "opportunity":
    {
    },
  • "name": "string",
  • "description": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "due_date": "2019-08-24T14:15:22Z",
  • "completed_at": "2019-08-24T14:15:22Z",
  • "autocomplete_on_communication": true,
  • "autocomplete_on_milestone": true,
  • "type": "string"
}

List Tasks

List Tasks
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

group
string

Context group of call usage. Available groups: by_opportunity.

project.id
required
number

Filtering by project.id

assigned_to.id
number

Filtering by assigned_to.id

campaign.id
number

Filtering by campaign.id

communication.id
number

Filtering by communication.id

completed
boolean

Filtering by completed

completed_at_from
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the completed_at_from can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
completed_at_to
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the completed_at_to can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
completed_by.id
number

Filtering by completed_by.id

created_at_from
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the created_at_from can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
created_at_to
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the created_at_to can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
due_date
string <date>
Example 1 (single date): 2025-02-27
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the due_date can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
due_date_from
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the due_date_from can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
due_date_to
string <date-time>
Example 1 (single date): 2020-07-07 10:10
Example 2 (date range): 2025-02-24|2025-02-27
Filtering by the due_date_to can be done with a single date or a date range. When date range is used, separate the FROM and TO dates by a pipe, |. The data ranges are inclusive.
name
string

Filtering by name

opportunity.id
number

Filtering by opportunity.id

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

Tags

List Tags

List Tags
Response item cost: 1
Request cost: 2

Authorizations:
query Parameters
q
string

Filter by response properties

type
string

Filter by tag type (campaign or opportunity)

Responses

Response samples

Content type
application/json
{
  • "items":
    [
    ],
  • "items_count": 0,
  • "page": 0,
  • "limit": 0
}

Users

Get My Profile

Get My Profile
Response item cost: 1
Request cost: 2

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "first_name": "Steve",
  • "last_name": "Jobs",
  • "id": "1"
}

Unsubscribe

Unsubscribe

Unsubscribe
Request cost: 2

Authorizations:
Request Body schema: application/json
email_address
string Nullable

Responses

Request samples

Content type
application/json
{
  • "email_address": "string"
}

Response samples

Content type
application/json
{
  • "email_address": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}