Supported Formats

json

GET /api/v1/voyages/:voyage_number/tallies.json

Supported Formats

json

Errors

Code Description
404 Resource Not Found
422 Validation Error
500 Internal Server Error

Examples

This endpoint returns information about items that have been tallied.
curl "https://app.octopi.co/api/v1/voyages/VOYAGE_NUMBER/tallies.json"
  -H "Accept: application/json"
  -H "Content-Type: application/json"
  -H "Authorization: Token token=YOUR_TOKEN"
{
  "voyage": {
    "number": "2015121365"
  },

  "tally_type": "discharge",
  "handsets": 2,
  "closed_by": "matt@email.com",
  "closed_at": "2018-07-23T20:45:04Z",
  "cranes": [
    {
      "crane": "G1",
      "tally": [
        {
          "number": "ZCSU7040010",
          "status": "full",
          "usage": "transshipment_load",
          "delivery_type": "unstuff",
          "arrival_type": null,
          "size": "40",
          "is_high_cube": true,
          "is_reefer": false,
          "container_type": {
            "code": "40HC",
            "description": "",
            "iso_type_code": "xxxx"
          }
        },
        {
          "number": "CRLU7277030",
          "usage": "export",
          "status": "full",
          "delivery_type": "gate",
          "arrival_type": null,
          "size": "40",
          "is_high_cube": true,
          "is_reefer": true,
          "container_type": {
            "code": "40RH",
            "description": "",
            "iso_type_code": "xxxx"
          }
        },
        {
          "number": "BMOU2825511",
          "usage": "import",
          "status": "full",
          "delivery_type": "unstuff",
          "arrival_type": null,
          "size": "40",
          "is_high_cube": false,
          "is_reefer": false,
          "container_type": {
            "code": "40PL",
            "description": "",
            "iso_type_code": "xxxx"
          }
        },
        {
          "number": "BMOU9206864",
          "usage": "import",
          "status": "full",
          "delivery_type": "gate",
          "arrival_type": null,
          "size": "40",
          "is_high_cube": false,
          "is_reefer": false,
          "container_type": {
            "code": "40PL",
            "description": "",
            "iso_type_code": "xxxx"
          }
        }
      ],
      "shifted_cargo": [
        {
          "number": "TXXU1456201",
          "restow": true,
          "size": "20",
          "is_high_cube": false,
          "is_reefer": false,
          "container_type": {
            "code": "20GP",
            "description": "",
            "iso_type_code": "xxxx"
          }
        },
        {
          "number": "TXXU1456789",
          "restow": false,
          "size": "40",
          "is_high_cube": false,
          "is_reefer": false,
          "container_type": {
            "code": "40DV",
            "description": "",
            "iso_type_code": "xxxx"
          }
        }
      ],
      "special_lifts": [
        {
          "lift_type": "hatch cover",
          "lifted_at": "2018-07-23T20:23:04Z"
        },
        {
          "lift_type": "gear box",
          "lifted_at": "2018-07-23T20:30:04Z"
        },
        {
          "lift_type": "hatch cover",
          "lifted_at": "2018-07-23T20:45:04Z"
        },
        {
          "lift_type": "multiple",
          "lifted_at": "2018-07-23T20:50:04Z",
          "containers": ["BMOU2825511", "BMOU9206864"]
        },
        {
          "lift_type": "other",
          "lifted_at": "2018-07-23T21:07:04Z"
        }
      ]
    },
    {
      "crane": "G2",
      "tally": [],
      "shifted_cargo": [],
      "special_lifts": []
    }
  ]
}

Params

Param name Description
voyage_number
required

Validations:

  • Must be a String


POST /api/v1/voyages/:voyage_number/tallies.json
Creates voyage tallies when the corresponding load lists or manifests are present

Supported Formats

json

Errors

Code Description
404 Resource Not Found
422 Validation Error
500 Internal Server Error

Examples

curl 'https://app.octopi.co/api/v1/voyages/VOYAGE_NUMBER/tallies' \
  -X 'POST' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Token token=YOURTOKEN' \
  -d '{
    "tally": {
      "tally_type": "loading"
    }
  }'
{
  "tallies": [
    {
      "id": 39,
      "name": "OCTORJ 20240512 Discharge",
      "tally_type": "discharge",
      "voyage": {
        "number": "20240512"
      },
      "created_by": {
        "name": "System"
      },
      "created_at": "2025-12-05T05:29:58-05:00"
    },
    {
      "id": 40,
      "name": "OCTORJ 20240512 Loading",
      "tally_type": "loading",
      "voyage": {
        "number": "20240512"
      },
      "created_by": {
        "name": "System"
      },
      "created_at": "2025-12-05T05:31:46-05:00"
    }
  ]
}

Params

Param name Description
voyage_number
required

Validations:

  • Must be a String

tally
optional

Validations:

  • Must be a Hash

tally[tally_type]
optional

If this value is not provided, both tallies will be created

Validations:

  • Must be one of: discharge, loading.