Introduction
# API Endpoint
https://api.overloop.com/public/v1/
Welcome to the Overloop API! You can use our API to access Overloop API endpoints.
Our API follows the JSON API specification. You can view code examples in the dark area to the right.
Authentication
To authorize, use this code:
# With shell, you can just pass the correct header with each request
curl "https://api.overloop.com/public/v1/XXX"
-H "Authorization: your_api_key"
Make sure to replace
your_api_key
with your API key.
Overloop uses API keys to allow access to the API. You can get a new API key in your Overloop account.
Overloop expects for the API key to be included in all API requests to the server in a header that looks like the following:
Authorization: your_api_key
Sorting
# EXAMPLE
GET https://api.overloop.com/public/v1/prospects?sort=-created_at
Get prospects sorted by creation date DESC (most recents first)
Our APIs supports requests to sort resource collections according to one or more criteria using a sort
query parameter. The value for sort
must represent the object attributes.
We support multiple sort attributes by using comma-separated “,” attributes. Sort attributes are applied in the order specified.
The sort order for each sort attributes is ascending by default unless it is prefixed with a minus “-”, in which case it is descending.
Filtering
# EXAMPLE
GET https://api.overloop.com/public/v1/prospects/?filter=first_name:john,last_name:doe
Get prospects whose first name is ‘john’ and last name is 'doe’.
Resource collections retrieved through the API can be filtered using one or several object attributes, in the form of a comma separated list. The filterable attributes accepted by the API for each object collection are detailed in the section of the doc on the considered object.
Pagination
{
"data": [
{
...
}
],
"links": {
"self": "https://api.overloop.com/public/v1/prospects?page%5Bnumber%5D=2&page%5Bsize%5D=1",
"first": "https://api.overloop.com/public/v1/prospects?page%5Bnumber%5D=1&page%5Bsize%5D=1",
"prev": "https://api.overloop.com/public/v1/prospects?page%5Bnumber%5D=1&page%5Bsize%5D=1",
"next": "https://api.overloop.com/public/v1/prospects?page%5Bnumber%5D=3&page%5Bsize%5D=1",
"last": "https://api.overloop.com/public/v1/prospects?page%5Bnumber%5D=2203&page%5Bsize%5D=1"
}
}
Collection APIs paginate their results. The first request returns up to 100 records. If the request returns more than 100 records and links
will be include in the result. This object may contains the following keys:
- self: the current page of data
- first: the first page of data
- last: the last page of data
- prev: the previous page of data
- next: the next page of data
Relationships
# EXAMPLE
GET https://api.overloop.com/public/v1/prospects?include=organization
Get prospects with their associated organizations
Resources returned by the API are returned in the JSON API format, which means that related entities are linked using a “relationship” section in the JSON payloads. This section only contains the links between the unique identifier of related records (in the example, Prospect#29964 and Organization#1).
In order to get access to associated information on an entity, you can use the parameter ?include=
, which will create
a new section “included” containing the full payload of all the associated data. Notice that you can include multiple
relationships by joining them using a comma: GET https://api.overloop.com/public/v1/prospects?include=organization,creator
# RETURNS
{
"data": {
"id": "29964",
"type": "prospects",
"attributes": {
…
},
"relationships": {
"creator": {
"data": {
"id": "181",
"type": "users"
}
},
"owner": {
"data": {
"id": "181",
"type": "users"
}
},
"organization": {
"data": {
"id": "1",
"type": "organizations"
}
}
}
},
"included": [
{
"id": "1",
"type": "organizations",
"attributes": {
"name": "Overloop",
"created_at": "2020-11-06T13:56:44Z",
"updated_at": "2020-11-06T13:56:44Z",
"updater_id": 181,
"creator_id": 181,
"website": null,
"phone": null,
"email": null,
"country": null,
"city": null,
"state": null,
"address": null,
"description": null,
"lists": []
}
}
]
}
Errors
# EXAMPLE OBJECT
## When trying to add a prospect with a duplicate email address
{
"errors": [
{
"source": {
"pointer": "/data/attributes/email"
},
"detail": "has already been taken"
}
]
}
## Error on authentication
{
"errors": [
{
"code": "unauthorized",
"message": "Your API key is wrong. More information here https://apidoc.overloop.com/#authentication"
}
]
}
Overloop uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, a prospect cannot be created, etc.), and codes in the 5xx range indicate an error with Overloop’s servers.
Error Code | Meaning |
---|---|
400 | Bad Request – Your request sucks |
401 | Unauthorized – Your API key is wrong |
403 | Forbidden – The resource requested is hidden for administrators only |
404 | Not Found – The specified resource could not be found |
405 | Method Not Allowed – You tried to access a resource with an invalid method |
406 | Not Acceptable – You requested a format that isn’t json |
410 | Gone – The resource requested has been removed from our servers |
410 | Gone – The resource requested has been removed from our servers |
500 | Unprocessable Entity – You’ve provided invalid parameters with your request |
503 | Service Unavailable – We’re temporarily offline for maintenance. Please try again later. |
API Endpoints
Prospects
The prospect object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "prospects",
"attributes": {
"email": "vincenzo@overloop.com",
"first_name": "Vincenzo",
"last_name": "Ruggiero",
"description": null,
"jobtitle": "CEO",
"linkedin_profile": "https://www.linkedin.com/in/vincenzor",
"phone": "+32-481-754-301",
"title": "Mr.",
"country": "Belgium",
"state": "Walloon Brabant",
"city": "Wavre",
"industry": "IT",
"lists": [
"CEO",
"BE"
],
"email_status": "found",
"c_custom_field_a": "Hot lead",
"created_from": "extension",
"last_emailed_at": null,
"opened": false,
"opened_at": null,
"clicked": false,
"clicked_at": null,
"bounced": false,
"replied": false,
"replied_at": null,
"excluded": false,
"url": "https://overloop.com/prospects/1",
"lists": ["Belgium", "Manager"],
"created_at": "2015-08-15T16:48:46+02:00",
"updated_at": "2016-11-25T12:40:46+01:00"
},
"relationships": {
"creator": {
"data": {
"id": "1",
"type": "users"
}
},
"owner": {
"data": {
"id": "2",
"type": "users"
}
},
"organization": {
"data": {
"id": "2",
"type": "organizations"
}
}
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | yes | integer A unique identifier for the prospect |
yes | string The prospect’s email address |
|
first_name | yes | string The prospect’s first name |
last_name | yes | string The prospect’s last name |
description | no | string A text description of the prospect |
jobtitle | yes | string The prospect’s job title |
linkedin_profile | no | string A link to the prospect’s LinkedIn profile |
phone | yes | string The prospect’s phone number |
title | yes | string The prospect’s title of civility |
country | yes | string The prospect’s country |
state | yes | string The prospect’s state or region |
city | yes | string The prospect’s city |
industry | yes | string The prospect’s industry |
created_from | no | string The source of the prospect. Can be web , extension , api or import |
last_emailed_at | no | datetime The date and time of the last email sent to this prospect in ISO 8601 format with timezone offset |
excluded | yes | boolean Whether or not the prospect is marked as excluded |
opened | yes | boolean Wheteer or not the prospect opened any of your emails |
opened_at | no | datetime The date and time when the prospect last opened an email |
open_count | no | integer The number of times the prospect opened any of your emails |
clicked | yes | boolean Wheter or not the prospect clicked a link in any of your emails |
clicked_at | no | datetime The date and time when the prospect last clicked a link in an email |
click_count | no | integer The number of times the prospect clicked a link in any of your emails |
replied | yes | boolean Whether or not the prospect replied to one of your emails or LinkedIn messages |
replied_at | no | datetime The date and time when the prospect last replied to an email or a LinkedIn message |
email_reply_count | no | integer The number of times the prospect replied to one of your emails |
linkedin_reply_count | no | integer The number of times the prospect replied to one of your LinkedIn messages |
bounced | yes | boolean Whether or not the prospect email bounced |
url | no | string The full URL to the prospect on Overloop |
lists | no | array Name of the lists of the prospect |
email_status | no | string Indicate if the prospect’s email address has been searched for by the Email Finder and the result of the last search. Can be found , searching , search_failed , user_edited or not_searched |
created_at | no | datetime ISO 8601 format with timezone offset |
updated_at | no | datetime ISO 8601 format with timezone offset |
Custom Fields
Custom fields can be used as normal attributes by using their identifier
as attribute key, see the c_custom_field_a
example in the above payload.
You can retrieve the list of your custom fields by using the custom fields index endpoint.
They accept a value depending on their format
Relationships
Object | Description |
---|---|
creator | The user who created the prospect |
organization | The organization of this prospect |
owner | The user who owns the prospect |
enrollments | The enrollments of the prospect in automations (campaigns or workflows) |
Create a prospect
# DEFINITION
POST https://api.overloop.com/public/v1/prospects
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/prospects" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "prospects",
"attributes": {
"email": "vincenzo@overloop.com",
"first_name": "Vincenzo",
"last_name": "Ruggiero",
"lists": ["CEO", "BE"],
"c_custom_field_a": "Hot lead"
}
}
}'
This will create a new prospect. If you don’t set the owner_id
parameter then the user who performed the action will be assigned as the owner.
Parameters
Parameter | Default | Description |
---|---|---|
email string |
NULL | The prospect’s email |
first_name string |
NULL | The prospect’s first name |
last_name string |
NULL | The prospect’s last name |
description string |
NULL | A text description of the prospect |
jobtitle string |
NULL | The prospect’s job title |
linkedin_profile string |
NULL | A link to the prospect’s LinkedIn profile |
phone string |
NULL | The prospect’s phone number |
title string |
NULL | The prospect’s title of civility |
country string |
NULL | The prospect’s country |
state string |
NULL | The prospect’s state or region |
city string |
NULL | The prospect’s city |
industry string |
NULL | The prospect’s industry |
lists array |
NULL | Name of the lists where to save the prospect (note: we will create the lists if they don’t exist) |
owner_id integer |
ID of the user who created the prospect | The ID of the user owning this prospect |
organization_id integer |
ID of the organization this prospect belongs to | See create an organization |
This method accepts an optional URL parameter return_existing
. When set to true (default is false),
that will return an existing organization if an organization with that name already exists (with 200 HTTP status code, 422 otherwise).
Returns
Returns the prospect object.
Retrieve a prospect
# DEFINITION
GET https://api.overloop.com/public/v1/prospects/{CONTACT_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/prospects/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the prospect to retrieve |
Returns
Returns the prospect object.
Update a prospect
# DEFINITION
PATCH https://api.overloop.com/public/v1/prospects/{CONTACT_ID}
# EXAMPLE
curl -X PATCH "https://api.overloop.com/public/v1/prospects/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "prospects",
"attributes": {
"email": "vincenzo@overloop.com",
"first_name": "Vincent",
"c_custom_field_a": "Hot lead"
}
}
}'
Updates the specified prospect by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the prospect to update |
email string |
The prospect’s email |
first_name string |
The prospect’s first name |
last_name string |
The prospect’s last name |
description string |
A text description of the prospect |
jobtitle string |
The prospect’s job title |
linkedin_profile string |
A link to the prospect’s LinkedIn profile |
phone string |
The prospect’s phone number |
title string |
The prospect’s title of civility |
country string |
The prospect’s country |
state string |
NULL |
city string |
NULL |
industry string |
The prospect’s industry |
lists array |
Name of the lists where to save the prospect (note: we will create the lists if they don’t exist) |
owner_id integer |
The ID of the user owning this prospect |
organization_id integer |
ID of the organization this prospect belongs to |
Returns
Returns the prospect object.
Delete a prospect
# DEFINITION
DELETE https://api.overloop.com/public/v1/prospects/{CONTACT_ID}
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/prospects/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": {
"id": "1",
"type": "prospects"
}
}
Permanently deletes a prospect. It cannot be undone.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the prospect to delete |
Returns
Returns an object containing the prospect ID.
List prospects
# DEFINITION
GET https://api.overloop.com/public/v1/prospects
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/prospects" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "prospects",
"attributes": {
...
},
"relationships": {
"owner": {
"data": {
...
}
}
}
},
{
"id": "2",
"type": "prospects",
"attributes": {
...
},
"relationships": {
"owner": {
"data": {
...
}
}
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/prospects/?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/prospects/?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/prospects/?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of prospects.
This list is paginated by 100 records. It can also be sorted or filtered.
Returns
Returns the prospect object.
Organizations
The organization object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "organizations",
"attributes": {
"name": "Overloop",
"description": null,
"website": "https://overloop.com",
"email": "contact@overloop.com",
"phone": "+32-481-754-301",
"country": "Belgium",
"state": "Walloon Brabant",
"city": "Wavre",
"address": "Wavre",
"c_custom_field_a": "Hot lead",
"created_from": "extension",
"lists": ["Belgium", "IT"],
"created_at": "2015-08-15T16:48:46+02:00",
"updated_at": "2016-11-25T12:40:46+01:00"
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | yes | integer A unique identifier for the organization |
name | yes | string The name of the organization |
website | yes | string The organization’s website |
description | yes | string The organization’s description |
yes | string The organization’s prospect email |
|
phone | yes | string The organization’s prospect phone number |
country | yes | string The organization’s country |
city | yes | string The organization’s city |
state | yes | string The organization’s state |
address | yes | string The organization’s full address |
lists | no | array Name of the lists of the organization |
created_at | no | datetime ISO 8601 format with timezone offset |
updated_at | no | datetime ISO 8601 format with timezone offset |
Custom Fields
Custom fields can be used as normal attributes by using their identifier
as attribute key, see the c_custom_field_a
example in the above payload.
You can retrieve the list of your custom fields by using the custom fields index endpoint.
They accept a value depending on their format
Relationships
Object | Description |
---|---|
creator | The user who created the organization |
updater | The user who updated the organization |
Create an organization
# DEFINITION
POST https://api.overloop.com/public/v1/organizations
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/organizations" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "organizations",
"attributes": {
"name": "Overloop",
"lists": ["Belgium", "IT"],
"c_custom_field_a": "Hot lead"
}
}
}'
This will create a new organization. If you don’t set the owner_id
parameter then the user who performed the action will be assigned as the owner.
Parameters
Parameter | Default | Description |
---|---|---|
name | NULL | The name of the organization |
website | NULL | The organization’s website |
description | NULL | The organization’s description |
NULL | The organization’s prospect email | |
phone | NULL | The organization’s prospect phone number |
country | NULL | The organization’s country |
city | NULL | The organization’s city |
state | NULL | The organization’s state |
address | NULL | The organization’s full address |
lists | NULL | Name of the lists of the organization |
owner_id integer |
The ID of the user owning this organization | |
created_at | NULL | ISO 8601 format with timezone offset |
updated_at | NULL | ISO 8601 format with timezone offset |
This method accepts an optional URL parameter return_existing
. When set to true (default is false),
that will return an existing organization if an organization with that name already exists (with 200 HTTP status code, 422 otherwise).
Returns
Returns the organization object.
Retrieve an organization
# DEFINITION
GET https://api.overloop.com/public/v1/organizations/{ORGANIZATION_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/organizations/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the organization to retrieve |
Returns
Returns the organization object.
Update an organization
# DEFINITION
PATCH https://api.overloop.com/public/v1/organizations/{ORGANIZATION_ID}
# EXAMPLE
curl -X PATCH "https://api.overloop.com/public/v1/organizations/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "organizations",
"attributes": {
"name": "Overloop",
"c_custom_field_a": "Hot lead"
}
}
}'
Updates the specified organization by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Parameters
Parameter | Description |
---|---|
id required - integer |
A unique identifier for the organization |
name | The name of the organization |
website | The organization’s website |
description | The organization’s description |
The organization’s prospect email | |
phone | The organization’s prospect phone number |
country | The organization’s country |
city | The organization’s city |
state | The organization’s state |
address | The organization’s full address |
lists | Name of the lists of the organization |
owner_id | The ID of the user owning this organization |
created_at | ISO 8601 format with timezone offset |
updated_at | ISO 8601 format with timezone offset |
Returns
Returns the organization object.
Delete an organization
# DEFINITION
DELETE https://api.overloop.com/public/v1/organizations/{ORGANIZATION_ID}
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/organizations/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": {
"id": "1",
"type": "organizations"
}
}
Permanently deletes an organization. It cannot be undone.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the organization to delete |
Returns
Returns an object containing the organization ID.
List organizations
# DEFINITION
GET https://api.overloop.com/public/v1/organizations
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/organizations" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "organizations",
"attributes": {
...
},
"relationships": {
"owner": {
"data": {
...
}
}
}
},
{
"id": "2",
"type": "organizations",
"attributes": {
...
},
"relationships": {
"owner": {
"data": {
...
}
}
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/organizations/?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/organizations/?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/organizations/?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of organizations.
This list is paginated by 100 records. It can also be sorted or filtered.
Pipelines
The pipeline object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "pipelines",
"attributes": {
"name": "LinkedIn",
"currency_code": "EUR",
"created_at": "2015-08-15T16:48:46+02:00",
"updated_at": "2016-11-25T12:40:46+01:00"
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | no | integer A unique identifier for the pipeline |
name | no | string The pipeline’s name |
currency_code | no | string ISO code of the currency to use in this pipeline |
created_at | no | datetime ISO 8601 format with timezone offset |
updated_at | no | datetime ISO 8601 format with timezone offset |
Create a pipeline
# DEFINITION
POST https://api.overloop.com/public/v1/pipelines
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/pipelines" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "pipelines",
"attributes": {
"name": "A pipeline name"
}
}
}'
This will create a new pipeline.
Parameters
Parameter | Default | Description |
---|---|---|
name required - string |
/ | The pipeline’s name |
currency_code required - string |
/ | The pipeline’s currency code |
Returns
Returns the pipeline object.
Retrieve a pipeline
# DEFINITION
GET https://api.overloop.com/public/v1/pipelines/{PIPELINE_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/pipelines/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the pipeline to retrieve |
Returns
Returns the pipeline object.
Update a pipeline
# DEFINITION
PATCH https://api.overloop.com/public/v1/pipelines/{PIPELINE_ID}
# EXAMPLE
curl -X PATCH "https://api.overloop.com/public/v1/pipelines/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "pipelines",
"attributes": {
"name": "Germany"
"currency_code": "EUR"
}
}
}'
Updates the specified pipeline by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the pipeline to update |
name string |
The pipeline’s name |
currency_code string |
The pipeline’s currency code |
Returns
Returns the pipeline object.
Delete a pipeline
# DEFINITION
DELETE https://api.overloop.com/public/v1/pipelines/{CONTACT_ID}
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/pipelines/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": {
"id": "1",
"type": "pipelines"
}
}
Permanently deletes a pipeline. It cannot be undone.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the pipeline to delete |
Returns
Returns an object containing the pipeline ID.
List pipelines
# DEFINITION
GET https://api.overloop.com/public/v1/pipelines
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/pipelines" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "pipelines",
"attributes": {
...
}
},
{
"id": "2",
"type": "pipeline",
"attributes": {
...
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/pipelines/?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/pipelines/?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/pipelines/?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of pipelines.
This pipeline is paginated by 100 records and can also be sorted or filtered.
Stages
The stage object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "stages",
"attributes": {
"name": "Qualified",
"position": 3,
"created_at": "2015-08-15T16:48:46+02:00",
"updated_at": "2016-11-25T12:40:46+01:00"
}
},
"relationships": {
"pipeline": {
"data": {
"id": "1",
"type": "pipelines"
}
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | no | integer A unique identifier for the stage |
name | no | string The stage’s name |
probability | no | number The stage’s probability (use 10 for 10%) |
position | no | number The stage’s position in pipeline (starts at 0) |
rotting days | no | number The number of days before considering a deal as “rotting” |
created_at | no | datetime ISO 8601 format with timezone offset |
updated_at | no | datetime ISO 8601 format with timezone offset |
Create a stage
# DEFINITION
POST https://api.overloop.com/public/v1/stages
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/stages" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "stages",
"attributes": {
"name": "A stage name",
"probability": 33,
"pipeline_id": 2
}
}
}'
This will create a new stage.
Parameters
Parameter | Default | Description |
---|---|---|
name required - string |
/ | The stage’s name |
probability required - string |
/ | The stage’s probability |
pipeline_id required - string |
/ | The stage’s pipeline |
rotting | / | The number of days before considering a deal as “rotting” |
position | / | The position of the stage in the pipeline |
Returns
Returns the stage object.
Retrieve a stage
# DEFINITION
GET https://api.overloop.com/public/v1/stages/{STAGE_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/stages/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the stage to retrieve |
Returns
Returns the stage object.
Update a stage
# DEFINITION
PATCH https://api.overloop.com/public/v1/stages/{STAGE_ID}
# EXAMPLE
curl -X PATCH "https://api.overloop.com/public/v1/stages/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "stages",
"attributes": {
"name": "Qualified bis"
}
}
}'
Updates the specified stage by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the stage to update |
probability | / |
rotting | / |
position | / |
Returns
Returns the stage object.
Delete a stage
# DEFINITION
DELETE https://api.overloop.com/public/v1/stages/{CONTACT_ID}
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/stages/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": {
"id": "1",
"type": "stages"
}
}
Permanently deletes a stage. It cannot be undone.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the stage to delete |
Returns
Returns an object containing the stage ID.
List stages
# DEFINITION
GET https://api.overloop.com/public/v1/stages
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/stages" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "stages",
"attributes": {
...
}
},
{
"id": "2",
"type": "stage",
"attributes": {
...
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/stages/?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/stages/?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/stages/?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of stages.
This stage is paginated by 100 records and can also be sorted or filtered.
Deals
The deal object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "deals",
"attributes": {
"title": "3 licences for Apple INC",
"value": "123456",
"status": "won",
"closed_at": "2015-08-15T16:48:46+02:00",
"expected_close_date": "2015-09-15T16:48:46+02:00",
"entered_stage_at": "2015-08-15T16:48:46+02:00",
"c_custom_field_a": "Hot lead",
"created_from": "web",
"created_at": "2015-08-15T16:48:46+02:00",
"updated_at": "2016-11-25T12:40:46+01:00"
}
},
"relationships": {
"creator": {
"data": {
"id": "1",
"type": "users"
}
},
"updater": {
"data": {
"id": "1",
"type": "users"
}
},
"owner": {
"data": {
"id": "2",
"type": "users"
}
},
"organization": {
"data": {
"id": "2",
"type": "organizations"
}
},
"prospect": {
"data": {
"id": "4",
"type": "prospects"
}
},
"stage": {
"data": {
"id": "9b13c0d1-a306-4f39-b851-dbddbbdde381",
"type": "stages"
}
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | yes | integer A unique identifier for the deal |
title | yes | string The name of the deal |
value | yes | decimal The value of the deal |
status | yes | string The deal’s status (won, lost or open) |
closed_at | no | datetime ISO 8601 format of the moment when the deal was closed |
expected_close_date | no | datetime ISO 8601 format of the moment we expect the deal to close |
entered_stage_at | no | datetime ISO 8601 format of the last moment stage changed |
created_at | no | datetime ISO 8601 format of the moment the deal has been created |
updated_at | no | datetime ISO 8601 format of the moment the deal has been updated |
Custom Fields
Custom fields can be used as normal attributes by using their identifier
as attribute key, see the c_custom_field_a
example in the above payload.
You can retrieve the list of your custom fields by using the custom fields index endpoint.
They accept a value depending on their format
Relationships
Object | Description |
---|---|
creator | The user who created the deal |
updater | The user who updated the deal |
owner | The user who owns deal |
prospect | The prospect of this deal |
organization | The organization of this deal |
stage | The stage of this deal |
Create a deal
# DEFINITION
POST https://api.overloop.com/public/v1/deals
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/deals" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "deals",
"attributes": {
"title": "16 licenses for ACME corp",
"c_custom_field_a": "Hot lead"
}
}
}'
This will create a new deal.
Parameters
Attribute | Default | Description |
---|---|---|
id | NULL | A unique identifier for the deal |
stage_id required - integer |
NULL | The stage of the deal |
title | NULL | The name of the deal |
value | NULL | The value of the deal |
status | NULL | The deal’s status (won, lost or open) |
closed_at | NULL | ISO 8601 format of the moment when the deal was closed |
expected_close_date | NULL | ISO 8601 format of the moment we expect the deal to close |
entered_stage_at | NULL | ISO 8601 format of the last moment stage changed |
created_at | NULL | ISO 8601 format of the moment the deal has been created |
updated_at | NULL | ISO 8601 format of the moment the deal has been updated |
Returns
Returns the deal object.
Retrieve a deal
# DEFINITION
GET https://api.overloop.com/public/v1/deals/{DEAL_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/deals/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the deal to retrieve |
Returns
Returns the deal object.
Update a deal
# DEFINITION
PATCH https://api.overloop.com/public/v1/deals/{DEAL_ID}
# EXAMPLE
curl -X PATCH "https://api.overloop.com/public/v1/deals/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "deals",
"attributes": {
"title": "4 licenses for ACME Corp",
"c_custom_field_a": "Hot lead"
}
}
}'
Updates the specified deal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Parameters
Parameter | Description |
---|---|
id required - integer |
A unique identifier for the deal |
title | The name of the deal |
value | The value of the deal |
status | The deal’s status (won, lost or open) |
closed_at | ISO 8601 format of the moment when the deal was closed |
expected_close_date | ISO 8601 format of the moment we expect the deal to close |
entered_stage_at | ISO 8601 format of the last moment stage changed |
created_at | ISO 8601 format of the moment the deal has been created |
updated_at | ISO 8601 format of the moment the deal has been updated |
Returns
Returns the deal object.
Delete a deal
# DEFINITION
DELETE https://api.overloop.com/public/v1/deals/{DEAL_ID}
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/deals/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": {
"id": "1",
"type": "deals"
}
}
Permanently deletes a deal. It cannot be undone.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the deal to delete |
Returns
Returns an object containing the deal ID.
List deals
# DEFINITION
GET https://api.overloop.com/public/v1/deals
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/deals" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "deals",
"attributes": {
...
},
"relationships": {
"owner": {
"data": {
...
}
}
}
},
{
"id": "2",
"type": "deals",
"attributes": {
...
},
"relationships": {
"owner": {
"data": {
...
}
}
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/deals/?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/deals/?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/deals/?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of deals.
This list is paginated by 100 records. It can also be sorted or filtered.
Mark as won
# DEFINITION: Mark as won
POST https://api.overloop.com/public/v1/deals/{DEAL_ID}/mark_as_won
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/deals/1/mark_as_won" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
# DEFINITION: Mark as not won
DELETE https://api.overloop.com/public/v1/deals/{DEAL_ID}/mark_as_won
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/deals/1/mark_as_won" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Mark a deal as won or not.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the deal to mark as (not) won |
Returns
Returns the deal object.
Mark as lost
# DEFINITION: Mark as lost
POST https://api.overloop.com/public/v1/deals/{DEAL_ID}/mark_as_lost
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/deals/1/mark_as_lost" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
-d '{
"data": {
"type": "deals",
"attributes": {
"lost_reason": "my reason"
}
}
}'
### Parameters
Parameter | Description
--------- | -----------
id<br />**required** - *integer* | A unique identifier for the deal
lost_reason | The reason to mark the deal as lost
### Returns
Returns the [deal object](#the-deal-object).
# DEFINITION: Mark as not lost
DELETE https://api.overloop.com/public/v1/deals/{DEAL_ID}/mark_as_lost
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/deals/1/mark_as_lost" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Mark a deal as lost or not.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the deal to mark as (not) lost |
Returns
Returns the deal object.
Automations
The automation object
The automation object regroups campaigns, used for outbound, and workflows, used for productivity.
They can be differenciated using the automation_type
variable.
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "automations",
"attributes": {
"name": "Public API Automation Example",
"enter_triggers": [
"prospect.created",
],
"enter_trigger_attributes": {},
"exit_triggers": [
"prospect.replied"
],
"status": "on",
"send_as_thread": true,
"sending_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"start_sending_minutes": 480,
"end_sending_minutes": 1020,
"timezone": "Etc/UTC",
"automation_type": "campaign",
"record_type": "prospects",
"created_at": "2020-01-31T12:00:00.000Z",
"updated_at": "2020-01-31T12:00:00.000Z"
},
"relationships": {
"steps": {
"data": [
{
"id": "a-z0-9-abc1",
"type": "automations_steps"
},
{
"id": "a-z0-9-abc2",
"type": "automations_steps"
}
]
},
"segment": {
"data": {
"id": "a-z0-9-abc3",
"type": "segments"
}
}
}
},
"included": [
{
"id": "a-z0-9-abc3",
"type": "segments",
"attributes": {
"name": null,
"combination_operator": "and"
},
"relationships": {
"filters": {
"data": [
{
"id": "a-z0-9-abc4",
"type": "filters"
}
]
}
}
},
{
"id": "a-z0-9-abc4",
"type": "filters",
"attributes": {
"attribute_name": "email",
"operator": "doesnotcontain",
"option_value": "info"
},
"relationships": {
"segment" : {
"data": {
"id": "a-z0-9-abc3",
"type": "segments"
}
}
}
}
]
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | no | integer A unique identifier for the automation |
name | no | string The automation’s name |
automation_type | yes | string Either campaign or workflow |
record_type | yes | string The type of records that can be enrolled into the automation. Always prospects for campaigns, either prospects , organizations , deals or conversations for workflows |
enter_triggers | no | array An array containing the events that will make records entering the automation. Possible values depends on the record_type |
enter_trigger_attributes | no | json A json object containing additional information about the enter triggers settings. Its content varies depending on the selected enter triggers |
exit_triggers | no | array An array containing the events that will make records exit the automation. Possible values depends on the record_type |
status | yes | string The automation’s status that can take 3 different values: on , off |
send_as_thread | no | boolean Whether emails should be sent as threads |
sending_days | no | array An array containing days during which emails can be sent (“monday”, “tuesday”, etc.) |
start_sending_minutes | no | integer The hour at which we can start sending emails, between 00:00 and 23:45 with 15 minutes intervals. Value is in minutes between 0 and 1425 |
end_sending_minutes | no | integer The hour at which we can stop sending emails, between 00:00 and 23:45 with 15 minutes intervals. Value is in minutes between 0 and 1425 |
created_at | no | datetime ISO 8601 format with timezone offset |
updated_at | no | datetime ISO 8601 format with timezone offset |
Relationships
Object | Description |
---|---|
steps | The steps of the automation. |
enter_segment | The reference of the automation filters for the enter_segment trigger event. |
filters | The conditions of the enter_segment trigger event. |
Retrieve an automation
# DEFINITION
GET https://api.overloop.com/public/v1/automations/{AUTOMATION_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/automations/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the automation to retrieve |
Returns
Returns the automation object.
List automations
# DEFINITION
GET https://api.overloop.com/public/v1/automations
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/automations" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "automations",
"attributes": {
...
},
"relationships": {
"steps": {
"data": [
...
]
},
"segment": {
"data": {
...
}
}
}
},
{
"id": "2",
"type": "automations",
"attributes": {
...
},
"relationships": {
"steps": {
"data": [
...
]
},
"segment": {
"data": {
...
}
}
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/automations/?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/automations/?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/automations/?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of automations.
This list is paginated by 100 records and can also be sorted or filtered.
Automation Steps
The automation step object
# EXAMPLE OBJECT
{
"data": [
{
"id": "a-z0-9-abc1",
"type": "automations_steps",
"attributes": {
"step_type": "task",
"position": 0,
"previous_step_id" : null,
"created_at": "2020-01-31T12:00:00.000Z",
"updated_at": "2020-01-31T12:00:00.000Z",
"config": {
"title": "Public API Automation Step Example",
"due_time": "09:00:00",
"due_offset": 1,
"description": "This is an example description",
"task_category": null,
"prospect_segment": null,
"wait_for_completion": true
}
},
"relationships": {
"automation": {
"data": {
"id": "1",
"type": "automations"
}
}
}
}
]
}
Object attributes
Attribute | Description |
---|---|
id | integer A unique identifier for the automation step |
step_type | string The type of step. Possible values depend on the automation type. |
position | integer When the previous_step is not a condition , the position will always be 0. Otherwise, 0 is the left/yes branch of a condition, while 1 is the right/no branch |
previous_step_id | string The unique identifier of the previous step. A null value will always be assigned to the first step of the automation |
created_at | datetime ISO 8601 format with timezone offset |
updated_at | datetime ISO 8601 format with timezone offset |
config | object All specific attributes related to the step_type |
Relationships
Object | Description |
---|---|
automation | The parent automation |
Retrieve a automation step
# DEFINITION
GET https://api.overloop.com/public/v1/automations/{AUTOMATION_ID}/steps/{STEP_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/automations/1/steps/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
automation_id required - integer |
The ID of the automation |
id required - integer |
The ID of the automation step to retrieve |
Returns
Returns the automation step object.
List automation steps
# DEFINITION
GET https://api.overloop.com/public/v1/automations/{AUTOMATION_ID}/steps
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/automations/1/steps" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "a-z0-9-abc1",
"type": "automations_steps",
"attributes": {
...
},
"relationships": {
"automation": {
"data": {
"id": "1",
"type": "automations"
}
}
}
},
{
"id": "a-z0-9-abc2",
"type": "automations_steps",
"attributes": {
...
},
"relationships": {
"automation": {
"data": {
"id": "1",
"type": "automations"
}
}
}
},
{
"id": "a-z0-9-abc3",
"type": "automations_steps",
"attributes": {
...
},
"relationships": {
"automation": {
"data": {
"id": "1",
"type": "automations"
}
}
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/automations/1/steps?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/automations/1/steps?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/automations/1/steps?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of automation steps.
This list is paginated by 100 records and can also be sorted.
Enrollments
The enrollment object
To add a prospect/organization/deal to an automation (campaign or workflow) you have to create an enrollment. The enrollment is then used to describe the progression of the record into the automation.
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "automations_enrollments",
"attributes": {
"automation_id": 1,
"prospect_id":30332,
"deal_id":null,
"organization_id":null,
"disenrolled_at": null,
"start_at": "2020-08-20T08:00:00+02:00",
"throttled": null,
"created_at": "2020-08-13T10:12:23+02:00",
"updated_at": "2020-08-13T10:12:23+02:00"
},
"relationships": {
"current_step": {
"data": {
"id": "a-z0-9-abc1",
"type": "automations_steps"
}
},
"automation": {
"data": {
"id": "374",
"type": "automations"
}
},
"record":{
"data":{
"id":"30332",
"type":"prospects"
}
},
"prospect": {
"data": {
"id": "30332",
"type": "prospects"
}
},
"organization": {
"data": null
},
"deal": {
"data": null
}
},
"included": [
{
"id": "a-z0-9-abc1",
"type": "automations_steps",
"attributes": {
"step_type": "note",
"position": 0,
"previous_step_id": null,
"created_at": "2020-01-31T12:00:00.000Z",
"updated_at": "2020-01-31T12:00:00.000Z",
"config": {
"content": "Sample note text"
}
},
"relationships": {
"automation": {
"data": {
"id": "1",
"type": "automations"
}
}
}
}
]
}
}
Object attributes
Attribute | Description |
---|---|
id | integer A unique identifier for the enrollment |
record_id | integer The unique identifier of the enrolled record |
record_type | string The type of the enrolled record (organization, deal or prospect) |
disenrolled_at | datetime The date and time of when the record left the automation in ISO 8601 format with timezone |
start_at | datetime The date and time on which the enrollment must be started in ISO 8601 format with timezone offset. If not set or set in the past, the enrollment starts immediately |
throttled | boolean If the enrollment start is being throttled |
created_at | datetime ISO 8601 format with timezone offset |
updated_at | datetime ISO 8601 format with timezone offset |
Relationships
Object | Description |
---|---|
current_step | The current step of this enrollment |
automation | The current automation of this enrollment |
prospect | The current prospect of this enrollment (for campaigns and prospect-based workflows) |
organization | The current organization of this enrollment (for organization-based workflows) |
deal | The current deal of this enrollment (for deal-based workflows) |
Create an enrollment
# DEFINITION
POST https://api.overloop.com/public/v1/automations/{{AUTOMATION_ID}}/enrollments
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/automations/1/enrollments" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "enrollments",
"attributes": {
"prospect_id": 1,
"step_id": "abc123",
"reenroll": false,
"start_at": "2020-08-20T08:00:00+02:00",
"include": "current_step"
}
}
}'
This will create a new enrollment.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
prospect_id | yes | integer | The prospect’s ID (required only for campaigns or prospect-based workflows) |
organization_id | yes | integer | The organization’s ID (required only for organization-based workflows) |
deal_id | yes | integer | The deal’s ID (required only for deal-based workflows) |
step_id | no | string | The step’s ID of the automation at which the prospect must be enrolled |
reenroll | no | boolean | Set to false if you want to prevent re enroll the prospect because he already has been enrolled. If not set to false this parameter will always be true |
start_at | no | string | The date and time on which the enrollment must be started in the ISO 8601 format with timezone offset. If not set or set in the past, the enrollment will start immediately |
Returns
Returns the enrollment object.
Stop an enrollment
# DEFINITION
DELETE https://api.overloop.com/public/v1/automations/{{AUTOMATION_ID}}/enrollments/{{ENROLLMENT_ID}}
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/automations/1/enrollments/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
This will stop an enrollment.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the enrollment to stop |
Returns
Returns the enrollment object.
Retrieve an enrollment
# DEFINITION
GET https://api.overloop.com/public/v1/automations/{{AUTOMATION_ID}}/enrollments/{{ENROLLMENT_ID}}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/automations/1/enrollments/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the enrollment to retrieve |
Returns
Returns the enrollment object.
List enrollments
# DEFINITION
GET https://api.overloop.com/public/v1/enrollments
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/enrollments" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "36",
"type": "automations_enrollments",
"attributes": {
"disenrolled_at": "2020-06-03T13:01:15.697Z",
"start_at": null,
"created_at": "2020-03-10T13:35:21Z",
"updated_at": "2020-09-30T08:02:51Z"
},
"relationships": {
"prospect": {
"data": {
"id": "29646",
"type": "prospects"
}
},
"automation": {
"data": {
"id": "3",
"type": "automations"
}
},
"current_step": {
"data": null
}
}
}
],
"links": {
"self": "https://localhost:3000/api/public/v1/enrollments?filter=prospect_id%3A29646&page%5Bnumber%5D=1&page%5Bsize%5D=100",
"first": "https://localhost:3000/api/public/v1/enrollments?filter=prospect_id%3A29646&page%5Bnumber%5D=1&page%5Bsize%5D=100",
"prev": null,
"next": null,
"last": "https://localhost:3000/api/public/v1/enrollments?filter=prospect_id%3A29646&page%5Bnumber%5D=1&page%5Bsize%5D=100"
}
}
Returns a list of enrollments.
This list is paginated by 100 records and can also be sorted or filtered.
Account
The account object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "companies",
"attributes": {
"name": "Overloop",
"website": "https://overloop.com",
"phone_number": "",
"billing_name": "Overloop SRL",
"address": "rue de l'Evêché 10, 5000 Namur",
"country": "BE",
"vat": "BE0645917753",
"plan_name": "5K Credits",
"plan_code": "monthly_credits_5k",
"remaining_credits": 4999,
"created_at": "2015-08-15T16:48:46+02:00",
"updated_at": "2016-11-25T12:40:46+01:00"
}
}
}
Object attributes
Attribute | Description |
---|---|
id | integer A unique identifier for the account |
name | string The account’s name |
website | string The account’s website |
phone_number | string The account’s phone number |
billing_name | string The account’s billing name (the name that will appear on invoices) |
address | string The account’s address |
country | string The account’s country code (ISO) |
vat | string The account’s VAT number |
plan_name | string The account’s plan |
plan_code | string The account’s plan code |
remaining_credits | integer The number of credits remaining |
created_at | datetime ISO 8601 format with timezone offset |
updated_at | datetime ISO 8601 format with timezone offset |
Retrieve your account
# DEFINITION
GET https://api.overloop.com/public/v1/account
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/account" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
none
Returns
Returns the account object.
Users
The user object
# EXAMPLE OBJECT
{
"data": {
"id": "11",
"type": "users",
"attributes": {
"name": "Vincenzo Ruggiero",
"email": "vincenzo@overloop.com",
"role": "admin",
"phone_number": "",
"skype": "ruggiero.vincenzo",
"signature": "<p class=\"p1\"><span class=\"s1\">-- <br /></span><span class=\"s1\"><strong>Vincenzo Ruggiero<br /></strong></span><span class=\"s1\">Founder<br /></span><span class=\"s2\"><a href=\"https://overloop.com/\"><strong>Overloop</strong><br /></a></span><span class=\"s2\"><a href=\"mailto:vincenzo@overloop.com\">vincenzo@overloop.com</a></span></p>",
"disabled": false,
"from_name": "Vincenzo Ruggiero",
"timezone": "Brussels",
"created_at": "2015-08-15T16:48:46+02:00",
"updated_at": "2016-11-25T12:40:46+01:00"
},
"relationships": {
"company": {
"data": {
"id": "5",
"type": "companies"
}
}
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | no | integer A unique identifier for the user |
name | no | string The user’s name |
no | string The user’s email address |
|
role | no | string The user’s role. Can be admin or user |
phone_number | no | string The user’s phone number |
skype | no | string The user’s Skype username |
signature | no | string The user’s HTML signature |
disabled | yes | boolean Whether or not the user is disabled or not |
from_name | no | string The name we put in the email from field |
timezone | no | string The user’s time zone |
created_at | no | datetime ISO 8601 format with timezone offset |
updated_at | no | datetime ISO 8601 format with timezone offset |
Relationships
Object | Description |
---|---|
company | The user’s company |
Retrieve a user
# DEFINITION
GET https://api.overloop.com/public/v1/users/{USER_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/users/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the user to retrieve |
Returns
Returns the user object.
Me
# DEFINITION
GET https://api.overloop.com/public/v1/me
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/me" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
You can call this endpoint to retrive your personnal information.
Parameters
none
Returns
Returns your user object.
List users
# DEFINITION
GET https://api.overloop.com/public/v1/users
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/users" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "11",
"type": "users",
"attributes": {
...
}
},
{
"id": "38",
"type": "users",
"attributes": {
...
}
},
],
"links": {
"self": "https://api.overloop.com/public/v1/users?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/users?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/users?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of users.
This list is paginated by 100 records and can also be sorted or filtered.
Lists
The list object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "lists",
"attributes": {
"name": "LinkedIn",
"created_at": "2015-08-15T16:48:46+02:00",
"updated_at": "2016-11-25T12:40:46+01:00"
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | no | integer A unique identifier for the list |
name | no | string The list’s name |
created_at | no | datetime ISO 8601 format with timezone offset |
updated_at | no | datetime ISO 8601 format with timezone offset |
Create a list
# DEFINITION
POST https://api.overloop.com/public/v1/lists
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/lists" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "lists",
"attributes": {
"name": "A list name"
}
}
}'
This will create a new list.
Parameters
Parameter | Default | Description |
---|---|---|
name required - string |
/ | The list’s name |
Returns
Returns the list object.
Retrieve a list
# DEFINITION
GET https://api.overloop.com/public/v1/lists/{LIST_ID}
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/lists/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the list to retrieve |
Returns
Returns the list object.
Update a list
# DEFINITION
PATCH https://api.overloop.com/public/v1/lists/{LIST_ID}
# EXAMPLE
curl -X PATCH "https://api.overloop.com/public/v1/lists/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '{
"data": {
"type": "lists",
"attributes": {
"name": "LinkedIn bis"
}
}
}'
Updates the specified list by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Parameters
Parameter | Description |
---|---|
id required - integer |
The ID of the list to update |
name string |
The list’s name |
Returns
Returns the list object.
Delete a list
# DEFINITION
DELETE https://api.overloop.com/public/v1/lists/{CONTACT_ID}
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/lists/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": {
"id": "1",
"type": "lists"
}
}
Permanently deletes a list. It cannot be undone.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the list to delete |
Returns
Returns an object containing the list ID.
List lists
# DEFINITION
GET https://api.overloop.com/public/v1/lists
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/lists" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "lists",
"attributes": {
...
}
},
{
"id": "2",
"type": "list",
"attributes": {
...
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/lists/?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/lists/?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/lists/?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of lists.
This list is paginated by 100 records and can also be sorted or filtered.
Custom Fields
The custom field object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "custom_fields",
"attributes": {
"identifier": "c_custom_field_a",
"name": "Lead Value",
"options": [],
"value_type": "text"
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | no | string A UUID key for the custom field |
identifier | no | string The custom field’s identifier to be used as attribute key into prospect objects’ payload |
name | no | string The custom field’s name/label |
options | no | array The custom field’s value options (for list_single and list_multiple ) |
value_type | no | string The custom field’s value type, can be one of the following: numeric , text , text_long , phone , url , boolean , list_single , list_multiple , datetime , date |
Value format
Depending on the type of custom field, it can accept different kinds of value:
numeric
: any number (integer or float number)text
,text_long
: any stringphone
: any stringurl
: any stringboolean
: a boolean (true or false)list_single
: a string representing any value from the list of choice for this field (case sensitive)list_mulitple
: an array of string representing values from the list of choice for this field (case sensitive)datetime
: a string representing time in the ISO 8601 format (ex: 2019-11-14T09:45:30Z)date
: a string representing a date in the YYYY-MM-DD format (ex: 2018-01-04 for the 1st April of 2018)
List Custom Fields
# DEFINITION
GET https://api.overloop.com/public/v1/custom_fields
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/custom_fields" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "custom_fields",
"attributes": {
...
}
},
{
"id": "2",
"type": "custom_fields",
"attributes": {
...
}
}
]
}
Returns all custom fields.
Exclusion list items
The exclusion list item object
# EXAMPLE OBJECT
{
"data": {
"id": "1",
"type": "exclusion_list_item",
"attributes": {
"value": "vincenzo@overloop.com",
"item_type": "email",
"created_at": "2015-08-15T16:48:46+02:00"
}
}
}
Object attributes
Attribute | Filterable? | Description |
---|---|---|
id | no | string The id of the exclusion list item |
value | yes | string The value of the exclusion list item |
item_type | yes | string The type of the exclusion list item, can be one of the following: email , domain |
created_at | no | datetime ISO 8601 format with timezone offset |
Create an exclusion list item
This will create a new exclusion list item.
# DEFINITION
POST https://api.overloop.com/public/v1/exclusion_list_items
# EXAMPLE
curl -X POST "https://api.overloop.com/public/v1/exclusion_list_items" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8" \
-d '
{
"data": {
"type": "exclusion_list_item",
"attributes": {
"value": "vincenzo@overloop.com",
"item_type": "email"
}
}
}
'
The above command returns JSON structured like this:
{
"data": {
"id": "1",
"type": "exclusion_list_item",
"attributes": {
"value": "vincenzo@overloop.com",
"item_type": "email",
"created_at": "2015-08-15T16:48:46+02:00"
}
}
}
Parameters
Attribute | Default | Description |
---|---|---|
item_type | NULL | What would you like to exclude: “domain” or “email” |
value | NULL | The domain or email value to exclude |
Delete an exclusion list item
# DEFINITION
DELETE https://api.overloop.com/public/v1/exclusion_list_items/{ITEM_ID}
# EXAMPLE
curl -X DELETE "https://api.overloop.com/public/v1/exclusion_list_items/1" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": {
"id": "1",
"type": "exclusion_list_items"
}
}
Permanently deletes an exclusion list item. It cannot be undone.
Parameters
Parameter | Required? | Type | Description |
---|---|---|---|
id | yes | integer | The ID of the item to delete |
Returns
Returns an object containing the exclusion list item ID.
List exclusion list items
# DEFINITION
GET https://api.overloop.com/public/v1/exclusion_list_items
# EXAMPLE
curl -X GET "https://api.overloop.com/public/v1/exclusion_list_items" \
-H "Authorization: your_api_key" \
-H "Content-Type: application/vnd.api+json; charset=utf-8"
The above command returns JSON structured like this:
{
"data": [
{
"id": "1",
"type": "exclusion_list_item",
"attributes": {
"value": "vincenzo@overloop.com",
"item_type": "email",
"created_at": "2015-08-15T16:48:46+02:00"
}
},
{
"id": "1",
"type": "exclusion_list_item",
"attributes": {
"value": "gmail.com",
"item_type": "domain",
"created_at": "2015-08-15T16:48:46+02:00"
}
}
],
"links": {
"self": "https://api.overloop.com/public/v1/exclusion_list_items/?page%5Bnumber%5D=1&page%5Bsize%5D=100",
"next": "https://api.overloop.com/public/v1/exclusion_list_items/?page%5Bnumber%5D=2&page%5Bsize%5D=100",
"last": "https://api.overloop.com/public/v1/exclusion_list_items/?page%5Bnumber%5D=5&page%5Bsize%5D=100"
}
}
Returns a list of exclusion list items.
This list is paginated by 100 records. It can also be sorted or filtered.