Navis (Kaleris) Units API

Container and cargo unit tracking

OpenAPI Specification

navis-units-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Navis N4 Terminal Operating System REST Gate Units API
  description: NAVIS N4 provides terminal operating system APIs for container port operations. APIs enable container tracking, vessel planning, berth scheduling, yard management, and gate operations for port terminals and intermodal facilities. Now operated by Kaleris, serving 650+ organizations across 95+ countries.
  version: 2.0.0
  contact:
    name: Kaleris Support
    url: https://kaleris.com/support/
  license:
    name: Proprietary
    url: https://kaleris.com/terms-and-conditions/
servers:
- url: https://{terminal}.navis.example.com/apex/n4/api/v2
  variables:
    terminal:
      default: yourterminal
      description: Your N4 terminal instance hostname
security:
- BasicAuth: []
- APIKey: []
tags:
- name: Units
  description: Container and cargo unit tracking
paths:
  /units:
    get:
      operationId: searchUnits
      summary: Search container units
      description: Search for container units (TEUs, cargo units) in the terminal yard. Returns current position, status, hazmat class, and associated visit.
      tags:
      - Units
      parameters:
      - name: unitNbr
        in: query
        schema:
          type: string
        description: Container number (ISO 6346 format, e.g., MSCU1234567)
      - name: equipmentType
        in: query
        schema:
          type: string
          enum:
          - CTR
          - TRL
          - GENSET
          - CHASSIS
      - name: category
        in: query
        schema:
          type: string
          enum:
          - IMPORT
          - EXPORT
          - TRANSSHIP
          - EMPTY
      - name: freightKind
        in: query
        schema:
          type: string
          enum:
          - FCL
          - LCL
          - MTY
      - name: positionLocType
        in: query
        schema:
          type: string
          enum:
          - YARD
          - VESSEL
          - TRUCK
          - RAIL
          - DOCK
      - name: lineOperator
        in: query
        schema:
          type: string
        description: Shipping line SCAC code
      - name: vesselVisit
        in: query
        schema:
          type: string
        description: Vessel visit identifier
      - name: limit
        in: query
        schema:
          type: integer
          default: 100
          maximum: 1000
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: Container units matching the query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnitListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /units/{unitId}:
    get:
      operationId: getUnit
      summary: Get container unit details
      description: Retrieve full details of a container unit including position, status, holds, and event history.
      tags:
      - Units
      parameters:
      - name: unitId
        in: path
        required: true
        schema:
          type: string
        description: N4 unit identifier or ISO 6346 container number
      responses:
        '200':
          description: Container unit details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unit'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    UnitListResponse:
      type: object
      properties:
        units:
          type: array
          items:
            $ref: '#/components/schemas/Unit'
        totalCount:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
    Unit:
      type: object
      description: A container or cargo unit in the terminal
      properties:
        unitNbr:
          type: string
          description: ISO 6346 container number
        unitId:
          type: integer
          description: N4 internal unit identifier
        category:
          type: string
          enum:
          - IMPORT
          - EXPORT
          - TRANSSHIP
          - EMPTY
        freightKind:
          type: string
          enum:
          - FCL
          - LCL
          - MTY
        equipmentType:
          type: string
        equipmentLength:
          type: integer
          description: Length in feet (20, 40, 45, 48)
        lineOperator:
          type: string
          description: Shipping line SCAC code
        currentPosition:
          $ref: '#/components/schemas/YardPosition'
        arrivalVesselVisit:
          type: string
        departureVesselVisit:
          type: string
        holds:
          type: array
          items:
            $ref: '#/components/schemas/Hold'
        hazardous:
          type: boolean
        imdgClass:
          type: string
          description: IMDG hazardous goods class
        reefer:
          type: boolean
        temperature:
          type: number
          description: Required temperature for reefer units (Celsius)
        weight:
          type: number
          description: Gross weight in kg
        inGateDate:
          type: string
          format: date-time
        outGateDate:
          type: string
          format: date-time
    YardPosition:
      type: object
      properties:
        locType:
          type: string
          enum:
          - YARD
          - VESSEL
          - TRUCK
          - RAIL
          - DOCK
          - VESSEL_BUFFER
        blockName:
          type: string
        bayNbr:
          type: integer
        rowNbr:
          type: integer
        tierNbr:
          type: integer
        slotName:
          type: string
          description: Full slot identifier (e.g., A01-01-01)
    Hold:
      type: object
      properties:
        holdId:
          type: string
        holdType:
          type: string
          description: Type of hold (CUSTOMS, LINE, PORT, FREIGHT, etc.)
        holdStatus:
          type: string
          enum:
          - ACTIVE
          - RELEASED
          - EXPIRED
        appliedBy:
          type: string
        appliedDate:
          type: string
          format: date-time
        releasedDate:
          type: string
          format: date-time
        reason:
          type: string
    ErrorResponse:
      type: object
      properties:
        errorCode:
          type: string
        errorMessage:
          type: string
        requestId:
          type: string
  responses:
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
    APIKey:
      type: apiKey
      in: header
      name: X-API-Key
externalDocs:
  description: Kaleris N4 Documentation
  url: https://kaleris.com/