Suggest Edits

Introduction

 

Datananas' API is organized around REST.
All API routes use HTTP verbs and responses use HTTP response codes.

Reponses are formatted with JSON.
All requests should be made over HTTPS.

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:

  • Go to the Get connected user route
  • Click on the "Try it" button
  • 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 need an access token.

Authentication

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

Expiration

Tokens expire currently after one year.
We plan to implement true Oauth 2 with refresh tokens.

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

409

Conflict

There is a conflict and you request can't be processed. For example, this can happen if you try to edit a running campaign.

 
Suggest Edits

Find domain for account

Find email domain for account

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//accounts/domain?company_name=company_name");

xhr.send(data);
import requests

url = "https://api.v2.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 domains that match

Suggest Edits

Find email

Find possible emails for a contact

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.v2.datananas.com//accounts/email
curl --request GET \
  --url 'https://api.v2.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.v2.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.v2.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.v2.datananas.com//accounts/email?first_name=first_name&last_name=last_name&domain=domain");

xhr.send(data);
import requests

url = "https://api.v2.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

 
Suggest Edits

Filter activites

Filter activies entries

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//activities");

xhr.send(data);
import requests

url = "https://api.v2.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

Subscribe

Add a subscription

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//billing/subscribe");

xhr.send(data);
import requests

url = "https://api.v2.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 (starter, team, team_plus, enterprise)

period
string

Subscription period (monthly, yearly)

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

Suggest Edits

Blacklist

 
Suggest Edits

Create a blacklisted entry

Create a blacklisted entry (email or domain)

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//blacklist");

xhr.send(data);
import requests

url = "https://api.v2.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

type
string
required

The type of the blacklisted entry

reason
string
required

The reason of the blacklisted entry

value
string
required

An email or a domain to blacklist
Multiple emails or domains can be added in an array

groupId
string

The group owning blacklisted entry

Response

The blacklist entry newly created

companyIdstring

The ID of the customer owning the blacklisted entry

groupIdstring

The ID of the group owning the blacklisted entry

userIdstring

The ID of the user owning the blacklisted entry

typestring

The type of the entry

valuestring

The blacklisted value

reasonstring

The reason of the blacklisting

createdAtstring

The date on which the entry has been added

Suggest Edits

Filter blacklist

Filter blacklisted entries

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//blacklist");

xhr.send(data);
import requests

url = "https://api.v2.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

Delete a blacklisted entry

Delete a blacklisted entry the user can access

 

OAuth2 Auth

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

var options = { method: 'DELETE',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//blacklist/id");

xhr.send(data);
import requests

url = "https://api.v2.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

Allow users to exports its data from the platform

Allow users to exports the following data:

  • contacts
  • blacklist
 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//export/resource");

xhr.send(data);
import requests

url = "https://api.v2.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

Query Params

searchId
string

An id of a saved search

Response

The file has been created and will be uploaded

An error occured while creating the file

Suggest Edits

Get token

Generate a Twilio Client capability token

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//calls/token");

xhr.send(data);
import requests

url = "https://api.v2.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.v2.datananas.com//calls/voice
curl --request POST \
  --url https://api.v2.datananas.com//calls/voice
var request = require("request");

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//calls/voice");

xhr.send(data);
import requests

url = "https://api.v2.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

Add contacts in a campaign

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

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

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

  1. Selecting a drip will spread the campaign 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.v2.datananas.com//campaigns/:id/contacts
curl --request PATCH \
  --url https://api.v2.datananas.com//campaigns/:id/contacts
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns/:id/contacts");

xhr.send(data);
import requests

url = "https://api.v2.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

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 a contact

Unsubscribe a single contact from a campaign

 

OAuth2 Auth

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

var options = { method: 'DELETE',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns/id/contacts/contactId");

xhr.send(data);
import requests

url = "https://api.v2.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 campaign'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 campaign 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

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts");

xhr.send(data);
import requests

url = "https://api.v2.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

education_school
string

School where the contact had studied

education_diploma
string

Last diploma

education_major
string

Major of his degree

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

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

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

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)

customerIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

date_addedstring

date of creation

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

icpsobject

A map that contain ICP document ids,
each id has an object as value with a score and a date

lastEmailCategorystring

The category of the last email sent by the contact

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

messagestring
statusnumber
codenumber

The contact already exists. two contacts are similar if they share the same email address or the same company_name, first_name and last_name

Suggest Edits

Delete multiple contacts

Delete multiple contacts by id

 

OAuth2 Auth

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

var options = { method: 'DELETE',
  url: 'https://api.v2.datananas.com//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.v2.datananas.com//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.v2.datananas.com//contacts?contactIds=contactIds");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//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 contact ids to delete

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

Search contact

Filter contact based on multiple criteria

 

OAuth2 Auth

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

var options = { method: 'GET', url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts");

xhr.send(data);
import requests

url = "https://api.v2.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

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

dateAdded
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

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)

id
objectId

Filter contacts by id

email
string

Filter contacts by email

lastEmailCategory
string

Filter contacts by last email category

Response

A list of contact that match

Suggest Edits

Update multiple contacts

Update status, list or user of multiple contacts

 

OAuth2 Auth

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

var options = { method: 'PATCH',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts");

xhr.send(data);
import requests

url = "https://api.v2.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

Body Params

contactIds
array of strings

An array of contacts id

listId
string

Id of the new assigned list

userId
string

Id of the new assigned user

status
string

The new status

Response

The contacts have been updated successfully

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.v2.datananas.com//contacts/id
curl --request DELETE \
  --url https://api.v2.datananas.com//contacts/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/id");

xhr.send(data);
import requests

url = "https://api.v2.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.v2.datananas.com//contacts/id
curl --request GET \
  --url https://api.v2.datananas.com//contacts/id
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/id");

xhr.send(data);
import requests

url = "https://api.v2.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

first_namestring

The first name of the prospect

last_namestring

The last name of the prospect

picturestring

The gravatar url

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

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

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)

customerIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

date_addedstring

date of creation

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

icpsobject

A map that contain ICP document ids,
each id has an object as value with a score and a date

lastEmailCategorystring

The category of the last email sent by the contact

Suggest Edits

Update a contact

Update an existing contact

 

OAuth2 Auth

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

var options = { method: 'PATCH',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/id");

xhr.send(data);
import requests

url = "https://api.v2.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

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

education_school
string

The school where the contact had studied

education_diploma
string

The last diploma of the contact

education_major
string

The major of his degree

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

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

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

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)

customerIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

date_addedstring

date of creation

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

icpsobject

A map that contain ICP document ids,
each id has an object as value with a score and a date

lastEmailCategorystring

The category of the last email sent by the contact

Contact not found

messagestring
statusnumber
codenumber

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

messagestring
statusnumber
codenumber
Suggest Edits

Search contact

Filter contact based on multiple criteria

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/owners");

xhr.send(data);
import requests

url = "https://api.v2.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

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

dateAdded
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

campaignId
objectId

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

isActiveInCampaign
boolean

Filter contacts by campaign activity

id
objectId

Filter contacts by id

email
string

Filter contacts by email

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.v2.datananas.com//contacts/pipeline
curl --request GET \
  --url https://api.v2.datananas.com//contacts/pipeline
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/pipeline");

xhr.send(data);
import requests

url = "https://api.v2.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 contacts 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.v2.datananas.com//contacts/values
curl --request GET \
  --url 'https://api.v2.datananas.com//contacts/values?field=field'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/values?field=field");

xhr.send(data);
import requests

url = "https://api.v2.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 a contact timeline

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

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/id/timeline");

xhr.send(data);
import requests

url = "https://api.v2.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

first_namestring

The first name of the prospect

last_namestring

The last name of the prospect

picturestring

The gravatar url

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

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

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)

customerIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

date_addedstring

date of creation

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

icpsobject

A map that contain ICP document ids,
each id has an object as value with a score and a date

lastEmailCategorystring

The category of the last email sent by the contact

Suggest Edits

Check existing contacts

Check existing contacts using bulk

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/bulk/check");

xhr.send(data);
import requests

url = "https://api.v2.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
listId
email
phone
first_name
last_name
company_name
lang
city
country
role
education_school
education_diploma
education_major
company_industry
company_size
vars 

Response

The contactshave been checked

first_namestring

The first name of the prospect

last_namestring

The last name of the prospect

picturestring

The gravatar url

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

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

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)

customerIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

date_addedstring

date of creation

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

icpsobject

A map that contain ICP document ids,
each id has an object as value with a score and a date

lastEmailCategorystring

The category of the last email sent by the contact

Suggest Edits

Create contacts (bulk)

Create contacts using bulk

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/bulk");

xhr.send(data);
import requests

url = "https://api.v2.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

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

Body Params

list
object
 
list.name
string

Name of the new list (if listId is not provided)

list.listId
objectId

Id of the list where contacts will be added (if name is not provided)

contacts
array of objects
listId
email
phone
first_name
last_name
company_name
lang
city
country
role
education_school
education_diploma
education_major
company_industry
company_size
vars 

Response

The contacts have been created and/or updated successfully

first_namestring

The first name of the prospect

last_namestring

The last name of the prospect

picturestring

The gravatar url

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

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

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)

customerIdstring

The id of the company (ObjectId)

groupIdstring

The group (ObjectId)

date_addedstring

date of creation

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

icpsobject

A map that contain ICP document ids,
each id has an object as value with a score and a date

lastEmailCategorystring

The category of the last email sent by the contact

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

messagestring
statusnumber
codenumber

The contact already exists. two contacts are similar if they share the same email address or the same company_name, first_name and last_name. The list name may also already exists

Suggest Edits

Import csv of contacts

Posting a csv to this route will initialize a csv import of contacts
This csv file must comport the following fields in order to be processed

  • first_name : The first name of the contact
  • first_name : The last name of the contact
  • role : The position of the contact in the company
  • company_name : Name of the company
  • email : Email of the contact
  • collectedAt : Date of collecte at the format DD/MM/YYY that must be in the past 30 days
 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//contacts/import");

xhr.send(data);
import requests

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

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 file to import

size
number

The size of the file

type
string

The type of the file to import

metadata
object

Informations about importing file

 
metadata.delimiter
string

The CSV columns delimiter

metadata.mapping
array of objects

This maps the name of the fields in the csv (from) to the name of contacts fields (to)
in case they are different

from
to

Response

File can be uploaded

namestring

The name of the file

keystring

The name of the file in the S3 bucket

typestring

The type of the file

statusstring

The uploading status

sizenumber

The size of the file in bytes

uploadUrlstring

The S3 signed url used for uploading the file

uploadDatestring

The time at which the file has been uploaded

metadataobject

Free form object to store metadata of the file

userIdstring

The id of the owner (ObjectId)

groupIdstring

The group (ObjectId)

createdAtstring

date of creation

updatedAtstring

last update date

Missing scope

messagestring
statusnumber
codenumber
Suggest Edits

Complete file upload

Complete file upload

 

OAuth2 Auth

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

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

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

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

url = URI("https://api.v2.datananas.com//contacts/import/id?listId=listId")

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.v2.datananas.com//contacts/import/id?listId=listId");

xhr.send(data);
import requests

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

querystring = {"listId":"listId"}

response = requests.request("PATCH", 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

Path Params

id
objectId
required

ID of the document

Query Params

listId
objectId
required

An optional list Id to import the contact into
If not provided, a list is created

Response

The import will start

namestring

The name of the file

keystring

The name of the file in the S3 bucket

typestring

The type of the file

statusstring

The uploading status

sizenumber

The size of the file in bytes

uploadUrlstring

The S3 signed url used for uploading the file

uploadDatestring

The time at which the file has been uploaded

metadataobject

Free form object to store metadata of the file

userIdstring

The id of the owner (ObjectId)

groupIdstring

The group (ObjectId)

createdAtstring

date of creation

updatedAtstring

last update date

Missing scope

messagestring
statusnumber
codenumber
Suggest Edits

Create a contact's note

Create a new contact's note

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/contactId/notes");

xhr.send(data);
import requests

url = "https://api.v2.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

Filter contact notes

Filter contact notes with different search parameters

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/contactId/notes");

xhr.send(data);
import requests

url = "https://api.v2.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 a contact's note

Delete a contact's note

 

OAuth2 Auth

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

var options = { method: 'DELETE',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/contactId/notes/noteId");

xhr.send(data);
import requests

url = "https://api.v2.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 a contact's note

get an existing contact's note

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/contactId/notes/noteId");

xhr.send(data);
import requests

url = "https://api.v2.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 a contact's note

Update an existing contact's note

 

OAuth2 Auth

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

var options = { method: 'PATCH',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//contacts/contactId/notes/noteId");

xhr.send(data);
import requests

url = "https://api.v2.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

Campaigns

 
Suggest Edits

Create a campaign

Create a new campaign

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns");

xhr.send(data);
import requests

url = "https://api.v2.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 campaign

settings
object

This model is embedded inside Campaign and store the campaign settings

 
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.removeWhenBounce
boolean

Should we remove futur pending emails when a mail has bounced

settings.allowInCampaignContacts
boolean

Allows to add contacts even if they are already in a campaign

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 campaign

delay
timeToSendEmail
isRequired
type
content 

Response

The campaign 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.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.removeWhenBounceboolean

Should we remove futur pending emails when a mail has bounced

settings.allowInCampaignContactsboolean

Allows to add contacts even if they are already in a campaign

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

List campaigns

List all campaigns

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns");

xhr.send(data);
import requests

url = "https://api.v2.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 campaigns

id
objectId

Filter campaigns by id

page
number

The number of the return page

limit
number

The maximum of return campaigns per page

Response

The list of campaigns

The user has not the required scope to list campaigns

messagestring
statusnumber
codenumber
Suggest Edits

Delete a campaign

Delete a campaign

 

OAuth2 Auth

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

var options = { method: 'DELETE',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns/id");

xhr.send(data);
import requests

url = "https://api.v2.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 campaign's ID

Response

The campaign has been deleted successfully

affectedobject
affected.emailsnumber

Removed pending emails count

affected.contactsnumber

Contacts which were in the campaign before deletion

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

messagestring
statusnumber
codenumber

Campaign not found

messagestring
statusnumber
codenumber
Suggest Edits

Get a campaign

Get a single campaign by id

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns/id");

xhr.send(data);
import requests

url = "https://api.v2.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 campaign id

Response

A campaign

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.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.removeWhenBounceboolean

Should we remove futur pending emails when a mail has bounced

settings.allowInCampaignContactsboolean

Allows to add contacts even if they are already in a campaign

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 campaign

messagestring
statusnumber
codenumber
Suggest Edits

Update a campaign

Update an existing campaign

 

OAuth2 Auth

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

var options = { method: 'PATCH',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns/id");

xhr.send(data);
import requests

url = "https://api.v2.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 campaign

Body Params

name
string

The name of the campaign

settings
object

This model is embedded inside Campaign and store the campaign settings

 
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.removeWhenBounce
boolean

Should we remove futur pending emails when a mail has bounced

settings.allowInCampaignContacts
boolean

Allows to add contacts even if they are already in a campaign

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 campaign

delay
timeToSendEmail
isRequired
type
content 

Response

The campaign 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.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.removeWhenBounceboolean

Should we remove futur pending emails when a mail has bounced

settings.allowInCampaignContactsboolean

Allows to add contacts even if they are already in a campaign

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 campaign cannot be edited because it is currently running

messagestring
statusnumber
codenumber
Suggest Edits

Get campaign reports

Get campaign reports for a campaign

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns/id/reports");

xhr.send(data);
import requests

url = "https://api.v2.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 campaign id

Query Params

page
integer

Page to retrieve

limit
integer

Number of results per page (limited to 50)

Response

campaign reports

The user has not the required scope to get this campaign

messagestring
statusnumber
codenumber
Suggest Edits

Unsubscribe multiple contacts from all campaigns

Unsubscribe multiple contacts from all campaigns

 

OAuth2 Auth

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

var options = { method: 'DELETE',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//campaigns/contacts?contactIds=contactIds");

xhr.send(data);
import requests

url = "https://api.v2.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 must be marked as unsubscribed

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

Create list

Create a new list of contacts

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//lists");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//lists"

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

list_name
string

The name of the list

Response

The list newly created

list_namestring

The name of the list

userIdstring

The owner of the list (ObjectId)

companyIdstring

The company of the owner (ObjectId)

isSharedboolean

Does the list is shared

groupIdstring

The id of the group (ObjectId)

createdAtstring

date of creation

updatedAtstring

last update date

deletedboolean

Does the list has been removed

deletedAtstring

Date of the list deletion

Suggest Edits

Filter lists

Filter lists of contacts

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//lists");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//lists"

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

Search lists by name

page
string

The number of the page to return

limit
number

The maximum of return lists per page

Response

The list of lists

The user has not the required scope to list lists

messagestring
statusnumber
codenumber
Suggest Edits

Delete list

Delete a list

 

OAuth2 Auth

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

var options = { method: 'DELETE',
  url: 'https://api.v2.datananas.com//lists/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.v2.datananas.com//lists/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.v2.datananas.com//lists/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//lists/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 list's ID

Response

The list deleted

nbAffectedContactsnumber

Number of affected contacts (softly deleted)

The user has not the required scope to delete this list

messagestring
statusnumber
codenumber

List not found

messagestring
statusnumber
codenumber
Suggest Edits

Update list

Edit a list of contacts

 

OAuth2 Auth

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

var options = { method: 'PATCH',
  url: 'https://api.v2.datananas.com//lists/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.v2.datananas.com//lists/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.v2.datananas.com//lists/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//lists/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

list_name
string

The new name of the list

userId
string

The new owner of the list

groupId
string

The new group of the list

Response

The list edited

list_namestring

The name of the list

userIdstring

The owner of the list (ObjectId)

companyIdstring

The company of the owner (ObjectId)

isSharedboolean

Does the list is shared

groupIdstring

The id of the group (ObjectId)

createdAtstring

date of creation

updatedAtstring

last update date

deletedboolean

Does the list has been removed

deletedAtstring

Date of the list deletion

 
Suggest Edits

Create a message

Create a new message

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//messages");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//messages"

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

to
object
 
to.contacts
array of strings
required
to.users
array of strings
cc
object
 
cc.contacts
array of strings
cc.users
array of strings
bcc
object
 
bcc.contacts
array of strings
bcc.users
array of strings
subject
string
required

Subject of the message

body
string
required

HTML body of the message

replyToMessageId
string

Id (not NylasMessageID) of the message which this message is a response to

Response

The message has been created successfully

cursorstring

The mailbox cursor at which the message has been synced

categorystring

The category of the message

syncDatestring

Date at which we synchronized the mailbox

datestring

Reception date of the email

replyDatestring

Date at which the email has been replied

bodystring

The content of the message (can contains HTML)

subjectstring

The subject of the email

snippetstring

A shorten version of the body (only text)

eventsarray

An array of events linked in the email

filesarray

An array of files attached to the email

labelsarray

An array of folders in which the message is

starredboolean

Does the message has been starred by the mailbox owner

unreadboolean

Does the message has been read

headersobject
headers.Message-Idstring

The real message id of the IMAP headers

headers.Referencesarray

The list of message id of the current discussion

headers.In-Reply-Tostring

The message id this message is replying to

nylasMessageIdstring

The id of the message returned by the nylas api

nylasThreadIdstring

The id of the thread returned by the nylas api

nylasAccountIdstring

The nylas account id of the user

campaignIdstring

The id of the campaign, assigned once reconciled (ObjectId)

userIdstring

The id of the user (ObjectId)

supervisorIdstring

The eventual ID of the campaign supervisor for the contact (ObjectId)

contactIdstring

The sender id, assigned once reconciled (ObjectId)

fromobject

Information about an recipient, sender

from.emailstring

An email address

from.namestring

A first name and a last_name

toobject

Information about an recipient, sender

to.emailstring

An email address

to.namestring

A first name and a last_name

ccobject

Information about an recipient, sender

cc.emailstring

An email address

cc.namestring

A first name and a last_name

bccobject

Information about an recipient, sender

bcc.emailstring

An email address

bcc.namestring

A first name and a last_name

groupIdstring

The id of the group (ObjectId)

timezonestring

The timezone to use when sending emails

createdAtstring

date of creation

updatedAtstring

last update date

extractedDataobject

Data extracted by the email classification post processing

languagestring

Message language http://www.lingoes.net/en/translator/langcode.htm

actionsarray

The user has not the required scopes to send a new message

messagestring
statusnumber
codenumber
Suggest Edits

Filter messages

Filter all messages belonging to the user or his group

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//messages");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//messages"

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

category
string

Search messages by category

userId
string

Search messages by userId

campaignId
string

Search messages by campaignId

listId
string

Search messages by listId

contactId
string

Search messages by contactId

done
boolean

Search messages by done

page
string

The number of the page to return

limit
number

The maximum of return lists per page

Response

A list of messages

Suggest Edits

Get a message

Get a message by id

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.datananas.com//messages/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.v2.datananas.com//messages/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.v2.datananas.com//messages/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//messages/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 message id

Response

A message

The user has not the required scope to get this message

messagestring
statusnumber
codenumber
Suggest Edits

Update message

Update message

 

OAuth2 Auth

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

var options = { method: 'PATCH',
  url: 'https://api.v2.datananas.com//messages/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.v2.datananas.com//messages/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.v2.datananas.com//messages/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//messages/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 message

Body Params

starred
boolean

The message star status

done
boolean

True if the message has been processed by the user

unread
boolean

The message read status (true if message is not read)

actions
object
 
actions._id
objectId
required

Id of the smart action to update

actions.status
string
required

New status of the smart action

Response

The message has been updated successfully

cursorstring

The mailbox cursor at which the message has been synced

categorystring

The category of the message

syncDatestring

Date at which we synchronized the mailbox

datestring

Reception date of the email

replyDatestring

Date at which the email has been replied

bodystring

The content of the message (can contains HTML)

subjectstring

The subject of the email

snippetstring

A shorten version of the body (only text)

eventsarray

An array of events linked in the email

filesarray

An array of files attached to the email

labelsarray

An array of folders in which the message is

starredboolean

Does the message has been starred by the mailbox owner

unreadboolean

Does the message has been read

headersobject
headers.Message-Idstring

The real message id of the IMAP headers

headers.Referencesarray

The list of message id of the current discussion

headers.In-Reply-Tostring

The message id this message is replying to

nylasMessageIdstring

The id of the message returned by the nylas api

nylasThreadIdstring

The id of the thread returned by the nylas api

nylasAccountIdstring

The nylas account id of the user

campaignIdstring

The id of the campaign, assigned once reconciled (ObjectId)

userIdstring

The id of the user (ObjectId)

supervisorIdstring

The eventual ID of the campaign supervisor for the contact (ObjectId)

contactIdstring

The sender id, assigned once reconciled (ObjectId)

fromobject

Information about an recipient, sender

from.emailstring

An email address

from.namestring

A first name and a last_name

toobject

Information about an recipient, sender

to.emailstring

An email address

to.namestring

A first name and a last_name

ccobject

Information about an recipient, sender

cc.emailstring

An email address

cc.namestring

A first name and a last_name

bccobject

Information about an recipient, sender

bcc.emailstring

An email address

bcc.namestring

A first name and a last_name

groupIdstring

The id of the group (ObjectId)

timezonestring

The timezone to use when sending emails

createdAtstring

date of creation

updatedAtstring

last update date

extractedDataobject

Data extracted by the email classification post processing

languagestring

Message language http://www.lingoes.net/en/translator/langcode.htm

actionsarray

Message not found

messagestring
statusnumber
codenumber
Suggest Edits

Get messages values

Get messages list of values

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.datananas.com//messages/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.v2.datananas.com//messages/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.v2.datananas.com//messages/values?field=field");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//messages/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 /messages 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 values that match

Suggest Edits

Pending Emails

 
Suggest Edits

Get stats for scheduled emails

Get scheduled emails nulber per day and hour

 

OAuth2 Auth

Bearer
 Authentication is required for this endpoint.
gethttps://api.v2.datananas.com//pending-emails/calendar
curl --request GET \
  --url 'https://api.v2.datananas.com//pending-emails/calendar?estimatedDate=estimatedDate'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.v2.datananas.com//pending-emails/calendar',
  qs: { estimatedDate: 'estimatedDate' } };

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

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

url = URI("https://api.v2.datananas.com//pending-emails/calendar?estimatedDate=estimatedDate")

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.v2.datananas.com//pending-emails/calendar?estimatedDate=estimatedDate");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//pending-emails/calendar"

querystring = {"estimatedDate":"estimatedDate"}

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

estimatedDate
array of strings
required

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

userId
array of strings

Filter by user. Can be a single userId or multiple userId

campaignId
array of strings

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

stepNb
array of numbers

Filter by step number. Can be a single stepNb or multiple stepNb

Response

Stats for the requested period of the company

Suggest Edits

Filter Pending emails

Filter pending emails based on multiple criteria

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.datananas.com//pending-emails' };

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

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

url = URI("https://api.v2.datananas.com//pending-emails")

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.v2.datananas.com//pending-emails");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//pending-emails"

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

userId
objectId

Filter pending emails by one or many userIds

contactId
objectId

Filter pending emails by one or many contactIds

campaignId
objectId

Filter pending emails by campaign. Can be a single campaignId or multiple campaignId

isSent
boolean

Filter pending emails by sending status, should be a boolean

estimatedDate
date

Filter Pending emails by estimated Date
Takes an array of two items, first item is dateStart and second is dateEnd.
Dates must be in ISO8601 format

page
integer

Page to retrieve

limit
integer

Number of results per page (limited to 50)

Response

A list of pending emails that match

 
Suggest Edits

Create search

Create a saved search

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//searches");

xhr.send(data);
import requests

url = "https://api.v2.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.v2.datananas.com//searches
curl --request GET \
  --url 'https://api.v2.datananas.com//searches?resource=resource'
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//searches?resource=resource");

xhr.send(data);
import requests

url = "https://api.v2.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.v2.datananas.com//searches/id
curl --request DELETE \
  --url https://api.v2.datananas.com//searches/id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//searches/id");

xhr.send(data);
import requests

url = "https://api.v2.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.v2.datananas.com//searches/id
curl --request PATCH \
  --url https://api.v2.datananas.com//searches/id
var request = require("request");

var options = { method: 'PATCH',
  url: 'https://api.v2.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.v2.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.v2.datananas.com//searches/id");

xhr.send(data);
import requests

url = "https://api.v2.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

Create task

create a new task

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//tasks");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//tasks"

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 task

description
string

The description of the task

contactId
objectId

The id of the contact related

userId
objectId

The id of the user that will do the task

originalDate
date

The ISO8601 format date when the task should be done

importance
string

The importance of the task

type
string

The type of task

timezone
string

The timezone of the task

Response

The task newly created

namestring

Name of the task

descriptionstring

Description of the task

stepNbnumber

The campaign's step (if related to a campaign)

isRequiredboolean

Is the task required to continue the campaign

originalDatestring

The date at which the task should be done

estimatedDatestring

The date at which the task should be done if changed

doneDatestring

The date at which the task has been done

timezonestring

The timezone to use for task

typestring

The category of task

importancestring

The category of task

supervisorIdstring

Id of the user who added the contact to the campaign

userIdstring

Id of the user who muse execute the task

contactIdstring

Id of the contact related

campaignIdstring

The campaign this task is attached to

companyIdstring

The user's company

groupIdstring

The user's group

varsobject

The variables of the contact use as placeholder for the task

versionnumber

The internal version of the task

Suggest Edits

Filter tasks

Filter tasks with different search parameters

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//tasks/");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//tasks/"

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

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

sort
string

Sorts the results

userId
objectId

The id of the user who should do the task

supervisorId
objectId

The id of the user's who created the task is not the same

contactId
objectId

The id of the the related contact

estimatedDate
date

An ISO8601 format date range when the task should be done
This can be different from originalDate, because tasks can be rescheduled

doneDate
date

An ISO8601 format date rang when the task has been done

importance
string

The importance of the task

type
string

The type of task

isDone
boolean

Is the task done

Response

A list of tasks that match

Suggest Edits

Update task

Edit a task

 

OAuth2 Auth

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

var options = { method: 'PATCH',
  url: 'https://api.v2.datananas.com//tasks/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.v2.datananas.com//tasks/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.v2.datananas.com//tasks/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//tasks/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 task

Body Params

userId
objectId

The new owner of the task

name
string

The new name of the task

description
string

The new description of the task

estimatedDate
date

The ISO8601 format date when the task should be done

doneDate
date

The ISO8601 format date when the task has been done

importance
string

The importance of the task

type
string

The type of task

Response

The edited task

namestring

Name of the task

descriptionstring

Description of the task

stepNbnumber

The campaign's step (if related to a campaign)

isRequiredboolean

Is the task required to continue the campaign

originalDatestring

The date at which the task should be done

estimatedDatestring

The date at which the task should be done if changed

doneDatestring

The date at which the task has been done

timezonestring

The timezone to use for task

typestring

The category of task

importancestring

The category of task

supervisorIdstring

Id of the user who added the contact to the campaign

userIdstring

Id of the user who muse execute the task

contactIdstring

Id of the contact related

campaignIdstring

The campaign this task is attached to

companyIdstring

The user's company

groupIdstring

The user's group

varsobject

The variables of the contact use as placeholder for the task

versionnumber

The internal version of the task

Suggest Edits

Templates

 
Suggest Edits

Duplicate template

Creates a copy of an existing email template

 

OAuth2 Auth

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

var options = { method: 'POST',
  url: 'https://api.v2.datananas.com//templates/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.v2.datananas.com//templates/id")

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.v2.datananas.com//templates/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//templates/id"

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

id
string
required

The id of the template to copy

Response

The template copied

Suggest Edits

Delete template

Delete an email template

 

OAuth2 Auth

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

var options = { method: 'DELETE',
  url: 'https://api.v2.datananas.com//templates/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.v2.datananas.com//templates/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.v2.datananas.com//templates/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//templates/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 template's ID

Response

The template is correctly deleted

The user has not the required scope to delete this template

messagestring
statusnumber
codenumber

Email template not found

messagestring
statusnumber
codenumber
Suggest Edits

Get template

Get an email template

 

OAuth2 Auth

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

var options = { method: 'GET',
  url: 'https://api.v2.datananas.com//templates/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.v2.datananas.com//templates/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.v2.datananas.com//templates/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//templates/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 email template id

Response

An email template

Suggest Edits

Edit template

Edit an email template

 

OAuth2 Auth

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

var options = { method: 'PATCH',
  url: 'https://api.v2.datananas.com//templates/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.v2.datananas.com//templates/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.v2.datananas.com//templates/id");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//templates/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 template

Body Params

name
string

The new name of the template

subject
string

The new subject of the template

message
string

The new template message

category
string

The new category of the template

userId
string

The new owner of the template

groupId
string

The new group of the template

Response

The template edited

Suggest Edits

Create template

Create a new email template

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//templates");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//templates"

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 template

subject
string

The subject of the email

message
string

The message to inject (can be HTML)

category
string

The category of the template

Response

The email template newly created

namestring

The name of the template

subjectstring

The subject of the email

messagestring

The message to inject (can be HTML)

categorystring

The category of the template

userIdstring

The owner of the template (ObjectId)

companyIdstring

The company of the template (ObjectId)

groupIdstring

The group (ObjectId)

date_createdstring

date of creation

updatedAtstring

last update date

deletedboolean

Does the template has been removed

deletedAtstring

Date of the template deletion

Suggest Edits

Filter templates

Filter email templates

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//templates");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//templates"

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

page
number

Page number

limit
number

Number of templates to return

filter
string

Filter to search in the name, subject or message of the template

name
string

Name of the template

string
string

Subject of the template

message
string

The message to inject (can be HTML)

category
string

Category of the template

userId
string

The id of the template's owner to match

groupId
string

The id of the template's owner group to match

Response

The list of email templates

The user has not the required scope to list email templates

messagestring
statusnumber
codenumber
Suggest Edits

Variables

 
Suggest Edits

Create variable

Create a new variable that can be used in emails

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//variables");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//variables"

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 variable

type
string

The type of the variable

Response

The variable newly created

namestring

Name of the variable

typestring

Type of the variable

userIdstring

The user who owns the variable (ObjectId)

companyIdstring

The user's company (ObjectId)

groupIdstring

The user's group (ObjectId)

isStaticboolean

Is the variable a static variable

deletedboolean

Is the variable deleted

deletedAtboolean

When the variable has been deleted

createdAtstring

date of creation

updatedAtstring

last update date

Suggest Edits

Filter variables

List all variables according to scopes. Can be filtered
user field is null if the variable is static

 

OAuth2 Auth

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

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

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

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

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

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.v2.datananas.com//variables");

xhr.send(data);
import requests

url = "https://api.v2.datananas.com//variables"

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. ie. GET /variables?filter=var1&filter=var2

isStatic
boolean

If true, only static variables will be fetched
If false, only non static variables will be fetched
If omitted, all matching variables will be fetched

page
number

Page number

limit
number

Number of variables to return

Response

A list of variables

Suggest Edits

Delete variable

Delete a variable

 

OAuth2 Auth

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

var options<