Suggest Edits

Introduction

 

Datananas' API is organized around REST. All API routes use HTTP verbs and responses use HTTP response codes.
Responses are formatted with JSON.
All requests should be made over HTTPS on the API base url https://api.datananas.com

API Status

You can check API status here : https://status.datananas.com

Getting started

You can test API endpoints live in the documentation.

If you already have a token (otherwise, please refer to the Authentication section), try it by sending a first API request:

  1. Go to the Get connected user route
  2. Click on the "Try it" button
  3. Copy your Bearer token and hit "Enter"

You should see your user's information appear on the right :)

Suggest Edits

Authentication

 

In order to authenticate to the API, you will need an access token.

Before getting one, please make sure to know why you need to use our API.

Use it for your own account

You can get in touch with us at support@datananas.com to get an access_token

Connect your application with Datananas

If your want to create an integration that will be accessible to your users, please us our Oauth2 authentication flow

You can get in touch with us to set-up your partner account support@datananas.com and get your client_id and client_secret

Authentication

Please get in touch with our team to get an access token using support@datananas.com

Access Level

Tokens contain a specific set of scopes that give you access to certain resources, with a certain access level.
For example, we can create a token for a specific integration that will be able to list contacts in the whole company, only get campaigns created by one user, and cannot create new campaigns.

How to authenticate

You need to provide your api token in the Headers :

{
  "Authorization" : "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.etc..."
}
Suggest Edits

Pagination

 

API routes that return a list of resources are paginated.
If no resource correspond to the query for a filter route, it will return an empty array.

Here's an example of how resources are paginated :

page: {
	page: 2,
 	pages: 10,
	total: 200
}

You can pass a parameter with the page number you want to get

Suggest Edits

Projected fields

 

Fields with an id are not projected by default, by you can ask the API to do so by passing a projectionFields parameter.

Here's a sample Campaign with no projected fields :

{
  _id: "123456789abcfef1234567890",
  name: "My campaign",
  userId: "abc123456789fef1234567890",
  etc...
}

And with the populated user :

{
  _id: "123456789abcfef1234567890",
  name: "My campaign",
  userId: {
    _id: "abc123456789fef1234567890",
    first_name: "Romain",
    last_name: "Simon"
  },
  etc...
}

Here are infos available in populated fields for different resources :

campaigns:
    userId: {
        _id,
        first_name,
        last_name
    }
}

contacts:
    userId: {
        first_name,
        last_name
    },
    listId: {
        list_name,
    }
}

lists:
    userId: {
        _id,
        first_name,
        last_name
    }
}

messages:
    campaignId: {
        _id,
        name
    },
    contactFields: {
        _id,
        first_name,
        last_name,
        email
    }
}

templates:
    userId: {
        first_name,
        last_name
    }
}

variables:
    userId: {
        first_name,
        last_name
    }
}
Suggest Edits

Error codes

 

Generic Errors

Code
Name
Description

500

Internal Error

An unexpected error occured

503

Service Unavailable

The service is currently not available. This can be the case for maintenance : for example if we detect a critical bug in a route, we might disable it temporary.

400

Bad Request

Your request is not properly formatted

401

Unauthorized

You don't have access to this resource. This can happen if you did not provide a token, your token has expired, or you don't have the required access level for this resource.

403

Forbidden

You don't have the required access rights for this resource

404

Not Found

You requested a resource that does not exists or cannot be found

409

Conflict

There is a conflict and you request can't be processed. For example, this can happen if you try to rename a sequence with a name which is already taken by another sequence.

422

Unprocessable Entity

This errors occurs when the request cannot be processed even tough its format is valid (contrary to Bad Request)

424

Failed Dependency

When updating a resource requires access to another resource, and this second resource has an error.

Suggest Edits

Email guessing

 
Suggest Edits

Company to domain

Guessing which email domain will match a company name
For example: Datananas will return datananas.com

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/accounts/domain
curl --request GET \
  --url 'https://api.datananas.com/accounts/domain?company_name=company_name'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/accounts/domain',
  qs: { company_name: 'company_name' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/accounts/domain?company_name=company_name")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/accounts/domain?company_name=company_name");

xhr.send(data);
import requests

url = "https://api.datananas.com/accounts/domain"

querystring = {"company_name":"company_name"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

company_name
string
required

Filter domains by company_name

country_code
string

Country code (fr, en)

Response

A list of possible domains with their probability score

Suggest Edits

Guess email

Find possible email adresses for a contact with first name, last name and domain
For example, Romain + Simon + datananas.com will return romain@datananas.com

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/accounts/email
curl --request GET \
  --url 'https://api.datananas.com/accounts/email?first_name=first_name&last_name=last_name&domain=domain'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/accounts/email',
  qs:
   { first_name: 'first_name',
     last_name: 'last_name',
     domain: 'domain' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/accounts/email?first_name=first_name&last_name=last_name&domain=domain")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/accounts/email?first_name=first_name&last_name=last_name&domain=domain");

xhr.send(data);
import requests

url = "https://api.datananas.com/accounts/email"

querystring = {"first_name":"first_name","last_name":"last_name","domain":"domain"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

first_name
string
required

First name

last_name
string
required

Last name

domain
string
required

Domain name

country_code
string

Country code (fr, en)

Response

A list of possible emails with their probability score

Suggest Edits

Activities

 
Suggest Edits

Find activites

Searching users and contacts activities.
User activities include any action in the software.
Contact activities include opening emails, clicking emails, unsubscribing, ...

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/activities
curl --request GET \
  --url https://api.datananas.com/activities
var request = require("request");

var options = { method: 'GET', url: 'https://api.datananas.com/activities' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/activities")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/activities");

xhr.send(data);
import requests

url = "https://api.datananas.com/activities"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

type
string

Type of activity

contactId
objectId

Id of the contact to filter

campaignId
objectId

Id of the campaign to filter

userId
objectId

Id of the user to filter

companyId
objectId

Id of the company to filter

createdAt
array of strings

Filter contacts by added date
Takes an array of two items, first item is dateStart and second is dateEnd.
Dates must be in ISO8601 format

Response

A list of activities

 
Suggest Edits

Update card

Update credit card information

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/billing/card
curl --request PATCH \
  --url https://api.datananas.com/billing/card
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/billing/card' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/billing/card")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/billing/card");

xhr.send(data);
import requests

url = "https://api.datananas.com/billing/card"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

card
object

Credit card infos

 
card.number
number

Credit card number

card.exp_month
number

Credit card expiration month

card.exp_year
number

Credit card expiration year

card.cvc
number

Credit card cvc

Response

The credit card has been updated

Suggest Edits

Get discount

Returns a discount coupon if exists

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/billing/discount
curl --request GET \
  --url https://api.datananas.com/billing/discount
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/billing/discount' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/billing/discount")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/billing/discount");

xhr.send(data);
import requests

url = "https://api.datananas.com/billing/discount"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

code
string

Coupon code

Response

Discount

Suggest Edits

Subscribe confirm

Confirm a subscription intent after Strong Customer Authentication

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/billing/subscribe/confirm
curl --request GET \
  --url https://api.datananas.com/billing/subscribe/confirm
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/billing/subscribe/confirm' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/billing/subscribe/confirm")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/billing/subscribe/confirm");

xhr.send(data);
import requests

url = "https://api.datananas.com/billing/subscribe/confirm"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

setup_intent
string

Setup intent Id

setup_intent_client_secret
string

Setup intent Secret token

source_type
string

Source type (card)

Response

SCA finished or failed (redirect)

Invalid or missing parameter

Not enough scopes

Suggest Edits

Subscribe

Add a subscription to the account

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/billing/subscribe
curl --request POST \
  --url https://api.datananas.com/billing/subscribe
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.datananas.com/billing/subscribe' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/billing/subscribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/billing/subscribe");

xhr.send(data);
import requests

url = "https://api.datananas.com/billing/subscribe"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

plan
string

Subscription plan (light, pro, enterprise)

period
string

Subscription period (monthly, yearly)

nbLicences
number

Number of licences

card
object

Credit card infos

 
card.number
number

Credit card number

card.exp_month
number

Credit card expiration month

card.exp_year
number

Credit card expiration year

card.cvc
number

Credit card cvc

coupon
string

An optional coupon code

tax_percent
string

An optional tax percent

Response

The subscription as been added

Strong authentication required to complete subscription

Suggest Edits

Change subscription

Change subscription plan

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/billing/upgrade
curl --request PATCH \
  --url https://api.datananas.com/billing/upgrade
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/billing/upgrade' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/billing/upgrade")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/billing/upgrade");

xhr.send(data);
import requests

url = "https://api.datananas.com/billing/upgrade"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

plan
string

Subscription plan (light, pro, enterprise)

period
string

Subscription period (monthly, yearly)

nbLicences
number

Number of licences

Response

The subscription as been added

Suggest Edits

Blacklist

 
Suggest Edits

Add to blacklist

Creates a new blacklisted email or domain.
Any contact having a matching email will not be contacted.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/blacklist
curl --request POST \
  --url https://api.datananas.com/blacklist
var request = require("request");

var options = { method: 'POST', url: 'https://api.datananas.com/blacklist' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/blacklist")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/blacklist");

xhr.send(data);
import requests

url = "https://api.datananas.com/blacklist"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

reason
string
required

The reason of the blacklisted entry

entries
array
required

list of emails and domains to blacklist

groupId
string

The group owning blacklisted entry

Response

Newly created blacklists entries

blacklistarray
errorsarray
Suggest Edits

Find in blacklist

Search blacklisted email or domains

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/blacklist
curl --request GET \
  --url https://api.datananas.com/blacklist
var request = require("request");

var options = { method: 'GET', url: 'https://api.datananas.com/blacklist' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/blacklist")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/blacklist");

xhr.send(data);
import requests

url = "https://api.datananas.com/blacklist"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

filter
string

A filter or a list of filters

Response

A list of blacklisted entries

Suggest Edits

Remove from blacklist

Delete a blacklisted email or domain

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/blacklist/id
curl --request DELETE \
  --url https://api.datananas.com/blacklist/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.datananas.com/blacklist/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/blacklist/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/blacklist/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/blacklist/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The blacklisted entry's ID

Response

The blacklisted entry has been deleted

The user has not the required scope to delete this blacklisted entry

messagestring
statusnumber
codenumber

Blacklisted entry not found

messagestring
statusnumber
codenumber
Suggest Edits

Get token

Generate a Twilio Client capability token

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/calls/token
curl --request GET \
  --url https://api.datananas.com/calls/token
var request = require("request");

var options = { method: 'GET', url: 'https://api.datananas.com/calls/token' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/calls/token")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/calls/token");

xhr.send(data);
import requests

url = "https://api.datananas.com/calls/token"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Response

Twilio token and phones

The user has not the required scope to make calls

messagestring
statusnumber
codenumber
Suggest Edits

Send calls

Route outbound calls

 
posthttps://api.datananas.com/calls/voice
curl --request POST \
  --url https://api.datananas.com/calls/voice
var request = require("request");

var options = { method: 'POST', url: 'https://api.datananas.com/calls/voice' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/calls/voice")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/calls/voice");

xhr.send(data);
import requests

url = "https://api.datananas.com/calls/voice"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

ApplicationSid
string

Id of the Twilio application

CallSid
string

Id of the call

AccountSid
string

Id of the Twilio account or customer subaccount

number
string

Phone number to call

callerId
string

Phone number that sends the call

Response

Twilio verbs (TwiML)

 
Suggest Edits

DEPRECATED - Add contacts in sequence

This function should be avoided in favor of PATCH /contacts/engage.
Adds contacts in a sequence. You can add contacts with multiple methods:

  1. By providing an array of contactIds
  2. By adding all contacts matching a saved search, with searchId
  3. By adding all contacts in a list, with listId

There are also several ways to spread sequence steps over time, and across a sales team:

  1. Selecting a drip will spread the sequence first step over time.
    For example, adding 200 contacts with a drip of 20 will allow you to get in touch with 20 new contacts per open day.
  2. Selecting multiple senderIds will allow you to spread touches cross these users:
    • If you select an owner distribution, each contact will be contact by its previously defined owner
    • If you select a `random distribution, all contact will be randomly and equally distributed across senders

You can add up to 2500 contacts at once.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/campaigns/id/contacts
curl --request PATCH \
  --url https://api.datananas.com/campaigns/id/contacts
var request = require("request");

var options = { method: 'PATCH',
  url:
   'https://api.datananas.com/campaigns/id/contacts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns/id/contacts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/campaigns/id/contacts");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns/id/contacts"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The id of the campaign

Query Params

contactIds
array of strings

The contact ids to delete

filter
string

Filter by keyword

listId
objectId

Filter contacts by list. Should be a listId or list of listId

userId
objectId

Filter contacts by owner. Should be a userId or list of userId

companySize
string

Filter contacts by company size

companyIndustry
string

Filter contacts by company industry

city
string

Filter contacts by city

country
string

Filter contacts by country

role
string

Filter contacts by role

status
string

Filter contacts by status

createdAt
array of strings

Filter contacts by added ISO8601 date. Takes an array of two items were the first index is dateStart and the second is dateEnd.

campaignId
objectId

Filter contacts by campaign. Can be a single campaignId or multiple campaignId

isActiveInCampaign
boolean

Filter contacts by campaign activity

email
string

Filter contacts by email

lastEmailCategory
string

Filter contacts by last email category

Body Params

senderIds
array of strings

An array of one of more user ids that will be the senders

drip
number

The number of new contacts per day to get in touch with

dateStart
string

The ISO8601 format date when to start adding contacts.
The date must be in UTC timezone.

searchId
objectId

An id of a saved search

listId
objectId

An id of a list

contactIds
array of strings

An array of contacts id

distribution
string

When activating drip with multiple senders, distribution defines how contacts are distributed between these senders.
Random means contacts are evely distributed randomly across senders.
Owner means the sender will be the contact's owner, and the distribution has already been made manually

Response

Emails are being scheduled

contactsnumber

The number of contacts added to the campaign

Distribute contacts between multiple senders is not available for standard accounts.

messagestring
statusnumber
codenumber

Missing scope

messagestring
statusnumber
codenumber

Campaign or sender not found

messagestring
statusnumber
codenumber
Suggest Edits

Unsubscribe contact

Unsubscribe a single contact from a sequence

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/campaigns/id/contacts/contactId
curl --request DELETE \
  --url https://api.datananas.com/campaigns/id/contacts/contactId
var request = require("request");

var options = { method: 'DELETE',
  url:
   'https://api.datananas.com/campaigns/id/contacts/contactId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns/id/contacts/contactId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/campaigns/id/contacts/contactId");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns/id/contacts/contactId"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The sequence's ID

contactId
string
required

The contact's ID

Response

The contact has been unsubscribed and pending emails removed

linkedboolean

Tells if the contact is still linked to the sequence or not

removedEmailsnumber

The number of removed pending emails removed

Missing scope

messagestring
statusnumber
codenumber

Campaign or contact not found

messagestring
statusnumber
codenumber
Suggest Edits

Create a contact

Create a new contact.
If you new to create multiple contacts at once, use the Bulk create route instead.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/contacts
curl --request POST \
  --url https://api.datananas.com/contacts
var request = require("request");

var options = { method: 'POST', url: 'https://api.datananas.com/contacts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/contacts");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

listId
string

ID of the list

email
string

Email of the contact (a valid email address)

phone
string

Phone number

first_name
string

First name (length => min=1, max=255)

last_name
string

Last name (length => min=1, max=255)

company_name
string

Company name (length => min=1, max=255)

lang
string

Language (Valid ISO-639-1)

city
string

City

country
string

Country

role
string

Job title of the contact in his company

company_industry
string

Industry of the company

company_size
string

Size of the company

vars
object

Contains variables values as a free form object to store additional information

 

Response

The contact has been create successfully

first_namestring

The first name of the prospect

last_namestring

The last name of the prospect

picturestring

The gravatar url

stageIdstring

Optional stage id

statusstring

The lead status

langstring

The prospect's language

citystring

The city where the prospect live

countrystring

The country where the prospect live

emailstring

The email address of the prospect

phonestring

The phone number of the prospect

rolestring

The prospect's role in its company

company_namestring

The name of the company where's currently working

company_industrystring

The category of the company

company_sizestring

The number of employeen in the company

unsubscribedboolean

Does the prospects explicitly asked us to not contact him ?
It happens when the prospect click on the unsubscribe link.
The prospect won't be contacted anymore

varsobject

An hash map of custom properties of this contact. These keys can
be used in an email template.

listIdstring

The list in which the contact is (ObjectId)

userIdstring

The owner id of this contact (ObjectId)

companyIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

date_addedstring

date of creation

updatedAtstring

last update date

Quota is reached

messagestring
statusnumber
codenumber

The user has not the required scopes to operate on the given list

messagestring
statusnumber
codenumber

The contact already exists with the same email

Suggest Edits

DEPRECATED - Filter contacts based on multiple criteria

This route should be avoided in favor of POST /contacts/filter
Filter contacts based on multiple criteria.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts
curl --request GET \
  --url https://api.datananas.com/contacts
var request = require("request");

var options = { method: 'GET', url: 'https://api.datananas.com/contacts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

filter
string

Filter by keyword

id
objectId

Filter contacts by id

listId
objectId

Filter contacts by list. Should be a listId or list of listId

userId
objectId

Filter contacts by owner. Should be a userId or list of userId

stageId
objectId

Filter contact by stage.

companySize
string

Filter contacts by company size

companyIndustry
string

Filter contacts by company industry

city
string

Filter contacts by city

country
string

Filter contacts by country

role
string

Filter contacts by role

status
string

Filter contacts by status

createdAt
array of strings

Filter contacts by added ISO8601 date. Takes an array of two items were the first index is dateStart and the second is dateEnd.

campaignId
objectId

Filter contacts by campaign. Can be a single campaignId or multiple campaignId

isActiveInCampaign
boolean

Filter contacts by campaign activity

page
integer

Page to retrieve

limit
integer

Number of results per page (limited to 50)

email
string

Filter contacts by email

lastEmailCategory
string

Filter contacts by last email category

Response

A list of contact that match

Suggest Edits

DEPRECATED - Delete multiple contacts

This route should be avoided in favor of DELETE /contacts/filter
Delete multiple contacts by filters.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/contacts
curl --request DELETE \
  --url https://api.datananas.com/contacts
var request = require("request");

var options = { method: 'DELETE', url: 'https://api.datananas.com/contacts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/contacts");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

contactIds
array of strings

The contact ids to delete

filter
string

Filter by keyword

listId
objectId

Filter contacts by list. Should be a listId or list of listId

userId
objectId

Filter contacts by owner. Should be a userId or list of userId

companySize
string

Filter contacts by company size

companyIndustry
string

Filter contacts by company industry

city
string

Filter contacts by city

country
string

Filter contacts by country

role
string

Filter contacts by role

status
string

Filter contacts by status

createdAt
array of strings

Filter contacts by added ISO8601 date. Takes an array of two items were the first index is dateStart and the second is dateEnd.

campaignId
objectId

Filter contacts by campaign. Can be a single campaignId or multiple campaignId

isActiveInCampaign
boolean

Filter contacts by campaign activity

email
string

Filter contacts by email

lastEmailCategory
string

Filter contacts by last email category

Response

Some or all contacts have been deleted successfully

successboolean

Has the contact been deleted? Should be true

The user doesn't have the required scope to delete this contact

messagestring
statusnumber
codenumber

Contact not found

messagestring
statusnumber
codenumber
Suggest Edits

DEPRECATED - Update multiple contacts

Update status, list or user of multiple contacts.
This function should be avoided in favor of PATCH /contacts/filter

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/contacts
curl --request PATCH \
  --url https://api.datananas.com/contacts
var request = require("request");

var options = { method: 'PATCH', url: 'https://api.datananas.com/contacts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/contacts");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

contactIds
array of strings

Ids of contact to update

filter
string

Filter by keyword

listId
objectId

Filter contacts by list. Should be a listId or list of listId

userId
objectId

Filter contacts by owner. Should be a userId or list of userId

companySize
string

Filter contacts by company size

companyIndustry
string

Filter contacts by company industry

city
string

Filter contacts by city

country
string

Filter contacts by country

role
string

Filter contacts by role

status
string

Filter contacts by status

createdAt
array of strings

Filter contacts by added ISO8601 date. Takes an array of two items were the first index is dateStart and the second is dateEnd.

campaignId
objectId

Filter contacts by campaign. Can be a single campaignId or multiple campaignId

isActiveInCampaign
boolean

Filter contacts by campaign activity

email
string

Filter contacts by email

lastEmailCategory
string

Filter contacts by last email category

integrations
array of strings

List of integrations name to use

Body Params

contactIds
array of strings

An array of contacts id

listId
objectId

Updates to apply

userId
objectId
stageId
objectId
status
string

Response

The contacts will soon be updated

contactsnumber

The number of contacts updated

Contact not found

messagestring
statusnumber
codenumber
Suggest Edits

Delete a contact

Delete a single contact by id

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/contacts/id
curl --request DELETE \
  --url https://api.datananas.com/contacts/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.datananas.com/contacts/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/contacts/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
objectId
required

The contact id to delete

Response

The contact has been deleted successfully

successboolean

Has the contact been deleted? Should be true

The user doesn't have the required scope to delete this contact

messagestring
statusnumber
codenumber

Contact not found

messagestring
statusnumber
codenumber
Suggest Edits

Get a contact

Get a contact by id

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts/id
curl --request GET \
  --url https://api.datananas.com/contacts/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/contacts/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The contact id

Response

A contact (an additional 'blacklists' property exists)

createdAtstring

Date at which the contact has been created

first_namestring

The first name of the prospect

last_namestring

The last name of the prospect

picturestring

The gravatar url

stageIdstring

Optional stage id

statusstring

The lead status

langstring

The prospect's language

citystring

The city where the prospect live

countrystring

The country where the prospect live

emailstring

The email address of the prospect

phonestring

The phone number of the prospect

email_statusstring

The status of the email according to briteverify:

  • valid - The email represents a real account
  • invalid - Not a real email
  • unknown - cannot verify valid or invalid
  • accept_all - domains that respond to all verification request in the affirmative
sourcestring

Where does this prospect comes from

email_sourcestring

Where does the email come from

rolestring

The prospect's role in its company

deletedboolean

Does the contact has been removed

education_schoolstring

The school/university in which the contact have studied

education_diplomastring

The diploma in got in its university

education_majorstring

The major of its diploma

company_namestring

The name of the company where's currently working

company_industrystring

The category of the company

company_sizestring

The number of employeen in the company

varsobject

An hash map of custom properties of this contact. These keys can
be used in an email template.

listIdstring

The list in which the contact is (ObjectId)

userIdstring

The owner id of this contact (ObjectId)

companyIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

updatedAtstring

last update date

collectedAtstring

Date at which the contact has been collected.
This date is specified manually by the user when creating contacts.

customKeywordsstring

list of concatenated custom vars

email_scorenumber

The scope of the email address

lastEmailCategorystring

The category of the last email sent by the contact

Suggest Edits

Update contact

Update an existing contact

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/contacts/id
curl --request PATCH \
  --url https://api.datananas.com/contacts/id
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/contacts/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/contacts/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/id"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The id of the contact

Body Params

email
string

The new email address

first_name
string

The new first name

last_name
string

The new last name

stageId
objectId

new stage id

status
string

The new status

picture
string

The url of the new picture

linkedinurl
string

The url of the Linkedin profile

lang
string

The language of the contact

city
string

The city where the contact lives/works

country
string

The country where the contact lives/works

role
string

The role of the contact in its company

company_name
string

The name of the company

company_industry
string

The company type, sector

company_size
string

The size of the company

vars
object

A free form object to store additional information

 

Response

The contact has been updated successfully

first_namestring

The first name of the prospect

last_namestring

The last name of the prospect

picturestring

The gravatar url

stageIdstring

Optional stage id

statusstring

The lead status

langstring

The prospect's language

citystring

The city where the prospect live

countrystring

The country where the prospect live

emailstring

The email address of the prospect

phonestring

The phone number of the prospect

rolestring

The prospect's role in its company

company_namestring

The name of the company where's currently working

company_industrystring

The category of the company

company_sizestring

The number of employeen in the company

unsubscribedboolean

Does the prospects explicitly asked us to not contact him ?
It happens when the prospect click on the unsubscribe link.
The prospect won't be contacted anymore

varsobject

An hash map of custom properties of this contact. These keys can
be used in an email template.

listIdstring

The list in which the contact is (ObjectId)

userIdstring

The owner id of this contact (ObjectId)

companyIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

date_addedstring

date of creation

updatedAtstring

last update date

Contact not found

The first_name, last_name, company_name or the email is already used in another contact

The child resource stage does not exists

Suggest Edits

DEPRECATED - List owners

This route should be avoided in favor of GET /contacts/users
List owners of some contacts

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts/owners
curl --request GET \
  --url https://api.datananas.com/contacts/owners
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/contacts/owners' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/owners")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts/owners");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/owners"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

contactIds
array of strings

The contact ids to delete

filter
string

Filter by keyword

listId
objectId

Filter contacts by list. Should be a listId or list of listId

userId
objectId

Filter contacts by owner. Should be a userId or list of userId

companySize
string

Filter contacts by company size

companyIndustry
string

Filter contacts by company industry

city
string

Filter contacts by city

country
string

Filter contacts by country

role
string

Filter contacts by role

status
string

Filter contacts by status

createdAt
array of strings

Filter contacts by added ISO8601 date. Takes an array of two items were the first index is dateStart and the second is dateEnd.

campaignId
objectId

Filter contacts by campaign. Can be a single campaignId or multiple campaignId

isActiveInCampaign
boolean

Filter contacts by campaign activity

page
integer

Page to retrieve

limit
integer

Number of results per page (limited to 50)

email
string

Filter contacts by email

lastEmailCategory
string

Filter contacts by last email category

Response

A list of user that match with the number of contacts owned

Suggest Edits

Get pipeline

Gives a count of the number of contacts by status in the funnel/pipeline

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts/pipeline
curl --request GET \
  --url https://api.datananas.com/contacts/pipeline
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/contacts/pipeline' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/pipeline")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts/pipeline");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/pipeline"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Response

Stats for the requested period of the company

Suggest Edits

Get static values

Get contacts list of static values.
If the requested field is a value list like status or companyIndustry, all values are retrieved without pagination.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts/values
curl --request GET \
  --url 'https://api.datananas.com/contacts/values?field=field'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/contacts/values',
  qs: { field: 'field' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/values?field=field")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts/values?field=field");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/values"

querystring = {"field":"field"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

field
string
required

Field values to fetch. Must be a field from GET /contacts endpoint

filter
string

Filter results by name. Filter is case-insensitive

page
integer

Page to retrieve.

limit
integer

Number of results per page (limited to 50)

Response

A list of contact that match

Suggest Edits

Get timeline

Get a contact timeline of events including sent emails, reveiced emails, tasks and notes

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts/id/timeline
curl --request GET \
  --url https://api.datananas.com/contacts/id/timeline
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/contacts/id/timeline' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/id/timeline")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts/id/timeline");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/id/timeline"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The contact id

Query Params

page
integer

Page to retrieve

limit
integer

Number of results per page (limited to 50)

entities
array of strings

List of entities to fetch (defaults to all)

time
string

Requested time.

Response

Contact timeline

createdAtstring

Date at which the contact has been created

first_namestring

The first name of the prospect

last_namestring

The last name of the prospect

picturestring

The gravatar url

stageIdstring

Optional stage id

statusstring

The lead status

langstring

The prospect's language

citystring

The city where the prospect live

countrystring

The country where the prospect live

emailstring

The email address of the prospect

phonestring

The phone number of the prospect

email_statusstring

The status of the email according to briteverify:

  • valid - The email represents a real account
  • invalid - Not a real email
  • unknown - cannot verify valid or invalid
  • accept_all - domains that respond to all verification request in the affirmative
sourcestring

Where does this prospect comes from

email_sourcestring

Where does the email come from

rolestring

The prospect's role in its company

deletedboolean

Does the contact has been removed

education_schoolstring

The school/university in which the contact have studied

education_diplomastring

The diploma in got in its university

education_majorstring

The major of its diploma

company_namestring

The name of the company where's currently working

company_industrystring

The category of the company

company_sizestring

The number of employeen in the company

varsobject

An hash map of custom properties of this contact. These keys can
be used in an email template.

listIdstring

The list in which the contact is (ObjectId)

userIdstring

The owner id of this contact (ObjectId)

companyIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

updatedAtstring

last update date

collectedAtstring

Date at which the contact has been collected.
This date is specified manually by the user when creating contacts.

customKeywordsstring

list of concatenated custom vars

email_scorenumber

The scope of the email address

lastEmailCategorystring

The category of the last email sent by the contact

Suggest Edits

Check contacts validity

Checks contact validity before creating them in bulk

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/contacts/bulk/check
curl --request POST \
  --url https://api.datananas.com/contacts/bulk/check
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.datananas.com/contacts/bulk/check' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/bulk/check")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/contacts/bulk/check");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/bulk/check"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

replaceList
boolean

If set to true, existing contacts will be moved to the list

Body Params

contacts
array of objects
email
owner

Response

The contacts have been checked

existingContactsarray

List of contact already existing.

invalidOwnerarray

List of contact email that have an invalid owner field

Suggest Edits

Create multiple contacts

Create multiple contacts at once using bulk create.
If you intend to create large amounts of contacts, please divide your contacts in smaller chunks

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/contacts/bulk
curl --request POST \
  --url https://api.datananas.com/contacts/bulk
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.datananas.com/contacts/bulk' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/bulk")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/contacts/bulk");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/bulk"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

replaceList
boolean

When true, existing contacts will be moved to the list passed in parameter

replaceOwner
boolean

When true, existing contact owner will be replaced by the owner field

Body Params

list
object
 
list.name
string

If listId is not provided, name of the new list

list.listId
objectId

If name is not provided, list id in which contacts will be added

contacts
array of objects
city
collectedAt
company_industry
company_name
company_size
country
email
first_name
lang
last_name
linkedinurl
phone
role
owner
source
vars 

Response

Request received. The contacts will soon be created and/or updated

list

List in which contacts have been added

created

List of created contacts

updated

List of created contacts

The user has not the required scopes to operate on the given list

messagestring
statusnumber
codenumber

A contact with the same email already exists

Suggest Edits

Delete contacts

Delete multiple contacts by filters. If contactIds is present, searches and combination will bi ignored.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/contacts/filter
curl --request DELETE \
  --url https://api.datananas.com/contacts/filter
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.datananas.com/contacts/filter' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/filter")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/contacts/filter");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/filter"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

combination
string

How to combine searches

contactIds
array of strings
filterId
objectId

Id of the filter to use to select contacts

searches
array of arrays

Filters

Response

Some or all contacts have been deleted successfully

campaignsContactsobject

Information about campaigns in which are deleted contacts

campaignsContacts.affectednumber

Number of affected campaigns

campaignsContacts.deletednumber

Number of campaigns removed from contacts

campaignsContacts.updatednumber

Number of campaigns updated on contacts

contactsobject

Contacts related information

contacts.deletednumber

Number of updated contacts

pendingEmailsobject

Information about emails waiting to be sent

pendingEmails.deletednumber

Number of deleted emails

tasksobject

Information about deleted contacts tasks

tasks.deletednumber

Number of deleted tasks

Contacts not found

messagestring
statusnumber
codenumber
Suggest Edits

/contacts/filter

Search contact by filters

 
posthttps://api.datananas.com/contacts/filter
curl --request POST \
  --url https://api.datananas.com/contacts/filter
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.datananas.com/contacts/filter' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/filter")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/contacts/filter");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/filter"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

combination
string

How to combine searches

filterId
objectId

Id of the filter to use. Is a priority over a new filter

limit
integer

Maximum number of contact to display

page
integer

Result page number

searches
array of arrays

Filters

sort
object

How to sort contacts

 
sort.index
string

Key name by which results will be sorted

sort.direction
string

Sort order (asc or desc)

Response

Filtered contacts

contactsarray

Matching contacts

pageinteger

Current displayed result page

pagesinteger

Total number of result page

totalinteger

Total number of contacts

Suggest Edits

Update multiple contacts

Update status, list or user of multiple contacts

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/contacts/filter
curl --request PATCH \
  --url https://api.datananas.com/contacts/filter
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/contacts/filter' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/filter")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/contacts/filter");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/filter"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

combination
string

How to combine searches

contactIds
array of strings

An array of contacts id

filterId
objectId

Id of the filter to use to select contacts

integrations
array of strings

List of integrations name to use

listId
objectId

Updates to apply

searches
array of arrays

Filters

sort
object

How to sort contacts

 
sort.index
string

Key name by which results will be sorted

sort.direction
string

Sort order (asc or desc)

stageId
objectId
status
string

Value of the status to update

userId
objectId

Response

The contacts will soon be updated

updatednumber

Number of updated contacts

Contact not found

messagestring
statusnumber
codenumber

A related resource does not exists (list, user, stage)

messagestring
statusnumber
codenumber
Suggest Edits

Add contacts in sequence

Add contacts in a sequence. You can add contacts with multiple methods:

  1. By providing an array of contactIds
  2. By adding all contacts matching a saved filter, with filterId
  3. By adding all contacts in a list, with listId

There are also several ways to spread sequence steps over time, and across a sales team:

  1. Selecting a drip will spread the sequence first step over time.
    Example: adding 200 contacts with a drip of 20 will allow you to get in touch with 20 new contacts per open day.
  2. Selecting multiple senderIds will allow you to spread touches cross these users:
    • If you select an owner distribution, each contact will be contact by its previously defined owner
    • If you select a `random distribution, all contact will be randomly and equally distributed across senders

You can add up to 2500 contacts at once.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/contacts/engage
curl --request PATCH \
  --url https://api.datananas.com/contacts/engage
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/contacts/engage' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/engage")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/contacts/engage");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/engage"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

campaignId
objectId

Id of the campaign in which contacts will be added

combination
string

How to combine searches

contactIds
array of strings

An array of contacts id

dateStart
string

The ISO8601 format date when to start adding contacts.
The date must be in UTC timezone.

distribution
string

When activating drip with multiple senders, distribution defines how contacts are distributed between senders:

  • random - Contacts are distributed randomly across senders.
  • owner - The sender will be the contact's owner, and the distribution was made manually
drip
number

The number of new contacts per day to get in touch with

filterId
objectId

Id of the filter to use to select contacts

listId
objectId

An id of a list

searches
array of arrays

Filters

senderIds
array of strings

An array of one of more user ids that will be the senders

Response

Emails are being scheduled

engagednumber

The number of contacts added to the campaign

Distribute contacts between multiple senders is not available for standard accounts.

messagestring
statusnumber
codenumber

Missing scope

messagestring
statusnumber
codenumber

Campaign or sender not found

messagestring
statusnumber
codenumber
Suggest Edits

Get contacts owners

Get information about contacts owners

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts/users
curl --request GET \
  --url https://api.datananas.com/contacts/users
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/contacts/users' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/users")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts/users");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/users"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

combination
string

How to combine searches

contactIds
array of strings

An array of contacts id

filterId
objectId

Id of the filter to use to select contacts

limit
integer

Limit the number of contacts to analyse

searches
array of arrays

Filters

Response

Emails are being scheduled

Suggest Edits

Create note

Create a new contact's note

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/contacts/contactId/notes
curl --request POST \
  --url https://api.datananas.com/contacts/contactId/notes
var request = require("request");

var options = { method: 'POST',
  url:
   'https://api.datananas.com/contacts/contactId/notes' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/contactId/notes")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/contacts/contactId/notes");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/contactId/notes"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

contactId
objectId
required

The contact id

Body Params

title
string

Title of the note

content
string

Content of the note

Response

The contact's note has been created successfully

createdAtstring

Creation date of the note

updatedAtstring

Update date of the note

deletedAtstring

Soft deletion date of the note

titlestring

Title of the note

contentstring

User written content of the note

contactIdstring

The contact owning the note

userIdstring

The user's who wrote the note

companyIdstring

The contact's company

groupIdstring

The user's group

deletedboolean

Does the contact's note has been removed

The user has not the required scopes to operate on the given contact

messagestring
statusnumber
codenumber
Suggest Edits

Find notes

Filter contact notes with different search parameters

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts/contactId/notes
curl --request GET \
  --url https://api.datananas.com/contacts/contactId/notes
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/contacts/contactId/notes' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/contactId/notes")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts/contactId/notes");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/contactId/notes"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

contactId
objectId
required

The id of the the contact owning the notes

Query Params

page
number

The number of the return page

limit
number

The maximum of return templates per page

filter
string

The string to match in the name, subject or message of the template

userId
objectId

The id of the the author of the note

Response

A list of notes that match

Suggest Edits

Delete note

Delete a contact's note

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/contacts/contactId/notes/noteId
curl --request DELETE \
  --url https://api.datananas.com/contacts/contactId/notes/noteId
var request = require("request");

var options = { method: 'DELETE',
  url:
   'https://api.datananas.com/contacts/contactId/notes/noteId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/contactId/notes/noteId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/contacts/contactId/notes/noteId");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/contactId/notes/noteId"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

contactId
objectId
required

The contact's ID

noteId
objectId
required

The contact's note ID

Response

The note is deleted

The user has not the required scope to delete this note

messagestring
statusnumber
codenumber

Note not found

messagestring
statusnumber
codenumber
Suggest Edits

Get note

get an existing contact's note

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/contacts/contactId/notes/noteId
curl --request GET \
  --url https://api.datananas.com/contacts/contactId/notes/noteId
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/contacts/contactId/notes/noteId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/contactId/notes/noteId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/contacts/contactId/notes/noteId");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/contactId/notes/noteId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

contactId
objectId
required

The id of the contact

noteId
objectId
required

The id of the note

Response

The contact's note content

createdAtstring

Creation date of the note

updatedAtstring

Update date of the note

deletedAtstring

Soft deletion date of the note

titlestring

Title of the note

contentstring

User written content of the note

contactIdstring

The contact owning the note

userIdstring

The user's who wrote the note

companyIdstring

The contact's company

groupIdstring

The user's group

deletedboolean

Does the contact's note has been removed

Contact's Note not found

messagestring
statusnumber
codenumber
Suggest Edits

Update note

Update an existing contact's note

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/contacts/contactId/notes/noteId
curl --request PATCH \
  --url https://api.datananas.com/contacts/contactId/notes/noteId
var request = require("request");

var options = { method: 'PATCH',
  url:
   'https://api.datananas.com/contacts/contactId/notes/noteId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/contactId/notes/noteId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/contacts/contactId/notes/noteId");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/contactId/notes/noteId"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

contactId
string
required

The id of the contact

noteId
string
required

The id of the note

Body Params

title
string

The new title of the note

content
string

The new content of the note

Response

The contact's note has been updated successfully

createdAtstring

Creation date of the note

updatedAtstring

Update date of the note

deletedAtstring

Soft deletion date of the note

titlestring

Title of the note

contentstring

User written content of the note

contactIdstring

The contact owning the note

userIdstring

The user's who wrote the note

companyIdstring

The contact's company

groupIdstring

The user's group

deletedboolean

Does the contact's note has been removed

Contact's Note not found

messagestring
statusnumber
codenumber
Suggest Edits

Sequences

 
Suggest Edits

Create sequence

Create a new sequence

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/campaigns
curl --request POST \
  --url https://api.datananas.com/campaigns
var request = require("request");

var options = { method: 'POST', url: 'https://api.datananas.com/campaigns' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/campaigns");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

name
string

The name of the sequence

settings
object

This model is embedded inside Campaign and store the campaign settings

 
settings.timeBeforeUnresponsive
date

Number of day before a campaignContact should be marked as unresponsive

settings.isShared
boolean

Does the campaign settings are shared

settings.timeToSendEmail
number

Time at which mails will be sent

settings.emailsMaxPerDay
number

The maximum number of contacts added per day

settings.timezone
string

The timezone to use when sending emails

settings.trackOpens
boolean

Should we insert a pixel to track opening

settings.trackClicks
boolean

Should we track clicks on links

settings.removeWhenReply
boolean

Should we remove futur pending emails once replies

settings.allowHasBeenInCampaignContacts
boolean

Allows to add contacts if they were in a campaign before

settings.unsubscribe
boolean

Should we insert an unsubscribe link

settings.weekDays
object
 
settings.weekDays.mo
boolean

Monday

settings.weekDays.tu
boolean

Tusday

settings.weekDays.we
boolean

Wednesday

settings.weekDays.th
boolean

Thursday

settings.weekDays.fr
boolean

Friday

settings.weekDays.sa
boolean

Saturday

settings.weekDays.su
boolean

Sunday

steps
array of objects

The different steps of the sequence

delay
timeToSendEmail
isRequired
type
content 

Response

The sequence newly created

namestring

The name of the campaign

deletedboolean

Does the campaign has been removed

deletedAtboolean

Date of the campaign deletion

stepsarray

The different steps of the campaign

settingsobject

This model is embedded inside Campaign and store the campaign settings

settings.timeBeforeUnresponsivestring

Number of day before a campaignContact should be marked as unresponsive

settings.isSharedboolean

Does the campaign settings are shared

settings.timeToSendEmailnumber

Time at which mails will be sent

settings.emailsMaxPerDaynumber

The maximum number of contacts added per day

settings.timezonestring

The timezone to use when sending emails

settings.trackOpensboolean

Should we insert a pixel to track opening

settings.trackClicksboolean

Should we track clicks on links

settings.removeWhenReplyboolean

Should we remove futur pending emails once replies

settings.allowHasBeenInCampaignContactsboolean

Allows to add contacts if they were in a campaign before

settings.unsubscribeboolean

Should we insert an unsubscribe link

settings.weekDaysobject
settings.weekDays.moboolean

Monday

settings.weekDays.tuboolean

Tusday

settings.weekDays.weboolean

Wednesday

settings.weekDays.thboolean

Thursday

settings.weekDays.frboolean

Friday

settings.weekDays.saboolean

Saturday

settings.weekDays.suboolean

Sunday

userIdstring

The id of the user (ObjectId)

campaignIdstring

The id of the campaign (ObjectId)

groupIdstring

The group (ObjectId)

date_createdstring

The date at which the campaign has been created

updatedAtstring

last update date

Suggest Edits

Find sequences

Search sequences

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/campaigns
curl --request GET \
  --url https://api.datananas.com/campaigns
var request = require("request");

var options = { method: 'GET', url: 'https://api.datananas.com/campaigns' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/campaigns");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

filter
string

filter to apply on the list of sequences

id
objectId

Filter sequences by id

page
number

The number of the return page

limit
number

The maximum of return sequences per page

Response

The list of sequences

The user has not the required scope to list sequences

messagestring
statusnumber
codenumber
Suggest Edits

Delete sequence

Delete a sequence

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/campaigns/id
curl --request DELETE \
  --url https://api.datananas.com/campaigns/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.datananas.com/campaigns/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/campaigns/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The sequence's ID

Response

The sequence has been deleted successfully

affectedobject
affected.emailsnumber

Removed pending emails count

affected.contactsnumber

Contacts which were in the sequence before deletion

The user doesn't have the required scope to delete this sequence

messagestring
statusnumber
codenumber

Campaign not found

messagestring
statusnumber
codenumber
Suggest Edits

Get sequence

Get a single sequence by id

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/campaigns/id
curl --request GET \
  --url https://api.datananas.com/campaigns/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/campaigns/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/campaigns/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
objectId
required

The sequence id

Response

A sequence

namestring

The name of the campaign

deletedboolean

Does the campaign has been removed

deletedAtboolean

Date of the campaign deletion

stepsarray

The different steps of the campaign

settingsobject

This model is embedded inside Campaign and store the campaign settings

settings.timeBeforeUnresponsivestring

Number of day before a campaignContact should be marked as unresponsive

settings.isSharedboolean

Does the campaign settings are shared

settings.timeToSendEmailnumber

Time at which mails will be sent

settings.emailsMaxPerDaynumber

The maximum number of contacts added per day

settings.timezonestring

The timezone to use when sending emails

settings.trackOpensboolean

Should we insert a pixel to track opening

settings.trackClicksboolean

Should we track clicks on links

settings.removeWhenReplyboolean

Should we remove futur pending emails once replies

settings.allowHasBeenInCampaignContactsboolean

Allows to add contacts if they were in a campaign before

settings.unsubscribeboolean

Should we insert an unsubscribe link

settings.weekDaysobject
settings.weekDays.moboolean

Monday

settings.weekDays.tuboolean

Tusday

settings.weekDays.weboolean

Wednesday

settings.weekDays.thboolean

Thursday

settings.weekDays.frboolean

Friday

settings.weekDays.saboolean

Saturday

settings.weekDays.suboolean

Sunday

userIdstring

The id of the user (ObjectId)

campaignIdstring

The id of the campaign (ObjectId)

groupIdstring

The group (ObjectId)

date_createdstring

The date at which the campaign has been created

updatedAtstring

last update date

The user has not the required scope to get this sequence

messagestring
statusnumber
codenumber
Suggest Edits

Update sequence

Update an existing sequence

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/campaigns/id
curl --request PATCH \
  --url https://api.datananas.com/campaigns/id
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/campaigns/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/campaigns/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns/id"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The id of the sequence

Body Params

name
string

The name of the sequence

settings
object

This model is embedded inside Campaign and store the campaign settings

 
settings.timeBeforeUnresponsive
date

Number of day before a campaignContact should be marked as unresponsive

settings.isShared
boolean

Does the campaign settings are shared

settings.timeToSendEmail
number

Time at which mails will be sent

settings.emailsMaxPerDay
number

The maximum number of contacts added per day

settings.timezone
string

The timezone to use when sending emails

settings.trackOpens
boolean

Should we insert a pixel to track opening

settings.trackClicks
boolean

Should we track clicks on links

settings.removeWhenReply
boolean

Should we remove futur pending emails once replies

settings.allowHasBeenInCampaignContacts
boolean

Allows to add contacts if they were in a campaign before

settings.unsubscribe
boolean

Should we insert an unsubscribe link

settings.weekDays
object
 
settings.weekDays.mo
boolean

Monday

settings.weekDays.tu
boolean

Tusday

settings.weekDays.we
boolean

Wednesday

settings.weekDays.th
boolean

Thursday

settings.weekDays.fr
boolean

Friday

settings.weekDays.sa
boolean

Saturday

settings.weekDays.su
boolean

Sunday

steps
array of objects

The different steps of the sequence

delay
timeToSendEmail
isRequired
type
content 

Response

The sequence has been updated successfully

namestring

The name of the campaign

deletedboolean

Does the campaign has been removed

deletedAtboolean

Date of the campaign deletion

stepsarray

The different steps of the campaign

settingsobject

This model is embedded inside Campaign and store the campaign settings

settings.timeBeforeUnresponsivestring

Number of day before a campaignContact should be marked as unresponsive

settings.isSharedboolean

Does the campaign settings are shared

settings.timeToSendEmailnumber

Time at which mails will be sent

settings.emailsMaxPerDaynumber

The maximum number of contacts added per day

settings.timezonestring

The timezone to use when sending emails

settings.trackOpensboolean

Should we insert a pixel to track opening

settings.trackClicksboolean

Should we track clicks on links

settings.removeWhenReplyboolean

Should we remove futur pending emails once replies

settings.allowHasBeenInCampaignContactsboolean

Allows to add contacts if they were in a campaign before

settings.unsubscribeboolean

Should we insert an unsubscribe link

settings.weekDaysobject
settings.weekDays.moboolean

Monday

settings.weekDays.tuboolean

Tusday

settings.weekDays.weboolean

Wednesday

settings.weekDays.thboolean

Thursday

settings.weekDays.frboolean

Friday

settings.weekDays.saboolean

Saturday

settings.weekDays.suboolean

Sunday

userIdstring

The id of the user (ObjectId)

campaignIdstring

The id of the campaign (ObjectId)

groupIdstring

The group (ObjectId)

date_createdstring

The date at which the campaign has been created

updatedAtstring

last update date

Campaign not found

messagestring
statusnumber
codenumber

The sequence cannot be edited because it is currently running

messagestring
statusnumber
codenumber
Suggest Edits

Get sequence reports

Get sequence reports for a sequence

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/campaigns/id/reports
curl --request GET \
  --url https://api.datananas.com/campaigns/id/reports
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/campaigns/id/reports' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns/id/reports")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/campaigns/id/reports");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns/id/reports"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
objectId
required

The sequence id

Query Params

page
integer

Page to retrieve

limit
integer

Number of results per page (limited to 50)

Response

sequence reports

The user has not the required scope to get this sequence

messagestring
statusnumber
codenumber
Suggest Edits

Get stats

Get stats for a sequence

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/campaigns/id/stats
curl --request GET \
  --url https://api.datananas.com/campaigns/id/stats
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/campaigns/id/stats' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns/id/stats")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/campaigns/id/stats");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns/id/stats"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
objectId
required

The sequence id

Response

Campaign stats

namestring

The name of the campaign

deletedboolean

Does the campaign has been removed

deletedAtboolean

Date of the campaign deletion

stepsarray

The different steps of the campaign

settingsobject

This model is embedded inside Campaign and store the campaign settings

settings.timeBeforeUnresponsivestring

Number of day before a campaignContact should be marked as unresponsive

settings.isSharedboolean

Does the campaign settings are shared

settings.timeToSendEmailnumber

Time at which mails will be sent

settings.emailsMaxPerDaynumber

The maximum number of contacts added per day

settings.timezonestring

The timezone to use when sending emails

settings.trackOpensboolean

Should we insert a pixel to track opening

settings.trackClicksboolean

Should we track clicks on links

settings.removeWhenReplyboolean

Should we remove futur pending emails once replies

settings.allowHasBeenInCampaignContactsboolean

Allows to add contacts if they were in a campaign before

settings.unsubscribeboolean

Should we insert an unsubscribe link

settings.weekDaysobject
settings.weekDays.moboolean

Monday

settings.weekDays.tuboolean

Tusday

settings.weekDays.weboolean

Wednesday

settings.weekDays.thboolean

Thursday

settings.weekDays.frboolean

Friday

settings.weekDays.saboolean

Saturday

settings.weekDays.suboolean

Sunday

userIdstring

The id of the user (ObjectId)

campaignIdstring

The id of the campaign (ObjectId)

groupIdstring

The group (ObjectId)

date_createdstring

The date at which the campaign has been created

updatedAtstring

last update date

The user has not the required scope to get this sequence stats

messagestring
statusnumber
codenumber
Suggest Edits

DEPRECATED - Unsubscribe from all sequences

This function should be avoided in favor of PATCH /contacts/unsubscribe.
Unsubscribe multiple contacts from all sequences

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/campaigns/contacts
curl --request DELETE \
  --url 'https://api.datananas.com/campaigns/contacts?contactIds=contactIds'
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.datananas.com/campaigns/contacts',
  qs: { contactIds: 'contactIds' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/campaigns/contacts?contactIds=contactIds")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/campaigns/contacts?contactIds=contactIds");

xhr.send(data);
import requests

url = "https://api.datananas.com/campaigns/contacts"

querystring = {"contactIds":"contactIds"}

response = requests.request("DELETE", url, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

contactIds
array of strings
required

The ids of the contacts to unsubscribe

hard
boolean

True if contacts should also be blacklisted

reason
string

Blacklisting reason

filter
string

Filter by keyword

listId
objectId

Filter contacts by list. Should be a listId or list of listId

userId
objectId

Filter contacts by owner. Should be a userId or list of userId

companySize
string

Filter contacts by company size

companyIndustry
string

Filter contacts by company industry

city
string

Filter contacts by city

country
string

Filter contacts by country

role
string

Filter contacts by role

status
string

Filter contacts by status

createdAt
array of strings

Filter contacts by added ISO8601 date. Takes an array of two items were the first index is dateStart and the second is dateEnd.

campaignId
objectId

Filter contacts by campaign. Can be a single campaignId or multiple campaignId

isActiveInCampaign
boolean

Filter contacts by campaign activity

email
string

Filter contacts by email

lastEmailCategory
string

Filter contacts by last email category

Response

Some or all contacts have been unsubscribed successfully

successboolean

Has the contacts been unsubscribed

The user doesn't have the required scope to unsubscribe these contact

messagestring
statusnumber
codenumber

Contact not found

messagestring
statusnumber
codenumber
Suggest Edits

Unsubscribe from all sequences

Unsubscribe multiple contacts from all sequences

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/contacts/unsubscribe
curl --request DELETE \
  --url https://api.datananas.com/contacts/unsubscribe
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.datananas.com/contacts/unsubscribe' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/contacts/unsubscribe")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/contacts/unsubscribe");

xhr.send(data);
import requests

url = "https://api.datananas.com/contacts/unsubscribe"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

blacklist
boolean

True if contacts should also be blacklisted

combination
string

How to combine searches

contactIds
array of strings

The ids of the contacts to unsubscribe

filterId
objectId

Id of the filter to use to select contacts

reason
string

Blacklisting reason

searches
array of arrays

Filters

Response

Some or all contacts have been unsubscribed successfully

campaignsContactsobject

Information about campaigns oin which are unsubscribed contacts

campaignsContacts.affectednumber

Number of affected campaigns

campaignsContacts.deletednumber

Number of campaigns removed from contacts

campaignsContacts.updatednumber

Number of campaigns updated on contacts

contactsobject

Contacts related information

contacts.updatednumber

Number of updated contacts

pendingEmailsobject

Information about emails waiting to be sent

pendingEmails.deletednumber

Number of deleted emails

tasksobject

Information about unsubscribed contacts tasks

tasks.deletednumber

Number of deleted tasks

The user doesn't have the required scope to unsubscribe these contact

messagestring
statusnumber
codenumber

Contact not found

messagestring
statusnumber
codenumber
Suggest Edits

Companies

 
Suggest Edits

Companies introduction

 

Companies are related to users and not contacts

Suggest Edits

Get a company

Get a company by id. A company contains groups that contain users.

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/companies/id
curl --request GET \
  --url https://api.datananas.com/companies/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/companies/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/companies/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/companies/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/companies/id"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The company id

Response

A company

company_namestring

The name of the enterprise

outboundPlanstring

The plan of the selected by the customer

quotasobject

Company quotas

periodnumber

Period of subscription in months

phonestring

The phone number

creditsnumber

The number of credits of the customer

nbLicencesnumber

The number of licences of the customer

excluded_emailsarray

The list of email addresses excluded

addressobject

Infos about GDPR related contacts

address.address_1string

The first line of an address

address.address_2string

The second line of an address

address.postal_codestring

The zip code

address.citystring

The city name

address.countrystring

The country name

address.phone_numberstring

The phone number

address.is_headquarterboolean

Is this address the headquarter

infosobject

Infos about GDPR related contacts

infos.data_collectorobject

Person responsible for data collection in the company

infos.data_collector.first_namestring

First name of the person responsible for data collection

infos.data_collector.last_namestring

Last name of the person responsible for data collection

infos.data_collector.emailstring

Email of the person responsible for data collection

infos.data_collector.rolestring

Role of the person responsible for data collection

infos.dpoobject

Person who is Data Protection Officer

infos.dpo.first_namestring

First name of the DPO

infos.dpo.last_namestring

Last name of the DPO

infos.dpo.emailstring

Email of the DPO

infos.dpo.rolestring

Role of the DPO

vatstring

The value added tax identification number

settingsobject

Main settings for the customer

settings.datadeskobject
settings.datadesk.cleanNamesboolean

Whether the datadesk should clean contacts name

settings.datadesk.cleanRolesboolean

Whether the datadesk should clean contacts role

settings.datadesk.cleanCompanyNameboolean

Whether the datadesk should clean contacts company name

settings.datadesk.cleanCompanySizeboolean

Whether the datadesk should clean contacts company size

settings.twilioobject
settings.twilio.account_sidstring

Twillio subaccount Id

settings.twilio.auth_tokenstring

Twillio auth token

settings.gdprobject
settings.gdpr.isArchivingboolean

Should contacts be deleted after a certain delay

settings.gdpr.archiveDelaynumber

Number of days to wait from the collectedAt date to archive

settings.gdpr.archiveStatusarray

List of contact status to archive after delay is passed

integrationsarray
deletedboolean

Is the company deleted

deletedAtstring

When the company has been deleted

createdAtstring

date of creation

updatedAtstring

last update date

Suggest Edits

Update company

Update a company

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/companies/id
curl --request PATCH \
  --url https://api.datananas.com/companies/id
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/companies/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/companies/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/companies/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/companies/id"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The company's ID

Body Params

company_name
string

The name of the company

outboundPlan
string

The plan of the company (null, trial, standard, profesionnal)

nbLicences
number

Number of licences in the company

address
object

Infos about GDPR related contacts

 
address.address_1
string

The first line of an address

address.address_2
string

The second line of an address

address.postal_code
string

The zip code

address.city
string

The city name

address.country
string

The country name

address.phone_number
string

The phone number

address.is_headquarter
boolean

Is this address the headquarter

infos
object

Infos about GDPR related contacts

 
infos.data_collector
object

Person responsible for data collection in the company

 
infos.data_collector.first_name
string

First name of the person responsible for data collection

infos.data_collector.last_name
string

Last name of the person responsible for data collection

infos.data_collector.email
string

Email of the person responsible for data collection

infos.data_collector.role
string

Role of the person responsible for data collection

infos.dpo
object

Person who is Data Protection Officer

 
infos.dpo.first_name
string

First name of the DPO

infos.dpo.last_name
string

Last name of the DPO

infos.dpo.email
string

Email of the DPO

infos.dpo.role
string

Role of the DPO

settings
object

Main settings for the customer

 
settings.gdpr
object
 
settings.gdpr.isArchiving
boolean

Should contacts be deleted after a certain delay

settings.gdpr.archiveDelay
number

Number of days to wait from the collectedAt date to archive

settings.gdpr.archiveStatus
array

List of contact status to archive after delay is passed

settings.datadesk
object

Datadesk configuration

 
settings.datadesk.cleanCompanyName
boolean

Should company names be cleaned

settings.datadesk.cleanCompanySize
boolean

Should company sizes be cleaned

settings.datadesk.cleanNames
boolean

Should first and last names be cleaned

settings.datadesk.cleanRoles
boolean

Should roles be cleaned

settings.datadesk.magicVariables
object

Magic Variables Settings

 
settings.datadesk.magicVariables.civility
object

Generate civility

 
settings.datadesk.magicVariables.full_civility
object

Generate full civility

 
settings.datadesk.magicVariables.zipcode
object

Generate zipcode

 
settings.datadesk.magicVariables.department_name
object

Generate departement

 
settings.datadesk.magicVariables.chief_place
object

Generate chief place

 
settings.datadesk.magicVariables.department_inside
object

Generate department with prefix inside

 
settings.datadesk.magicVariables.department_direction
object

Generate department with prefix direction

 

Response

The company updated

company_namestring

The name of the enterprise

outboundPlanstring

The plan of the selected by the customer

quotasobject

Company quotas

periodnumber

Period of subscription in months

phonestring

The phone number

creditsnumber

The number of credits of the customer

nbLicencesnumber

The number of licences of the customer

excluded_emailsarray

The list of email addresses excluded

addressobject

Infos about GDPR related contacts

address.address_1string

The first line of an address

address.address_2string

The second line of an address

address.postal_codestring

The zip code

address.citystring

The city name

address.countrystring

The country name

address.phone_numberstring

The phone number

address.is_headquarterboolean

Is this address the headquarter

infosobject

Infos about GDPR related contacts

infos.data_collectorobject

Person responsible for data collection in the company

infos.data_collector.first_namestring

First name of the person responsible for data collection

infos.data_collector.last_namestring

Last name of the person responsible for data collection

infos.data_collector.emailstring

Email of the person responsible for data collection

infos.data_collector.rolestring

Role of the person responsible for data collection

infos.dpoobject

Person who is Data Protection Officer

infos.dpo.first_namestring

First name of the DPO

infos.dpo.last_namestring

Last name of the DPO

infos.dpo.emailstring

Email of the DPO

infos.dpo.rolestring

Role of the DPO

vatstring

The value added tax identification number

settingsobject

Main settings for the customer

settings.datadeskobject
settings.datadesk.cleanNamesboolean

Whether the datadesk should clean contacts name

settings.datadesk.cleanRolesboolean

Whether the datadesk should clean contacts role

settings.datadesk.cleanCompanyNameboolean

Whether the datadesk should clean contacts company name

settings.datadesk.cleanCompanySizeboolean

Whether the datadesk should clean contacts company size

settings.twilioobject
settings.twilio.account_sidstring

Twillio subaccount Id

settings.twilio.auth_tokenstring

Twillio auth token

settings.gdprobject
settings.gdpr.isArchivingboolean

Should contacts be deleted after a certain delay

settings.gdpr.archiveDelaynumber

Number of days to wait from the collectedAt date to archive

settings.gdpr.archiveStatusarray

List of contact status to archive after delay is passed

integrationsarray
deletedboolean

Is the company deleted

deletedAtstring

When the company has been deleted

createdAtstring

date of creation

updatedAtstring

last update date

Company not found

Missing company variables while synchronizing Pipedrive

Suggest Edits

Find companies

List companies

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/companies/
curl --request GET \
  --url https://api.datananas.com/companies/
var request = require("request");

var options = { method: 'GET', url: 'https://api.datananas.com/companies/' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/companies/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/companies/");

xhr.send(data);
import requests

url = "https://api.datananas.com/companies/"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Response

A list of company

Suggest Edits

Get quotas for a company

Gives quotas and actual consumption for each quota

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/companies/id/quotas
curl --request GET \
  --url https://api.datananas.com/companies/id/quotas
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/companies/id/quotas' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/companies/id/quotas")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/companies/id/quotas");

xhr.send(data);
import requests

url = "https://api.datananas.com/companies/id/quotas"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The company's ID

Response

Company's quotas

contact_createarray

Number of contacts [quota, number]

contact_connectarray

Number of contacts added with Connect this day [quota, number]

itemsinteger

Company does not exists

Suggest Edits

Get stats for a company

Gives statistics for the company for a given period.
For each user it shows the number of emails sent, reply rate, and number of replies by category
Categories are positive, negative, out of office, wrong contact, bounce

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/companies/id/stats
curl --request GET \
  --url https://api.datananas.com/companies/id/stats
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/companies/id/stats' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/companies/id/stats")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/companies/id/stats");

xhr.send(data);
import requests

url = "https://api.datananas.com/companies/id/stats"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The company's ID

Response

Stats for the requested period of the company

Suggest Edits

List groups

List all groups in a company

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/companies/:companyId/groups
curl --request GET \
  --url https://api.datananas.com/companies/:companyId/groups
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/companies/:companyId/groups' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/companies/:companyId/groups")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/companies/:companyId/groups");

xhr.send(data);
import requests

url = "https://api.datananas.com/companies/:companyId/groups"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Response

A list of group

Suggest Edits

List integrations

List all integrations for a given company

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/companies/companyId/integrations
curl --request GET \
  --url https://api.datananas.com/companies/companyId/integrations
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/companies/companyId/integrations' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/companies/companyId/integrations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/companies/companyId/integrations");

xhr.send(data);
import requests

url = "https://api.datananas.com/companies/companyId/integrations"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

companyId
objectId
required

The id of the company

Response

A list of integrations

Suggest Edits

Export resources

Exports the entire account's contacts or blacklist

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/export/resource
curl --request GET \
  --url https://api.datananas.com/export/resource
var request = require("request");

var options = { method: 'GET',
  url:
   'https://api.datananas.com/export/resource' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/export/resource")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/export/resource");

xhr.send(data);
import requests

url = "https://api.datananas.com/export/resource"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

resource
string
required

Resource to export. Can be contacts or blacklist

Query Params

searchId
string

An id of a saved search

filterId
string

A saved filter id

Response

The file has been created and will be uploaded

An error occured while creating the file

 
Suggest Edits

Create search

Create a saved search

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/searches
curl --request POST \
  --url https://api.datananas.com/searches
var request = require("request");

var options = { method: 'POST', url: 'https://api.datananas.com/searches' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/searches")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.datananas.com/searches");

xhr.send(data);
import requests

url = "https://api.datananas.com/searches"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Body Params

name
string

Name of the search

resource
string

Name of the resource

filters
array of objects

List of filters

fieldName
type
value

Response

The created saved search

namestring

The name of the search

resourcestring

The name of the resource to search

createdAtstring

Date of migration creation

updatedAtstring

Date of last migration update

filtersarray
Suggest Edits

Filter searches

Filter searches

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/searches
curl --request GET \
  --url 'https://api.datananas.com/searches?resource=resource'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/searches',
  qs: { resource: 'resource' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/searches?resource=resource")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/searches?resource=resource");

xhr.send(data);
import requests

url = "https://api.datananas.com/searches"

querystring = {"resource":"resource"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

resource
string
required

The name of the resource

page
number

The number of the page to return

limit
number

The maximum of searches per page

filter
string

The string to match in the name of the search

userId
objectId

The id of the user to filter

Response

The list of searches

The user has not the required scope to list searches

messagestring
statusnumber
codenumber
Suggest Edits

Delete search

Delete a saved search

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/searches/id
curl --request DELETE \
  --url https://api.datananas.com/searches/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.datananas.com/searches/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/searches/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/searches/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/searches/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The search ID

Response

Number of searches deleted

nbDeletedSearchesnumber

Number of affected searches

The user has not the required scope to delete this search

messagestring
statusnumber
codenumber

List not found

messagestring
statusnumber
codenumber
Suggest Edits

Update search

Update a saved search

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/searches/id
curl --request PATCH \
  --url https://api.datananas.com/searches/id
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/searches/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/searches/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/searches/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/searches/id"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

The id of the lust

Body Params

name
string

Name of the search

filters
array of objects

List of filters

fieldName
type
value

Response

The updated search

namestring

The name of the search

resourcestring

The name of the resource to search

createdAtstring

Date of migration creation

updatedAtstring

Date of last migration update

filtersarray
 
Suggest Edits

/filters/{id}

Delete a filter

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
deletehttps://api.datananas.com/filters/id
curl --request DELETE \
  --url https://api.datananas.com/filters/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.datananas.com/filters/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/filters/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.datananas.com/filters/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/filters/id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

Filter id

Response

Confirm filter deletion

Filter is not found

messagestring
statusnumber
codenumber
Suggest Edits

/filters/{id}

Updates a filter

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
patchhttps://api.datananas.com/filters/id
curl --request PATCH \
  --url https://api.datananas.com/filters/id
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.datananas.com/filters/id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/filters/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.datananas.com/filters/id");

xhr.send(data);
import requests

url = "https://api.datananas.com/filters/id"

response = requests.request("PATCH", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Path Params

id
string
required

Filter id

Body Params

combination
string

How to combine searches

name
string

Filter name

searches
array of arrays
sort
object
 
sort.index
string

Key from which to sort

sort.direction
string

Sort order

Response

The update has succeeded

Suggest Edits

/filters

Filter filters

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.datananas.com/filters
curl --request GET \
  --url 'https://api.datananas.com/filters?resource=resource'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.datananas.com/filters',
  qs: { resource: 'resource' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/filters?resource=resource")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.datananas.com/filters?resource=resource");

xhr.send(data);
import requests

url = "https://api.datananas.com/filters"

querystring = {"resource":"resource"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

Try the API to see results

Query Params

resource
string
required

The name of the resource

page
number

The number of the page to return

limit
number

Maximum of filter per page

name
string

String to match in the name of the filter

userId
objectId

The id of the user to filter

Response

Successfully retrieved filters

filtersarray

List of retrieved filters

totalinteger

Total number of filters

pageinteger

Current page

pagesinteger

Highest page number

Missing scopes

messagestring
statusnumber
codenumber
Suggest Edits

Integrations

 
Suggest Edits

Create an integration

Create an integration

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
posthttps://api.datananas.com/integrations
curl --request POST \
  --url https://api.datananas.com/integrations
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.datananas.com/integrations' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.datananas.com/integrations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.