CargoDocs Customer Data/Docs API

The CargoDocs Customer Data/Docs API enables exporters and commodity shippers to draft trade and shipping documents, including tanker, bulker, or barge bills of lading, from data imported out of ERP, CTRM, TMS, or WMS systems. It also enables any party using CargoDocs to download copy documents and structured transaction data to automate back-office steps such as invoicing, reconciliation, and reporting.

OpenAPI Specification

cargodocs-customer-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CargoDocs Customer Data/Docs API
  description: >-
    The CargoDocs Customer Data/Docs API enables exporters to draft trade and
    shipping documents, including tanker, bulker, or barge bills of lading from
    data imported from an ERP system, CTRM, TMS, WMS, etc. It also enables any
    party using CargoDocs to download copy docs and data to automate various
    back-office steps.
  version: 3.0.0
  contact:
    name: ICE Digital Trade (essDOCS)
    url: https://www.essdocs.com
  license:
    name: Proprietary
    url: https://www.essdocs.com
servers:
  - url: https://api-test.cargodocs.com/v3
    description: Sandbox / Test Environment
  - url: https://api.uat.cargodocs.com/v3
    description: UAT Environment
  - url: https://api.cargodocs.com/v3
    description: Production Environment
security:
  - bearerAuth: []
paths:
  /common/import:
    post:
      operationId: importShipmentData
      summary: CargoDocs Import Shipment Data
      description: >-
        Imports shipment data to create trade and shipping documents such as
        tanker, bulker, or barge bills of lading. Data can be imported from ERP
        systems, CTRM, TMS, WMS, and other sources.
      tags:
        - Import
      parameters:
        - name: importRef
          in: query
          required: true
          description: The import reference identifier (e.g., LNGBL559)
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportRequest'
      responses:
        '200':
          description: Shipment data imported successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /customer/transactions:
    get:
      operationId: findTransactions
      summary: CargoDocs Find Transactions
      description: >-
        Finds and retrieves transactions based on search criteria and filters.
      tags:
        - Transactions
      parameters:
        - name: status
          in: query
          required: false
          description: Filter by transaction status
          schema:
            type: string
        - name: page
          in: query
          required: false
          description: Page number for pagination
          schema:
            type: integer
            default: 1
        - name: pageSize
          in: query
          required: false
          description: Number of items per page
          schema:
            type: integer
            default: 20
      responses:
        '200':
          description: Successful response with list of transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /customer/transactions/{transactionId}/documents:
    get:
      operationId: findDocuments
      summary: CargoDocs Find Transaction Documents
      description: >-
        Retrieves documents associated with a specific transaction.
      tags:
        - Documents
      parameters:
        - name: transactionId
          in: path
          required: true
          description: The unique identifier for the transaction
          schema:
            type: string
      responses:
        '200':
          description: Successful response with list of documents
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Transaction not found
  /customer/documents/{documentId}/pdf:
    get:
      operationId: downloadDocumentPdf
      summary: CargoDocs Download Document PDF
      description: >-
        Downloads a PDF copy of a specific document within a transaction.
      tags:
        - Documents
      parameters:
        - name: documentId
          in: path
          required: true
          description: The unique identifier for the document
          schema:
            type: string
      responses:
        '200':
          description: Successful response with PDF document
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Document not found
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    ImportRequest:
      type: object
      properties:
        shipmentType:
          type: string
          description: Type of shipment (e.g., tanker, bulker, barge)
          enum:
            - tanker
            - bulker
            - barge
        shipmentData:
          type: object
          description: The shipment data payload to import
        documentType:
          type: string
          description: Type of document to create from the import
    ImportResponse:
      type: object
      properties:
        importId:
          type: string
          description: The unique identifier for the import operation
        status:
          type: string
          description: Status of the import
        transactionId:
          type: string
          description: The transaction ID created from the import
    TransactionList:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
        totalCount:
          type: integer
          description: Total number of matching transactions
        page:
          type: integer
          description: Current page number
        pageSize:
          type: integer
          description: Number of items per page
    Transaction:
      type: object
      properties:
        transactionId:
          type: string
          description: The unique identifier for the transaction
        status:
          type: string
          description: Current status of the transaction
        createdAt:
          type: string
          format: date-time
          description: When the transaction was created
        documentCount:
          type: integer
          description: Number of documents in this transaction
    Document:
      type: object
      properties:
        documentId:
          type: string
          description: The unique identifier for the document
        documentType:
          type: string
          description: Type of document
        status:
          type: string
          description: Current status of the document
        createdAt:
          type: string
          format: date-time
          description: When the document was created
tags:
  - name: Documents
    description: Endpoints for retrieving and downloading documents
  - name: Import
    description: Endpoints for importing shipment data to create documents
  - name: Transactions
    description: Endpoints for finding and managing transactions