WooCommerce · Schema

Order

A WooCommerce customer order.

eCommerceOpen SourceOrdersProductsWordPress

Properties

Name Type Description
id integer Order unique identifier.
parent_id integer Parent order ID (for order refunds and child orders).
number string Order number displayed to customers.
order_key string Order key used to verify order ownership.
status string Order status. Options: pending, processing, on-hold, completed, cancelled, refunded, failed, trash.
currency string ISO 4217 currency code used for the order.
date_created string Date the order was created.
date_modified string Date the order was last modified.
date_completed string Date the order was marked as completed.
discount_total string Total discount applied to the order as a decimal string.
discount_tax string Total discount tax as a decimal string.
shipping_total string Total shipping cost as a decimal string.
shipping_tax string Total shipping tax as a decimal string.
cart_tax string Total cart item taxes as a decimal string.
total string Grand total as a decimal string.
total_tax string Total tax as a decimal string.
customer_id integer Customer ID (0 for guest orders).
customer_note string Note left by the customer at checkout.
billing object Billing or shipping address associated with a customer or order.
shipping object Billing or shipping address associated with a customer or order.
payment_method string Payment method ID (e.g. stripe, paypal).
payment_method_title string Human-readable payment method name.
transaction_id string Payment gateway transaction ID.
line_items array Line items in the order.
meta_data array Custom metadata attached to the order.
View JSON Schema on GitHub

JSON Schema

woocommerce-rest-api-order-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/woocommerce/refs/heads/main/json-schema/woocommerce-rest-api-order-schema.json",
  "title": "Order",
  "description": "A WooCommerce customer order.",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Order unique identifier.",
      "example": 1
    },
    "parent_id": {
      "type": "integer",
      "description": "Parent order ID (for order refunds and child orders).",
      "example": 1
    },
    "number": {
      "type": "string",
      "description": "Order number displayed to customers.",
      "example": "string-value"
    },
    "order_key": {
      "type": "string",
      "description": "Order key used to verify order ownership.",
      "example": "string-value"
    },
    "status": {
      "type": "string",
      "description": "Order status. Options: pending, processing, on-hold, completed, cancelled, refunded, failed, trash.",
      "enum": [
        "pending",
        "processing",
        "on-hold",
        "completed",
        "cancelled",
        "refunded",
        "failed",
        "trash"
      ],
      "example": "pending"
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217 currency code used for the order.",
      "example": "string-value"
    },
    "date_created": {
      "type": "string",
      "format": "date-time",
      "description": "Date the order was created.",
      "example": "2026-05-03T14:30:00Z"
    },
    "date_modified": {
      "type": "string",
      "format": "date-time",
      "description": "Date the order was last modified.",
      "example": "2026-05-03T14:30:00Z"
    },
    "date_completed": {
      "type": "string",
      "format": "date-time",
      "description": "Date the order was marked as completed.",
      "nullable": true,
      "example": "2026-05-03T14:30:00Z"
    },
    "discount_total": {
      "type": "string",
      "description": "Total discount applied to the order as a decimal string.",
      "example": "string-value"
    },
    "discount_tax": {
      "type": "string",
      "description": "Total discount tax as a decimal string.",
      "example": "string-value"
    },
    "shipping_total": {
      "type": "string",
      "description": "Total shipping cost as a decimal string.",
      "example": "string-value"
    },
    "shipping_tax": {
      "type": "string",
      "description": "Total shipping tax as a decimal string.",
      "example": "string-value"
    },
    "cart_tax": {
      "type": "string",
      "description": "Total cart item taxes as a decimal string.",
      "example": "string-value"
    },
    "total": {
      "type": "string",
      "description": "Grand total as a decimal string.",
      "example": "string-value"
    },
    "total_tax": {
      "type": "string",
      "description": "Total tax as a decimal string.",
      "example": "string-value"
    },
    "customer_id": {
      "type": "integer",
      "description": "Customer ID (0 for guest orders).",
      "example": 1
    },
    "customer_note": {
      "type": "string",
      "description": "Note left by the customer at checkout.",
      "example": "string-value"
    },
    "billing": {
      "type": "object",
      "description": "Billing or shipping address associated with a customer or order.",
      "properties": {
        "first_name": {
          "type": "string",
          "description": "First name.",
          "example": "Example Name"
        },
        "last_name": {
          "type": "string",
          "description": "Last name.",
          "example": "Example Name"
        },
        "company": {
          "type": "string",
          "description": "Company name.",
          "example": "string-value"
        },
        "address_1": {
          "type": "string",
          "description": "Address line 1.",
          "example": "string-value"
        },
        "address_2": {
          "type": "string",
          "description": "Address line 2.",
          "example": "string-value"
        },
        "city": {
          "type": "string",
          "description": "City name.",
          "example": "string-value"
        },
        "state": {
          "type": "string",
          "description": "ISO code or name of the state, province, or district.",
          "example": "string-value"
        },
        "postcode": {
          "type": "string",
          "description": "Postal code.",
          "example": "string-value"
        },
        "country": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code.",
          "example": "string-value"
        },
        "email": {
          "type": "string",
          "format": "email",
          "description": "Email address (billing only).",
          "example": "[email protected]"
        },
        "phone": {
          "type": "string",
          "description": "Phone number (billing only).",
          "example": "string-value"
        }
      }
    },
    "shipping": {
      "type": "object",
      "description": "Billing or shipping address associated with a customer or order.",
      "properties": {
        "first_name": {
          "type": "string",
          "description": "First name.",
          "example": "Example Name"
        },
        "last_name": {
          "type": "string",
          "description": "Last name.",
          "example": "Example Name"
        },
        "company": {
          "type": "string",
          "description": "Company name.",
          "example": "string-value"
        },
        "address_1": {
          "type": "string",
          "description": "Address line 1.",
          "example": "string-value"
        },
        "address_2": {
          "type": "string",
          "description": "Address line 2.",
          "example": "string-value"
        },
        "city": {
          "type": "string",
          "description": "City name.",
          "example": "string-value"
        },
        "state": {
          "type": "string",
          "description": "ISO code or name of the state, province, or district.",
          "example": "string-value"
        },
        "postcode": {
          "type": "string",
          "description": "Postal code.",
          "example": "string-value"
        },
        "country": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code.",
          "example": "string-value"
        },
        "email": {
          "type": "string",
          "format": "email",
          "description": "Email address (billing only).",
          "example": "[email protected]"
        },
        "phone": {
          "type": "string",
          "description": "Phone number (billing only).",
          "example": "string-value"
        }
      }
    },
    "payment_method": {
      "type": "string",
      "description": "Payment method ID (e.g. stripe, paypal).",
      "example": "string-value"
    },
    "payment_method_title": {
      "type": "string",
      "description": "Human-readable payment method name.",
      "example": "Example Name"
    },
    "transaction_id": {
      "type": "string",
      "description": "Payment gateway transaction ID.",
      "example": "500123"
    },
    "line_items": {
      "type": "array",
      "description": "Line items in the order.",
      "items": {
        "type": "object",
        "description": "A product line item within an order.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Line item unique identifier.",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Product name at time of purchase.",
            "example": "Example Name"
          },
          "product_id": {
            "type": "integer",
            "description": "Product ID.",
            "example": 1
          },
          "variation_id": {
            "type": "integer",
            "description": "Variation ID (0 if not a variation).",
            "example": 1
          },
          "quantity": {
            "type": "integer",
            "description": "Quantity ordered.",
            "example": 1
          },
          "tax_class": {
            "type": "string",
            "description": "Tax class used for this line item.",
            "example": "string-value"
          },
          "subtotal": {
            "type": "string",
            "description": "Line subtotal (before discounts) as a decimal string.",
            "example": "string-value"
          },
          "subtotal_tax": {
            "type": "string",
            "description": "Line subtotal tax as a decimal string.",
            "example": "string-value"
          },
          "total": {
            "type": "string",
            "description": "Line total (after discounts) as a decimal string.",
            "example": "string-value"
          },
          "total_tax": {
            "type": "string",
            "description": "Line total tax as a decimal string.",
            "example": "string-value"
          },
          "sku": {
            "type": "string",
            "description": "Product SKU.",
            "example": "string-value"
          },
          "price": {
            "type": "number",
            "description": "Product price at time of purchase.",
            "example": 10.5
          },
          "meta_data": {
            "type": "array",
            "description": "Metadata for the line item (e.g. variation attributes).",
            "items": {
              "$ref": "#/components/schemas/MetaData"
            },
            "example": [
              "string-value"
            ]
          }
        }
      },
      "example": [
        "string-value"
      ]
    },
    "meta_data": {
      "type": "array",
      "description": "Custom metadata attached to the order.",
      "items": {
        "type": "object",
        "description": "Custom metadata key-value entry.",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Metadata unique identifier.",
            "example": 1
          },
          "key": {
            "type": "string",
            "description": "Metadata key.",
            "example": "string-value"
          },
          "value": {
            "type": "string",
            "description": "Metadata value.",
            "example": "string-value"
          }
        }
      },
      "example": [
        "string-value"
      ]
    }
  }
}