Staples Orders API

Order management operations

OpenAPI Specification

staples-orders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Staples Advantage eProcurement Account Orders API
  description: The Staples Advantage eProcurement API enables enterprise procurement integration for business customers. Partners can search the Staples product catalog, manage orders, track deliveries, and access account information. Supports integration with over 170 eProcurement platforms including Ariba, Coupa, Jaggaer, and Oracle for streamlined office supply procurement.
  version: '1.0'
  contact:
    name: Staples Business Advantage Support
    url: https://www.staplesadvantage.com/
  termsOfService: https://www.staples.com/sbd/cre/marketing/terms-and-conditions/
servers:
- url: https://api.staplesadvantage.com
  description: Production
security:
- bearerAuth: []
tags:
- name: Orders
  description: Order management operations
paths:
  /v1/orders:
    get:
      operationId: listOrders
      summary: List Orders
      description: Returns the order history for the authenticated account, filterable by date range, status, and cost center.
      tags:
      - Orders
      parameters:
      - name: status
        in: query
        required: false
        description: Filter by order status
        schema:
          type: string
          enum:
          - pending
          - confirmed
          - shipped
          - delivered
          - cancelled
      - name: startDate
        in: query
        required: false
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        required: false
        schema:
          type: string
          format: date
      - name: costCenter
        in: query
        required: false
        description: Filter by cost center code
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  orders:
                    type: array
                    items:
                      $ref: '#/components/schemas/Order'
                  total:
                    type: integer
        '401':
          description: Unauthorized
        '429':
          description: Too Many Requests
    post:
      operationId: createOrder
      summary: Create Order
      description: Creates a new purchase order from the Staples Advantage catalog with delivery address and cost center allocation.
      tags:
      - Orders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        '201':
          description: Order Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
        '429':
          description: Too Many Requests
  /v1/orders/{orderId}:
    get:
      operationId: getOrder
      summary: Get Order
      description: Returns the full details and current status of a specific order including line items, tracking information, and delivery status.
      tags:
      - Orders
      parameters:
      - name: orderId
        in: path
        required: true
        description: The unique identifier of the order
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDetail'
        '401':
          description: Unauthorized
        '404':
          description: Order Not Found
        '429':
          description: Too Many Requests
components:
  schemas:
    OrderDetail:
      allOf:
      - $ref: '#/components/schemas/Order'
      - type: object
        properties:
          items:
            type: array
            items:
              type: object
              properties:
                sku:
                  type: string
                name:
                  type: string
                quantity:
                  type: integer
                unitPrice:
                  type: number
                totalPrice:
                  type: number
                costCenter:
                  type: string
          deliveryAddress:
            $ref: '#/components/schemas/Address'
          trackingNumbers:
            type: array
            items:
              type: string
    Order:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
          - pending
          - confirmed
          - shipped
          - delivered
          - cancelled
        purchaseOrderNumber:
          type: string
        itemCount:
          type: integer
        subtotal:
          type: number
          format: float
        total:
          type: number
          format: float
        orderedAt:
          type: string
          format: date-time
        estimatedDelivery:
          type: string
          format: date
    CreateOrderRequest:
      type: object
      required:
      - items
      - deliveryAddress
      properties:
        purchaseOrderNumber:
          type: string
        items:
          type: array
          items:
            type: object
            required:
            - sku
            - quantity
            properties:
              sku:
                type: string
              quantity:
                type: integer
              costCenter:
                type: string
        deliveryAddress:
          $ref: '#/components/schemas/Address'
        deliveryInstructions:
          type: string
        accountId:
          type: string
    Address:
      type: object
      properties:
        name:
          type: string
        street:
          type: string
        street2:
          type: string
        city:
          type: string
        state:
          type: string
        postalCode:
          type: string
        country:
          type: string
          default: US
        phone:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Staples Advantage eProcurement Integrations
  url: https://www.staplesadvantage.com/learn/eprocurement-integrations