Sandbox simulations
Simulate Inbound Shipment
Move a sandbox inbound shipment to its next status
POST
/
v1
/
sandbox
/
inbound-shipments
/
{id}
/
simulate
cURL
curl --request POST \
--url https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{ "status": "processing" }'
const response = await fetch(
"https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate",
{
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
},
body: JSON.stringify({ status: "processing" }),
}
)
const data = await response.json()
import requests
response = requests.post(
"https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate",
headers={
"Authorization": "Bearer <token>",
},
json={"status": "processing"},
)
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate"
req, _ := http.NewRequest("POST", url, strings.NewReader(`{"status":"processing"}`))
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))
}
{
"data": {
"id": "jn7shipin123",
"fboAccountId": "m97fbo456",
"organizationId": "k57orgxyz",
"status": "processing",
"shipmentNotes": "10x 1oz Gold Eagles",
"trackingNumber": "1Z999AA10123456784",
"carrier": "UPS",
"createdAt": "2025-04-05T16:00:00Z"
}
}
{
"error": {
"code": "CONFLICT",
"message": "That status is not the next step for this shipment",
"details": {
"currentStatus": "created",
"allowedStatuses": ["in_transit", "processing", "cancelled"]
}
}
}
Moves the shipment one step along the inbound journey. A status that is not the next step returns
409 with details.currentStatus and details.allowedStatuses.
Authorizations
string
required
Send
Bearer <token> with a pv_sandbox_ key. The key needs inbound_shipments:update.Path Parameters
string
required
The
id returned by Create Inbound Shipment.Body
string
required
One of
in_transit, processing, accepted, rejected, or cancelled. in_transit needs a
trackingNumber on the shipment.This endpoint supports the
Idempotency-Key header.cURL
curl --request POST \
--url https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{ "status": "processing" }'
const response = await fetch(
"https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate",
{
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
},
body: JSON.stringify({ status: "processing" }),
}
)
const data = await response.json()
import requests
response = requests.post(
"https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate",
headers={
"Authorization": "Bearer <token>",
},
json={"status": "processing"},
)
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate"
req, _ := http.NewRequest("POST", url, strings.NewReader(`{"status":"processing"}`))
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))
}
{
"data": {
"id": "jn7shipin123",
"fboAccountId": "m97fbo456",
"organizationId": "k57orgxyz",
"status": "processing",
"shipmentNotes": "10x 1oz Gold Eagles",
"trackingNumber": "1Z999AA10123456784",
"carrier": "UPS",
"createdAt": "2025-04-05T16:00:00Z"
}
}
{
"error": {
"code": "CONFLICT",
"message": "That status is not the next step for this shipment",
"details": {
"currentStatus": "created",
"allowedStatuses": ["in_transit", "processing", "cancelled"]
}
}
}
⌘I
cURL
curl --request POST \
--url https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{ "status": "processing" }'
const response = await fetch(
"https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate",
{
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
},
body: JSON.stringify({ status: "processing" }),
}
)
const data = await response.json()
import requests
response = requests.post(
"https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate",
headers={
"Authorization": "Bearer <token>",
},
json={"status": "processing"},
)
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
url := "https://sandbox.api.beachdepository.com/v1/sandbox/inbound-shipments/jn7shipin123/simulate"
req, _ := http.NewRequest("POST", url, strings.NewReader(`{"status":"processing"}`))
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))
}
{
"data": {
"id": "jn7shipin123",
"fboAccountId": "m97fbo456",
"organizationId": "k57orgxyz",
"status": "processing",
"shipmentNotes": "10x 1oz Gold Eagles",
"trackingNumber": "1Z999AA10123456784",
"carrier": "UPS",
"createdAt": "2025-04-05T16:00:00Z"
}
}
{
"error": {
"code": "CONFLICT",
"message": "That status is not the next step for this shipment",
"details": {
"currentStatus": "created",
"allowedStatuses": ["in_transit", "processing", "cancelled"]
}
}
}