Depots
Bulk create depots
POST /dn/depots/bulk creates multiple depots at once. Each entry needs a name and geocodable address; the API returns geocoded data for all.
POST
/
dn
/
depots
/
bulk
Bulk create depots
curl --request POST \
--url https://app.detrack.com/api/v2/dn/depots/bulk \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"data": [
{
"name": "Main Depot",
"address": "SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila",
"addr_1": "<string>",
"addr_2": "<string>",
"addr_3": "<string>",
"zip_code": "<string>",
"city": "<string>",
"state": "<string>"
}
]
}
'import requests
url = "https://app.detrack.com/api/v2/dn/depots/bulk"
payload = { "data": [
{
"name": "Main Depot",
"address": "SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila",
"addr_1": "<string>",
"addr_2": "<string>",
"addr_3": "<string>",
"zip_code": "<string>",
"city": "<string>",
"state": "<string>"
}
] }
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: [
{
name: 'Main Depot',
address: 'SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila',
addr_1: '<string>',
addr_2: '<string>',
addr_3: '<string>',
zip_code: '<string>',
city: '<string>',
state: '<string>'
}
]
})
};
fetch('https://app.detrack.com/api/v2/dn/depots/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.detrack.com/api/v2/dn/depots/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
[
'name' => 'Main Depot',
'address' => 'SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila',
'addr_1' => '<string>',
'addr_2' => '<string>',
'addr_3' => '<string>',
'zip_code' => '<string>',
'city' => '<string>',
'state' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.detrack.com/api/v2/dn/depots/bulk"
payload := strings.NewReader("{\n \"data\": [\n {\n \"name\": \"Main Depot\",\n \"address\": \"SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila\",\n \"addr_1\": \"<string>\",\n \"addr_2\": \"<string>\",\n \"addr_3\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.detrack.com/api/v2/dn/depots/bulk")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"data\": [\n {\n \"name\": \"Main Depot\",\n \"address\": \"SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila\",\n \"addr_1\": \"<string>\",\n \"addr_2\": \"<string>\",\n \"addr_3\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.detrack.com/api/v2/dn/depots/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": [\n {\n \"name\": \"Main Depot\",\n \"address\": \"SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila\",\n \"addr_1\": \"<string>\",\n \"addr_2\": \"<string>\",\n \"addr_3\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "68f0d416e8ec54cbf4a04dba",
"name": "Main Depot",
"address": "SM Megamall, EDSA corner Doña Julia Vargas Ave, Mandaluyong, 1550 Metro Manila",
"addr_1": "<string>",
"addr_2": "<string>",
"addr_3": "<string>",
"zip_code": "<string>",
"country": "<string>",
"city": "<string>",
"state": "<string>",
"country_id": "<string>",
"location": [
121.055626,
14.583941
],
"address_lat": 14.583941,
"address_lng": 121.055626
}
]
}{
"code": "invalid_json_format"
}{
"code": "invalid_key",
"message": "Invalid key"
}{
"code": "forbidden"
}{
"code": "validation_failed",
"message": "Validation failed",
"errors": [
{
"name": "Depot 2",
"errors": [
"Address can't be blank"
]
}
],
"data": {
"data": [
{
"id": "68f0d416e8ec54cbf4a04dba",
"name": "Main Depot",
"address": "SM Megamall, EDSA corner Doña Julia Vargas Ave, Mandaluyong, 1550 Metro Manila",
"addr_1": "<string>",
"addr_2": "<string>",
"addr_3": "<string>",
"zip_code": "<string>",
"country": "<string>",
"city": "<string>",
"state": "<string>",
"country_id": "<string>",
"location": [
121.055626,
14.583941
],
"address_lat": 14.583941,
"address_lng": 121.055626
}
]
}
}Create multiple depot locations in a single call. Each entry in the request array must include at least a
name and an address that the platform can geocode. The API processes up to 100 entries per request. If a depot with the same name already exists, that entry updates it instead of creating a duplicate. The response returns the full depot objects with assigned id values and geocoded coordinates for every successfully created depot.
For updating or deleting multiple depots, see Bulk update or Bulk delete.Authorizations
Your Detrack API key, from Integrations > API Key in the dashboard.
Body
application/json
Only the first 100 items are processed. Any beyond that are ignored without an error.
Show child attributes
Show child attributes
Response
Every depot was saved.
Show child attributes
Show child attributes
Bulk create depots
curl --request POST \
--url https://app.detrack.com/api/v2/dn/depots/bulk \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"data": [
{
"name": "Main Depot",
"address": "SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila",
"addr_1": "<string>",
"addr_2": "<string>",
"addr_3": "<string>",
"zip_code": "<string>",
"city": "<string>",
"state": "<string>"
}
]
}
'import requests
url = "https://app.detrack.com/api/v2/dn/depots/bulk"
payload = { "data": [
{
"name": "Main Depot",
"address": "SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila",
"addr_1": "<string>",
"addr_2": "<string>",
"addr_3": "<string>",
"zip_code": "<string>",
"city": "<string>",
"state": "<string>"
}
] }
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: [
{
name: 'Main Depot',
address: 'SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila',
addr_1: '<string>',
addr_2: '<string>',
addr_3: '<string>',
zip_code: '<string>',
city: '<string>',
state: '<string>'
}
]
})
};
fetch('https://app.detrack.com/api/v2/dn/depots/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.detrack.com/api/v2/dn/depots/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
[
'name' => 'Main Depot',
'address' => 'SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila',
'addr_1' => '<string>',
'addr_2' => '<string>',
'addr_3' => '<string>',
'zip_code' => '<string>',
'city' => '<string>',
'state' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.detrack.com/api/v2/dn/depots/bulk"
payload := strings.NewReader("{\n \"data\": [\n {\n \"name\": \"Main Depot\",\n \"address\": \"SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila\",\n \"addr_1\": \"<string>\",\n \"addr_2\": \"<string>\",\n \"addr_3\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.detrack.com/api/v2/dn/depots/bulk")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"data\": [\n {\n \"name\": \"Main Depot\",\n \"address\": \"SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila\",\n \"addr_1\": \"<string>\",\n \"addr_2\": \"<string>\",\n \"addr_3\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.detrack.com/api/v2/dn/depots/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": [\n {\n \"name\": \"Main Depot\",\n \"address\": \"SM Mall of Asia, Seaside Blvd, Pasay, Metro Manila\",\n \"addr_1\": \"<string>\",\n \"addr_2\": \"<string>\",\n \"addr_3\": \"<string>\",\n \"zip_code\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "68f0d416e8ec54cbf4a04dba",
"name": "Main Depot",
"address": "SM Megamall, EDSA corner Doña Julia Vargas Ave, Mandaluyong, 1550 Metro Manila",
"addr_1": "<string>",
"addr_2": "<string>",
"addr_3": "<string>",
"zip_code": "<string>",
"country": "<string>",
"city": "<string>",
"state": "<string>",
"country_id": "<string>",
"location": [
121.055626,
14.583941
],
"address_lat": 14.583941,
"address_lng": 121.055626
}
]
}{
"code": "invalid_json_format"
}{
"code": "invalid_key",
"message": "Invalid key"
}{
"code": "forbidden"
}{
"code": "validation_failed",
"message": "Validation failed",
"errors": [
{
"name": "Depot 2",
"errors": [
"Address can't be blank"
]
}
],
"data": {
"data": [
{
"id": "68f0d416e8ec54cbf4a04dba",
"name": "Main Depot",
"address": "SM Megamall, EDSA corner Doña Julia Vargas Ave, Mandaluyong, 1550 Metro Manila",
"addr_1": "<string>",
"addr_2": "<string>",
"addr_3": "<string>",
"zip_code": "<string>",
"country": "<string>",
"city": "<string>",
"state": "<string>",
"country_id": "<string>",
"location": [
121.055626,
14.583941
],
"address_lat": 14.583941,
"address_lng": 121.055626
}
]
}
}