In Octopi, a container object can represent a container, but sometimes can also represent non-containerized cargo such as break-bulk cargo, cars, boats, etc.
When a container object has a number, it is a container. When the number is left blank, it represents another type of cargo such as vehicle, breakbulk, boat, etc.
Containers have many movements. A movement can be a Gate In, Gate Out, Full Stripping, Container Damage, Unloading, etc.
| Code | Description |
|---|---|
| 404 | Not Found: one of the requested resources wasn't found. |
| 422 | Unprocessable Entity: unable to process request due to an input or validation error. |
| 500 | Internal Server Error. |
curl "https://app.octopi.co/api/v1/containers.json" -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Token token=YOURTOKEN"
{
"containers": [
"container": {
"id": "123456",
"number": "BMOU4286229",
"bill_of_lading": "PEV1231231",
"status": "full",
"size": "20",
"container_type": {
"label": "20RF",
"description": "This is a 20 ft. container",
"iso_type_code": "22RF"
},
"is_high_cube": false,
"is_reefer": true,
"seals": [
"G3117839",
"DGAEXP"
],
"return_temperature": 10,
"supply_temperature": 10,
"set_point_temperature": 10,
"temperature_unit": "F",
"arrival_voyage": {
"number": "2345",
"vessel": {
"name": "Vega Luna",
"estimated_time_of_anchorage": "2017-04-07T02:00:00.000Z"
}
},
"commodity_type": {
"name": "Fish"
},
"departure_voyage": {
"number": "2345",
"vessel": {
"name": "Vega Luna",
"estimated_time_of_anchorage": "2017-05-07T02:00:00.000Z"
}
},
"weight": 100.0,
"container_vgm": {
"weight": 100.0,
"created_at": "2017-04-07T02:00:00.000Z",
"user": {
"name": "John D."
}
},
"usage": "import",
"shipping_line": {
"code": "MASL",
"name": "Ma Shipping Line",
"carrier_type": "Ocean",
"agent": {
"name": "John Doe"
}
},
"consignees": [
{
"name": "SODIPAL SA"
}
],
"meets_iso_standards": true,
"goods": "TOILET TISSUEHS CODE 481810",
"current_location_type": "Terminal",
"current_location": "Terminal: South Terminal",
"yard_area": {
"id": 2,
"name": "GRID 3328",
"description": "",
"terminal_id": 1,
"area_type": "grid"
},
"yard_slot": {
"id": 6,
"name": "GRID 3328",
"description": "",
"terminal_id": 1,
"area_type": "grid",
"custom_name": "GD1A2"
},
"iso_standards_errors": "",
"hazmat_codes": [
{
"code": "12XV",
"description": "hazmat",
"name": "Hextol",
"hazmat_class": {
"name": "Explosives",
"description": "Explosives that have a projection hazard but not a mass explosion hazard.",
"class_number": 1,
"division_number": 2
}
}
],
"over_height": false,
"over_length": false,
"over_width": false,
"is_out_of_gauge": false,
"actions": {
"show": {
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229.json",
"method": "GET"
},
"flex_fields": [
{
"label": "Name",
"value": "Octopi"
}
]
}
}
],
"actions": {
"index": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers.json"
},
"next": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers.json?page=2"
},
"previous": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers.json?page=0"
},
"last": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers.json?page=304"
}
}
}
| Param name | Description |
|---|---|
|
container_type_id optional |
Filter for a specific container type. Can be the Octopi container type id or container type label. Validations:
|
|
shipping_line_id optional |
Filter for a specific shipping line. Can be the Octopi shipping line id or shipping line name. Validations:
|
|
current_location_type optional |
Filter for a specific current location type. Validations:
|
|
current_location_id optional |
Filter for a specific current location id. Validations:
|
|
usage optional |
Filter for a specific usage. Validations:
|
|
booking_id optional |
Filter for a specific booking. Can be the Octopi booking id or booking number. Validations:
|
|
bill_of_lading_id optional |
Filter for a specific bill of lading. Can be the Octopi bill of lading id or bill of lading number. Validations:
|
|
status optional |
Filter for container status (‘full’ or ‘empty’) Validations:
|
|
tags optional |
Filter for a list of pipe-separated tags (eg. ‘tag1|tag2|tag3’) Validations:
|
|
arrival_voyage_id optional |
Filter for a specific arrival voyage. Can be the Octopi voyage id or voyage number. Validations:
|
|
departure_voyage_id optional |
Filter for a specific departure voyage. Validations:
|
|
yard_area_id optional |
Filter for a specific yard area.Can be the Octopi yard area id or name. Validations:
|
|
page optional |
Specify which page of results to fetch. This value defaults to 1. Validations:
|
|
per optional |
The number of items to be displayed. This value defaults to 10 and accepts a maximum of 100. Validations:
|
| Code | Description |
|---|---|
| 404 | Not Found: one of the requested resources wasn't found. |
| 422 | Unprocessable Entity: unable to process request due to an input or validation error. |
| 500 | Internal Server Error. |
Returns information about the container with the matching NUMBER.
curl "https://app.octopi.co/api/v1/containers/CONTAINER_NUMBER.json" -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Token token=YOURTOKEN"
{
"container": {
"id": "123456",
"number": "BMOU4286229",
"bill_of_ladings": ["PEV1231231"], // Returns list of Active BL's when container usage is import.
"booking": "BOOK123", // Returns Active Booking number when container usage is export/transshipment.
"status": "full",
"size": "20",
"container_type": {
"label": "20RF",
"description": "This is a 20 ft. container",
"iso_type_code": "22RF"
},
"is_high_cube": false,
"is_reefer": true,
"seals": [
"G3117839",
"DGAEXP"
],
"return_temperature": 10,
"supply_temperature": 10,
"set_point_temperature": 10,
"temperature_unit": "F",
"arrival_voyage": {
"number": "2345",
"vessel": {
"name": "Vega Luna",
"estimated_time_of_anchorage": "2017-04-07T02:00:00.000Z"
}
},
"commodity_type": {
"name": "Fish"
},
"departure_voyage": {
"number": "2345",
"vessel": {
"name": "Vega Luna",
"estimated_time_of_anchorage": "2017-05-07T02:00:00.000Z"
}
},
"weight": 100.0,
"container_vgm": {
"weight": 100.0,
"created_at": "2017-04-07T02:00:00.000Z",
"user": {
"name": "John D."
}
},
"usage": "import",
"shipping_line": {
"code": "MASL",
"name": "Ma Shipping Line",
"carrier_type": "Ocean",
"agent": {
"name": "John Doe"
}
},
"consignees": [
{
"name": "SODIPAL SA"
}
],
"meets_iso_standards": true,
"goods": "TOILET TISSUEHS CODE 481810",
"current_location_type": "Terminal",
"current_location": "Terminal: South Terminal",
"yard_area": {
"id": 2,
"name": "GRID 3328",
"description": "",
"terminal_id": 1,
"area_type": "grid"
},
"yard_slot": {
"id": 6,
"name": "GRID 3328",
"description": "",
"terminal_id": 1,
"area_type": "grid",
"custom_name": "GD1A2"
},
"iso_standards_errors": "",
"hazmat_codes": [
{
"code": "12XV",
"description": "hazmat",
"name": "Hextol",
"hazmat_class": {
"name": "Explosives",
"description": "Explosives that have a projection hazard but not a mass explosion hazard.",
"class_number": 1,
"division_number": 2
}
}
],
"over_height": false,
"over_length": false,
"over_width": false,
"is_out_of_gauge": false,
"actions": {
"show": {
"url": "https://app.octopi.co/api/v1/containers/BMOU4286229.json",
"method": "GET"
},
"flex_fields": [
{
"label": "Name",
"value": "Octopi"
}
]
}
}
}
| Param name | Description |
|---|---|
|
number required |
The container number to locate. Validations:
|
| Code | Description |
|---|---|
| 404 | Not Found: one of the requested resources wasn't found. |
| 422 | Unprocessable Entity: unable to process request due to an input or validation error. |
| 500 | Internal Server Error. |
curl "https://app.octopi.co/api/v1/containers.json" \
-X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Token token=YOUR TOKEN HERE" \
-d '{ \
"container": {
"container_type_id": 256,
"current_location_id": 35,
"current_location_type": "Terminal",
"number": "BHCU4942000",
"shipping_line_id": 78,
"usage": "unknown",
"status": "full",
"cargo_type": "container",
"pin": "999999",
"flex_fields": [
{ "container_flex_field_1": "ABC123" },
{ "container_flex_field_2": "XYZ456" }
]
}
}'
{
"container": {
"meets_iso_standards": true,
"id": 2262336,
"number": "BHCU4942000",
"container_type": {
"code": "40CT",
"description": "",
"iso_type_code": "42G1"
},
"size": 40,
"is_high_cube": false,
"is_reefer": false,
"seals": [],
"return_temperature": null,
"supply_temperature": null,
"set_point_temperature": null,
"temperature_unit": "F",
"arrival_voyage": {
"number": null,
"estimated_time_of_anchorage": null,
"vessel": {
"name": null
}
},
"commodity_type": {
"name": null
},
"departure_voyage": {
"number": null,
"estimated_time_of_departure": null,
"vessel": {
"name": null
}
},
"shipping_line": {
"code": "MSK",
"name": "MAERSK LINE",
"synonyms": [],
"carrier_type": "ocean",
"agent": {
"name": null
}
},
"weight": 0.0,
"container_vgm": {
"weight": null,
"created_at": null,
"user": {
"name": null
}
},
"iso_standards_errors": null,
"current_location_type": "Terminal",
"current_location": "Terminal: North Terminal",
"status": "full",
"usage": "unknown",
"goods": null,
"consignees": [],
"hazmat_codes": [],
"flex_fields": [
{
"label": "Flex Field 1",
"value": "ABC123"
},
{
"label": "Flex Field 2",
"value": "XYZ456"
}
],
"extra_attributes": null,
"tags": [],
"over_height": false,
"over_length": false,
"over_width": false,
"is_out_of_gauge": false,
"actions": {
"show": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers/BHCU4942000.json"
},
"update": {
"method": "PATCH",
"url": "https://app.octopi.co/api/v1/containers/BHCU4942000.json"
},
"movements": {
"method": "GET",
"url": "https://app.octopi.co/api/v1/containers/BHCU4942000/movements.json"
}
}
}
}
| Param name | Description |
|---|---|
|
container required |
Validations:
|
|
container[consignee_ids] optional |
an array of consignee ids for this container. Available consignee ids can be retrieved through /api/v1/consignees Validations:
|
|
container[container_type_id] required |
an id of ISO container type. Available container types can be retrieved through /api/v1/container_types Validations:
|
|
container[current_location_id] required |
the container current location id. Validations:
|
|
container[current_location_type] required |
the type of current location Validations:
|
|
container[number] required |
the container number Validations:
|
|
container[shipping_line_id] required |
the shipping line id of the container Validations:
|
|
container[cargo_type] optional |
The cargo type of the container Validations:
|
|
container[usage] optional |
Type usage of the container Validations:
|
|
container[status] optional |
the current status of the container Validations:
|
|
container[pin] optional |
Container release PIN. If the shipping line is configured to verify this specific PIN, a truck’s entry (Gate In) and interchange departure (Interchange Out) will only be permitted if the value provided in the request matches this one. Validations:
|
|
container[hazmat_codes] optional |
hazmat codes on a container using this list of codes. Validations:
|
|
container[operating_reefer] optional |
indicate if the reefer is in operational status or not (OR or NOR). Note that set_point_temperature cannot be changed on non operational refer and an error will be return in that case. Validations:
|
|
container[return_temperature] optional |
the current temperature measured by the sensor at the air return of the reefer. Validations:
|
|
container[supply_temperature] optional |
the current temperature inside of the reefer measured by the sensor placed close to the source of cool air. Validations:
|
|
container[set_point_temperature] optional |
the desired temperature that the reefer operator sets for the system to maintain. Validations:
|
|
container[temperature_unit] optional |
The measurement unit for any of temperature params. Accepted values are C, F, celsius, fahrenheit. This params is required if any of temperature params are given. Validations:
|
|
container[reefer_humidity] optional |
the % of humidity inside of the reefer setting. Validations:
|
|
container[reefer_ventilation] optional |
the % of opening the Fresh Air Makeup Vent. The % is used as a setting on that Vent. Validations:
|
|
container[seals] optional |
Seals on a container using this list of seals. A maximum of 4 seals are accepted. Validations:
|
|
container[over_height] optional |
indicate if the container is over height. Validations:
|
|
container[over_length] optional |
indicate if the container is over length. Validations:
|
|
container[over_width] optional |
indicate if the container is over width. Validations:
|
|
container[flex_fields] optional |
An array of hashes, where each hash contains a flex field’s canonical name and the corresponding value to be set on the container. Validations:
|
| Code | Description |
|---|---|
| 404 | Not Found: one of the requested resources wasn't found. |
| 422 | Unprocessable Entity: unable to process request due to an input or validation error. |
| 500 | Internal Server Error. |
curl --location --request PATCH 'https://app.octopi.co/api/v1/containers/NUMBER' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token token=TOKEN' \
--data-raw '{
"container": {
"hazmat_codes": ["3536"],
"current_location_id": 35,
"current_location_type": "Terminal",
"flex_fields": [
{ "container_flex_field_1": "ABC123" },
{ "container_flex_field_2": "XYZ456" }
]
}
}'
{
"container": {
"container_type_id": 784,
"hazmat_codes": ["3536"],
"operating_reefer": true,
"reefer_humidity": 50.5,
"reefer_ventilation": 100,
"return_temperature": 12.0,
"seals": ["AN22283"],
"set_point_temperature": 10.0,
"status": "full",
"supply_temperature": 11.0,
"temperature_unit": "C",
"flex_fields": [
{
"label": "Flex Field 1",
"value": "ABC123"
},
{
"label": "Flex Field 2",
"value": "XYZ456"
}
]
}
}
| Param name | Description |
|---|---|
|
number required |
The number of the container to update Validations:
|
|
container required |
Validations:
|
|
container[consignee_ids] optional |
an array of consignee ids for this container. Available consignee ids can be retrieved through /api/v1/consignees Validations:
|
|
container[container_type_id] optional |
an id of ISO container type. Available container types can be retrieved through /api/v1/container_types Validations:
|
|
container[current_location_id] optional |
the container current location id. Validations:
|
|
container[current_location_type] optional |
the type of current location Validations:
|
|
container[hazmat_codes] optional |
Replace the existing hazmat codes on a container using this list of codes. Passing an empty array removes any hazmat codes from the container. Validations:
|
|
container[operating_reefer] optional |
indicate if the reefer is in operational status or not (OR or NOR). Note that set_point_temperature cannot be changed on non operational refer and an error will be return in that case. Validations:
|
|
container[return_temperature] optional |
the current temperature measured by the sensor at the air return of the reefer. Validations:
|
|
container[supply_temperature] optional |
the current temperature inside of the reefer measured by the sensor placed close to the source of cool air. Validations:
|
|
container[set_point_temperature] optional |
the desired temperature that the reefer operator sets for the system to maintain. Validations:
|
|
container[temperature_unit] optional |
the measurement unit for any of temperature params. Accepted values are C, F, celsius, fahrenheit. This params is required if any of temperature params are given. Validations:
|
|
container[reefer_humidity] optional |
the % of humidity inside of the reefer setting. Validations:
|
|
container[reefer_ventilation] optional |
the % of opening the Fresh Air Makeup Vent. The % is used as a setting on that Vent. Validations:
|
|
container[seals] optional |
Replace the existing seals on a container using this list of seals. A maximum of 4 seals are accepted. Passing an empty array removes any seals from the container. Validations:
|
|
container[status] optional |
the current status of the container Validations:
|
|
container[over_height] optional |
indicate if the container is over height. Validations:
|
|
container[over_length] optional |
indicate if the container is over length. Validations:
|
|
container[over_width] optional |
indicate if the container is over width. Validations:
|
|
container[flex_fields] optional |
An array of hashes, where each hash contains a flex field’s canonical name and the corresponding value to be set on the container. Validations:
|