> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/central-issuance/implement-central-issuance/pull-and-change.md).

# Pull & change

Use pull and change to request updates to a physical card order that D1 has received through the API but has not yet been shipped.

{% hint style="warning" %}
This feature is available only for cards ordered by API.
{% endhint %}

### Flow

<figure><img src="/files/p0nDGiyZdONMVG5a4Wdr" alt=""><figcaption><p>Pull and change flow for physical card orders.</p></figcaption></figure>

### Sequence diagram

<figure><img src="/files/sxOoE8rgWXus8SmlVcOj" alt=""><figcaption></figcaption></figure>

### How it works

1. The issuer backend submits a pull and change request. Common change types:
   * `CANCEL`: Cancel the card order and destroy the card.
   * `ACCELERATE`: Produce the card as soon as possible and ship it with an express carrier.
   * `REDIRECT`: Change the shipment delivery address.
   * `ACCELERATE_AND_REDIRECT`: Expedite production and change the shipment delivery address.
2. D1 forwards the request to the personalization center producing the card.
3. The personalization center accepts or rejects the request based on the production stage.
4. D1 returns the outcome asynchronously via notifications.

### Required APIs

| API                                                                                                                                                                        | Inbound/Outbound    | Description                                           |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | ----------------------------------------------------- |
| [Pull & Change](/central-issuance/integrate-d1-api/d1-api-reference/inbound-api-to-d1/order-card-api.md#post-issuers-issuerid-physicalcards-cardid-operations-updateorder) | Issuer -> Thales D1 | Pull a card and request to apply a change             |
| [Notifications](/central-issuance/integrate-d1-api/d1-api-reference/outbound-api-from-d1/card-api.md#post-notifications-d1-v2-issuers-issuerid-cards)                      | Issuer <- Thales D1 | Receive notifications for the operation UPDATE\_ORDER |

### API Inputs

Required D1 API inputs:

* `issuerId`: Unique identifier of the issuer
* `cardId`: Unique identifier of the card.
* `type`: Type of change to apply to the card order.

Conditional D1 API inputs, when `type` is `REDIRECT`or `ACCELERATE_AND_REDIRECT`.

* `newDeliveryAddress` fields:
  * `title`: Name prefix (for example, `Mr`).
  * `firstName`: First name.
  * `lastName`: Last name.
  * `companyName`: Company name.
  * `line1`: Address line 1.
  * `line2`: Address line 2.
  * `line3`: Address line 3.
  * `city`: City.
  * `state`: State or region.
  * `zipCode`: Postal code.
  * `countryCode`: Country code (ISO 3166-1 alpha-2, for example `US`).
  * `mobilePhoneNumber`: International phone number used for shipment contact.

### Examples

**Example - CANCEL**

```json
{
  "type": "CANCEL"
}
```

**Example - ACCELERATE**

```json
{
  "type": "ACCELERATE",
  "newDueDate": "2025-01-15"
}
```

**Example - REDIRECT**

```json
{
  "type": "REDIRECT",
  "newDeliveryAddress": {
    "title": "Ms",
    "firstName": "Alex",
    "lastName": "Chen",
    "companyName": "Example Co",
    "line1": "10 Main St",
    "line2": "Apt 3B",
    "city": "New York",
    "state": "NY",
    "zipCode": "10001",
    "countryCode": "US",
    "mobilePhoneNumber": "+12125550123"
  }
}
```

**Example - ACCELERATE\_AND\_REDIRECT**

```json
{
  "type": "ACCELERATE_AND_REDIRECT",
  "newDueDate": "2025-01-15",
  "newDeliveryAddress": {
    "title": "Ms",
    "firstName": "Alex",
    "lastName": "Chen",
    "companyName": "Example Co",
    "line1": "10 Main St",
    "line2": "Apt 3B",
    "city": "New York",
    "state": "NY",
    "zipCode": "10001",
    "countryCode": "US",
    "mobilePhoneNumber": "+12125550123"
  }
}
```

### Track the result

* Consume notifications to get the accepted or rejected outcome.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payments.thalescloud.io/central-issuance/implement-central-issuance/pull-and-change.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
