AfterShip Fulfillments API

The Fulfillments API from AfterShip — 3 operation(s) for fulfillments.

Operations 5

POST /fulfillments Create a fulfillment #
GET /fulfillments Get fulfillments #
GET /fulfillments/{id} Get fulfillment by ID #
PATCH /fulfillments/{id} Update fulfillment by ID #
POST /fulfillments/{id}/update-status Update fulfillment status #

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/aftership-fulfillments-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

aftership-fulfillments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Overview Fulfillments API
  version: 2026-07
  summary: API Overview
  contact:
    name: AfterShip Support
    url: https://www.aftership.com/contact-us
    email: support@aftership.com
  termsOfService: https://www.aftership.com/legal/terms-of-service
  description: '> OAS Schema can be downloaded [here](https://stoplight.io/api/v1/projects/automizely/docs-api-automizely-com-commerce/nodes/reference/api.json?branch=testing%2F2026-07&deref=optimizedBundle)'
servers:
- url: https://api.aftership.com/commerce/2026-07
  description: API Endpoint
security:
- as-api-key: []
tags:
- name: Fulfillments
paths:
  /fulfillments:
    parameters: []
    post:
      summary: Create a fulfillment
      operationId: create-fulfillment
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/Meta.v1'
                    x-stoplight:
                      id: ujkfz8gihsdst
                  data:
                    $ref: '#/components/schemas/Fulfillment.v1'
                    x-stoplight:
                      id: qnklgttqrn1fg
              examples:
                Example 1:
                  value:
                    meta:
                      code: 20000
                      type: OK
                      message: The request was successfully processed by AfterShip.
                    data:
                      id: '423562565'
                      order_id: '5187092316403'
                      delivery_method: pickup
                      status: processing
                      line_items:
                      - id: '13097711141107'
                        product_id: '8021450916083'
                        product_variant_id: '43768285298931'
                        product_title: Power Mobile Phone
                        product_variant_title: Power Mobile Phone (While)
                        sku: SKU001
                        quantity: 1
                        unit_price:
                          currency: USD
                          amount: '10'
                        unit_weight:
                          unit: kg
                          value: 10
                        image_urls:
                        - https://example.com/product/image.png
                      source_created_at: '2021-04-15T20:02:09Z'
                      source_updated_at: '2021-04-16T20:02:09Z'
                      created_at: '2021-04-15T20:02:09Z'
                      updated_at: '2021-04-16T20:02:09Z'
                      ship_from_location:
                        location_id: 489b4bdec18d45d387752d63fb51ee1d
                        address:
                          type: business
                          street_1: 1234 Elm Street
                          street_2: Apt 5
                          street_3: ''
                          city: New York
                          state: NY
                          postal_code: '10001'
                          country_region: USA
                          company: My Company
                          first_name: John
                          last_name: Doe
                          email: john.doe@example.com
                          phone: '+11234567890'
                      pickup_location:
                        location_id: e9ec84ff351e45e089a7b75ae497e1ae
                        address:
                          type: business
                          street_1: 1234 Elm Street
                          street_2: Apt 5
                          street_3: ''
                          city: New York
                          state: NY
                          postal_code: '10001'
                          country_region: USA
                          company: My Company
                          first_name: John
                          last_name: Doe
                          email: john.doe@example.com
                          phone: '+11234567890'
                          coordinate:
                            latitude: 43
                            longitude: -75
                        opening_hours:
                          sunday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          monday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          tuesday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          wednesday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          thursday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          friday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          saturday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                      trackings:
                      - tracking_number: RA123456789US
                        slug: usps
                        service_type: standard shipping
                        ship_date: '2023-05-04'
                        custom_fields: {}
                        next_couriers:
                        - tracking_number: RA123456789US
                          slug: usps
                      pickup_info:
                        instructions: Shop open from Mon to Fri
                        estimated_ready_for_pickup_at:
                          min: '2021-04-15T20:02:09Z'
                          max: '2021-04-15T20:02:09Z'
                        pickup_deadline_at: '2021-04-15T20:02:09Z'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - order_id
              - delivery_method
              - status
              - line_items
              properties:
                id:
                  type: string
                  x-stoplight:
                    id: 2mukldoy9aah7
                  description: A custom identifier for the fulfillment. If not provided, the system will generate a UUID. Must be unique within the store and immutable. You can use this ID to manage the resource in subsequent API calls.
                  maxLength: 128
                  example: my-custom-id-123
                  pattern: ^[a-zA-Z0-9_-]+$
                order_id:
                  type: string
                  description: The unique identifier of the order. This value must match the id of the order as returned by the GET /orders or GET /orders/{id} endpoints in the current API version.
                  example: 960d25e570834e84b2a0fffd08fab7f9
                delivery_method:
                  type: string
                  enum:
                  - pickup
                  - shipping
                  x-stoplight:
                    id: afqvk957zyot8
                  description: 'Delivery method of the order. For BOPIS related feature, please specify `pickup`.


                    For more information about pickup order, please check the detailed [BOPIS introduction page](../docs/common_scenarios/tracking/bopis.md).

                    '
                  example: shipping
                status:
                  type: string
                  description: "The status of the fulfillment. Depending of on the `delivery_method`, the allowed values are different.\n\nAllowed values: \n\ndelivery_method is shipping:\n`pending`, `processing`, `shipped`, `canceled`, and the custom defined statuses.\n\ndelivery_method is pickup:\n`pending`, `processing`, `ready_for_pickup`, `picked_up`, `canceled`, and the custom defined statuses."
                  example: pending
                line_items:
                  type: array
                  description: The items which included in this fulifllment.
                  items:
                    type: object
                    required:
                    - id
                    - quantity
                    properties:
                      id:
                        type: string
                        x-stoplight:
                          id: b8ylued052ce5
                        description: 'A unique identifier for the line item in your system. The value should be exist in one of the items in the corresponding order.


                          Note that it should be the same as the `order.items.*.id` of the `Order` resource.


                          '
                        example: '365756526'
                      quantity:
                        type: integer
                        description: The number of items in this fulfillment.
                        example: 1
                source_created_at:
                  type: string
                  format: date-time
                  description: The date and time, formatted in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), indicating when the fulfillment was created in your e-commerce system.
                  example: '2021-04-15T20:02:09Z'
                source_updated_at:
                  type: string
                  format: date-time
                  description: The date and time, formatted in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), indicating when the fulfillment was updated in your e-commerce system.
                  example: '2021-04-15T20:02:09Z'
                ship_from_location:
                  type: object
                  description: The location information where the fulfillment shipped from. It is recommended to include this field if the fulfillment's delivery method is `shipping`.  Note that you must provide either `location_id` or `address`, but not both.
                  additionalProperties: false
                  properties:
                    location_id:
                      type: string
                      description: The unique identifier for the location, as provided by AfterShip. You can manage and configure these locations [here](https://organization.automizely.com/warehouses).
                      example: 489b4bdec18d45d387752d63fb51ee1d
                    address:
                      $ref: '#/components/schemas/Address.v1'
                      description: The address object of this location.
                pickup_location:
                  type: object
                  description: The location information where the fulfillment is designated to be pickup from. Mandatory when the delivery method of the fulfillment is `pickup`.
                  required:
                  - location_id
                  properties:
                    location_id:
                      type: string
                      x-stoplight:
                        id: oeu555x37j99n
                      description: The ID of the Location pre-created in AfterShip admin
                      example: a52eeb761d204f3cbae06fa93b452976
                trackings:
                  type: array
                  description: 'Represents shipment tracking information. This object supports two mutually exclusive usage patterns:


                    Reference Mode: Pass the id of a resource pre-created via the Tracking API. This enables full tracking capabilities.


                    Inline Mode: Pass the tracking_number (and optional slug) directly. This is strictly for record-keeping purposes and does not create an active tracking task or support status updates.'
                  items:
                    $ref: '#/components/schemas/Tracking.v1'
                pickup_info:
                  $ref: '#/components/schemas/Pickup.v1'
                  x-stoplight:
                    id: 5aa9r2fwkttmx
                  description: The pickup information of the fulfillment. It is recommended to include this field if the fulfillment's delivery method is `pickup`.
            examples:
              Example 1:
                value:
                  id: '25462567654'
                  delivery_method: pickup
                  status: pending
                  line_items:
                  - id: '365756526'
                    quantity: 1
                  source_created_at: '2021-04-15T20:02:09Z'
                  source_updated_at: '2021-04-15T20:02:09Z'
                  ship_from_location:
                    location_id: a2a00a8bfefb423a98f456c95dfbfde5
                  pickup_location:
                    location_id: a52eeb761d204f3cbae06fa93b452976
                  trackings:
                  - id: tracking1
                  - id: tracking2
                  pickup_info:
                    instructions: Shop open from Mon to Fri
                    estimated_ready_for_pickup_at:
                      min: '2021-04-15T20:02:09Z'
                      max: '2021-04-15T20:02:09Z'
                    pickup_deadline_at: '2021-04-15T20:02:09Z'
      parameters:
      - $ref: '#/components/parameters/as-store-id'
      tags:
      - Fulfillments
      description: 'Create a fulfillment.


        <div style="visibility:hidden; height: 0">[url](../docs/common_scenarios/tracking/bopis.md)</div>'
    get:
      summary: Get fulfillments
      operationId: get-fulfillments
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/Meta.v1'
                    x-stoplight:
                      id: 2oof1vzbg6pbc
                  data:
                    type: object
                    x-stoplight:
                      id: afcxh5cs1luoe
                    properties:
                      fulfillments:
                        type: array
                        x-stoplight:
                          id: gnkg1y38ly9wx
                        items:
                          $ref: '#/components/schemas/Fulfillment.v1'
                          x-stoplight:
                            id: 61k82pdpp1a41
                      pagination:
                        $ref: '#/components/schemas/Pagination.v2'
                        x-stoplight:
                          id: nw7cd7995yweq
              examples:
                Example 1:
                  value:
                    meta:
                      code: 20000
                      type: OK
                      message: The request was successfully processed by AfterShip.
                    data:
                      fulfillments:
                      - id: '423562565'
                        order_id: '5187092316403'
                        delivery_method: pickup
                        status: processing
                        line_items:
                        - id: '13097711141107'
                          product_id: '8021450916083'
                          product_variant_id: '43768285298931'
                          product_title: Power Mobile Phone
                          product_variant_title: Power Mobile Phone (While)
                          sku: SKU001
                          quantity: 1
                          unit_price:
                            currency: USD
                            amount: '10'
                          unit_weight:
                            unit: kg
                            value: 10
                          image_urls:
                          - https://example.com/product/image.png
                        source_created_at: '2021-04-15T20:02:09Z'
                        source_updated_at: '2021-04-16T20:02:09Z'
                        created_at: '2021-04-15T20:02:09Z'
                        updated_at: '2021-04-16T20:02:09Z'
                        ship_from_location:
                          location_id: 489b4bdec18d45d387752d63fb51ee1d
                          address:
                            type: business
                            street_1: 1234 Elm Street
                            street_2: Apt 5
                            street_3: ''
                            city: New York
                            state: NY
                            postal_code: '10001'
                            country_region: USA
                            company: My Company
                            first_name: John
                            last_name: Doe
                            email: john.doe@example.com
                            phone: '+11234567890'
                        pickup_location:
                          location_id: e9ec84ff351e45e089a7b75ae497e1ae
                          address:
                            type: business
                            street_1: 1234 Elm Street
                            street_2: Apt 5
                            street_3: ''
                            city: New York
                            state: NY
                            postal_code: '10001'
                            country_region: USA
                            company: My Company
                            first_name: John
                            last_name: Doe
                            email: john.doe@example.com
                            phone: '+11234567890'
                            coordinate:
                              latitude: 43
                              longitude: -75
                          opening_hours:
                            sunday:
                              open: true
                              from: '10:30'
                              to: '20:30'
                            monday:
                              open: true
                              from: '10:30'
                              to: '20:30'
                            tuesday:
                              open: true
                              from: '10:30'
                              to: '20:30'
                            wednesday:
                              open: true
                              from: '10:30'
                              to: '20:30'
                            thursday:
                              open: true
                              from: '10:30'
                              to: '20:30'
                            friday:
                              open: true
                              from: '10:30'
                              to: '20:30'
                            saturday:
                              open: true
                              from: '10:30'
                              to: '20:30'
                        trackings:
                        - tracking_number: RA123456789US
                          slug: usps
                          service_type: standard shipping
                          ship_date: '2023-05-04'
                          custom_fields: {}
                          next_couriers:
                          - tracking_number: RA123456789US
                            slug: usps
                        pickup_info:
                          instructions: Shop open from Mon to Fri
                          estimated_ready_for_pickup_at:
                            min: '2021-04-15T20:02:09Z'
                            max: '2021-04-15T20:02:09Z'
                          pickup_deadline_at: '2021-04-15T20:02:09Z'
                      pagination:
                        page: 0
                        limit: 0
                        has_next_page: true
      description: 'Get fulfillment results with multiple fulfillments.


        > In the query parameters, you must include only one of the following: `order_id` or `ids[]`. All other parameters should be omitted. <br /><br />Only a single filter parameter can be included in each request.




        '
      parameters:
      - schema:
          type: string
        in: query
        name: order_id
        description: Order ID
      - schema:
          type: string
          minLength: 1
          maxLength: 20
        in: query
        name: ids[]
        description: Fulfillment IDs. Max length is 20
      - schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 50
        in: query
        name: limit
      - schema:
          type: integer
          default: 1
          minimum: 1
          maximum: 200
        in: query
        name: page
      - $ref: '#/components/parameters/as-store-id'
      tags:
      - Fulfillments
  /fulfillments/{id}:
    parameters:
    - schema:
        type: string
      name: id
      in: path
      required: true
      description: The ID of the fulfillment.
    get:
      summary: Get fulfillment by ID
      operationId: get-fulfillment-by-id
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/Meta.v1'
                    x-stoplight:
                      id: tyd6pnlqdafgi
                  data:
                    $ref: '#/components/schemas/Fulfillment.v1'
                    x-stoplight:
                      id: k1rdsmaa4a69n
              examples:
                Example 1:
                  value:
                    meta:
                      code: 20000
                      type: OK
                      message: The request was successfully processed by AfterShip.
                    data:
                      id: '423562565'
                      order_id: '5187092316403'
                      delivery_method: pickup
                      status: processing
                      line_items:
                      - id: '13097711141107'
                        product_id: '8021450916083'
                        product_variant_id: '43768285298931'
                        product_title: Power Mobile Phone
                        product_variant_title: Power Mobile Phone (While)
                        sku: SKU001
                        quantity: 1
                        unit_price:
                          currency: USD
                          amount: '10'
                        unit_weight:
                          unit: kg
                          value: 10
                        image_urls:
                        - https://example.com/product/image.png
                      source_created_at: '2021-04-15T20:02:09Z'
                      source_updated_at: '2021-04-16T20:02:09Z'
                      created_at: '2021-04-15T20:02:09Z'
                      updated_at: '2021-04-16T20:02:09Z'
                      ship_from_location:
                        location_id: 489b4bdec18d45d387752d63fb51ee1d
                        address:
                          type: business
                          street_1: 1234 Elm Street
                          street_2: Apt 5
                          street_3: ''
                          city: New York
                          state: NY
                          postal_code: '10001'
                          country_region: USA
                          company: My Company
                          first_name: John
                          last_name: Doe
                          email: john.doe@example.com
                          phone: '+11234567890'
                      pickup_location:
                        location_id: e9ec84ff351e45e089a7b75ae497e1ae
                        address:
                          type: business
                          street_1: 1234 Elm Street
                          street_2: Apt 5
                          street_3: ''
                          city: New York
                          state: NY
                          postal_code: '10001'
                          country_region: USA
                          company: My Company
                          first_name: John
                          last_name: Doe
                          email: john.doe@example.com
                          phone: '+11234567890'
                          coordinate:
                            latitude: 43
                            longitude: -75
                        opening_hours:
                          sunday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          monday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          tuesday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          wednesday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          thursday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          friday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          saturday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                      trackings:
                      - tracking_number: RA123456789US
                        slug: usps
                        service_type: standard shipping
                        ship_date: '2023-05-04'
                        custom_fields: {}
                        next_couriers:
                        - tracking_number: RA123456789US
                          slug: usps
                      pickup_info:
                        instructions: Shop open from Mon to Fri
                        estimated_ready_for_pickup_at:
                          min: '2021-04-15T20:02:09Z'
                          max: '2021-04-15T20:02:09Z'
                        pickup_deadline_at: '2021-04-15T20:02:09Z'
      parameters:
      - $ref: '#/components/parameters/as-store-id'
      tags:
      - Fulfillments
      description: Get a fulfillment by ID.
    patch:
      summary: Update fulfillment by ID
      operationId: update-fulfillment-by-id
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/Meta.v1'
                    x-stoplight:
                      id: 4qrgu8l1wtgk0
                  data:
                    $ref: '#/components/schemas/Fulfillment.v1'
                    x-stoplight:
                      id: xkfjdnmq8lb1g
              examples:
                Example 1:
                  value:
                    meta:
                      code: 20000
                      type: OK
                      message: The request was successfully processed by AfterShip.
                    data:
                      id: '423562565'
                      order_id: '5187092316403'
                      delivery_method: pickup
                      status: processing
                      line_items:
                      - id: '13097711141107'
                        product_id: '8021450916083'
                        product_variant_id: '43768285298931'
                        product_title: Power Mobile Phone
                        product_variant_title: Power Mobile Phone (While)
                        sku: SKU001
                        quantity: 1
                        unit_price:
                          currency: USD
                          amount: '10'
                        unit_weight:
                          unit: kg
                          value: 10
                        image_urls:
                        - https://example.com/product/image.png
                      source_created_at: '2021-04-15T20:02:09Z'
                      source_updated_at: '2021-04-16T20:02:09Z'
                      created_at: '2021-04-15T20:02:09Z'
                      updated_at: '2021-04-16T20:02:09Z'
                      ship_from_location:
                        location_id: 489b4bdec18d45d387752d63fb51ee1d
                        address:
                          type: business
                          street_1: 1234 Elm Street
                          street_2: Apt 5
                          street_3: ''
                          city: New York
                          state: NY
                          postal_code: '10001'
                          country_region: USA
                          company: My Company
                          first_name: John
                          last_name: Doe
                          email: john.doe@example.com
                          phone: '+11234567890'
                      pickup_location:
                        location_id: e9ec84ff351e45e089a7b75ae497e1ae
                        address:
                          type: business
                          street_1: 1234 Elm Street
                          street_2: Apt 5
                          street_3: ''
                          city: New York
                          state: NY
                          postal_code: '10001'
                          country_region: USA
                          company: My Company
                          first_name: John
                          last_name: Doe
                          email: john.doe@example.com
                          phone: '+11234567890'
                          coordinate:
                            latitude: 43
                            longitude: -75
                        opening_hours:
                          sunday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          monday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          tuesday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          wednesday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          thursday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          friday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                          saturday:
                            open: true
                            from: '10:30'
                            to: '20:30'
                      trackings:
                      - tracking_number: RA123456789US
                        slug: usps
                        service_type: standard shipping
                        ship_date: '2023-05-04'
                        custom_fields: {}
                        next_couriers:
                        - tracking_number: RA123456789US
                          slug: usps
                      pickup_info:
                        instructions: Shop open from Mon to Fri
                        estimated_ready_for_pickup_at:
                          min: '2021-04-15T20:02:09Z'
                          max: '2021-04-15T20:02:09Z'
                        pickup_deadline_at: '2021-04-15T20:02:09Z'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                source_updated_at:
                  type: string
                  x-stoplight:
                    id: e2qmaz5g0y1f9
                  example: '2021-04-15T20:02:09Z'
                  description: The date and time, formatted in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), indicating when the fulfillment was updated in your e-commerce system.
                pickup_info:
                  $ref: '#/components/schemas/Pickup.v1'
                 

# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aftership/refs/heads/main/openapi/aftership-fulfillments-api-openapi.yml