> ## Documentation Index
> Fetch the complete documentation index at: https://www.zinc.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# API Changelog

> Changes to the Zinc API across versions

A version-by-version record of endpoints, fields, and schemas added or changed in the Zinc API.

For product updates, new features, and general improvements, see the [product changelog](/changelog).

***

## 2026-07-10

<Info>This is the current API version.</Info>

**Changes**

* `TrackingNumberResponse` — Added `estimated_delivery_date` (carrier-reported delivery estimate as a destination-local calendar date; `null` until the carrier reports one)
* `POST /agent/orders` — Added query parameter `method` (restrict the `402` response to a single payment method, e.g. `stripe`, `tempo`, or `x402`, instead of advertising every configured method)
* `POST /agent/orders` — A present-but-invalid body (including malformed or non-object JSON) is now rejected with `422` before any payment challenge is issued or honored; only a bodyless discovery probe receives the lenient `402`
* `GET /products/search` — `free_shipping` no longer filters Amazon results (upstream search data under-reports Prime, so filtering would drop valid items); the filter now applies to Walmart only, and defaults to `false` for all accounts (previously `true` for BizAPI-enrolled accounts)
* `GET /agent/products/search` — `free_shipping` no longer filters Amazon results; Walmart only

***

## 2026-07-06

**New endpoints**

* `GET /orders/{order_id}/timeline` — Get Order Timeline
* `GET /usage` — Get My Usage

**New schemas**

* `OrderMilestone`
* `OrderTimelineResponse`
* `RecentCall`
* `UsageMetric`
* `UserUsageResponse`

**Removed endpoints**

* `GET /orders/{order_id}/events` — Get Order Events (now admin-only; use [Get Order Timeline](/v2/api-reference/orders/get-order-timeline) for order status)

**Removed schemas**

* `OrderEventsResponse`, `ProgressEventResponse`

**Changes**

* `ProductSearchResponse` — Added `next_page`
* `PublicRetailer` — Added `no_account_needed`, `use_your_account`
* `PublicRetailer` — Removed `supported`
* `TrackingNumberResponse` — Added `zinc_tracking_number`, `zinc_tracking_url`
* `GET /agent/products/search` — Added query parameter `free_shipping`
* `GET /products/search` — Added query parameter `free_shipping`

***

## 2026-06-26

**New endpoints**

* `GET /agent/products/details` — Agent Product Details
* `GET /agent/products/offers` — Agent Product Offers
* `GET /agent/products/search` — Agent Product Search
* `GET /agent/search` — Agent Search
* `GET /retailers` — List Retailers

**New schemas**

* `ErrorDetails`
* `FieldError`
* `PublicRetailer`
* `PublicRetailerListResponse`
* `TrackingCheckpointResponse`
* `TrackingStatus` enum — `pending`, `in_transit`, `delivered`

**Changes**

* `OrderJobResult` — Added `error_details`
* `TrackingNumberResponse` — Added `checkpoints`, `status`
* `GET /orders` — Added query parameter `include`

***

## 2026-06-19

**New schemas**

* `MarginSpec`
* `OrderConnectInfo`
* `OrderJobResult`
* `OrderPayment`
* `OrderPriceComponents`
* `ProductCondition` enum — `New`, `Refurbished`, `UsedLikeNew`, `UsedVeryGood`, `UsedGood`, `UsedAcceptable`

**Removed schemas**

* `JobResultPayload`
* `LineItem`
* `MerchantOrderId`
* `PriceComponents`

**Changes**

* `OrderCreate` — Added `handling_days_max`, `is_gift`, `payment`
* `OrderItemResponse` — Added `condition_in`, `condition_not_in`
* `OrderProduct` — Added `condition_in`, `condition_not_in`
* `OrderResponse` — Added `connect`, `handling_days_max`, `is_gift`, `job_result`

***

## 2026-06-11

**New endpoints**

* `GET /orders/bulk` — List Bulk Uploads
* `GET /orders/bulk/{batch_id}` — Get Bulk Upload
* `GET /orders/bulk/{batch_id}/results.csv` — Download Bulk Results
* `POST /orders/bulk` — Create Bulk Upload
* `POST /orders/bulk/validate` — Validate Bulk Upload

**New schemas**

* `BulkBatchListResponse`
* `BulkBatchResponse`
* `BulkBatchStatus` enum — `pending`, `processing`, `completed`, `failed`
* `BulkRowResult`
* `BulkRowValidation`
* `BulkUploadRequest`
* `BulkValidateResponse`

**Changes**

* `OrderResponse` — Added `retailer_credentials_uuid`
* `ReturnRequestStatus` enum — Added `credited` (return resolved by crediting the customer's wallet)

***

## 2026-03-30

**New endpoints**

* `POST /returns` — Create Return Request
* `GET /returns` — List Return Requests
* `GET /returns/{return_request_id}` — Get Return Request

**New schemas**

* `ReturnRequestCreate`, `ReturnRequestResponse`, `ReturnRequestListResponse`
* `ReturnRequestReason` enum — `return.request_label`, `nondelivery.not_delivered`, `nondelivery.damaged`, `nondelivery.empty_box`, `tracking.request_update`, `cancel.forced_cancellation`, `other`
* `ReturnRequestStatus` enum — `open`, `in_progress`, `approved`, `denied`, `completed`

***

## 2026-03-25

**New endpoints**

* `GET /products/search` — Search Products
* `GET /products/{product_id}` — Get Product
* `GET /products/{product_id}/offers` — Get Product Offers

**New schemas**

* `ProductSearchResponse`, `ProductSearchResult`

**Changes**

* `POST /agent/orders` — Added `402` response code for MPP payment challenges

***

## 2026-03-23

**New endpoints**

* `POST /agent/orders` — Create MPP Order

**New schemas**

* `LineItem`

**Changes**

* `PriceComponents` — Added `line_items` field (array of `LineItem`)
* `JobResultPayload` — Added `estimated_delivery` field

***

## 2026-02-19

**Changes**

* `RetailerCredentialsCreate` — Added `retailer_config` field
* `RetailerCredentialsUpdate` — Added `retailer_config` field
* `RetailerCredentialsResponse` — Added `retailer_config` and `forwarding_email` fields

***

## 2026-02-12

**New endpoints**

* `GET /managed-accounts` — List Managed Accounts
* `POST /managed-accounts` — Create Managed Account
* `PUT /managed-accounts/{short_id}` — Update Managed Account
* `DELETE /managed-accounts/{short_id}` — Delete Managed Account
* `GET /orders/{order_id}/events` — Get Order Events

**New schemas**

* `OrderEventsResponse`, `ProgressEventResponse`
* `RetailerCredentialsCreate`, `RetailerCredentialsListResponse`, `RetailerCredentialsResponse`, `RetailerCredentialsUpdate`

***

## 2026-02-05

**Changes**

* `Address` — `state` field made optional and nullable to support international addresses

***

## 2026-01-28

**Changes**

* `OrderCreate` — Added `po_number` field for purchase order tracking
* `OrderResponse` — Added `po_number` field

***

## 2026-01-21

**Changes**

* `OrderCreate` — Added `metadata` field for custom key-value data
* `OrderResponse` — Added `metadata` field

***

## 2026-01-19

**New endpoints**

* `GET /orders/test-products` — List Test Products

**New schemas**

* `TrackingNumberResponse`

**Changes**

* `OrderResponse` — Added `attempts` (integer) and `tracking_numbers` (array) fields

***

## 2026-01-09

**Changes**

* `GET /orders` — Added `order_id` query parameter for filtering
* `OrderCreate` — Added `retailer_credentials_id` field
* `OrderResponse` — Added `retailer_credentials_id` field

***

## 2025-12-19

**New endpoints**

* `POST /orders/{order_id}/cancel` — Cancel Order

**New schemas**

* `ProductVariant`

**Changes**

* `OrderItemResponse` — Added `variant` field
* `OrderProduct` — Added `variant` field
* `OrderStatus` enum — Added `cancelled` value
* `JobResultPayload` — Several fields made optional/nullable

***

## 2025-11-24

Initial API version.
