Depots
Bulk update depots
PUT /dn/depots updates multiple depots at once by specifying the depot name and the fields to change.
PUT
/
dn
/
depots
Bulk update depots
curl --request PUT \
--url https://app.detrack.com/api/v2/dn/depots \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"data": [
{
"name": "Depot 1",
"data": {
"name": "<string>",
"address": "<string>",
"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"
payload = { "data": [
{
"name": "Depot 1",
"data": {
"name": "<string>",
"address": "<string>",
"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.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: [
{
name: 'Depot 1',
data: {
name: '<string>',
address: '<string>',
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', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
[
'name' => 'Depot 1',
'data' => [
'name' => '<string>',
'address' => '<string>',
'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"
payload := strings.NewReader("{\n \"data\": [\n {\n \"name\": \"Depot 1\",\n \"data\": {\n \"name\": \"<string>\",\n \"address\": \"<string>\",\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 ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://app.detrack.com/api/v2/dn/depots")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"data\": [\n {\n \"name\": \"Depot 1\",\n \"data\": {\n \"name\": \"<string>\",\n \"address\": \"<string>\",\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 ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.detrack.com/api/v2/dn/depots")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": [\n {\n \"name\": \"Depot 1\",\n \"data\": {\n \"name\": \"<string>\",\n \"address\": \"<string>\",\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 ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"name": "Depot 1",
"ok": true
}
]
}{
"code": "invalid_json_format"
}{
"code": "invalid_key",
"message": "Invalid key"
}{
"code": "forbidden"
}{
"code": "update_failed",
"message": "Update failed",
"errors": [
{
"name": "Depot 1",
"ok": true
}
],
"data": {
"data": [
{
"name": "Depot 1",
"ok": true
}
]
}
}Update several depots in a single request. Each entry must contain the depot
name (used as the lookup key) and a nested data object with the fields you want to change. The API responds with a simple result list indicating success per depot.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 updated.
Show child attributes
Show child attributes
Bulk update depots
curl --request PUT \
--url https://app.detrack.com/api/v2/dn/depots \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"data": [
{
"name": "Depot 1",
"data": {
"name": "<string>",
"address": "<string>",
"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"
payload = { "data": [
{
"name": "Depot 1",
"data": {
"name": "<string>",
"address": "<string>",
"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.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: [
{
name: 'Depot 1',
data: {
name: '<string>',
address: '<string>',
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', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
[
'name' => 'Depot 1',
'data' => [
'name' => '<string>',
'address' => '<string>',
'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"
payload := strings.NewReader("{\n \"data\": [\n {\n \"name\": \"Depot 1\",\n \"data\": {\n \"name\": \"<string>\",\n \"address\": \"<string>\",\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 ]\n}")
req, _ := http.NewRequest("PUT", 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.put("https://app.detrack.com/api/v2/dn/depots")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"data\": [\n {\n \"name\": \"Depot 1\",\n \"data\": {\n \"name\": \"<string>\",\n \"address\": \"<string>\",\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 ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.detrack.com/api/v2/dn/depots")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": [\n {\n \"name\": \"Depot 1\",\n \"data\": {\n \"name\": \"<string>\",\n \"address\": \"<string>\",\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 ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"name": "Depot 1",
"ok": true
}
]
}{
"code": "invalid_json_format"
}{
"code": "invalid_key",
"message": "Invalid key"
}{
"code": "forbidden"
}{
"code": "update_failed",
"message": "Update failed",
"errors": [
{
"name": "Depot 1",
"ok": true
}
],
"data": {
"data": [
{
"name": "Depot 1",
"ok": true
}
]
}
}