The Octopi API is a RESTful API using JSON and the HATEOAS paradigm. In every JSON response from the API, you will find a list of actions returned as a JSON array. These actions are all the methods available on the API resource. We encourage you to build your clients to use these actions dynamically. That way, if the API changes URLs, your client will keep functioning without changing the source code of your client application.
The Octopi API uses HTTP Token Access Authentication.
To authenticate, you need to pass in your API Key (obtained from the Octopi Team) in the HTTP request header using an ‘Authorization’ header with the API key as a token. For example, the header should have “Token token=yourapikey”.
The Octopi API returns all dates and times in ISO 8601 format and UTC.
| Resource | Description |
|---|---|
| GET /api/v1/appointments | Returns all the appointments present for a provided date |
| POST /api/v1/appointments | Creates a new appointment |
| GET /api/v1/appointments/:appointment_number | Returns information about a specific appointment |
| PUT /api/v1/appointments/:appointment_number | Updates the fields of an existing appointment and/or reschedule an appointment |
| PUT /api/v1/appointments/:appointment_number/cancel | Cancels an existing appointment |
| GET /api/v1/appointments/appointment_slots | Returns all the appointment slots with availability for a given date. |
| Resource | Description |
|---|---|
| GET /api/v1/average_truck_visit_durations.json | Gets a list of average truck visit durations |
| Resource | Description |
|---|---|
| GET /api/v1/bill_of_ladings.json | Returns a list of bill of ladings. |
| Resource | Description |
|---|---|
| GET /api/v1/bill_of_ladings/:bill_of_lading_id/line_items.json | Returns a list of line items on a Bill of Lading. |
| POST /api/v1/bill_of_ladings/:bill_of_lading_id/line_items.json | Creates a Line Item for a Bill of Lading with given ID |
| PATCH /api/v1/bill_of_ladings/:bill_of_lading_id/line_items/:id | Updates one Line Item with given ID for a Bill of Lading with bill_of_lading_id |
| DELETE /api/v1/bill_of_ladings/:bill_of_lading_id/line_items/:id | Deletes the given bill of lading line item |
| Resource | Description |
|---|---|
| GET /api/v1/bookings/:number.json | Fetch a booking by its number |
| Resource | Description |
|---|---|
| GET /api/v1/cargoes/:id/holds.json | |
| PUT /api/v1/cargoes/:cargo_id/holds/:id/lift.json | |
| PUT /api/v1/cargoes/:id/holds/:hold_id/apply.json |
| Resource | Description |
|---|---|
| GET /api/v1/chargeable_events.json | Returns all the chargeable events present in Octopi (paginated). |
| PUT /api/v1/chargeable_events/bulk_update | Performs bulk updates on up to 100 existing events. |
| Resource | Description |
|---|---|
| GET /api/v1/chassis.json | This chassis API endpoint allows querying all chassis. |
| GET /api/v1/chassis/:number.json | This chassis API endpoint allows querying for one chassis. |
| POST /api/v1/chassis.json | Create a new chassis |
| PATCH /api/v1/chassis/:number.json | Update an existing chassis |
| Resource | Description |
|---|---|
| GET /api/v1/consignees | Returns the list of consignees |
| GET /api/v1/consignees/:id | Returns information about a consignee |
| POST /api/v1/consignees | Create a new consignee |
| PUT /api/v1/consignees/:id | Updates a consignee record |
| DELETE /api/v1/consignees/:id | Delete a consignee record |
| Resource | Description |
|---|---|
| GET /api/v1/consignees/:consignee_id/bill_of_ladings.json | Returns a list of bill of ladings linked to a consignee |
| Resource | Description |
|---|---|
| GET /api/v1/consignees/:consignee_id/packing_list_items.json | Returns a list of packing list items linked to a consignee |
| Resource | Description |
|---|---|
| GET /api/v1/container_types.json | Returns a list of container types. |
| Resource | Description |
|---|---|
| GET /api/v1/container_weights.json | Returns all the container weights present in Octopi. |
| GET /api/v1/container_weights/:id.json | Returns information about the container weight. |
| Resource | Description |
|---|---|
| GET /api/v1/containers.json | Returns information about containers. |
| GET /api/v1/containers/:number.json | Returns information about the container. |
| POST /api/v1/containers | Creates a container not currently at the terminal |
| PATCH /api/v1/containers/:number.json | Updates the container's attributes. |
| Resource | Description |
|---|---|
| GET /api/v1/containers/:container_number/damages.json | Returns a list of Container Damages. |
| GET /api/v1/containers/:container_number/damages/:id.json | Returns a Container Damage. |
| POST /api/v1/containers/:container_number/damages.json | Creates a Container Damage. |
| PATCH /api/v1/containers/:container_number/damages/:id | Starts and completes the repair for a Container Damage. |
| Resource | Description |
|---|---|
| PUT /api/v1/containers/:number/extra_attributes/:label | Updates a Container |
| Resource | Description |
|---|---|
| PUT /api/v1/containers/:number/flex_fields/:label | Updates a Container |
| Resource | Description |
|---|---|
| GET /api/v1/containers/:container_number/movements.json |
| Resource | Description |
|---|---|
| PUT /api/v1/containers/:container_number/strip | Creates a full stripping movement on the container |
| Resource | Description |
|---|---|
| PUT /api/v1/containers/:container_number/stuff | Creates a full stuffing movement on the container |
| Resource | Description |
|---|---|
| POST /api/v1/containers/:container_number/tags.json | Apply tags to containers in Octopi. |
| Resource | Description |
|---|---|
| GET /api/v1/containers/:container_number/terminal_services.json | Returns a list of terminal services applied to the container |
| Resource | Description |
|---|---|
| POST /api/v1/containers/:container_number/weights.json | Updates a container gross weight. |
| Resource | Description |
|---|---|
| GET /api/v1/freight_forwarders.json | Returns the list of freight forwarders |
| GET /api/v1/freight_forwarders/:id | Returns information about a freight forwarder |
| POST /api/v1/freight_forwarders | Create a new freight forwarder |
| PUT /api/v1/freight_forwarders/:id | Updates a freight forwarder record |
| DELETE /api/v1/freight_forwarders/:id | Soft deletes a freight forwarder record |
| Resource | Description |
|---|---|
| GET /api/v1/general_cargoes.json | Gets a list of general cargo |
| GET /api/v1/general_cargoes/:id.json | Returns information about a specific general cargo |
| PUT /api/v1/general_cargoes/:id.json | Update general cargo data |
| Resource | Description |
|---|---|
| PUT /api/v1/general_cargoes/:id/flex_fields/:label | Updates a specific general cargo |
| Resource | Description |
|---|---|
| GET /api/v1/general_cargoes/:general_cargo_id/terminal_services.json | Returns a list of terminal services applied to the cargo |
| Resource | Description |
|---|---|
| POST /api/v1/general_cargoes/:general_cargo_id/weights.json | Updates a general cargo gross weight. |
| Resource | Description |
|---|---|
| GET /api/v1/gensets.json | This genset API endpoint allows querying all gensets |
| GET /api/v1/gensets/:number.json | This genset API endpoint allows querying for one genset |
| POST /api/v1/gensets.json | Create a new genset |
| PATCH /api/v1/gensets/:number.json | Update an existing genset |
| Resource | Description |
|---|---|
| GET /api/v1/invoices.json | Gets a list of invoices |
| PUT /api/v1/invoices/:id.json | Updates an invoice |
| Resource | Description |
|---|---|
| GET /api/v1/load_lists/:load_list_id/load_list_items.json | Retrieves the list of load list items for a specified load list. |
| POST /api/v1/load_lists/:load_list_id/load_list_items.json | Creates load list item for the specified load list. |
| DELETE /api/v1/load_lists/:load_list_id/load_list_items/:id.json | Deletes the specified load list item. |
| Resource | Description |
|---|---|
| POST /api/v1/manifests.json | This API endpoint allows you to create a manifest |
| DELETE /api/v1/manifests/:client_identifier | Deletes the manifest with the specified client identifier |
| GET /api/v1/manifests | Return a list of all the manifests |
| Resource | Description |
|---|---|
| POST /api/v1/manifests/:manifest_client_identifier/bill_of_ladings.json | This API endpoint allows you to create a bill of lading for a particular manifest |
| GET /api/v1/manifests/:manifest_client_identifier/bill_of_ladings.json | Return a list of bill of ladings for a particular manifest |
| PATCH /api/v1/manifests/:manifest_client_identifier/bill_of_ladings/:id.json | This API endpoint allows you to update a bill of lading for a particular manifest |
| Resource | Description |
|---|---|
| POST /api/v1/manifests/:manifest_client_identifier/bill_of_ladings/:number/cargoes.json | This API endpoint allows you to create cargoes associated with a bill of lading |
| Resource | Description |
|---|---|
| PUT /api/v1/manifests/:manifest_client_identifier/bill_of_ladings/:bill_of_lading_number/flex_fields/:label | Updates the flex field |
| Resource | Description |
|---|---|
| GET /api/v1/manifests/:manifest_client_identifier/bill_of_ladings/:bill_of_lading_number/holds.json | This endpoint returns a list of all the holds that have been placed on the cargo for a bill of lading |
| DELETE /api/v1/manifests/:manifest_client_identifier/bill_of_ladings/:bill_of_lading_number/holds/:hold_id.json | This endpoint allows you to lift a hold on a bill of lading |
| PUT /api/v1/manifests/:manifest_client_identifier/bill_of_ladings/:bill_of_lading_number/holds/:hold_id.json | This endpoint can be used to apply holds to a bill of lading |
| Resource | Description |
|---|---|
| GET /api/v1/movements.json | Gets a list of movements |
| Resource | Description |
|---|---|
| GET /api/v1/packing_list_items/:reference_number.json | Returns the packing list item. |
| POST /api/v1/packing_list_items.json | Creates a packing list item associated with a packing list. |
| PATCH /api/v1/packing_list_items/:reference_number.json | Updates a packing list item. |
| DELETE /api/v1/packing_list_items/:reference_number.json | Deletes a packing list item. |
| Resource | Description |
|---|---|
| GET /api/v1/packing_list_items/:reference_number/cargoes.json | This endpoint returns a list of cargoes associated to the packing list item. |
| Resource | Description |
|---|---|
| GET /api/v1/bill_of_ladings/:bill_of_lading_number/packing_lists.json | Returns a list of packing lists for a given bill of lading number. |
| POST /api/v1/bill_of_ladings/:bill_of_lading_number/packing_lists.json | Creates a packing list for a given bill of lading number. |
| DELETE /api/v1/bill_of_ladings/:bill_of_lading_number/packing_lists/:client_identifier.json | Deletes a packing list. |
| Resource | Description |
|---|---|
| GET /api/v1/pre_advices/:advice_number | Returns information about a specific pre-advice. |
| POST /api/v1/pre_advices.json | Creates a pre-advice |
| DELETE /api/v1/pre_advices/:advice_number | This API endpoint allows you to delete a pre-advice. |
| Resource | Description |
|---|---|
| GET /api/v1/service_orders.json | Returns all the service orders present in Octopi. |
| GET /api/v1/service_orders/:order_number.json | Returns information about the service order. |
| POST /api/v1/service_orders.json | Creates a new service order. |
| PUT /api/v1/service_orders/:order_number.json | Updates an existing service order. |
| DELETE /api/v1/service_orders/:order_number.json | Deletes an existing service order. |
| PUT /api/v1/service_orders/:order_number/cancel.json | Cancels all the incompleted order items under the given service order. |
| Resource | Description |
|---|---|
| GET /api/v1/service_orders/:order_number/service_order_items/:id.json | Returns information about the order item under the given service order. |
| POST /api/v1/service_orders/:order_number/service_order_items.json | Creates an order item under the given service order. |
| PUT /api/v1/service_orders/:order_number/service_order_items/:id.json | Updates an existing service order item. |
| DELETE /api/v1/service_orders/:order_number/service_order_items/:id.json | Deletes an existing service order item. |
| Resource | Description |
|---|---|
| GET /api/v1/shipping_lines.json | Returns a list of shipping lines. |
| GET /api/v1/shipping_lines/:id | Returns information about a shipping line. |
| POST /api/v1/shipping_lines.json | Creates a new shipping line. |
| PUT /api/v1/shipping_lines/:id | Updates a shipping line record. |
| Resource | Description |
|---|---|
| PUT /api/v1/shipping_lines/CODE/bookings/NUMBER/flex_fields/:label | Updates a flex field for a booking |
| Resource | Description |
|---|---|
| PUT /api/v1/shipping_lines/:code/bookings/:number/line_items/:line_item_number/flex_fields/:label | Updates a flex field for a booking line item |
| Resource | Description |
|---|---|
| GET /api/v1/vessels/:name.json | Returns information about a vessel |
| POST /api/v1/vessels.json | Creates a new vessel |
| PUT /api/v1/vessels/:id.json | Updates an existing vessel |
| Resource | Description |
|---|---|
| GET /api/v1/terminal_services.json | Returns a list of terminal services |
| Resource | Description |
|---|---|
| GET /api/v1/train_visits.json | Returns the list of train visits |
| GET /api/v1/train_visits/:visit_number.json | Shows a train visit |
| POST /api/v1/train_visits.json | Creates a train visit |
| PATCH /api/v1/train_visits/:visit_number.json | Updates a train visit |
| Resource | Description |
|---|---|
| GET /api/v1/truck_drivers.json | Returns a list of truck drivers. |
| POST /api/v1/truck_drivers.json | Create a new truck driver. |
| PATCH /api/v1/truck_drivers/:number.json | Update a truck driver's information. |
| GET /api/v1/truck_drivers/:number.json | Show a truck driver's information. |
| Resource | Description |
|---|---|
| GET /api/v1/truck_visits.json | Gets a list of truck visits. |
| GET /api/v1/truck_visits/:id | Get details of a truck visit. |
| POST /api/v1/truck_visits.json | Create a truck visit. |
| Resource | Description |
|---|---|
| GET /api/v1/truck_visits/:truck_visit_id/dock_receipts.json | Get list of dock receipts for a truck visit. |
| GET /api/v1/truck_visits/:truck_visit_id/dock_receipts/:id.json | Get details of a dock receipt. |
| DELETE /api/v1/truck_visit/:truck_visit_id/dock_receipts/:id.json | Delete a dock receipt when ID given. |
| POST /api/v1/truck_visits/:truck_visit_id/dock_receipts.json | Create a dock receipt for a truck visit. |
| Resource | Description |
|---|---|
| GET /api/v1/truck_visits/:truck_visit_id/general_cargo_deliveries.json | Get list of general cargo deliveries for truck visits. |
| GET /api/v1/truck_visits/:truck_visit_id/general_cargo_deliveries/:id.json | Get details of a general cargo delivery. |
| DELETE /api/v1/truck_visit/:truck_visit_id/general_cargo_deliveries/:id.json | Delete a general cargo delivery when ID given |
| POST /api/v1/truck_visits/:truck_visit_id/general_cargo_deliveries.json | Create a general cargo delivery for a truck visit. |
| Resource | Description |
|---|---|
| GET /api/v1/truck_visits/:truck_visit_id/interchanges.json | Get list of interchanges for a truck visit. |
| GET /api/v1/truck_visits/:truck_visit_id/interchanges/:id.json | Get details of an interchange for a truck visit. |
| DELETE /api/v1/truck_visits/:truck_visit_id/interchanges/:id.json | Delete a truck visit's interchange. |
| POST /api/v1/truck_visits/:truck_visit_id/interchanges.json | Create an interchange for a truck visit. |
| PATCH /api/v1/truck_visits/:truck_visit_id/interchanges/:id.json | Update an interchange's attributes. |
| Resource | Description |
|---|---|
| GET /api/v1/trucking_companies | Returns the list of trucking companies |
| GET /api/v1/trucking_companies/:id | Returns information about a trucking company |
| POST /api/v1/trucking_companies | Create a new trucking company |
| PUT /api/v1/trucking_companies/:id | Updates a trucking company record |
| DELETE /api/v1/trucking_companies/:id | Soft deletes a trucking company record |
| Resource | Description |
|---|---|
| GET /api/v1/trucks | Returns a list of trucks |
| POST /api/v1/trucks | Allows creating a new truck |
| PATCH /api/v1/trucks/:truck_license_number | Allows editing an existing truck |
| POST /api/v1/trucks/:truck_license_number/gate_out.json | Performs gate out operation for a truck with truck license number provided |
| Resource | Description |
|---|---|
| GET /api/v1/vehicles.json | Gets a list of vehicles |
| GET /api/v1/vehicles/:id.json | Returns information about a specific vehicle |
| PATCH /api/v1/vehicles/:id.json | Update a vehicle's data. |
| Resource | Description |
|---|---|
| GET /api/v1/vehicles/:vehicle_id/flex_fields/:label.json | Get a specific flex field value for a vehicle |
| PUT /api/v1/vehicles/:vehicle_id/flex_fields/:label.json | Create or update a flex field value for a vehicle |
| DELETE /api/v1/vehicles/:vehicle_id/flex_fields/:label.json | Delete a flex field value for a vehicle |
| Resource | Description |
|---|---|
| GET /api/v1/vessel_tallies.json | Get a list of vessel tallies. |
| PATCH /api/v1/vessel_tallies/:id.json | Updates a vessel tally. Perform actions for the containers in the tally. |
| Resource | Description |
|---|---|
| GET /api/v1/voyage_event_types | Returns a list of all voyage event types for the organization. |
| Resource | Description |
|---|---|
| GET /api/v1/voyages.json | Returns the list of voyages |
| POST /api/v1/voyages.json | Creates a voyage |
| GET /api/v1/voyages/:number.json | Shows a voyage |
| PATCH /api/v1/voyages/:voyage_number.json | Updates a voyage |
| Resource | Description |
|---|---|
| GET /api/v1/voyages/:voyage_number/bill_of_ladings.json | This endpoint returns a list of bill of ladings and their packing list items for a voyage. |
| GET /api/v1/voyages/VOYAGE_NUMBER/bill_of_ladings/BILL_OF_LADING_NUMBER.json | This API endpoint will return a bill of lading. |
| Resource | Description |
|---|---|
| PUT /api/v1/voyages/:voyage_number/bill_of_ladings/:bill_of_lading_number/hold_types/:hold_type_id/lift.json | This endpoint can be used to lift all holds from a bill of lading. |
| PUT /api/v1/voyages/:voyage_number/bill_of_ladings/:bill_of_lading_number/hold_types/:hold_type_id/apply.json | This endpoint can be used to apply all holds to a bill of lading. |
| Resource | Description |
|---|---|
| GET /api/v1/voyages/:voyage_number/bill_of_ladings/:bill_of_lading_number/holds.json | This endpoint returns a list of all the holds that have been placed on the cargo for a bill of lading. |
| Resource | Description |
|---|---|
| DELETE /api/v1/voyages/:voyage_number/bill_of_ladings/:bill_of_lading_number/packing_list_items.json | Deletes all packing list items for a bill of lading |
| Resource | Description |
|---|---|
| GET /api/v1/voyages/:number/consignees.json | Returns a list of consignees for a voyage |
| Resource | Description |
|---|---|
| PUT /api/v1/voyages/:number/flex_fields/:label | Updates a Voyage |
| Resource | Description |
|---|---|
| GET /api/v1/voyages/:voyage_number/load_list.json | Returns information about the Voyage load list |
| POST /api/v1/voyages/:voyage_number/load_list.json | Creates a new Dynamic Load List for the voyage |
| PUT /api/v1/voyages/:voyage_number/load_list.json | Assigns voyages numbers to the shipping lines |
| Resource | Description |
|---|---|
| GET /api/v1/voyages/:voyage_number/movements.json | Returns a list of movements for containers that were either discharged or loaded on a voyage. |
| Resource | Description |
|---|---|
| GET /api/v1/voyages/:voyage_number/tallies.json | Returns a list of tallies for a given voyage. |
| POST /api/v1/voyages/:voyage_number/tallies.json | Creates voyage tallies when the corresponding load lists or manifests are present |
| Resource | Description |
|---|---|
| GET /api/v1/voyages/:voyage_number/voyage_events | Returns a list of all voyage events for a specific voyage with pagination. |
| POST /api/v1/voyages/:voyage_number/voyage_events | Creates a new voyage event for a specific voyage. |
| PATCH /api/v1/voyages/:voyage_number/voyage_events/:id | Updates an existing voyage event. |
| DELETE /api/v1/voyages/:voyage_number/voyage_events/:id | Deletes a specific voyage event. |
| Resource | Description |
|---|---|
| GET /api/v1/work_queues.json | Returns a list of work queues. |
| Resource | Description |
|---|---|
| POST /api/v1/work_queues/:work_queue_id/work_queue_items.json | Creates a work queue item for the specified work queue |
| Resource | Description |
|---|---|
| GET /api/v1/yard_areas.json | Gets a list of yard areas |
| GET /api/v1/yard_areas/:id.json | Gets information about a yard area with the specified ID |