openapi: 3.1.0
info:
title: API Reference subpackage_billing subpackage_simulations API
version: 1.0.0
servers:
- url: https://api.shipbob.com
- url: https://sandbox-api.shipbob.com
tags:
- name: subpackage_simulations
paths:
/2026-01/simulate/shipment:
post:
operationId: simulates-shipment
summary: Simulates Shipment
description: 'Simulation shipments in the ShipBob sandbox environment. Learn more about [sandbox simulations](/sandbox/simulations).
This endpoint is **only available** on sandbox.'
tags:
- subpackage_simulations
parameters:
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: Existing registration
content:
application/json:
schema:
$ref: '#/components/schemas/Simulation.simulationResponseModel'
requestBody:
description: Order Simulation Request Model
content:
application/json:
schema:
$ref: '#/components/schemas/Simulation.orderSimulationRequestModel'
/2026-01/simulate/status/{simulationId}:
get:
operationId: get-simulation-status
summary: Get Simulation Status
description: 'Get the status of a simulation in the ShipBob sandbox environment. Learn more about [sandbox simulations](/sandbox/simulations).
This endpoint is **only available** on sandbox.'
tags:
- subpackage_simulations
parameters:
- name: simulationId
in: path
description: The simulation id
required: true
schema:
type: string
format: uuid
- name: Authorization
in: header
description: Authentication using Personal Access Token (PAT) token or OAuth2
required: true
schema:
type: string
responses:
'200':
description: The simulation status
content:
application/json:
schema:
$ref: '#/components/schemas/Simulation.simulationStatusResponseModel'
components:
schemas:
Simulation.actionStatusResponseModel:
type: object
properties:
action:
oneOf:
- $ref: '#/components/schemas/SimulationActionStatusResponseModelAction'
- type: 'null'
description: 'The name of the action performed in the simulation (for example: ShipOrder, DeliverOrder).'
message:
type:
- string
- 'null'
description: Additional details about the action status, such as progress information or an error message.
next:
$ref: '#/components/schemas/Simulation.actionStatusResponseModel'
description: The status for the next action in the sequence, if actions are chained.
schedule_time:
type:
- string
- 'null'
format: date-time
description: The scheduled time for the action to run, in ISO 8601 date-time format (UTC).
status:
type:
- string
- 'null'
description: The current execution state of the action.
description: Represents the current status of a simulation action, optionally including a chained next action status.
title: Simulation.actionStatusResponseModel
Simulation.simulationResponseModel:
type: object
properties:
message:
type:
- string
- 'null'
description: Optional message about the submitted simulation.
simulation_id:
type:
- string
- 'null'
description: The unique identifier of the simulation run.
description: Response returned after submitting a simulation request.
title: Simulation.simulationResponseModel
SimulationActionStatusResponseModelAction:
type: string
enum:
- ShipOrder
- DeliverOrder
description: 'The name of the action performed in the simulation (for example: ShipOrder, DeliverOrder).'
title: SimulationActionStatusResponseModelAction
Simulation.simulationStatusResponseModel:
type: object
properties:
entity_id:
type:
- string
- 'null'
description: 'The identifier of the entity the simulation is associated with (for example: shipment id).'
entity_type:
type:
- string
- 'null'
description: 'The type of entity the simulation is associated with (for example: Order).'
simulation:
$ref: '#/components/schemas/Simulation.actionStatusResponseModel'
description: The current status of the simulation action(s), including any chained next actions.
simulation_id:
type:
- string
- 'null'
format: uuid
description: The unique identifier of the simulation run.
description: Provides the current status for a simulation run, including the target entity and the action execution chain.
title: Simulation.simulationStatusResponseModel
Simulation.simulationModel:
type: object
properties:
action:
oneOf:
- $ref: '#/components/schemas/SimulationSimulationModelAction'
- type: 'null'
description: The simulation action to perform.
delay:
type:
- integer
- 'null'
description: Optional delay before executing this action, in minutes.
next:
$ref: '#/components/schemas/Simulation.simulationModel'
description: The next action in the sequence, if actions are chained.
required:
- action
description: Defines a simulation action to run, with an optional delay and an optional next action to allow chaining.
title: Simulation.simulationModel
Simulation.orderSimulationRequestModel:
type: object
properties:
shipment_id:
type:
- string
- 'null'
description: The ShipBob shipment id the simulation should target.
simulation:
$ref: '#/components/schemas/Simulation.simulationModel'
description: The simulation action definition, optionally chained with subsequent actions.
required:
- shipment_id
- simulation
description: Request payload for running a simulation against a specific shipment.
title: Simulation.orderSimulationRequestModel
SimulationSimulationModelAction:
type: string
enum:
- ShipOrder
- DeliverOrder
description: The simulation action to perform.
title: SimulationSimulationModelAction
securitySchemes:
PAT:
type: http
scheme: bearer
description: Authentication using Personal Access Token (PAT) token or OAuth2