Part of the response of GET /orders/{orderId}/change-requests.

Type: object

Example

Schema example: from the GET /orders/{orderId}/change-requests response
{
  "success": true,
  "data": {
    "items": [
      {
        "id": 381,
        "order_id": "ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW",
        "kind": "address_change",
        "status": "pending",
        "proposed_by_party": "buyer",
        "created_at": "2026-09-04T19:01:12.000Z",
        "resolved_at": null,
        "lines": null,
        "amount_cents": null,
        "note": null,
        "credits": null,
        "address": {
          "line1": "99 Elm Ave",
          "line2": "Unit 4",
          "city": "Ottawa",
          "province": "ON",
          "postal_code": "K1P 5G4",
          "country": "CA"
        },
        "previous_address": {
          "line1": "123 Main St",
          "line2": null,
          "city": "Toronto",
          "province": "ON",
          "postal_code": "M5V 2T6",
          "country": "CA"
        }
      }
    ]
  }
}

Fields

success boolean required

Whether the operation completed as requested.

Constraints: allowed values: true Example true

data object required

The operation or event payload.

Show child fieldsHide child fields
data.items ChangeRequest[] required

Every change request on the order, oldest first.

Show child fieldsHide child fields
data.items[].id integer required

The change request id, stable for the life of the request and the {requestId} of its answers (STABLE).

Constraints: exclusive minimum: 0 Example 381

data.items[].order_id string required

The order the request is about (STABLE).

Example ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW

data.items[].kind string required

address_change: the buyer asks to ship to address instead of previous_address. cancel_lines: the buyer asks to remove lines, or every remaining line to end the order. fulfillment_report: the seller reports that lines cannot ship as sold, and the buyer answers it (STABLE).

Constraints: allowed values: cancel_lines, fulfillment_report, address_change Example address_change

data.items[].status string required

pending until it is answered; a request has no deadline. accepted: the change ran. declined: the answering party refused it and nothing changed. withdrawn: the party who raised it took it back. voided: the order shipped, was cancelled or refunded, its address was corrected, or Snapcaster closed the support conversation the request belonged to, before anyone answered. removed_instead and order_cancelled are the buyer answers to a fulfillment_report that remove every affected line or end the order. expired appears only on requests from before requests stopped lapsing (STABLE).

Constraints: allowed values: pending, accepted, removed_instead, order_cancelled, declined, withdrawn, voided, expired Example pending

data.items[].proposed_by_party string required

Who raised it. The seller answers a buyer request by accepting or declining it; the buyer answers a seller request (STABLE).

Constraints: allowed values: buyer, seller, operator, system Example buyer

data.items[].created_at string required

When the request was raised (STABLE).

Constraints: format: date-time Example 2026-09-04T19:01:12.000Z

data.items[].resolved_at string or null required

When the request left pending; null while it is pending (STABLE).

Constraints: format: date-time Example null

data.items[].lines ChangeRequestLine[] or null required

The lines a cancel_lines or fulfillment_report request names; null on an address_change (STABLE).

Show child fieldsHide child fields
data.items[].lines[].line_ref string required

The purchase line the request names, the same line_ref the order carries (STABLE).

data.items[].lines[].name string required

The line title, or SKU <sku_id> when the catalog had none (STABLE).

data.items[].lines[].quantity integer required

How many units of the line the request covers (STABLE).

Constraints: exclusive minimum: 0

data.items[].lines[].sku_id integer required

The SKU the line was sold as (STABLE).

data.items[].lines[].product_id integer or null required

The product that SKU belongs to; null on a request recorded before it was kept (STABLE).

data.items[].lines[].ordered object required

The card the buyer ordered, as the request recorded it. A fact the request never recorded is null (STABLE).

Show child fieldsHide child fields
data.items[].lines[].ordered.name string or null required

The card title (STABLE).

data.items[].lines[].ordered.set string or null required

The set the printing belongs to; null when it was never recorded (STABLE).

data.items[].lines[].ordered.language string or null required

The printing language; null when it was never recorded (STABLE).

data.items[].lines[].ordered.finish string or null required

The printing or finish, such as Foil; null when never recorded (STABLE).

data.items[].lines[].ordered.rarity string or null required

The rarity; null when it was never recorded (STABLE).

data.items[].lines[].ordered.condition string or null required

The condition grade; null when it was never recorded (STABLE).

data.items[].lines[].ordered.collector_number string or null required

The collector number as the catalog states it, such as 161/302; null when never recorded (STABLE).

data.items[].lines[].action string required

remove on every cancel_lines line and on a report line that removes units. substitute on a report line that ships a replacement named in substitute at a per-unit credit_cents. split on a report line whose units go several ways, listed in dispositions (STABLE).

Constraints: allowed values: remove, substitute, split

data.items[].lines[].substitute ChangeRequestSubstitute or null required

The replacement on a substitute line; null on every other line (STABLE).

Show child fieldsHide child fields
data.items[].lines[].substitute.listing_id integer required

Snapcaster's id for the seller listing offered in place of the line (STABLE).

data.items[].lines[].substitute.sku_id integer required

The SKU the line ships as once the report is accepted (STABLE).

data.items[].lines[].substitute.product_id integer required

The product, the same one the replaced line belongs to (STABLE).

data.items[].lines[].substitute.external_ref string or null required

Your platform's reference on that listing when the report was filed; null when none was sent (STABLE).

data.items[].lines[].substitute.name string or null required

The card title (STABLE).

data.items[].lines[].substitute.set string or null required

The set the printing belongs to; null when it was never recorded (STABLE).

data.items[].lines[].substitute.language string or null required

The printing language; null when it was never recorded (STABLE).

data.items[].lines[].substitute.finish string or null required

The printing or finish, such as Foil; null when never recorded (STABLE).

data.items[].lines[].substitute.rarity string or null required

The rarity; null when it was never recorded (STABLE).

data.items[].lines[].substitute.condition string or null required

The condition grade; null when it was never recorded (STABLE).

data.items[].lines[].substitute.collector_number string or null required

The collector number as the catalog states it, such as 161/302; null when never recorded (STABLE).

data.items[].lines[].substitute.printing string or null required

The same fact as finish, under the catalog name (STABLE).

data.items[].lines[].credit_cents integer or null required

The credit per unit on a substitute line, in cents; null on every other line (STABLE).

data.items[].lines[].dispositions array of object or null required

On a split line, each portion in the order the seller listed them; null on every other line (STABLE).

Show child fieldsHide child fields
data.items[].lines[].dispositions[].action string required

What happens to this portion (STABLE).

Constraints: allowed values: remove, substitute

data.items[].lines[].dispositions[].quantity integer required

How many of the line units go this way (STABLE).

Constraints: exclusive minimum: 0

data.items[].lines[].dispositions[].substitute ChangeRequestSubstitute or null required

The replacement on a substitute line; null on every other line (STABLE).

Show child fieldsHide child fields
data.items[].lines[].dispositions[].substitute.listing_id integer required

Snapcaster's id for the seller listing offered in place of the line (STABLE).

data.items[].lines[].dispositions[].substitute.sku_id integer required

The SKU the line ships as once the report is accepted (STABLE).

data.items[].lines[].dispositions[].substitute.product_id integer required

The product, the same one the replaced line belongs to (STABLE).

data.items[].lines[].dispositions[].substitute.external_ref string or null required

Your platform's reference on that listing when the report was filed; null when none was sent (STABLE).

data.items[].lines[].dispositions[].substitute.name string or null required

The card title (STABLE).

data.items[].lines[].dispositions[].substitute.set string or null required

The set the printing belongs to; null when it was never recorded (STABLE).

data.items[].lines[].dispositions[].substitute.language string or null required

The printing language; null when it was never recorded (STABLE).

data.items[].lines[].dispositions[].substitute.finish string or null required

The printing or finish, such as Foil; null when never recorded (STABLE).

data.items[].lines[].dispositions[].substitute.rarity string or null required

The rarity; null when it was never recorded (STABLE).

data.items[].lines[].dispositions[].substitute.condition string or null required

The condition grade; null when it was never recorded (STABLE).

data.items[].lines[].dispositions[].substitute.collector_number string or null required

The collector number as the catalog states it, such as 161/302; null when never recorded (STABLE).

data.items[].lines[].dispositions[].substitute.printing string or null required

The same fact as finish, under the catalog name (STABLE).

data.items[].lines[].dispositions[].credit_cents integer or null required

The credit per unit for a substitute portion; null for a removal (STABLE).

data.items[].amount_cents integer or null required

The refund, tax included, that accepting a cancel_lines request returns to the buyer, or the refund a fulfillment_report returns when the buyer accepts it. Fixed when the request was raised. Null on an address_change and on an order with no payment (STABLE).

Example null

data.items[].note string or null required

The seller's note to the buyer on a fulfillment_report; null when none was given and on every other kind (STABLE).

Example null

data.items[].credits object or null required

The refund behind each buyer answer to a fulfillment_report, fixed when it was raised; null on every other kind and on an order with no payment (STABLE).

Show child fieldsHide child fields
data.items[].credits.accept_cents integer required

The refund if the buyer accepts the report; repeats amount_cents (STABLE).

data.items[].credits.remove_instead_cents integer required

The refund if the buyer has every affected line removed instead (STABLE).

data.items[].credits.cancel_order_cents integer required

The refund if the buyer ends the whole order instead (STABLE).

data.items[].address OrderWebhookShippingAddress or null required

The shipping address an address_change asks for. Set only on an address_change; null on every other kind (STABLE).

Show child fieldsHide child fields
data.items[].address.line1 string required

The street address.

Example 99 Elm Ave

data.items[].address.line2 string or null required

The unit, suite, or second address line, if supplied.

Example Unit 4

data.items[].address.city string required

The city in the shipping address.

Example Ottawa

data.items[].address.province string required

The Canadian province or territory in the delivery address.

Example ON

data.items[].address.postal_code string required

The Canadian postal code in the delivery address.

Example K1P 5G4

data.items[].address.country string required

ISO 3166-1 alpha-2 country code.

Example CA

data.items[].previous_address OrderWebhookShippingAddress or null required

The shipping address the order had when the address_change was raised. Set only on an address_change; null on every other kind (STABLE).

Show child fieldsHide child fields
data.items[].previous_address.line1 string required

The street address.

Example 123 Main St

data.items[].previous_address.line2 string or null required

The unit, suite, or second address line, if supplied.

Example null

data.items[].previous_address.city string required

The city in the shipping address.

Example Toronto

data.items[].previous_address.province string required

The Canadian province or territory in the delivery address.

Example ON

data.items[].previous_address.postal_code string required

The Canadian postal code in the delivery address.

Example M5V 2T6

data.items[].previous_address.country string required

ISO 3166-1 alpha-2 country code.

Example CA

Used by