Sendible API

Queues

Create Queue

Open in API Explorer
POST /v2/queue.json

Create a queue for the authenticated user.

Example Request

Format:
curl --request POST \
  --url 'https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_name=My%20Promotion&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30' \
  --header 'accept: application/json' \
  --header 'authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001'
require 'uri'
require 'net/http'

url = URI("https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_name=My%20Promotion&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Basic QWxhZGRpbjpPcGVuU2VzYW1l'
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.sendible.com",
  "port": null,
  "path": "/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_name=My%20Promotion&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30",
  "headers": {
    "accept": "application/json",
    "authorization": "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
    "content-type": "multipart/form-data; boundary=---011000010111000001101001"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.sendible.com")

payload = ""

headers = {
    'accept': "application/json",
    'authorization': "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
    'content-type': "multipart/form-data; boundary=---011000010111000001101001"
    }

conn.request("POST", "/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_name=My%20Promotion&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_name=My%20Promotion&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l",
    "content-type: multipart/form-data; boundary=---011000010111000001101001"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_name=My%20Promotion&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Basic QWxhZGRpbjpPcGVuU2VzYW1l")
	req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Query Parameters

Name Type Required Description Example
application_id String Required

Your developer application id. This was provided to you via email.

4b634537cc392cca820b61dab08
queue_name String Required

The name of the queue.

My+Promotion
auto_detect Number Required

This is not currently in use. Please use 0.

0
can_repeat Number Required

Whether or not this queue can automatically recycle messages. Possible values are 1 or 0.

1
contributors String Optional

A comma separated lists of user IDs representing users that can contribute to this queue.

100001%2C+100002
queue_times String Optional

A comma separated list of queue times. These will replace the existing times on the queue. Required format: day_index|hour|minute,day_index|hour|minute,....,day_index|hour|minute day_index of 0 represents Monday. day_index of 6 is Sunday. Example: 0|11|30, 2|14|44 represents: Monday at 11.30, Wednesday at 2.44pm.

0%7C11%7C30

Responses

default Default

Unknown

(Empty Response)

Update Queue Order

Open in API Explorer
GET /v2/queue_order.json

Update the order in which messages are scheduled in a queue.

Example Request

Format:
curl --request GET \
  --url 'https://api.sendible.com/api/v2/queue_order.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&order=100011000310002' \
  --header 'accept: application/json' \
  --header 'authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l'
require 'uri'
require 'net/http'

url = URI("https://api.sendible.com/api/v2/queue_order.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&order=100011000310002")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Basic QWxhZGRpbjpPcGVuU2VzYW1l'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.sendible.com",
  "port": null,
  "path": "/api/v2/queue_order.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&order=100011000310002",
  "headers": {
    "accept": "application/json",
    "authorization": "Basic QWxhZGRpbjpPcGVuU2VzYW1l"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.sendible.com")

headers = {
    'accept': "application/json",
    'authorization': "Basic QWxhZGRpbjpPcGVuU2VzYW1l"
    }

conn.request("GET", "/api/v2/queue_order.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&order=100011000310002", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.sendible.com/api/v2/queue_order.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&order=100011000310002",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.sendible.com/api/v2/queue_order.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&order=100011000310002"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Basic QWxhZGRpbjpPcGVuU2VzYW1l")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Query Parameters

Name Type Required Description Example
application_id String Required

Your developer application id. This was provided to you via email.

4b634537cc392cca820b61dab08
queue_id Number Required

ID of the queue you wish to update.

1001
order String Required

A comma separated list of message IDs belonging to this queue representing the order in which they should be sent.

100011000310002

Responses

default Default

Unknown

(Empty Response)

Update Queue

Open in API Explorer
PUT /v2/queue.json

Save changes to an existing queue.

Example Request

Format:
curl --request PUT \
  --url 'https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&queue_name=My%20Offers&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30' \
  --header 'accept: application/json' \
  --header 'authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001'
require 'uri'
require 'net/http'

url = URI("https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&queue_name=My%20Offers&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Put.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Basic QWxhZGRpbjpPcGVuU2VzYW1l'
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "PUT",
  "hostname": "api.sendible.com",
  "port": null,
  "path": "/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&queue_name=My%20Offers&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30",
  "headers": {
    "accept": "application/json",
    "authorization": "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
    "content-type": "multipart/form-data; boundary=---011000010111000001101001"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.sendible.com")

payload = ""

headers = {
    'accept': "application/json",
    'authorization': "Basic QWxhZGRpbjpPcGVuU2VzYW1l",
    'content-type': "multipart/form-data; boundary=---011000010111000001101001"
    }

conn.request("PUT", "/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&queue_name=My%20Offers&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&queue_name=My%20Offers&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l",
    "content-type: multipart/form-data; boundary=---011000010111000001101001"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001&queue_name=My%20Offers&auto_detect=0&can_repeat=1&contributors=100001%2C%20100002&queue_times=0%7C11%7C30"

	req, _ := http.NewRequest("PUT", url, nil)

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Basic QWxhZGRpbjpPcGVuU2VzYW1l")
	req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Query Parameters

Name Type Required Description Example
application_id String Required

Your developer application id. This was provided to you via email.

4b634537cc392cca820b61dab08
queue_id Number Required

ID of the queue you wish to update.

1001
queue_name String Required

The name of the queue.

My+Offers
auto_detect Number Required

This is not currently in use. Please use 0.

0
can_repeat Number Required

Whether or not this queue can automatically recycle messages. Possible values are 1 or 0.

1
contributors String Optional

A comma separated lists of user IDs representing users that can contribute to this queue.

100001%2C+100002
queue_times String Optional

A comma separated list of queue times. These will replace the existing ones on the queue. Required format: day_index|hour|minute,day_index|hour|minute,....,day_index|hour|minute day_index of 0 represents Monday. day_index of 6 is Sunday. Example: 0|11|30, 2|14|44 represents: Monday at 11.30, Wednesday at 2.44pm.

0%7C11%7C30

Responses

default Default

Unknown

(Empty Response)

Delete Queue

Open in API Explorer
DELETE /v2/queue.json

Delete a queue.

Example Request

Format:
curl --request DELETE \
  --url 'https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001' \
  --header 'accept: application/json' \
  --header 'authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l'
require 'uri'
require 'net/http'

url = URI("https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Delete.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Basic QWxhZGRpbjpPcGVuU2VzYW1l'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "DELETE",
  "hostname": "api.sendible.com",
  "port": null,
  "path": "/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001",
  "headers": {
    "accept": "application/json",
    "authorization": "Basic QWxhZGRpbjpPcGVuU2VzYW1l"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.sendible.com")

headers = {
    'accept': "application/json",
    'authorization': "Basic QWxhZGRpbjpPcGVuU2VzYW1l"
    }

conn.request("DELETE", "/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.sendible.com/api/v2/queue.json?application_id=4b634537cc392cca820b61dab08&queue_id=1001"

	req, _ := http.NewRequest("DELETE", url, nil)

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Basic QWxhZGRpbjpPcGVuU2VzYW1l")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Query Parameters

Name Type Required Description Example
application_id String Required

Your developer application id. This was provided to you via email.

4b634537cc392cca820b61dab08
queue_id Number Required

ID of the queue you wish to delete.

1001

Responses

default Default

Unknown

(Empty Response)

Get Queues

Open in API Explorer
GET /v2/queues.json

Retrieve a list of queues belonging to the authenticated user. Queues are lists of messages that can be configured to be sent at specific times.

Example Request

Format:
curl --request GET \
  --url 'https://api.sendible.com/api/v2/queues.json?application_id=4b634537cc392cca820b61dab08&type=all' \
  --header 'accept: application/json' \
  --header 'authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l'
require 'uri'
require 'net/http'

url = URI("https://api.sendible.com/api/v2/queues.json?application_id=4b634537cc392cca820b61dab08&type=all")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["authorization"] = 'Basic QWxhZGRpbjpPcGVuU2VzYW1l'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "api.sendible.com",
  "port": null,
  "path": "/api/v2/queues.json?application_id=4b634537cc392cca820b61dab08&type=all",
  "headers": {
    "accept": "application/json",
    "authorization": "Basic QWxhZGRpbjpPcGVuU2VzYW1l"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("api.sendible.com")

headers = {
    'accept': "application/json",
    'authorization': "Basic QWxhZGRpbjpPcGVuU2VzYW1l"
    }

conn.request("GET", "/api/v2/queues.json?application_id=4b634537cc392cca820b61dab08&type=all", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.sendible.com/api/v2/queues.json?application_id=4b634537cc392cca820b61dab08&type=all",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.sendible.com/api/v2/queues.json?application_id=4b634537cc392cca820b61dab08&type=all"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Basic QWxhZGRpbjpPcGVuU2VzYW1l")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Query Parameters

Name Type Required Description Example
application_id String Required

Your developer application id. This was provided to you via email.

4b634537cc392cca820b61dab08
type String Optional

The type of queues to retrieve. Possible values are "all", "my", "shared".

all

Responses

default Default

Unknown

(Empty Response)