> ## Documentation Index
> Fetch the complete documentation index at: https://terminal49-feat-trade-intel-sdk.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List webhook notifications

> List webhook notifications from the Terminal49 API to reconcile delivered and undelivered events when your endpoint has been down or behind on processing.



## OpenAPI

````yaml get /webhook_notifications
openapi: 3.0.0
info:
  title: Terminal49 API Reference
  version: 0.2.0
  contact:
    name: Terminal49 API support
    url: https://www.terminal49.com
    email: support@terminal49.com
  description: >-
    The Terminal 49 API offers a convenient way to programmatically track your
    shipments from origin to destination.


    Please enter your API key into the "Variables" tab before using these
    endpoints within Postman.
  x-label: Beta
  termsOfService: https://www.terminal49.com/terms
servers:
  - url: https://api.terminal49.com/v2
    description: Production
security:
  - authorization: []
tags:
  - name: Containers
  - name: Custom Field Definitions
  - name: Custom Field Options
  - name: Custom Fields
  - name: Shipments
  - name: Locations
  - name: Events
  - name: Tracking Requests
  - name: Webhooks
  - name: Webhook Notifications
  - name: Ports
  - name: Metro Areas
  - name: Terminals
  - name: Routing (Paid)
  - name: Documents
  - name: Email Submissions
  - name: Document Schemas
  - name: Search
  - name: Parties
  - name: Trade Intelligence
    description: >-
      Trade intelligence answers questions about who imports what into the US,
      from where, on which carriers, and how that changes over time. The data is
      US import bill-of-lading records (US Customs vessel manifests): every
      ocean container landed at a US port (plus US-bound cargo landed at
      Vancouver, BC) from January 2022 to today, refreshed daily. It does not
      include air freight, exports, or domestic moves.


      **Access.** Trade intelligence is enabled per account. Accounts without it
      receive `403 Forbidden` with `{"error": "Trade intelligence is not enabled
      for this account"}`; contact sales@terminal49.com to enable it. Requests
      are limited to roughly 120 per minute per account (`429` with `{"error":
      "Rate limit exceeded; retry in a minute"}`).


      **Format.** These endpoints accept and return plain JSON, not JSON:API.
      Send `Content-Type: application/json` on `POST` requests and authenticate
      exactly like every other v2 endpoint (`Authorization: Token
      YOUR_API_KEY`).


      **Typical flow.** Resolve a name or product first, then analyze:
      `companies/search` or `commodities/search` give you the exact
      `company_name` or `hs4` to pass to `companies/profile`, `importers/top`,
      `trends`, or `breakdown`. Container and bill of lading numbers go straight
      to `containers/lookup` and `bills_of_lading/lookup`.


      **Reading the numbers.**


      - **Volume is physical containers.** Each box is counted once, even when
      it appears on several bills of lading. A container carrying several HS
      codes counts once per code and companies can share containers, so do not
      add volumes across HS codes or companies; take market totals from `trends`
      or `breakdown` without a company filter.

      - **Estimated value is a modelled USD estimate**, not the declared customs
      value.

      - **The current month is partial.** `trends` and `breakdown` include it by
      default; `companies/profile` and `importers/top` use full calendar months.
      Compare full months against the same months a year earlier.

      - **Absent volume is not small volume.** Importers can ask US Customs to
      withhold their name from manifests, and much large-retail freight is
      booked under forwarders or suppliers. Treat a company's figures as a
      floor, never as its size.

      - **One company, many names.** Company names are normalized but split by
      state, and large importers use several names (distribution, merchandising,
      and DC entities). Related entities are separate companies; report them
      separately. `companies/search` ranks by match quality, not by size.

      - **Companies are the consignee or notify party on the bill.** Forwarders,
      NVOCCs, and customs brokers appear alongside cargo owners. A high
      notify-party share, or LOGISTICS, FREIGHT, SHIPPING, CUSTOMS, or BROKERAGE
      in the name, usually indicates a logistics provider.

      - **Carriers, countries, and ports use the manifests' spellings**, and
      carriers appear under spelling variants (for example `CMA CGM` and `CMA
      CGM AMERICA LLC`). Filter with substrings and merge variants before
      computing shares.

      - **HS4 descriptions are truncated.** Check `common_goods` from
      `commodities/search` before relying on a code.
paths:
  /webhook_notifications:
    get:
      tags:
        - Webhook Notifications
      summary: List webhook notifications
      description: >-
        Return the list of  webhook notifications. This can be useful for
        reconciling your data if your endpoint has been down. 
      operationId: get-webhook-notifications
      parameters:
        - schema:
            type: integer
          in: query
          name: page[number]
        - schema:
            type: integer
          in: query
          name: page[size]
        - schema:
            type: string
          in: query
          description: Comma delimited list of relations to include.
          name: include
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/webhook_notification'
                  links:
                    $ref: '#/components/schemas/links'
                  meta:
                    $ref: '#/components/schemas/meta'
                  included:
                    type: array
                    items:
                      anyOf:
                        - $ref: '#/components/schemas/webhook'
                        - $ref: '#/components/schemas/tracking_request'
                        - $ref: '#/components/schemas/transport_event'
                        - $ref: '#/components/schemas/estimated_event'
                        - $ref: '#/components/schemas/container_updated_event'
                        - $ref: '#/components/schemas/document'
                        - $ref: '#/components/schemas/document_representation'
                        - $ref: '#/components/schemas/document_email_submission'
components:
  schemas:
    webhook_notification:
      title: webhook_notification
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - webhook_notification
        attributes:
          type: object
          properties:
            event:
              type: string
              enum:
                - container.transport.vessel_arrived
                - container.transport.estimated.vessel_arrived
                - container.transport.vessel_discharged
                - container.transport.vessel_loaded
                - container.transport.vessel_departed
                - container.transport.estimated.vessel_departed
                - container.transport.rail_departed
                - container.transport.rail_arrived
                - container.transport.rail_loaded
                - container.transport.rail_unloaded
                - container.transport.transshipment_arrived
                - container.transport.transshipment_discharged
                - container.transport.transshipment_loaded
                - container.transport.transshipment_departed
                - container.transport.feeder_arrived
                - container.transport.feeder_discharged
                - container.transport.feeder_loaded
                - container.transport.feeder_departed
                - container.transport.empty_out
                - container.transport.full_in
                - container.transport.full_out
                - container.transport.empty_in
                - container.transport.vessel_berthed
                - shipment.estimated.arrival
                - tracking_request.succeeded
                - tracking_request.failed
                - tracking_request.awaiting_manifest
                - tracking_request.tracking_stopped
                - container.created
                - container.updated
                - container.pod_terminal_changed
                - container.transport.arrived_at_inland_destination
                - container.transport.estimated.arrived_at_inland_destination
                - container.pickup_lfd.changed
                - container.pickup_lfd_line.changed
                - container.pickup_lfd_terminal.changed
                - container.pickup_lfd_rail.changed
                - container.pickup_appointment.changed
                - container.transport.available
                - container.transport.not_available
                - container.transport.delivered
                - document_representation.created
                - document_representation.failed
            delivery_status:
              type: string
              default: pending
              enum:
                - pending
                - succeeded
                - failed
              description: >-
                Whether the notification has been delivered to the webhook
                endpoint
            created_at:
              type: string
          required:
            - event
            - delivery_status
            - created_at
        relationships:
          type: object
          properties:
            webhook:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - webhook
            reference_object:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - tracking_request
                        - estimated_event
                        - transport_event
                        - container_updated_event
                        - document
          required:
            - webhook
    links:
      title: links
      type: object
      properties:
        last:
          type: string
          format: uri
        next:
          type: string
          format: uri
        prev:
          type: string
          format: uri
        first:
          type: string
          format: uri
        self:
          type: string
          format: uri
    meta:
      title: meta
      type: object
      properties:
        size:
          type: integer
        total:
          type: integer
    webhook:
      title: webhook
      type: object
      x-examples: {}
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - webhook
        attributes:
          type: object
          properties:
            url:
              type: string
              format: uri
              description: https end point
            active:
              type: boolean
              default: true
              description: Whether the webhook will be delivered when events are triggered
            events:
              type: array
              description: The list of events to enabled for this endpoint
              uniqueItems: true
              minItems: 1
              items:
                type: string
                enum:
                  - container.transport.vessel_arrived
                  - container.transport.estimated.vessel_arrived
                  - container.transport.vessel_discharged
                  - container.transport.vessel_loaded
                  - container.transport.vessel_departed
                  - container.transport.estimated.vessel_departed
                  - container.transport.rail_departed
                  - container.transport.rail_arrived
                  - container.transport.rail_loaded
                  - container.transport.rail_unloaded
                  - container.transport.transshipment_arrived
                  - container.transport.transshipment_discharged
                  - container.transport.transshipment_loaded
                  - container.transport.transshipment_departed
                  - container.transport.feeder_arrived
                  - container.transport.feeder_discharged
                  - container.transport.feeder_loaded
                  - container.transport.feeder_departed
                  - container.transport.empty_out
                  - container.transport.full_in
                  - container.transport.full_out
                  - container.transport.empty_in
                  - container.transport.vessel_berthed
                  - shipment.estimated.arrival
                  - tracking_request.succeeded
                  - tracking_request.failed
                  - tracking_request.awaiting_manifest
                  - tracking_request.tracking_stopped
                  - container.created
                  - container.updated
                  - container.pod_terminal_changed
                  - container.transport.arrived_at_inland_destination
                  - container.transport.estimated.arrived_at_inland_destination
                  - container.pickup_lfd.changed
                  - container.pickup_lfd_line.changed
                  - container.pickup_lfd_terminal.changed
                  - container.pickup_lfd_rail.changed
                  - container.pickup_appointment.changed
                  - container.transport.available
                  - container.transport.not_available
                  - container.transport.delivered
                  - document_representation.created
                  - document_representation.failed
            secret:
              type: string
              description: A random token that will sign all delivered webhooks
            headers:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  name:
                    type: string
                  value:
                    type: string
          required:
            - url
            - active
            - events
            - secret
      required:
        - id
        - type
      description: ''
    tracking_request:
      title: Tracking Request
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - tracking_request
        attributes:
          type: object
          properties:
            request_number:
              type: string
              example: ONEYSH9AME650500
            ref_numbers:
              type: array
              items:
                type: string
              nullable: true
            tags:
              type: array
              items:
                type: string
            status:
              type: string
              enum:
                - pending
                - awaiting_manifest
                - created
                - failed
                - tracking_stopped
            failed_reason:
              type: string
              enum:
                - booking_cancelled
                - duplicate
                - expired
                - internal_processing_error
                - invalid_number
                - not_found
                - retries_exhausted
                - shipping_line_unreachable
                - unrecognized_response
                - data_unavailable
                - scac_auto_detect_failed
                - null
              description: >-
                If the tracking request has failed, or is currently failing, the
                last reason we were unable to complete the request.
                `scac_auto_detect_failed` means `auto_detect_vocc_scac` was set
                but no supported carrier SCAC could be inferred from the request
                number.
              nullable: true
            request_type:
              type: string
              enum:
                - bill_of_lading
                - booking_number
                - container
              example: bill_of_lading
            scac:
              type: string
              example: ONEY
              minLength: 4
              maxLength: 4
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
            is_retrying:
              type: boolean
            retry_count:
              type: integer
              description: >-
                How many times T49 has attempted to get the shipment from the
                shipping line
              nullable: true
          required:
            - request_number
            - status
            - request_type
            - scac
            - created_at
        relationships:
          type: object
          properties:
            tracked_object:
              type: object
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - shipment
            customer:
              type: object
              description: >-
                Account linked to the customer party, or `null` when the
                customer party has no linked account. Once the shipment exists,
                read the party through `GET
                /shipments/{shipment_id}/party_roles`.
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - account
      required:
        - id
        - type
    transport_event:
      title: Transport Event Model
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - transport_event
        attributes:
          type: object
          properties:
            event:
              type: string
              enum:
                - container.transport.vessel_arrived
                - container.transport.estimated.vessel_arrived
                - container.transport.vessel_discharged
                - container.transport.vessel_loaded
                - container.transport.vessel_departed
                - container.transport.estimated.vessel_departed
                - container.transport.rail_departed
                - container.transport.rail_arrived
                - container.transport.rail_loaded
                - container.transport.rail_unloaded
                - container.transport.transshipment_arrived
                - container.transport.transshipment_discharged
                - container.transport.transshipment_loaded
                - container.transport.transshipment_departed
                - container.transport.feeder_arrived
                - container.transport.feeder_discharged
                - container.transport.feeder_loaded
                - container.transport.feeder_departed
                - container.transport.empty_out
                - container.transport.full_in
                - container.transport.full_out
                - container.transport.empty_in
                - container.transport.vessel_berthed
                - container.transport.arrived_at_inland_destination
                - container.transport.estimated.arrived_at_inland_destination
                - container.pickup_lfd.changed
                - container.pickup_lfd_line.changed
                - container.pickup_lfd_terminal.changed
                - container.pickup_lfd_rail.changed
                - container.pickup_appointment.changed
                - container.transport.available
                - container.transport.not_available
                - container.transport.delivered
                - document_representation.created
                - document_representation.failed
            voyage_number:
              type: string
              nullable: true
            timestamp:
              type: string
              format: date-time
              nullable: true
            timezone:
              type: string
              description: IANA tz
              nullable: true
            location_locode:
              type: string
              description: UNLOCODE of the event location
              nullable: true
            created_at:
              type: string
              format: date-time
            data_source:
              type: string
              enum:
                - shipping_line
                - terminal
                - ais
              example: shipping_line
              description: The original source of the event data
        relationships:
          type: object
          properties:
            shipment:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - shipment
            location:
              type: object
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - port
                        - metro_area
            vessel:
              type: object
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    name:
                      type: string
                      enum:
                        - vessel
            terminal:
              type: object
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - terminal
                        - rail_terminal
            container:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - container
      required:
        - id
        - type
    estimated_event:
      title: Estimated Event Model
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - estimated_event
        attributes:
          type: object
          required:
            - created_at
            - estimated_timestamp
            - event
          properties:
            created_at:
              type: string
              description: When the estimated event was created
              format: date-time
            estimated_timestamp:
              type: string
              format: date-time
            event:
              type: string
              enum:
                - shipment.estimated.arrival
                - document_representation.created
                - document_representation.failed
            location_locode:
              type: string
              description: UNLOCODE of the event location
              nullable: true
            timezone:
              type: string
              description: IANA tz
              nullable: true
            voyage_number:
              type: string
              nullable: true
            data_source:
              type: string
              enum:
                - shipping_line
                - terminal
              description: The original source of the event data
        relationships:
          type: object
          required:
            - shipment
          properties:
            shipment:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - id
                    - type
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - shipment
            port:
              type: object
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - port
            vessel:
              type: object
              description: |+

              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - vessel
      required:
        - id
        - type
        - attributes
        - relationships
    container_updated_event:
      title: container_updated_event
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        attributes:
          type: object
          properties:
            changeset:
              type: object
              description: >-
                A hash of all the changed attributes with the values being an
                array of the before and after. E.g. 

                `{"pickup_lfd": [null, "2020-05-20"]}`


                The current attributes that can be alerted on are:

                - `available_for_pickup`

                - `pickup_lfd`

                - `fees_at_pod_terminal`

                - `holds_at_pod_terminal`

                - `pickup_appointment_at`

                - `pod_terminal`
            timestamp:
              type: string
              format: date-time
              description: ''
            timezone:
              type: string
              description: 'IANA tz '
            data_source:
              type: string
              enum:
                - terminal
              example: terminal
          required:
            - changeset
            - timestamp
        relationships:
          type: object
          required:
            - container
            - terminal
          properties:
            container:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - id
                    - type
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - container
            terminal:
              type: object
              description: ''
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - id
                    - type
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - terminal
      required:
        - relationships
    document:
      title: Document
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - document
        attributes:
          type: object
          properties:
            id:
              description: Unique identifier for the document.
              type: string
              format: uuid
            name:
              description: Display name of the document.
              type: string
            document_type:
              description: System-classified document type.
              type: string
            document_type_manual:
              description: Document type set manually by a user, when available.
              type: string
              nullable: true
            classification_notes:
              description: Additional notes captured during document classification.
              type: string
              nullable: true
            source:
              description: How the document was created in Terminal49.
              type: string
              enum:
                - upload
                - api
                - email
                - split_document
            file_name:
              description: Original file name of the uploaded or generated document.
              type: string
            file_content_type:
              description: MIME type of the document file.
              type: string
              nullable: true
            file_size_bytes:
              description: File size in bytes.
              type: integer
              nullable: true
            parsed:
              description: >-
                Additional parsing metadata. Present for child documents created
                from a split packet.
              type: object
              nullable: true
              properties:
                packetSegment:
                  type: object
                  description: Page range of the child document within the original packet.
                  properties:
                    startPage:
                      type: integer
                      description: Start page number (inclusive) in the parent packet.
                    endPage:
                      type: integer
                      description: End page number (inclusive) in the parent packet.
            created_at:
              description: Timestamp when the document was created.
              type: string
              format: date-time
            updated_at:
              description: Timestamp when the document was last updated.
              type: string
              format: date-time
        relationships:
          type: object
          properties:
            account:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - account
            user:
              type: object
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - user
            email_submission:
              type: object
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - email_submission
            last_document_representation:
              type: object
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - document_representation
            parent_document:
              type: object
              description: Present for child documents created from a split packet.
              properties:
                data:
                  type: object
                  nullable: true
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - document
            shipments:
              type: object
              properties:
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      type:
                        type: string
                        enum:
                          - shipment
            cargos:
              type: object
              properties:
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      type:
                        type: string
                        enum:
                          - container
        links:
          type: object
          properties:
            self:
              type: string
            download:
              type: string
      required:
        - id
        - type
    document_representation:
      title: Document Representation
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - document_representation
        attributes:
          type: object
          properties:
            schema_version:
              type: string
            payload:
              type: object
              additionalProperties: true
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
      required:
        - id
        - type
    document_email_submission:
      title: Document Email Submission
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - email_submission
        attributes:
          type: object
          properties:
            subject:
              type: string
              nullable: true
            body_preview:
              type: string
              nullable: true
            from:
              type: array
              items:
                type: string
            to:
              type: array
              items:
                type: string
            cc:
              type: array
              items:
                type: string
            message_id:
              type: string
              nullable: true
            sent_at:
              type: string
              format: date-time
              nullable: true
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
      required:
        - id
        - type
  securitySchemes:
    authorization:
      name: Authorization
      type: apiKey
      in: header
      description: >-
        Use a Terminal49 API key in the `Authorization` header with the `Token`
        prefix.


        `Authorization: Token YOUR_API_KEY`

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.