Cargomatic Document API

The Document API from Cargomatic — 2 operation(s) for document.

Operations 2

POST /create-documents Uploads documents #
POST /get-documents Retrieves documents for a specified entity #

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/cargomatic:cargomatic-document-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

cargomatic-document-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cargomatic Public Document API
  description: '!Cargomatic


    ## Welcome to the Cargomatic API!

    Our quoting, booking, and status APIs allow you to automate common workflows similar to features available within the Cargomatic portal.


    Please reach out to apisupport@cargomatic.com for sandbox credentials to get started.'
  version: 3.0.0
servers:
- url: https://api-acceptance.cargomatic.com
tags:
- name: Document
  description: Endpoints for creating and retrieving documents attached to an entity
paths:
  /create-documents:
    post:
      operationId: createDocuments
      summary: Uploads documents
      description: Use this endpoint to create one or more document records within our system. Use the presigned URLs returned in the response to upload the actual files to our secure S3 buckets.
      tags:
      - Document
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadDocumentRequest'
      responses:
        '200':
          description: 'Status Code 200: Successful Response - the request was successful!'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadDocumentResponse'
        '400':
          description: 'Status Code 400: Bad Request Response - the request header and/or body is invalid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '500':
          description: 'Status Code 500: Internal Server Error Response - there''s a problem with the Public API service'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
  /get-documents:
    post:
      operationId: getDocuments
      summary: Retrieves documents for a specified entity
      description: Use this endpoint to retrieve document links and metadata attached to a specific entity.
      tags:
      - Document
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetDocumentRequest'
      responses:
        '200':
          description: 'Status Code 200: Successful Response - the request was successful!'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDocumentResponse'
        '400':
          description: 'Status Code 400: Bad Request Response - the request header and/or body is invalid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
        '500':
          description: 'Status Code 500: Internal Server Error Response - there''s a problem with the Public API service'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
components:
  schemas:
    UploadDocumentRequest:
      type: array
      items:
        type: object
        properties:
          entity:
            type: string
            example: shipment
          entityId:
            type: string
            example: '123455678990'
          referenceNumbers:
            type: array
            items:
              type: string
              example: REF_NUMBER
          type:
            type: string
            example: proof_of_delivery
          name:
            type: string
            example: filename
          contentType:
            type: string
            example: application/json
    UploadDocumentResponse:
      type: array
      items:
        type: object
        properties:
          originalFileName:
            type: string
            example: filename
          presignedUrl:
            type: string
            example: https://s3-url.com?key-signed-metadata
    BadRequestResponse:
      type: object
      properties:
        message:
          type: string
      example:
        message: Invalid Request Body
    InternalServerErrorResponse:
      type: object
      properties:
        message:
          type: string
      example:
        message: Internal Server Error
    GetDocumentResponse:
      type: object
      properties:
        count:
          type: number
          example: 5
        documents:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                example: Proof of Delivery
              createdAt:
                type: string
                example: '2023-09-20T03:02:32.359Z'
              signedUrl:
                type: string
                example: https://s3-url-link-to-file.com/bucket?metadata-info
              type:
                type: string
                example: proof_of_delivery
              status:
                type: string
                example: UPLOADED
    GetDocumentRequest:
      type: object
      properties:
        entity:
          type: string
          example: shipment
        entityId:
          type: string
          example: '123455678990'
        referenceNumbers:
          type: array
          items:
            type: string
            example: REF_NUMBER
        types:
          type: array
          items:
            type: string
            example: proof_of_delivery
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-amazon-apigateway-cors:
  allowOrigins:
  - '*'
  allowCredentials: true
  exposeHeaders:
  - x-apigateway-header
  - x-amz-date
  - content-type
  maxAge: 3600
  allowMethods:
  - '*'
  allowHeaders":
  - x-apigateway-header
  - x-amz-date
  - content-type
  - Authorization
x-provenance:
  method: harvested
  publisher: Cargomatic
  source: https://api-docs.cargomatic.com/openapi.yml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)