Octopi allows holds to be placed on containers.
A terminal operator can created has many hold types as possible to automatically or manually create holds on containers.
Holds can be placed on containers. When a container has a hold, it cannot be delivered to the customer (via a gate movement or a container stripping) or loaded on a vessel for export.
| Code | Description |
|---|---|
| 404 | Not found |
| 409 | Conflict |
| 500 | Server crashed for some reason |
This endpoint returns a list of holds that have been placed on the container.
curl "https://app.octopi.co/api/v1/containers/ADD CONTAINER NUMBER HERE/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/containers/BMOU4286229/holds/51359/lift.json"
},
"index": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/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/containers/BMOU4286229/holds.json"
},
"lift": {
"method": "PUT",
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds/51360/lift.json"
}
},
"hold_type": "GATE MOVE INVOICE FEE",
"reference_number": null,
"id": 51360
},
{
"applied_by": null,
"actions": {
"index": {
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds.json",
"method": "GET"
},
"lift": {
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds/51361/lift.json",
"method": "PUT"
}
},
"hold_type": "CUSTOMS INVOICE FEE",
"reference_number": null,
"id": 51361,
"lifted_at": null,
"lifted_until": null,
"lifted_by": null,
"lifted": false,
"applied_at": null
},
{
"lifted_at": null,
"lifted_until": null,
"lifted_by": null,
"lifted": false,
"applied_at": null,
"applied_by": null,
"actions": {
"index": {
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds.json",
"method": "GET"
},
"lift": {
"method": "PUT",
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds/51362/lift.json"
}
},
"hold_type": "PORT AUTHORITY INVOICE FEE",
"reference_number": null,
"id": 51362
},
{
"applied_by": null,
"actions": {
"index": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds.json"
},
"lift": {
"method": "PUT",
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds/51363/lift.json"
}
},
"hold_type": "SPECIAL HOLD",
"reference_number": null,
"id": 51363,
"lifted_at": null,
"lifted_by": null,
"lifted_until": null,
"lifted": false,
"applied_at": null
},
{
"lifted_at": null,
"lifted_by": null,
"lifted_until": null,
"lifted": false,
"applied_at": null,
"applied_by": null,
"actions": {
"index": {
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds.json",
"method": "GET"
},
"lift": {
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds/51364/lift.json",
"method": "PUT"
}
},
"hold_type": "MAINTENANCE HOLD",
"reference_number": null,
"id": 51364
}
]
}
| Param name | Description |
|---|---|
|
container_number required |
Validations:
|
| Code | Description |
|---|---|
| 404 | Not found |
| 409 | Conflict |
| 500 | Server crashed for some reason |
This endpoint can be used to lift a hold from a container.
curl "https://app.octopi.co/api/v1/containers/ADD CONTAINER NUMBER HERE/holds/ADD HOLD ID HERE/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", "notes": "ADD LIFTED NOTE HERE"} }'
{
"reference_number": "REF123",
"actions": {
"lift": {
"method": "PUT",
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/holds/51363/lift.json"
},
"index": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229/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,
"notes": null
}
| Param name | Description |
|---|---|
|
container_number required |
Validations:
|
|
id required |
Validations:
|
| Code | Description |
|---|---|
| 404 | Not found |
| 409 | Conflict |
| 500 | Server crashed for some reason |
This endpoint can be used to apply a hold to a container.
curl "https://app.octopi.co/api/v1/containers/CONTAINER_NUMBER/holds/HOLD_TYPE_ID/apply.json" -X PUT -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Token token=YOURTOKEN"
{}
| Param name | Description |
|---|---|
|
container_number required |
Validations:
|
|
id required |
Validations:
|