curl --request POST \
--url https://{defaultHost}/v1/fulfillments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fulfillment": {
"order": "0c71f1ee-37a6-4997-8175-cb6fe69e4da0",
"fulfillment_items": [
{
"line_item": "2fe37252-4609-4ac2-bea8-a0698ff9b969",
"quantity": 1
}
],
"shipments": [
{
"shipping_provider": "715e72a6-9246-49de-beb2-68623d2e9115",
"inherit_weight": false,
"weight": 2,
"weight_unit": "lb",
"dimensions": {
"length": 10,
"width": 8,
"height": 5,
"unit": "in"
},
"shipping_date": "2026-06-26",
"from_contact": {
"name": "Sender Name",
"email": "sender@example.com",
"phone": "555-123-4567",
"address": {
"line_1": "123 Main St",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "US"
}
},
"to_contact": {
"name": "Receiver Name",
"email": "receiver@example.com",
"phone": "555-987-6543",
"address": {
"line_1": "456 Oak Ave",
"city": "Los Angeles",
"state": "CA",
"postal_code": "90001",
"country": "US"
}
}
}
]
}
}
'import requests
url = "https://{defaultHost}/v1/fulfillments"
payload = { "fulfillment": {
"order": "0c71f1ee-37a6-4997-8175-cb6fe69e4da0",
"fulfillment_items": [
{
"line_item": "2fe37252-4609-4ac2-bea8-a0698ff9b969",
"quantity": 1
}
],
"shipments": [
{
"shipping_provider": "715e72a6-9246-49de-beb2-68623d2e9115",
"inherit_weight": False,
"weight": 2,
"weight_unit": "lb",
"dimensions": {
"length": 10,
"width": 8,
"height": 5,
"unit": "in"
},
"shipping_date": "2026-06-26",
"from_contact": {
"name": "Sender Name",
"email": "sender@example.com",
"phone": "555-123-4567",
"address": {
"line_1": "123 Main St",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "US"
}
},
"to_contact": {
"name": "Receiver Name",
"email": "receiver@example.com",
"phone": "555-987-6543",
"address": {
"line_1": "456 Oak Ave",
"city": "Los Angeles",
"state": "CA",
"postal_code": "90001",
"country": "US"
}
}
}
]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fulfillment: {
order: '0c71f1ee-37a6-4997-8175-cb6fe69e4da0',
fulfillment_items: [{line_item: '2fe37252-4609-4ac2-bea8-a0698ff9b969', quantity: 1}],
shipments: [
{
shipping_provider: '715e72a6-9246-49de-beb2-68623d2e9115',
inherit_weight: false,
weight: 2,
weight_unit: 'lb',
dimensions: {length: 10, width: 8, height: 5, unit: 'in'},
shipping_date: '2026-06-26',
from_contact: {
name: 'Sender Name',
email: 'sender@example.com',
phone: '555-123-4567',
address: {
line_1: '123 Main St',
city: 'New York',
state: 'NY',
postal_code: '10001',
country: 'US'
}
},
to_contact: {
name: 'Receiver Name',
email: 'receiver@example.com',
phone: '555-987-6543',
address: {
line_1: '456 Oak Ave',
city: 'Los Angeles',
state: 'CA',
postal_code: '90001',
country: 'US'
}
}
}
]
}
})
};
fetch('https://{defaultHost}/v1/fulfillments', 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://{defaultHost}/v1/fulfillments",
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([
'fulfillment' => [
'order' => '0c71f1ee-37a6-4997-8175-cb6fe69e4da0',
'fulfillment_items' => [
[
'line_item' => '2fe37252-4609-4ac2-bea8-a0698ff9b969',
'quantity' => 1
]
],
'shipments' => [
[
'shipping_provider' => '715e72a6-9246-49de-beb2-68623d2e9115',
'inherit_weight' => false,
'weight' => 2,
'weight_unit' => 'lb',
'dimensions' => [
'length' => 10,
'width' => 8,
'height' => 5,
'unit' => 'in'
],
'shipping_date' => '2026-06-26',
'from_contact' => [
'name' => 'Sender Name',
'email' => 'sender@example.com',
'phone' => '555-123-4567',
'address' => [
'line_1' => '123 Main St',
'city' => 'New York',
'state' => 'NY',
'postal_code' => '10001',
'country' => 'US'
]
],
'to_contact' => [
'name' => 'Receiver Name',
'email' => 'receiver@example.com',
'phone' => '555-987-6543',
'address' => [
'line_1' => '456 Oak Ave',
'city' => 'Los Angeles',
'state' => 'CA',
'postal_code' => '90001',
'country' => 'US'
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://{defaultHost}/v1/fulfillments"
payload := strings.NewReader("{\n \"fulfillment\": {\n \"order\": \"0c71f1ee-37a6-4997-8175-cb6fe69e4da0\",\n \"fulfillment_items\": [\n {\n \"line_item\": \"2fe37252-4609-4ac2-bea8-a0698ff9b969\",\n \"quantity\": 1\n }\n ],\n \"shipments\": [\n {\n \"shipping_provider\": \"715e72a6-9246-49de-beb2-68623d2e9115\",\n \"inherit_weight\": false,\n \"weight\": 2,\n \"weight_unit\": \"lb\",\n \"dimensions\": {\n \"length\": 10,\n \"width\": 8,\n \"height\": 5,\n \"unit\": \"in\"\n },\n \"shipping_date\": \"2026-06-26\",\n \"from_contact\": {\n \"name\": \"Sender Name\",\n \"email\": \"sender@example.com\",\n \"phone\": \"555-123-4567\",\n \"address\": {\n \"line_1\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postal_code\": \"10001\",\n \"country\": \"US\"\n }\n },\n \"to_contact\": {\n \"name\": \"Receiver Name\",\n \"email\": \"receiver@example.com\",\n \"phone\": \"555-987-6543\",\n \"address\": {\n \"line_1\": \"456 Oak Ave\",\n \"city\": \"Los Angeles\",\n \"state\": \"CA\",\n \"postal_code\": \"90001\",\n \"country\": \"US\"\n }\n }\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://{defaultHost}/v1/fulfillments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fulfillment\": {\n \"order\": \"0c71f1ee-37a6-4997-8175-cb6fe69e4da0\",\n \"fulfillment_items\": [\n {\n \"line_item\": \"2fe37252-4609-4ac2-bea8-a0698ff9b969\",\n \"quantity\": 1\n }\n ],\n \"shipments\": [\n {\n \"shipping_provider\": \"715e72a6-9246-49de-beb2-68623d2e9115\",\n \"inherit_weight\": false,\n \"weight\": 2,\n \"weight_unit\": \"lb\",\n \"dimensions\": {\n \"length\": 10,\n \"width\": 8,\n \"height\": 5,\n \"unit\": \"in\"\n },\n \"shipping_date\": \"2026-06-26\",\n \"from_contact\": {\n \"name\": \"Sender Name\",\n \"email\": \"sender@example.com\",\n \"phone\": \"555-123-4567\",\n \"address\": {\n \"line_1\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postal_code\": \"10001\",\n \"country\": \"US\"\n }\n },\n \"to_contact\": {\n \"name\": \"Receiver Name\",\n \"email\": \"receiver@example.com\",\n \"phone\": \"555-987-6543\",\n \"address\": {\n \"line_1\": \"456 Oak Ave\",\n \"city\": \"Los Angeles\",\n \"state\": \"CA\",\n \"postal_code\": \"90001\",\n \"country\": \"US\"\n }\n }\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{defaultHost}/v1/fulfillments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fulfillment\": {\n \"order\": \"0c71f1ee-37a6-4997-8175-cb6fe69e4da0\",\n \"fulfillment_items\": [\n {\n \"line_item\": \"2fe37252-4609-4ac2-bea8-a0698ff9b969\",\n \"quantity\": 1\n }\n ],\n \"shipments\": [\n {\n \"shipping_provider\": \"715e72a6-9246-49de-beb2-68623d2e9115\",\n \"inherit_weight\": false,\n \"weight\": 2,\n \"weight_unit\": \"lb\",\n \"dimensions\": {\n \"length\": 10,\n \"width\": 8,\n \"height\": 5,\n \"unit\": \"in\"\n },\n \"shipping_date\": \"2026-06-26\",\n \"from_contact\": {\n \"name\": \"Sender Name\",\n \"email\": \"sender@example.com\",\n \"phone\": \"555-123-4567\",\n \"address\": {\n \"line_1\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postal_code\": \"10001\",\n \"country\": \"US\"\n }\n },\n \"to_contact\": {\n \"name\": \"Receiver Name\",\n \"email\": \"receiver@example.com\",\n \"phone\": \"555-987-6543\",\n \"address\": {\n \"line_1\": \"456 Oak Ave\",\n \"city\": \"Los Angeles\",\n \"state\": \"CA\",\n \"postal_code\": \"90001\",\n \"country\": \"US\"\n }\n }\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "f67b138c-ee16-4197-b945-3954df3af075",
"object": "fulfillment",
"notifications_enabled": false,
"number": "0000-F1",
"shipment_status": "unshipped",
"g_weight": 0,
"order": "0c71f1ee-37a6-4997-8175-cb6fe69e4da0",
"created_at": 1782485834,
"updated_at": 1782485834
}Create
Creates a new fulfillment.
curl --request POST \
--url https://{defaultHost}/v1/fulfillments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fulfillment": {
"order": "0c71f1ee-37a6-4997-8175-cb6fe69e4da0",
"fulfillment_items": [
{
"line_item": "2fe37252-4609-4ac2-bea8-a0698ff9b969",
"quantity": 1
}
],
"shipments": [
{
"shipping_provider": "715e72a6-9246-49de-beb2-68623d2e9115",
"inherit_weight": false,
"weight": 2,
"weight_unit": "lb",
"dimensions": {
"length": 10,
"width": 8,
"height": 5,
"unit": "in"
},
"shipping_date": "2026-06-26",
"from_contact": {
"name": "Sender Name",
"email": "sender@example.com",
"phone": "555-123-4567",
"address": {
"line_1": "123 Main St",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "US"
}
},
"to_contact": {
"name": "Receiver Name",
"email": "receiver@example.com",
"phone": "555-987-6543",
"address": {
"line_1": "456 Oak Ave",
"city": "Los Angeles",
"state": "CA",
"postal_code": "90001",
"country": "US"
}
}
}
]
}
}
'import requests
url = "https://{defaultHost}/v1/fulfillments"
payload = { "fulfillment": {
"order": "0c71f1ee-37a6-4997-8175-cb6fe69e4da0",
"fulfillment_items": [
{
"line_item": "2fe37252-4609-4ac2-bea8-a0698ff9b969",
"quantity": 1
}
],
"shipments": [
{
"shipping_provider": "715e72a6-9246-49de-beb2-68623d2e9115",
"inherit_weight": False,
"weight": 2,
"weight_unit": "lb",
"dimensions": {
"length": 10,
"width": 8,
"height": 5,
"unit": "in"
},
"shipping_date": "2026-06-26",
"from_contact": {
"name": "Sender Name",
"email": "sender@example.com",
"phone": "555-123-4567",
"address": {
"line_1": "123 Main St",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "US"
}
},
"to_contact": {
"name": "Receiver Name",
"email": "receiver@example.com",
"phone": "555-987-6543",
"address": {
"line_1": "456 Oak Ave",
"city": "Los Angeles",
"state": "CA",
"postal_code": "90001",
"country": "US"
}
}
}
]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fulfillment: {
order: '0c71f1ee-37a6-4997-8175-cb6fe69e4da0',
fulfillment_items: [{line_item: '2fe37252-4609-4ac2-bea8-a0698ff9b969', quantity: 1}],
shipments: [
{
shipping_provider: '715e72a6-9246-49de-beb2-68623d2e9115',
inherit_weight: false,
weight: 2,
weight_unit: 'lb',
dimensions: {length: 10, width: 8, height: 5, unit: 'in'},
shipping_date: '2026-06-26',
from_contact: {
name: 'Sender Name',
email: 'sender@example.com',
phone: '555-123-4567',
address: {
line_1: '123 Main St',
city: 'New York',
state: 'NY',
postal_code: '10001',
country: 'US'
}
},
to_contact: {
name: 'Receiver Name',
email: 'receiver@example.com',
phone: '555-987-6543',
address: {
line_1: '456 Oak Ave',
city: 'Los Angeles',
state: 'CA',
postal_code: '90001',
country: 'US'
}
}
}
]
}
})
};
fetch('https://{defaultHost}/v1/fulfillments', 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://{defaultHost}/v1/fulfillments",
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([
'fulfillment' => [
'order' => '0c71f1ee-37a6-4997-8175-cb6fe69e4da0',
'fulfillment_items' => [
[
'line_item' => '2fe37252-4609-4ac2-bea8-a0698ff9b969',
'quantity' => 1
]
],
'shipments' => [
[
'shipping_provider' => '715e72a6-9246-49de-beb2-68623d2e9115',
'inherit_weight' => false,
'weight' => 2,
'weight_unit' => 'lb',
'dimensions' => [
'length' => 10,
'width' => 8,
'height' => 5,
'unit' => 'in'
],
'shipping_date' => '2026-06-26',
'from_contact' => [
'name' => 'Sender Name',
'email' => 'sender@example.com',
'phone' => '555-123-4567',
'address' => [
'line_1' => '123 Main St',
'city' => 'New York',
'state' => 'NY',
'postal_code' => '10001',
'country' => 'US'
]
],
'to_contact' => [
'name' => 'Receiver Name',
'email' => 'receiver@example.com',
'phone' => '555-987-6543',
'address' => [
'line_1' => '456 Oak Ave',
'city' => 'Los Angeles',
'state' => 'CA',
'postal_code' => '90001',
'country' => 'US'
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://{defaultHost}/v1/fulfillments"
payload := strings.NewReader("{\n \"fulfillment\": {\n \"order\": \"0c71f1ee-37a6-4997-8175-cb6fe69e4da0\",\n \"fulfillment_items\": [\n {\n \"line_item\": \"2fe37252-4609-4ac2-bea8-a0698ff9b969\",\n \"quantity\": 1\n }\n ],\n \"shipments\": [\n {\n \"shipping_provider\": \"715e72a6-9246-49de-beb2-68623d2e9115\",\n \"inherit_weight\": false,\n \"weight\": 2,\n \"weight_unit\": \"lb\",\n \"dimensions\": {\n \"length\": 10,\n \"width\": 8,\n \"height\": 5,\n \"unit\": \"in\"\n },\n \"shipping_date\": \"2026-06-26\",\n \"from_contact\": {\n \"name\": \"Sender Name\",\n \"email\": \"sender@example.com\",\n \"phone\": \"555-123-4567\",\n \"address\": {\n \"line_1\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postal_code\": \"10001\",\n \"country\": \"US\"\n }\n },\n \"to_contact\": {\n \"name\": \"Receiver Name\",\n \"email\": \"receiver@example.com\",\n \"phone\": \"555-987-6543\",\n \"address\": {\n \"line_1\": \"456 Oak Ave\",\n \"city\": \"Los Angeles\",\n \"state\": \"CA\",\n \"postal_code\": \"90001\",\n \"country\": \"US\"\n }\n }\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://{defaultHost}/v1/fulfillments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fulfillment\": {\n \"order\": \"0c71f1ee-37a6-4997-8175-cb6fe69e4da0\",\n \"fulfillment_items\": [\n {\n \"line_item\": \"2fe37252-4609-4ac2-bea8-a0698ff9b969\",\n \"quantity\": 1\n }\n ],\n \"shipments\": [\n {\n \"shipping_provider\": \"715e72a6-9246-49de-beb2-68623d2e9115\",\n \"inherit_weight\": false,\n \"weight\": 2,\n \"weight_unit\": \"lb\",\n \"dimensions\": {\n \"length\": 10,\n \"width\": 8,\n \"height\": 5,\n \"unit\": \"in\"\n },\n \"shipping_date\": \"2026-06-26\",\n \"from_contact\": {\n \"name\": \"Sender Name\",\n \"email\": \"sender@example.com\",\n \"phone\": \"555-123-4567\",\n \"address\": {\n \"line_1\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postal_code\": \"10001\",\n \"country\": \"US\"\n }\n },\n \"to_contact\": {\n \"name\": \"Receiver Name\",\n \"email\": \"receiver@example.com\",\n \"phone\": \"555-987-6543\",\n \"address\": {\n \"line_1\": \"456 Oak Ave\",\n \"city\": \"Los Angeles\",\n \"state\": \"CA\",\n \"postal_code\": \"90001\",\n \"country\": \"US\"\n }\n }\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{defaultHost}/v1/fulfillments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fulfillment\": {\n \"order\": \"0c71f1ee-37a6-4997-8175-cb6fe69e4da0\",\n \"fulfillment_items\": [\n {\n \"line_item\": \"2fe37252-4609-4ac2-bea8-a0698ff9b969\",\n \"quantity\": 1\n }\n ],\n \"shipments\": [\n {\n \"shipping_provider\": \"715e72a6-9246-49de-beb2-68623d2e9115\",\n \"inherit_weight\": false,\n \"weight\": 2,\n \"weight_unit\": \"lb\",\n \"dimensions\": {\n \"length\": 10,\n \"width\": 8,\n \"height\": 5,\n \"unit\": \"in\"\n },\n \"shipping_date\": \"2026-06-26\",\n \"from_contact\": {\n \"name\": \"Sender Name\",\n \"email\": \"sender@example.com\",\n \"phone\": \"555-123-4567\",\n \"address\": {\n \"line_1\": \"123 Main St\",\n \"city\": \"New York\",\n \"state\": \"NY\",\n \"postal_code\": \"10001\",\n \"country\": \"US\"\n }\n },\n \"to_contact\": {\n \"name\": \"Receiver Name\",\n \"email\": \"receiver@example.com\",\n \"phone\": \"555-987-6543\",\n \"address\": {\n \"line_1\": \"456 Oak Ave\",\n \"city\": \"Los Angeles\",\n \"state\": \"CA\",\n \"postal_code\": \"90001\",\n \"country\": \"US\"\n }\n }\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "f67b138c-ee16-4197-b945-3954df3af075",
"object": "fulfillment",
"notifications_enabled": false,
"number": "0000-F1",
"shipment_status": "unshipped",
"g_weight": 0,
"order": "0c71f1ee-37a6-4997-8175-cb6fe69e4da0",
"created_at": 1782485834,
"updated_at": 1782485834
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Show child attributes
Show child attributes
Response
Success
The UUID of the specific object.
A string describing the object type returned.
Whether or not notifications should be sent to customers when fulfillments are created and updated.
The current shipment status of this fulfillment – one of unshippable, unshipped, label_purchased, shipped, in_transit, delivered, returned, or failed.
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
Total weight of the entire fulfillment in grams.
The unique identifier for this fulfillment that is auto generated based on this account's order protocol.
Expandable – The associated order ID.
Expandable – Property not returned unless expanded.
Expandable – Property not returned unless expanded.
Expandable – Property not returned unless expanded.
Time at which the object was created. Measured in seconds since the Unix epoch.
Time at which the object was last updated. Measured in seconds since the Unix epoch.
Was this page helpful?