ShippingEasy Orders API

Order create, look up, status update, and cancellation.

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/shippingeasy-orders-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 email required.

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

OpenAPI Specification

shippingeasy-orders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ShippingEasy Customer Orders API
  version: '1.2'
  description: 'The ShippingEasy Customer API lets a merchant push orders into their own

    ShippingEasy account from a custom marketplace, storefront, or backoffice

    system that is not already covered by ShippingEasy''s built-in integration

    catalog. Authentication is HMAC-SHA256 signed; requests carry

    `api_key`, `api_timestamp`, and `api_signature` query parameters. The

    signature is computed over the HTTP method, request path, and the

    alphabetically-sorted set of query parameters (excluding the signature

    itself) using the account''s API secret.

    '
  contact:
    name: ShippingEasy API Support
    email: api-questions@shippingeasy.com
    url: https://shippingeasy.readme.io/reference/getting-started
  license:
    name: Proprietary
    url: https://shippingeasy.com/terms-of-service/
servers:
- url: https://app.shippingeasy.com/api
  description: Production
security:
- apiKey: []
  apiTimestamp: []
  apiSignature: []
tags:
- name: Orders
  description: Order create, look up, status update, and cancellation.
paths:
  /orders:
    get:
      tags:
      - Orders
      summary: Find Orders
      description: Search orders across all API-enabled stores in the account, optionally filtered by order status.
      operationId: findOrders
      parameters:
      - in: query
        name: status
        schema:
          type: string
          enum:
          - awaiting_payment
          - awaiting_shipment
          - ready_for_shipment
          - shipped
          - on_hold
          - cancelled
        description: Optional order status filter.
      responses:
        '200':
          description: Order search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /orders/{id}:
    get:
      tags:
      - Orders
      summary: Find Order by ID
      description: Return a single order by its ShippingEasy internal numeric identifier.
      operationId: findOrderById
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
        description: ShippingEasy internal order identifier.
      responses:
        '200':
          description: Order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEnvelope'
        '404':
          $ref: '#/components/responses/NotFound'
  /stores/{store_api_key}/orders:
    get:
      tags:
      - Orders
      summary: Find Orders by Store
      description: Return orders scoped to a single API-enabled store.
      operationId: findOrdersByStore
      parameters:
      - $ref: '#/components/parameters/StoreApiKey'
      responses:
        '200':
          description: Orders list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      tags:
      - Orders
      summary: Create Order
      description: Create a new order on the given API-enabled store. Orders are addressed by an `external_order_identifier` supplied by the caller and are routed into the merchant's normal ShippingEasy workflows.
      operationId: createOrder
      parameters:
      - $ref: '#/components/parameters/StoreApiKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderEnvelope'
      responses:
        '201':
          description: Order created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEnvelope'
        '422':
          $ref: '#/components/responses/Unprocessable'
  /stores/{store_api_key}/orders/{external_order_identifier}:
    get:
      tags:
      - Orders
      summary: Find Order by External Order Number
      description: Return a single order by the caller-supplied external order number on the specified store.
      operationId: findOrderByExternalOrderNumber
      parameters:
      - $ref: '#/components/parameters/StoreApiKey'
      - $ref: '#/components/parameters/ExternalOrderIdentifier'
      responses:
        '200':
          description: Order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEnvelope'
        '404':
          $ref: '#/components/responses/NotFound'
  /stores/{store_api_key}/orders/{external_order_identifier}/status:
    put:
      tags:
      - Orders
      summary: Update Order Status
      description: Update the order_status of a single order in the specified store.
      operationId: updateOrderStatus
      parameters:
      - $ref: '#/components/parameters/StoreApiKey'
      - $ref: '#/components/parameters/ExternalOrderIdentifier'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                order:
                  type: object
                  properties:
                    order_status:
                      type: string
                      enum:
                      - awaiting_payment
                      - awaiting_shipment
                      - ready_for_shipment
                      - shipped
                      - on_hold
                      - cancelled
                  required:
                  - order_status
              required:
              - order
      responses:
        '200':
          description: Order status updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEnvelope'
        '404':
          $ref: '#/components/responses/NotFound'
  /stores/{store_api_key}/orders/{order_number}/cancellations:
    post:
      tags:
      - Orders
      summary: Cancel Order
      description: Cancel a single order on the specified store.
      operationId: cancelOrder
      parameters:
      - $ref: '#/components/parameters/StoreApiKey'
      - in: path
        name: order_number
        required: true
        schema:
          type: string
        description: Store-scoped order number.
      responses:
        '200':
          description: Order cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderEnvelope'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    StoreApiKey:
      in: path
      name: store_api_key
      required: true
      schema:
        type: string
      description: Per-store API key returned by GET /stores.
    ExternalOrderIdentifier:
      in: path
      name: external_order_identifier
      required: true
      schema:
        type: string
      description: Caller-supplied unique order number for the order on the originating store.
  responses:
    Unauthorized:
      description: Missing or invalid signature.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unprocessable:
      description: Validation error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    OrderEnvelope:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/Order'
    Order:
      type: object
      properties:
        external_order_identifier:
          type: string
        ordered_at:
          type: string
          format: date-time
        order_status:
          type: string
          enum:
          - awaiting_payment
          - awaiting_shipment
          - ready_for_shipment
          - shipped
          - on_hold
          - cancelled
        billing_company:
          type: string
        billing_first_name:
          type: string
        billing_last_name:
          type: string
        billing_address:
          type: string
        billing_address2:
          type: string
        billing_city:
          type: string
        billing_state:
          type: string
        billing_postal_code:
          type: string
        billing_country:
          type: string
        billing_phone_number:
          type: string
        billing_email:
          type: string
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
    OrderList:
      type: object
      properties:
        orders:
          type: array
          items:
            $ref: '#/components/schemas/Order'
        meta:
          type: object
          properties:
            page:
              type: integer
            total_pages:
              type: integer
            total_count:
              type: integer
    LineItem:
      type: object
      properties:
        sku:
          type: string
        name:
          type: string
        quantity:
          type: integer
        unit_price:
          type: number
          format: float
        weight_in_ounces:
          type: number
          format: float
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
        message:
          type: string
    Recipient:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        company:
          type: string
        address:
          type: string
        address2:
          type: string
        city:
          type: string
        state:
          type: string
        postal_code:
          type: string
        country:
          type: string
        phone_number:
          type: string
        email:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: api_key
      description: Account API key. Generated at https://app.shippingeasy.com/settings/api_credentials.
    apiTimestamp:
      type: apiKey
      in: query
      name: api_timestamp
      description: Unix epoch seconds when the request signature was generated.
    apiSignature:
      type: apiKey
      in: query
      name: api_signature
      description: HMAC-SHA256 hex digest of the canonical request string computed with the account's API secret.