This API endpoint allows creating a voyage.

Supported Formats

json

Errors

Code Description
400 Bad Request.
404 Voyage Not Found
422 Unprocessable Entity.
500 Internal Server Error.

Examples

curl "https://app.octopi.co/api/v1/voyages.json" -X POST     -H "Accept: application/json"     -H "Content-Type: application/json"     -H "Authorization: Token token=ADD TOKEN HERE"     --data '{
    "voyage": {
        "number": "NB 010",
        "vessel_name": "GRETA",
        "discharge_destination_type": "Terminal",
        "discharge_destination_id": 91
    }
}'
{
    "voyage": {
        "id": 345749,
        "number": "NB 010",
        "status": "unknown",
        "last_port_of_call": {
            "name": null,
            "locode": null
        },
        "next_port_of_call": {
            "name": null,
            "locode": null
        },
        "captain": {
            "name": null
        },
        "agent": {
            "name": null
        },
        "stevedoring_company": {
            "name": null
        },
        "stevedoring_supervisors": [],
        "number_of_tug_boats": 0,
        "arrival_number_of_tug_boats": null,
        "departure_number_of_tug_boats": 0,
        "estimated_time_of_anchorage": null,
        "actual_time_of_anchorage": null,
        "actual_time_of_pilot_boarded": null,
        "actual_time_of_berth": null,
        "actual_time_of_customs_clearance": null,
        "actual_time_of_departure": null,
        "closing_comments": null,
        "display_name": "GRETA NB 010",
        "actual_time_of_departure_pilot_boarded": null,
        "estimated_time_of_departure": null,
        "created_at": "2023-08-09T13:30:27Z",
        "updated_at": "2023-08-09T13:30:27Z",
        "berth_end_position": 0.0,
        "berth_start_position": 0.0,
        "block_receiving_export_past_cut_off": null,
        "departed_last_port_on": null,
        "et_of_berth": null,
        "cancelled": false,
        "ship": {
            "name": "GRETA",
            "imo": null,
            "call_sign": "6YRH2",
            "vessel_type": "Container",
            "loa": "",
            "flag": null,
            "gross_tonnage": 0,
            "net_tonnage": 0
        },
        "vessel": {
            "name": "GRETA",
            "imo": null,
            "call_sign": "6YRH2",
            "vessel_type": "Container",
            "loa": "",
            "flag": null,
            "gross_tonnage": 0,
            "net_tonnage": 0
        },
        "assigned_berth_area": {
            "name": null
        },
        "assigned_yard_area": {
            "name": null
        },
        "discharge_terminal": {
            "name": "Terminal Name"
        },
        "discharge_destination": {
            "name": "Terminal Name"
        },
        "arrival_pilot": {
            "name": null
        },
        "departure_pilot": {
            "name": null
        },
        "tax_date": null,
        "time_labour_ashore": null,
        "time_labour_onboard": null,
        "flex_fields": []
    }
}

Params

Param name Description
voyage
required

A hash with voyage attributes.

Validations:

  • Must be a Hash

voyage[discharge_destination_id]
required

The discharge destination ID.

Validations:

  • Must be a number.

voyage[discharge_destination_type]
required

The discharge destination type. Valid values are Terminal, Berth Area, or Port.

Validations:

  • Must be one of: Terminal, Berth Area, Port.

voyage[number]
required

The voyage number.

Validations:

  • Must be a String

voyage[vessel_name]
required

The vessel (ship) name. Notice this param is case sensitive.

Validations:

  • Must be a String

voyage[agent_id]
optional , nil allowed

Agent ID.

Validations:

  • Must be a Integer

voyage[arrival_pilot_id]
optional , nil allowed

Arrival pilot ID.

Validations:

  • Must be a Integer

voyage[assigned_berth_area_id]
optional , nil allowed

Assigned berth area ID.

Validations:

  • Must be a Integer

voyage[assigned_yard_area_id]
optional , nil allowed

Assigned yard area ID.

Validations:

  • Must be a Integer

voyage[at_berth_departure]
optional , nil allowed

Actual time of berth departure. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[at_of_anchorage]
optional , nil allowed

Actual time of anchorage. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[at_of_berth]
optional , nil allowed

Actual time of berth. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[at_of_customs_clearance]
optional , nil allowed

Actual time of customs clearance. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[at_of_departure]
optional , nil allowed

Actual time of departure. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[at_of_departure_pilot_boarded]
optional , nil allowed

Actual time the departure pilot boarded. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[at_of_pilot_boarded]
optional , nil allowed

Actual time the pilot boarded. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[berth_end_position]
optional , nil allowed

Berth end position.

Validations:

  • Must be a Float

voyage[berth_start_position]
optional , nil allowed

Berth start position.

Validations:

  • Must be a Float

voyage[block_receiving_export_past_cut_off]
optional , nil allowed

Block receiving export cargo after the cut off time.

Validations:

  • Must be a String

voyage[cancelled]
optional , nil allowed

Cancelled.

Validations:

  • Must be a String

voyage[captain]
optional , nil allowed

Captain.

Validations:

  • Must be a String

voyage[departed_last_port_on]
optional , nil allowed

Departed last port date.

Validations:

  • Must be a String

voyage[departure_pilot_id]
optional , nil allowed

Departure pilot ID.

Validations:

  • Must be a Integer

voyage[et_of_anchorage]
optional , nil allowed

Estimated time of anchorage. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[et_of_berth]
optional , nil allowed

Estimated time of berth. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[et_of_departure]
optional , nil allowed

Estimated time of departure. Date must be in ISO 8601 format (eg. ‘2024-06-09T09:30:00ZZ).

Validations:

  • Must be a String

voyage[last_port_of_call_id]
optional , nil allowed

Last port of call ID.

Validations:

  • Must be a Integer

voyage[next_port_of_call_id]
optional , nil allowed

Next port of call ID.

Validations:

  • Must be a Integer

voyage[receiving_cut_off_time]
optional , nil allowed

Receiving cut off time.

Validations:

  • Must be a String

voyage[stevedoring_company_id]
optional , nil allowed

Stevedoring company ID.

Validations:

  • Must be a Integer

voyage[tax_date]
optional , nil allowed

Tax date.

Validations:

  • Must be a String

voyage[time_labour_ashore]
optional , nil allowed

Time labour ashore.

Validations:

  • Must be a String

voyage[time_labour_onboard]
optional , nil allowed

Time labour onboard.

Validations:

  • Must be a String

voyage[flex_fields]
optional , nil allowed

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:

  • Must be an array of Hash