Octopi allows holds to be placed on cargo.

A terminal operator can created has many hold types as possible to automatically or manually create holds on cargo.

Holds can be placed on cargo. When a cargo has a hold, it cannot be delivered to the customer (via a gate movement or a cargo stripping) or loaded on a vessel for export.

Supported Formats

json

GET /api/v1/cargoes/:id/holds.json

Supported Formats

json

Errors

Code Description
404 Not found
409 Conflict
500 Server crashed for some reason

Examples

This endpoint returns a list of holds that have been placed on the cargo.
curl "https://app.octopi.co/api/v1/cargoes/ID/holds.json" -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Token token=YOURTOKEN"
{
  "holds": [
    {
      "lifted": false,
      "applied_at": null,
      "lifted_at": null,
      "lifted_until": null,
      "lifted_by": null,
      "hold_type": "DETENTION HOLD",
      "actions": {
        "lift": {
          "method": "PUT",
          "url": "https://app.octopi.co/api/v1/cargoes/CARGO_ID/holds/HOLD_ID/lift.json"
        },
        "index": {
          "method": "GET",
          "url": "https://app.octopi.co/api/v1/cargoes/CARGO_ID/holds.json"
        }
      },
      "id": 51359,
      "reference_number": null,
      "applied_by": null
    },
    {
      "lifted_at": null,
      "lifted_until": null,
      "lifted_by": null,
      "lifted": false,
      "applied_at": null,
      "applied_by": null,
      "actions": {
        "index": {
          "method": "GET",
          "url": "https://app.octopi.co/api/v1/cargoes/CARGO_ID/holds.json"
        },
        "lift": {
          "method": "PUT",
          "url": "https://app.octopi.co/api/v1/cargoes/CARGO_ID/holds/HOLD_ID/lift.json"
        }
      },
      "hold_type": "GATE MOVE INVOICE FEE",
      "reference_number": null,
      "id": 51360
    }
  ]
}

Params

Param name Description
id
required

Validations:

  • Must be String


PATCH /api/v1/cargoes/:cargo_id/holds/:id/lift.json

Supported Formats

json

Errors

Code Description
404 Not found
409 Conflict
500 Server crashed for some reason

Examples

This endpoint can be used to lift a hold from a cargo. If a bill of lading
number is provided, it will only lift the hold if the container is manifested on
the bill of lading identified by the provided id.
curl "https://app.octopi.co/api/v1/cargoes/CARGO_ID/holds/HOLD_ID/lift.json" -X PUT -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Token token=YOURTOKEN" -d '{"hold": { "reference_number": "ADD REFERENCE NUMBER HERE", "lift_until": "2025-10-10"} }'
{
  "reference_number": "REF123",
  "actions": {
    "lift": {
      "method": "PUT",
      "url": "https://app.octopi.co/api/v1/caroes/CARGO_ID/holds/HOLD_ID/lift.json"
    },
    "index": {
      "method": "GET",
      "url": "https://app.octopi.co/api/v1/containers/CARGO_ID/holds.json"
    }
  },
  "lifted_by": null,
  "applied_by": null,
  "hold_type_id": 13,
  "hold_type": "CUSTOMS HOLD",
  "lifted": true,
  "lifted_at": "2016-12-01T09:46:23.738-05:00",
  "applied_at": null
}

Params

Param name Description
cargo_id
required

Validations:

  • Must be String

id
required

Validations:

  • Must be Integer