Trackings

Embed
Preview of the card
<a href="https://forumulate.com/p/trackified/docs/ref-trackings"><img src="https://forumulate.com/api/public/orgs/trackified/spaces/docs/pages/26d6fac8-abc8-42ee-aa44-894a8226f1b5/social-card.svg?v=3e7ae33eec8b" alt="Trackings" width="600" height="315"></a>
GEThttps://api.trackified.15-204-158-166.sslip.io/v1/trackings
List trackings
Parameters
limitintegerquery
= 50
offsetintegerquery
= 0
statusstringquery
not_yet_scanned | in_transit | out_for_delivery | delivered | exception | returned | unknown
carrierstringquery
custom_idstringquery
Your own reference, exactly as sent on create.
tracking_numberstringquery
Exact match.
Code samples
cURL
curl -X GET "https://api.trackified.15-204-158-166.sslip.io/v1/trackings?limit=&offset=&status=&carrier=&custom_id=&tracking_number="
TypeScript
const res = await fetch('https://api.trackified.15-204-158-166.sslip.io/v1/trackings?limit=&offset=&status=&carrier=&custom_id=&tracking_number=', {
  method: 'GET',
});
const data = await res.json();
Python
import requests

res = requests.request(
    "GET",
    "https://api.trackified.15-204-158-166.sslip.io/v1/trackings?limit=&offset=&status=&carrier=&custom_id=&tracking_number=",
)
data = res.json()
Go
package main

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

func main() {
	req, _ := http.NewRequest("GET", "https://api.trackified.15-204-158-166.sslip.io/v1/trackings?limit=&offset=&status=&carrier=&custom_id=&tracking_number=", nil)
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.trackified.15-204-158-166.sslip.io/v1/trackings?limit=&offset=&status=&carrier=&custom_id=&tracking_number=');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ruby
require 'net/http'
require 'uri'

uri = URI('https://api.trackified.15-204-158-166.sslip.io/v1/trackings?limit=&offset=&status=&carrier=&custom_id=&tracking_number=')
req = Net::HTTP::Get.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(req)
end
puts res.body
Java
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.trackified.15-204-158-166.sslip.io/v1/trackings?limit=&offset=&status=&carrier=&custom_id=&tracking_number="))
    .GET()
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Responses
200 Trackings, newest first
Example
{
  "data": [
    {
      "id": "string",
      "tracking_number": "string",
      "carrier": "string",
      "carrier_detected": true,
      "status": "not_yet_scanned",
      "events": [
        {
          "occurred_at": null,
          "status": null,
          "description": null,
          "location": null
        }
      ],
      "estimated_delivery": "2024-01-01T00:00:00Z",
      "delivered_at": "2024-01-01T00:00:00Z",
      "exception": "string",
      "service_level": "string",
      "custom_id": "string",
      "customer_email": "string",
      "last_scraped_at": "2024-01-01T00:00:00Z",
      "next_scrape_at": "2024-01-01T00:00:00Z",
      "created_at": "2024-01-01T00:00:00Z",
      "updated_at": "2024-01-01T00:00:00Z"
    }
  ],
  "pagination": {
    "limit": 0,
    "offset": 0,
    "total": 0
  }
}
Schema
dataTracking[]required
Show child parameters
idstring
tracking_numberstring
carrierstring
carrier_detectedboolean
statusstring
not_yet_scanned | in_transit | out_for_delivery | delivered | exception | returned | unknown
eventsTrackingEvent[]
Show child parameters
occurred_atstring
statusstring
descriptionstring
locationstring
estimated_deliverystring
delivered_atstring
exceptionstring
service_levelstring
custom_idstring
customer_emailstring
last_scraped_atstring
next_scrape_atstring
created_atstring
updated_atstring
paginationobjectrequired
Show child parameters
limitinteger
offsetinteger
totalinteger
401 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
429 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
POSThttps://api.trackified.15-204-158-166.sslip.io/v1/trackings
Add a tracking

Send an Idempotency-Key header to make retries safe: for 24 hours, the same key with the same body returns the tracking it created (with Idempotent-Replayed: true) instead of adding another. The same key with a different body is 422 idempotency_key_reused; a retry while the first request is still running is 409 idempotency_in_progress. Without a key, look a tracking up with GET /v1/trackings?custom_id=… before retrying.

Parameters
Idempotency-Keystringheader
1 to 255 printable characters, unique per create. A UUID or your own order id works.
Request body application/json
tracking_numberstringrequired
carrierstring
Leave out to detect it from the number. If no carrier can be detected confidently, the request fails with 422 carrier_not_detected; pass the carrier explicitly.
custom_idstring
Your own reference, such as an order number.
customer_emailstring
{
  "tracking_number": "string",
  "carrier": "string",
  "custom_id": "string",
  "customer_email": "string"
}
Code samples
cURL
curl -X POST "https://api.trackified.15-204-158-166.sslip.io/v1/trackings" \
  -H "Idempotency-Key: <value>" \
  -H "Content-Type: application/json" \
  -d '{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}'
TypeScript
const res = await fetch('https://api.trackified.15-204-158-166.sslip.io/v1/trackings', {
  method: 'POST',
  headers: {
    'Idempotency-Key': '<value>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}),
});
const data = await res.json();
Python
import requests

res = requests.request(
    "POST",
    "https://api.trackified.15-204-158-166.sslip.io/v1/trackings",
    headers={
    "Idempotency-Key": "<value>",
    "Content-Type": "application/json",
    },
    json={"tracking_number": "string", "carrier": "string", "custom_id": "string", "customer_email": "string"},
)
data = res.json()
Go
package main

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

func main() {
	req, _ := http.NewRequest("POST", "https://api.trackified.15-204-158-166.sslip.io/v1/trackings", strings.NewReader(`{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}`))
	req.Header.Set("Idempotency-Key", "<value>")
	req.Header.Set("Content-Type", "application/json")
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.trackified.15-204-158-166.sslip.io/v1/trackings');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Idempotency-Key: <value>', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}');
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ruby
require 'net/http'
require 'uri'

uri = URI('https://api.trackified.15-204-158-166.sslip.io/v1/trackings')
req = Net::HTTP::Post.new(uri)
req['Idempotency-Key'] = '<value>'
req['Content-Type'] = 'application/json'
req.body = '{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(req)
end
puts res.body
Java
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.trackified.15-204-158-166.sslip.io/v1/trackings"))
    .header("Idempotency-Key", "<value>")
    .header("Content-Type", "application/json")
    .method("POST", BodyPublishers.ofString("{\"tracking_number\":\"string\",\"carrier\":\"string\",\"custom_id\":\"string\",\"customer_email\":\"string\"}"))
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Responses
201 Created, or the tracking an earlier request with the same Idempotency-Key created
Example
{
  "id": "string",
  "tracking_number": "string",
  "carrier": "string",
  "carrier_detected": true,
  "status": "not_yet_scanned",
  "events": [
    {
      "occurred_at": "2024-01-01T00:00:00Z",
      "status": "string",
      "description": "string",
      "location": "string"
    }
  ],
  "estimated_delivery": "2024-01-01T00:00:00Z",
  "delivered_at": "2024-01-01T00:00:00Z",
  "exception": "string",
  "service_level": "string",
  "custom_id": "string",
  "customer_email": "string",
  "last_scraped_at": "2024-01-01T00:00:00Z",
  "next_scrape_at": "2024-01-01T00:00:00Z",
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-01T00:00:00Z"
}
Schema
idstring
tracking_numberstring
carrierstring
carrier_detectedboolean
statusstring
not_yet_scanned | in_transit | out_for_delivery | delivered | exception | returned | unknown
eventsTrackingEvent[]
Show child parameters
occurred_atstring
statusstring
descriptionstring
locationstring
estimated_deliverystring
delivered_atstring
exceptionstring
service_levelstring
custom_idstring
customer_emailstring
last_scraped_atstring
next_scrape_atstring
created_atstring
updated_atstring
400 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
401 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
402 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
409 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
422 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
429 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
POSThttps://api.trackified.15-204-158-166.sslip.io/v1/trackings/bulk
Add a batch of trackings

The maximum batch size depends on your plan. Each row succeeds or fails on its own.

Request body application/json
trackingsTrackingInput[]required
Show child parameters
tracking_numberstringrequired
carrierstring
Leave out to detect it from the number. If no carrier can be detected confidently, the request fails with 422 carrier_not_detected; pass the carrier explicitly.
custom_idstring
Your own reference, such as an order number.
customer_emailstring
{
  "trackings": [
    {
      "tracking_number": "string",
      "carrier": "string",
      "custom_id": "string",
      "customer_email": "string"
    }
  ]
}
Code samples
cURL
curl -X POST "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/bulk" \
  -H "Content-Type: application/json" \
  -d '{"trackings":[{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}]}'
TypeScript
const res = await fetch('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/bulk', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"trackings":[{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}]}),
});
const data = await res.json();
Python
import requests

res = requests.request(
    "POST",
    "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/bulk",
    headers={
    "Content-Type": "application/json",
    },
    json={"trackings": [{"tracking_number": "string", "carrier": "string", "custom_id": "string", "customer_email": "string"}]},
)
data = res.json()
Go
package main

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

func main() {
	req, _ := http.NewRequest("POST", "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/bulk", strings.NewReader(`{"trackings":[{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}]}`))
	req.Header.Set("Content-Type", "application/json")
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.trackified.15-204-158-166.sslip.io/v1/trackings/bulk');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"trackings":[{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}]}');
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ruby
require 'net/http'
require 'uri'

uri = URI('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/bulk')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"trackings":[{"tracking_number":"string","carrier":"string","custom_id":"string","customer_email":"string"}]}'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(req)
end
puts res.body
Java
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.trackified.15-204-158-166.sslip.io/v1/trackings/bulk"))
    .header("Content-Type", "application/json")
    .method("POST", BodyPublishers.ofString("{\"trackings\":[{\"tracking_number\":\"string\",\"carrier\":\"string\",\"custom_id\":\"string\",\"customer_email\":\"string\"}]}"))
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Responses
207 One result per row
Example
{
  "data": [
    {
      "ok": true,
      "tracking": {
        "id": "string",
        "tracking_number": "string",
        "carrier": null,
        "carrier_detected": true,
        "status": "not_yet_scanned",
        "events": [
          null
        ],
        "estimated_delivery": null,
        "delivered_at": null,
        "exception": null,
        "service_level": null,
        "custom_id": null,
        "customer_email": null,
        "last_scraped_at": null,
        "next_scrape_at": null,
        "created_at": "2024-01-01T00:00:00Z",
        "updated_at": "2024-01-01T00:00:00Z"
      },
      "error": "string"
    }
  ]
}
Schema
dataobject[]
Show child parameters
okboolean
trackingobject
Show child parameters
idstring
tracking_numberstring
carrierstring
carrier_detectedboolean
statusstring
not_yet_scanned | in_transit | out_for_delivery | delivered | exception | returned | unknown
eventsTrackingEvent[]
estimated_deliverystring
delivered_atstring
exceptionstring
service_levelstring
custom_idstring
customer_emailstring
last_scraped_atstring
next_scrape_atstring
created_atstring
updated_atstring
errorstring
400 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
401 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
402 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
429 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
GEThttps://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}
Get a tracking with its events
Parameters
idstringpathrequired
Code samples
cURL
curl -X GET "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}"
TypeScript
const res = await fetch('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}', {
  method: 'GET',
});
const data = await res.json();
Python
import requests

res = requests.request(
    "GET",
    "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}",
)
data = res.json()
Go
package main

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

func main() {
	req, _ := http.NewRequest("GET", "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}", nil)
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ruby
require 'net/http'
require 'uri'

uri = URI('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}')
req = Net::HTTP::Get.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(req)
end
puts res.body
Java
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}"))
    .GET()
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Responses
200 The tracking
Example
{
  "id": "string",
  "tracking_number": "string",
  "carrier": "string",
  "carrier_detected": true,
  "status": "not_yet_scanned",
  "events": [
    {
      "occurred_at": "2024-01-01T00:00:00Z",
      "status": "string",
      "description": "string",
      "location": "string"
    }
  ],
  "estimated_delivery": "2024-01-01T00:00:00Z",
  "delivered_at": "2024-01-01T00:00:00Z",
  "exception": "string",
  "service_level": "string",
  "custom_id": "string",
  "customer_email": "string",
  "last_scraped_at": "2024-01-01T00:00:00Z",
  "next_scrape_at": "2024-01-01T00:00:00Z",
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-01T00:00:00Z"
}
Schema
idstring
tracking_numberstring
carrierstring
carrier_detectedboolean
statusstring
not_yet_scanned | in_transit | out_for_delivery | delivered | exception | returned | unknown
eventsTrackingEvent[]
Show child parameters
occurred_atstring
statusstring
descriptionstring
locationstring
estimated_deliverystring
delivered_atstring
exceptionstring
service_levelstring
custom_idstring
customer_emailstring
last_scraped_atstring
next_scrape_atstring
created_atstring
updated_atstring
401 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
404 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
PUThttps://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}
Update a tracking
Parameters
idstringpathrequired
Request body application/json
carrierstring
custom_idstring
customer_emailstring
{
  "carrier": "string",
  "custom_id": "string",
  "customer_email": "string"
}
Code samples
cURL
curl -X PUT "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}" \
  -H "Content-Type: application/json" \
  -d '{"carrier":"string","custom_id":"string","customer_email":"string"}'
TypeScript
const res = await fetch('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}', {
  method: 'PUT',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"carrier":"string","custom_id":"string","customer_email":"string"}),
});
const data = await res.json();
Python
import requests

res = requests.request(
    "PUT",
    "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}",
    headers={
    "Content-Type": "application/json",
    },
    json={"carrier": "string", "custom_id": "string", "customer_email": "string"},
)
data = res.json()
Go
package main

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

func main() {
	req, _ := http.NewRequest("PUT", "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}", strings.NewReader(`{"carrier":"string","custom_id":"string","customer_email":"string"}`))
	req.Header.Set("Content-Type", "application/json")
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"carrier":"string","custom_id":"string","customer_email":"string"}');
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ruby
require 'net/http'
require 'uri'

uri = URI('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}')
req = Net::HTTP::Put.new(uri)
req['Content-Type'] = 'application/json'
req.body = '{"carrier":"string","custom_id":"string","customer_email":"string"}'
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(req)
end
puts res.body
Java
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}"))
    .header("Content-Type", "application/json")
    .method("PUT", BodyPublishers.ofString("{\"carrier\":\"string\",\"custom_id\":\"string\",\"customer_email\":\"string\"}"))
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Responses
200 The updated tracking
Example
{
  "id": "string",
  "tracking_number": "string",
  "carrier": "string",
  "carrier_detected": true,
  "status": "not_yet_scanned",
  "events": [
    {
      "occurred_at": "2024-01-01T00:00:00Z",
      "status": "string",
      "description": "string",
      "location": "string"
    }
  ],
  "estimated_delivery": "2024-01-01T00:00:00Z",
  "delivered_at": "2024-01-01T00:00:00Z",
  "exception": "string",
  "service_level": "string",
  "custom_id": "string",
  "customer_email": "string",
  "last_scraped_at": "2024-01-01T00:00:00Z",
  "next_scrape_at": "2024-01-01T00:00:00Z",
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-01T00:00:00Z"
}
Schema
idstring
tracking_numberstring
carrierstring
carrier_detectedboolean
statusstring
not_yet_scanned | in_transit | out_for_delivery | delivered | exception | returned | unknown
eventsTrackingEvent[]
Show child parameters
occurred_atstring
statusstring
descriptionstring
locationstring
estimated_deliverystring
delivered_atstring
exceptionstring
service_levelstring
custom_idstring
customer_emailstring
last_scraped_atstring
next_scrape_atstring
created_atstring
updated_atstring
400 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
401 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
404 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
422 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
DELETEhttps://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}
Stop tracking a parcel
Parameters
idstringpathrequired
Code samples
cURL
curl -X DELETE "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}"
TypeScript
const res = await fetch('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}', {
  method: 'DELETE',
});
const data = await res.json();
Python
import requests

res = requests.request(
    "DELETE",
    "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}",
)
data = res.json()
Go
package main

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

func main() {
	req, _ := http.NewRequest("DELETE", "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}", nil)
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ruby
require 'net/http'
require 'uri'

uri = URI('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}')
req = Net::HTTP::Delete.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(req)
end
puts res.body
Java
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}"))
    .method("DELETE", BodyPublishers.noBody())
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Responses
200 Stopped
Example
{
  "deleted": true,
  "id": "string"
}
Schema
deletedboolean
idstring
401 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
404 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
POSThttps://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}/retrack
Check the carrier again within a minute
Parameters
idstringpathrequired
Code samples
cURL
curl -X POST "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}/retrack"
TypeScript
const res = await fetch('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}/retrack', {
  method: 'POST',
});
const data = await res.json();
Python
import requests

res = requests.request(
    "POST",
    "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}/retrack",
)
data = res.json()
Go
package main

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

func main() {
	req, _ := http.NewRequest("POST", "https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}/retrack", nil)
	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}
PHP
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}/retrack');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
Ruby
require 'net/http'
require 'uri'

uri = URI('https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}/retrack')
req = Net::HTTP::Post.new(uri)
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(req)
end
puts res.body
Java
import java.net.URI;
import java.net.http.*;
import java.net.http.HttpRequest.BodyPublishers;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.trackified.15-204-158-166.sslip.io/v1/trackings/{id}/retrack"))
    .method("POST", BodyPublishers.noBody())
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Responses
202 Queued
Example
{
  "queued": true,
  "tracking": {
    "id": "string",
    "tracking_number": "string",
    "carrier": "string",
    "carrier_detected": true,
    "status": "not_yet_scanned",
    "events": [
      {
        "occurred_at": "2024-01-01T00:00:00Z",
        "status": "string",
        "description": "string",
        "location": "string"
      }
    ],
    "estimated_delivery": "2024-01-01T00:00:00Z",
    "delivered_at": "2024-01-01T00:00:00Z",
    "exception": "string",
    "service_level": "string",
    "custom_id": "string",
    "customer_email": "string",
    "last_scraped_at": "2024-01-01T00:00:00Z",
    "next_scrape_at": "2024-01-01T00:00:00Z",
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z"
  }
}
Schema
queuedboolean
trackingobject
Show child parameters
idstring
tracking_numberstring
carrierstring
carrier_detectedboolean
statusstring
not_yet_scanned | in_transit | out_for_delivery | delivered | exception | returned | unknown
eventsTrackingEvent[]
Show child parameters
occurred_atstring
statusstring
descriptionstring
locationstring
estimated_deliverystring
delivered_atstring
exceptionstring
service_levelstring
custom_idstring
customer_emailstring
last_scraped_atstring
next_scrape_atstring
created_atstring
updated_atstring
401 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
404 Error
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "request_id": "string"
  }
}
Schema
errorobject
Show child parameters
codestring
messagestring
request_idstring
Updated