BNSF Intermodal Hub Operations API

The BNSF Intermodal Hub Operations API covers facility operations across the BNSF intermodal hub network: dray bookings and dray plans, driver vehicle inspection reports, authorized flips, hub lot locations, ingate and outgate registration with dedicated validation operations, pre-gate creation and cancellation, J1 gate receipts, pickup numbers, street en-route reporting, unit details, domestic empties and parking updates. Twenty-three operations, twenty-one of them Restricted Services requiring separate BNSF authorisation and available in Production only.

Operations 23

GET /v1/dray-booking/open Dray open booking details. #
POST /v1/dray-plan/list-units Dray Plan List Units- Returns a list of dray plans for a given supplier633 and list of unit id’s. #
DELETE /v1/dray-plan/initial/{equipmentInitial}/number/{equipmentNumber} Dray Plan- Remove dray plans. #
GET /v1/dray-plan/units Dray Plan- Capture an intermodal container's dwell profile from dray carriers and steamship lines. #
POST /v1/dray-plan/units Dray Plan- Create dray plans. #
POST /v2/dvir Driver Vehicle Inspection Report - Submit chassis defects (Y/N) within BNSF intermodal hubs. #
POST /v1/flips Flips - Returns details on authorized flips for given units. #
GET /v1/hub Hub - Returns a list of valid lot locations at a given hub facility. #
POST /v2/ingate Ingate - Returns way-billed units that can be registered prior to arrival at a hub facility. #
GET /v1/ingate-management/current Current Gate Target - Returns all ingate targets related to the authorized list of 633s. **Prerequisites: Access to the “Ingate Planning” web tool is REQUIRED before using this end #
POST /v2/ingate/validate Validate Ingate - Returns required/missing information needed for ingate. #
POST /v1/j1-receipts J1 Receipts - Returns a list of J1 Gate Receipts. #
POST /v2/outgate Outgate - Returns way-billed units that can be registered prior to exiting at a hub facility. #
POST /v2/outgate/validate Validate Outgate - Returns required/missing information needed for outgate. #
POST /v1/pickup-number Pickup Number - Validate and/or retrieve pickup numbers. #
POST /v1/pregate/in Pre-Ingate - Advanced creation of an ingate ahead of arriving at a hub facility. #
DELETE /v1/pregate/in Cancel a pre-ingate. #
POST /v1/pregate/out Pre-Outgate - Advanced creation of an outgate ahead of exiting a hub facility. #
DELETE /v1/pregate/out Cancel a pre-outgate. #
POST /v2/street-en-route Street En-route - Report pre-arrival to hub and returns rail waybill ingate completeness check and missing elements (if any). #
POST /v3/unit-details Unit Details - Returns hub information (e.g., Lot Location) for units at a BNSF Facility (Equivalent to DLL on bnsf.com). #
GET /v3/unit-details/domestic-empties Domestic Empties - Returns a list of empty units ready for pickup at a BNSF facility. #
POST /v1/update-parking Update Parking - Update a unit's parking information at a Hub facility (i.e. Lot, Row, Spot). #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bnsf-hub-operations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bnsf-intermodal-hub-operations-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: BNSF Intermodal Hub Operations API
  description: 'Intermodal facility operations across the BNSF hub network: dray bookings and dray plans, driver vehicle inspection
    reports, flips, lot locations, ingate and outgate registration and validation, pre-gate creation and cancellation, J1
    gate receipts, pickup numbers, street en-route reporting, unit details, domestic empties and parking updates.'
  termsOfService: http://www.bnsf.com/site-terms-of-use.html
  contact:
    name: BNSF Customer API
    email: CustomerAPI@bnsf.com
  version: '1.0'
servers:
- url: https://api.bnsf.com:6443
  description: Production
- url: https://api-trial.bnsf.com:6443
  description: Trial
paths:
  /v1/dray-booking/open:
    get:
      tags:
      - Intermodal Hub Operations
      summary: Dray open booking details.
      parameters:
      - name: drayageBookingNumber
        in: query
        description: drayageBookingNumber
        required: true
        schema:
          type: string
          title: Schema
          example: 'SH0987654 '
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DrayBookingResponse'
        '400':
          description: '**Bad Request**'
          content:
            application/json:
              schema:
                type: object
                properties:
                  httpErrors:
                    type: array
                    items:
                      type: string
                      example: Invalid Booking Number
                  httpResponseCode:
                    type: string
                    example: '400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          description: '**Not Found**'
          content:
            application/json:
              schema:
                type: object
                properties:
                  httpErrors:
                    type: array
                    items:
                      type: string
                      example: Not Found
                  httpResponseCode:
                    type: string
                    example: '404'
        '405':
          $ref: '#/components/responses/405'
        '429':
          description: "**Too Many Requests**\n\nThe BNSF API Gateway enforces rate limits to maintain application security\
            \ and performance.  Current rate limits are set as follows:\n* 1 API Request Per Second, Per Partner, Per Service\n\
            * 15 API Requests Per Minute, Per Partner, Per Service\n* 100 API Request Per Minute, Per Service\n \nWhen requests\
            \ exceed these limits the API Gateway will return **429 Too Many Requests** error response to the Client.  Upon\
            \ receiving such exceptions, the client can resubmit failed requests in a rate-limited manner, complying with\
            \ the API Gateway throttle limits.\n"
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      security:
      - Restricted: []
      operationId: getV1DrayBookingOpen
  '/v1/dray-plan/list-units ':
    post:
      tags:
      - Intermodal Hub Operations
      summary: Dray Plan List Units- Returns a list of dray plans for a given supplier633 and list of unit id’s.
      parameters:
      - name: supplier633
        in: query
        required: true
        schema:
          type: string
          example: APARTNERS633
      requestBody:
        $ref: '#/components/requestBodies/drayPlanListUnits'
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DrayPlan'
        '400':
          description: '**Bad Request**'
          content:
            application/json:
              schema:
                type: object
                properties:
                  httpErrors:
                    type: array
                    items:
                      type: string
                      example: Invalid Booking Number
                  httpResponseCode:
                    type: string
                    example: '400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          description: '**Not Found**'
          content:
            application/json:
              schema:
                type: object
                properties:
                  httpErrors:
                    type: array
                    items:
                      type: string
                      example: Not Found
                  httpResponseCode:
                    type: string
                    example: '404'
        '405':
          $ref: '#/components/responses/405'
        '429':
          description: "**Too Many Requests**\n\nThe BNSF API Gateway enforces rate limits to maintain application security\
            \ and performance.  Current rate limits are set as follows:\n* 1 API Request Per Second, Per Partner, Per Service\n\
            * 15 API Requests Per Minute, Per Partner, Per Service\n* 100 API Request Per Minute, Per Service\n \nWhen requests\
            \ exceed these limits the API Gateway will return **429 Too Many Requests** error response to the Client.  Upon\
            \ receiving such exceptions, the client can resubmit failed requests in a rate-limited manner, complying with\
            \ the API Gateway throttle limits.\n"
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      security:
      - Restricted: []
      operationId: postV1DrayPlanListUnits
  /v1/dray-plan/initial/{equipmentInitial}/number/{equipmentNumber}:
    delete:
      tags:
      - Intermodal Hub Operations
      summary: Dray Plan- Remove dray plans.
      parameters:
      - name: equipmentInitial
        in: path
        required: true
        schema:
          type: string
        example: BNSF
      - name: equipmentNumber
        in: path
        required: true
        schema:
          type: string
        example: '12345'
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
        '400':
          description: '**Bad Request**


            The request could not be understood by the server due to incorrect syntax. Do not repeat the request without modifications.

            '
        '403':
          $ref: '#/components/responses/403'
        '404':
          description: '**Not Found**


            The server cannot find the requested resource (URI). That is, the address of the endpoint in your request does
            not exist. Please consult the documentation.

            '
        '405':
          $ref: '#/components/responses/405'
        '429':
          description: "**Too Many Requests**\n\nThe BNSF API Gateway enforces rate limits to maintain application security\
            \ and performance.  Current rate limits are set as follows:\n* 1 API Request Per Second, Per Partner, Per Service\n\
            * 15 API Requests Per Minute, Per Partner, Per Service\n* 100 API Request Per Minute, Per Service\n \nWhen requests\
            \ exceed these limits the API Gateway will return **429 Too Many Requests** error response to the Client.  Upon\
            \ receiving such exceptions, the client can resubmit failed requests in a rate-limited manner, complying with\
            \ the API Gateway throttle limits.\n"
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      security:
      - Restricted: []
      operationId: deleteV1DrayPlanInitialByEquipmentInitialNumberByEquipmentNumber
  /v1/dray-plan/units:
    get:
      tags:
      - Intermodal Hub Operations
      summary: Dray Plan- Capture an intermodal container's dwell profile from dray carriers and steamship lines.
      parameters:
      - name: supplier633
        in: query
        description: Supplier 633
        required: true
        schema:
          type: string
          title: Schema
          example: APARTNERS633
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DrayPlan'
        '400':
          description: '**Bad Request**'
          content:
            application/json:
              schema:
                type: object
                properties:
                  httpErrors:
                    type: array
                    items:
                      type: string
                      example: Invalid Booking Number
                  httpResponseCode:
                    type: string
                    example: '400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          description: '**Not Found**'
          content:
            application/json:
              schema:
                type: object
                properties:
                  httpErrors:
                    type: array
                    items:
                      type: string
                      example: Not Found
                  httpResponseCode:
                    type: string
                    example: '404'
        '405':
          $ref: '#/components/responses/405'
        '429':
          description: "**Too Many Requests**\n\nThe BNSF API Gateway enforces rate limits to maintain application security\
            \ and performance.  Current rate limits are set as follows:\n* 1 API Request Per Second, Per Partner, Per Service\n\
            * 15 API Requests Per Minute, Per Partner, Per Service\n* 100 API Request Per Minute, Per Service\n \nWhen requests\
            \ exceed these limits the API Gateway will return **429 Too Many Requests** error response to the Client.  Upon\
            \ receiving such exceptions, the client can resubmit failed requests in a rate-limited manner, complying with\
            \ the API Gateway throttle limits.\n"
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      security:
      - Restricted: []
      operationId: getV1DrayPlanUnits
    post:
      tags:
      - Intermodal Hub Operations
      summary: Dray Plan- Create dray plans.
      parameters:
      - name: supplier633
        in: query
        required: true
        schema:
          type: string
          example: APARTNERS633
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DrayPlan'
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DrayPlan'
        '400':
          description: '**Bad Request**'
          content:
            application/json:
              schema:
                type: object
                properties:
                  httpErrors:
                    type: array
                    items:
                      type: string
                      example: Invalid Booking Number
                  httpResponseCode:
                    type: string
                    example: '400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          description: '**Not Found**'
          content:
            application/json:
              schema:
                type: object
                properties:
                  httpErrors:
                    type: array
                    items:
                      type: string
                      example: Not Found
                  httpResponseCode:
                    type: string
                    example: '404'
        '405':
          $ref: '#/components/responses/405'
        '429':
          description: "**Too Many Requests**\n\nThe BNSF API Gateway enforces rate limits to maintain application security\
            \ and performance.  Current rate limits are set as follows:\n* 1 API Request Per Second, Per Partner, Per Service\n\
            * 15 API Requests Per Minute, Per Partner, Per Service\n* 100 API Request Per Minute, Per Service\n \nWhen requests\
            \ exceed these limits the API Gateway will return **429 Too Many Requests** error response to the Client.  Upon\
            \ receiving such exceptions, the client can resubmit failed requests in a rate-limited manner, complying with\
            \ the API Gateway throttle limits.\n"
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      security:
      - Restricted: []
      operationId: postV1DrayPlanUnits
  /v2/dvir:
    post:
      tags:
      - Intermodal Hub Operations
      summary: Driver Vehicle Inspection Report - Submit chassis defects (Y/N) within BNSF intermodal hubs.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DvirInputBean'
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json:
              schema:
                type: object
                title: Schema
                properties:
                  httpErrors:
                    type: array
                    title: httpErrors
                    description: Response error of the API
                    items:
                      type: string
                      example: Error
                  httpResponseCode:
                    type: number
                    format: float
                    title: httpResponseCode
                    description: Response status of the API
                    example: 0
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      security:
      - Restricted: []
      operationId: postV2Dvir
  /v1/flips:
    post:
      tags:
      - Intermodal Hub Operations
      summary: Flips - Returns details on authorized flips for given units.
      requestBody:
        $ref: '#/components/requestBodies/flipInputList'
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/equipmentFlip'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '429':
          description: "**Too Many Requests**\n\nThe BNSF API Gateway enforces rate limits to maintain application security\
            \ and performance.  Current rate limits are set as follows:\n* 1 API Request Per Second, Per Partner, Per Service\n\
            * 15 API Requests Per Minute, Per Partner, Per Service\n* 100 API Request Per Minute, Per Service\n \nWhen requests\
            \ exceed these limits the API Gateway will return **429 Too Many Requests** error response to the Client.  Upon\
            \ receiving such exceptions, the client can resubmit failed requests in a rate-limited manner, complying with\
            \ the API Gateway throttle limits.\n"
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      security:
      - Restricted: []
      operationId: postV1Flips
  /v1/hub:
    get:
      tags:
      - Intermodal Hub Operations
      summary: Hub - Returns a list of valid lot locations at a given hub facility.
      parameters:
      - name: station333
        in: query
        description: The location of the most recently reported event
        required: true
        schema:
          type: string
          example: LOSANGELE
        example: DALLAS
      - name: stationStateCode
        in: query
        description: The location state of the most recently reported event
        required: true
        schema:
          type: string
          example: CA
        example: TX
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Intermodal_Station'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      operationId: getV1Hub
  /v2/ingate:
    post:
      tags:
      - Intermodal Hub Operations
      summary: Ingate - Returns way-billed units that can be registered prior to arrival at a hub facility.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Gate_Move_Request'
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngateResponse'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '405':
          $ref: '#/components/responses/405'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '504':
          $ref: '#/components/responses/504'
      security:
      - Restricted: []
      operationId: postV2Ingate
  /v1/ingate-management/current:
    get:
      tags:
      - Intermodal Hub Operations
      summary: 'Current Gate Target - Returns all ingate targets related to the authorized list of 633s. **Prerequisites:
        Access to the “Ingate Planning” web tool is REQUIRED before using this endpoint.'
      responses:
        '200':
          description: '**OK**


            The request has succeeded.'
          content:
            application/json1:
              schema:
                type: object
                properties:
                  ContainerIngateTargets:
                    type: array
                    items:
                      type: object
                      properties:
                        containerTargetCountEffectiveDate:
                          type: string
                          description: Date on which the given allocation of containers is being considered effective for
                            the given shipper.
                          example: 2024/08/05
                        containerTargetCountExpirationDate:
                          type: string
                          description: Date on which the given allocation of containers is being considered no more effective
                            for the given shipper.
                          example: 2024/08/05
                        containerIngateStation333:
                          type: string
                          description: Station at which containers are ingated.
                          example: CICERO
                        containerIngateStationStateCode:
                          type: string
                          description: State code in which the station at which containers are ingated is located.
                          example: IL
                        ingateOutgateMaxCode:
                          type: string
                          description: Code indicating the side of the gate, Ingate or Outgate, at which given Ingate Outgate
                            Maximum Allowed Container Count limit applies.
                          example: IG
                        ingateOutgateMaxDate:
                          type: string
                          description: Date on which the given Ingate Outgate Code is set.
                          example: '2024-08-05'
                        containerIngateOutgateCountCode:
                          type: string
                          description: 'Code defining whether the given container allocation count is applicable to a customer
                            or pool of chassis.\nValid Values Include: P (Pool of Chassis), C (Customer).'
                          example: P
                        customer633Shipper:
                          type: string
                          description: Name of a Customer, acting as the Shipper, which has been abbreviated from the Customer's
                            full Legal Name through the use of a standardized programmatic process.
                          example: JBHUNTRANSPO
                        ingateOutgateTargetAllowedContainerCount:
                          type: integer
                          description: Count of maximum container allowed to either ingate or outgate at the given station
                            for the given effective period and shipper.
                          example: 270
                        ingateOutgateCount:
                          type: integer
                          description: Count of actual containers either ingated or outgated at the given station for a day.
                          example: 181
                        lastMaintenanceTimestamp:
                          type: string
                          description: The Date, Time** with fractional seconds, and Time Zone**** when a user, system, or
                            DBMS process initially persists (saves) any data or persists any modification to data (including
                            a logical delete).
                          example: 2024-07-27T22:03:16.705+0000
                        lastMaintenanceId:
                          type: string
                          description: The ID of the user, system, or DBMS process that triggered the initial persistence
                            (saving) of any data or the persistence of any modification to data (including a logical delete).
                          example: IMDPSCO2
                        containerDestinationStation333:
                          type: string
                          description: Destination Station of outgating containers.
                          example: ANYWHERE
                        containerDestinationStationStateCode:
                          type: string
                          description: State code in which the destination Station of outgating containers is located.
                          example: US
                        controlFreightQuoteNumber:
                          type: string
                          description: Applicable freight rate quote number. TSS waybill supports only up to 12 characters
                            for storing quote.
                          example: $1000.00
                        internationalDomesticCode:
                          type: string
                          description: 'Code defining the originating location of the containers.\nValid Values Include: I
                            (International), D (Domestic), B (Both).'
                          example: D
                        truckerSCAC:
                          type: string
                          description: Company abbreviation of the trucker company.
                          example: FXFW
                        reportFilterCode:
                          type: string
                          description: Repeat filter code. Currently when a filter is added it is good for one day only. This
                            indicator will be used to determine if the user wants to continue to repeat the filter. Valid
                            values are Y or N.
                          example: Y
                        containerCalculatedLengthFeet:
                          type: string
                          description: The calculated length, in feet of Container.
                          example: '28'
                        ingateHazardousMaterialProfileCode:
                          type: string
                          description: 'Indicates whether given container has been identified as prohibiting the ingate of
                            hazardous material or not.\nValid Values Are: Y (Yes), N (No).'
                          example: Y
                        ingateErrorMessageText:
                          type: string
                          description: Manually entered message describing the errors encountered while ingating the containers.
                          example: Error message
                        intermodalPlanCode:
                          type: string
                          description: Code indicating the intermodal plan service supplied. (20=rail owned door to door service,
                            40=steamship stack operator owned, door to door domestic shipment, etc.) Also known as the intermodal
                            service code.
                          example: '20'
                        equipmentLoadEmptyCode:
                          type: string
                          description: 'Code that is used to convey whether a piece of rail conveyance equipment (i.e., a
                            railcar) is being shipped while laden with cargo or while empty, as is the case if it does not
                            pick up another load at its destination.\nValid values are: L (Loaded), E (Empty), RE (Revenue
                            Empty). For intermodal equipment a ''C'' is for chassis and will not be counted as loaded or empty.'
                          example: E
                        countCumulativeTypeCode:
                          type: string
                          description: 'Code which identifies the type of accumulation associated with the count. Valid values
                            include: D (this applies to a daily count), C (this applies to a cumulative count).'
                          example: D
                        createUserId:
                          type: string
                          description: The BNSF ID of the user or program that created the row. (Also known as Create User
                            ID.)
                          example: USERID
                        createDatetime:
                          type: string
                          description: The create timestamp. (Also known as Create Date/Time.)
                          example: 2022-05-14T10:47:32.667+0000
                        serviceLevelCode:
                          type: string
                          description: 'One-character code used to distinguish differently priced services BNSF provides for
                            customers relative to volumes and other considerations. Also gives Marketing the ability to prioritize
                            shippers within a service level based on seasonal requirements.\nValid Values Include: R (REGULAR),
                            S (STACK), G (GUARANTEED), W (WEEKLY), Y (EMPTY), V (STANDBY), etc..'
                          example: P
                        tofcCofcCode:
                          type: string
                          description: 'A code indicating TOFC(trailer on flat car) or COFC(container on flat car) movement.
                            Also used to determine stacked/non-stacked flat cars. Values are: T (TOFC), C (COFC).'
                          example: TOFC
                        businessSubUnitCode:
                          type: string
                          description: Code defining the specific group within each profit center targeted at a specific customer
                            group.
                          example: Group
                        businessForecastCode:
                          type: string
                          description: Code that indicates within which Business Forecast a shipment exists.
                          example: Business Forecast
                        intermodalHoldingCode3:
                          type: string
                          description: Code indicating intermodal handling. It is also used as the unit loading priority.   H=Hot,
                            D=Double stack. Loading priority values go from 1 (highest priority) to 9 (lowest priority).
                          example: H
                        ingateCustomerExceptionCommentText:
                          type: string
                          description: A comment, entered by a user on why an ingate rule had a customer exception.
                          example: Comment
                        ingateLocationExceptionCommentText:
                          type: string
                          description: A comment, entered by a user on why an ingate rule had a location exception.
                          example: Comment
                        beneficialOwnerFullName:
                          type: string
                          description: Full name of the legal entity considered to be the owner of the goods in a shipment,
                            the Beneficial Owner is the party on whose behalf the shipment is being handled by a third party.
                          example: John Doe
                        basisStation:
                          type: string
                          description: The difference between a cash grain price and a futures price. Cash price at a specific
                            333 location minus specific futures price = BASIS
                          example: '0'
                        dayOfTheWeekCode:
                          type: string
                          description: Number identifying the day of the week and used in a calculation. (1=Sunday, 2=Monday,
                            3=Tuesday, 4=Wednesday, 5=Thursday, 6=Friday, 7=Saturday)
                          example: '7'
                        timezone:
                          type: string
                          description: Code which identifies the US (United States) Time Zone a Station is located within.
                          example: American/Chicago
                      nullable: false
                    nullable: false
                nullable: false
        '400':
          description: '**Bad Request**


            The request could not be understood by the server due to incorrect syntax. Do not repeat the request without modifications.'
        '403':
          description: "Unauthorized request. Here are the most common causes:\n    \n* You are getting 403 Access Denied.\n\
            \n   * It takes a few days for us to get you set up after you register. When set up is complete, you will receive\
            \ an email letting you know. If you have not received the email, please wait up to five business days. Let us\
            \ know via API Support if you still have not received the email after five business days.\n   * You can also get\
            \ this error if your certificate is not configured properly on your side. Please review the Mutual Authentication\
            \ in the Getting Started section of our documentation.\n\n\n* You are getting 403 \"message\": \"Insufficient\
            \ privileges\" when accessing a restricted service for which you do not have permission. You can use our Registration\
            \ form to request access. Be sure to explain the situation in the \"Please explain how you intend to use the API\"\
            \ field.\n"
        '404':
          description: '**Not Found**


            The server cannot find the requested resource (URI). That is, the address of the endpoint in your request does
            not exist. Please consult the documenta

# --- truncated at 32 KB (127 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bnsf/refs/heads/main/openapi/bnsf-intermodal-hub-operations-openapi.yml