Shopify Fulfillments API

Manage order fulfillments

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

shopify-fulfillments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Shopify Admin REST About Fulfillments API
  description: The Shopify Admin REST API lets you build apps and integrations that extend and enhance the Shopify admin. Access products, customers, orders, inventory, fulfillment, and more. Endpoints are organized by resource type and versioned by release date.
  version: 2025-01
  contact:
    name: Shopify
    url: https://shopify.dev/docs/api/admin-rest
    email: api@shopify.com
  license:
    name: Shopify API Terms
    url: https://www.shopify.com/legal/api-terms
  x-date: '2026-03-04'
servers:
- url: https://{store}.myshopify.com/admin/api/2025-01
  description: Shopify Admin REST API
  variables:
    store:
      default: my-store
      description: The Shopify store subdomain
security:
- AccessToken: []
tags:
- name: Fulfillments
  description: Manage order fulfillments
paths:
  /fulfillments.json:
    post:
      operationId: createFulfillment
      summary: Shopify Create a fulfillment
      description: Creates a fulfillment for one or more fulfillment orders.
      tags:
      - Fulfillments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - fulfillment
              properties:
                fulfillment:
                  $ref: '#/components/schemas/FulfillmentInput'
      responses:
        '201':
          description: The created fulfillment
          content:
            application/json:
              schema:
                type: object
                properties:
                  fulfillment:
                    $ref: '#/components/schemas/Fulfillment'
  /fulfillments/{fulfillment_id}/update_tracking.json:
    post:
      operationId: updateFulfillmentTracking
      summary: Shopify Update tracking information for a fulfillment
      description: Updates the tracking information for a fulfillment.
      tags:
      - Fulfillments
      parameters:
      - name: fulfillment_id
        in: path
        required: true
        description: The ID of the fulfillment
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - fulfillment
              properties:
                fulfillment:
                  type: object
                  properties:
                    tracking_info:
                      type: object
                      properties:
                        number:
                          type: string
                          description: Tracking number
                        url:
                          type: string
                          description: Tracking URL
                        company:
                          type: string
                          description: Shipping company
      responses:
        '200':
          description: The updated fulfillment
          content:
            application/json:
              schema:
                type: object
                properties:
                  fulfillment:
                    $ref: '#/components/schemas/Fulfillment'
  /fulfillments/{fulfillment_id}/cancel.json:
    post:
      operationId: cancelFulfillment
      summary: Shopify Cancel a fulfillment
      description: Cancels a fulfillment.
      tags:
      - Fulfillments
      parameters:
      - name: fulfillment_id
        in: path
        required: true
        description: The ID of the fulfillment
        schema:
          type: integer
      responses:
        '200':
          description: The cancelled fulfillment
          content:
            application/json:
              schema:
                type: object
                properties:
                  fulfillment:
                    $ref: '#/components/schemas/Fulfillment'
components:
  schemas:
    FulfillmentInput:
      type: object
      description: Input for creating a fulfillment
      properties:
        line_items_by_fulfillment_order:
          type: array
          items:
            type: object
            properties:
              fulfillment_order_id:
                type: integer
              fulfillment_order_line_items:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                    quantity:
                      type: integer
        tracking_info:
          type: object
          properties:
            number:
              type: string
            url:
              type: string
            company:
              type: string
        notify_customer:
          type: boolean
    LineItem:
      type: object
      description: An individual line item in an order
      properties:
        id:
          type: integer
        variant_id:
          type:
          - integer
          - 'null'
        product_id:
          type:
          - integer
          - 'null'
        title:
          type: string
        variant_title:
          type:
          - string
          - 'null'
        name:
          type: string
          description: Product title and variant title combined
        quantity:
          type: integer
        price:
          type: string
        total_discount:
          type: string
        sku:
          type:
          - string
          - 'null'
        vendor:
          type:
          - string
          - 'null'
        fulfillment_service:
          type: string
        fulfillment_status:
          type:
          - string
          - 'null'
        taxable:
          type: boolean
        requires_shipping:
          type: boolean
        gift_card:
          type: boolean
        grams:
          type: integer
        tax_lines:
          type: array
          items:
            $ref: '#/components/schemas/TaxLine'
        properties:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              value:
                type: string
        admin_graphql_api_id:
          type: string
    TaxLine:
      type: object
      description: A tax line applied to an item
      properties:
        title:
          type: string
        price:
          type: string
        rate:
          type: number
    Fulfillment:
      type: object
      description: A fulfillment of an order
      properties:
        id:
          type: integer
        order_id:
          type: integer
        status:
          type: string
          enum:
          - pending
          - open
          - success
          - cancelled
          - error
          - failure
        tracking_company:
          type:
          - string
          - 'null'
        tracking_number:
          type:
          - string
          - 'null'
        tracking_numbers:
          type: array
          items:
            type: string
        tracking_url:
          type:
          - string
          - 'null'
        tracking_urls:
          type: array
          items:
            type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        line_items:
          type: array
          items:
            $ref: '#/components/schemas/LineItem'
        admin_graphql_api_id:
          type: string
  securitySchemes:
    AccessToken:
      type: apiKey
      name: X-Shopify-Access-Token
      in: header
      description: Access token obtained via OAuth