client.orders.validateBulkUpload({ ...params }) -> Zinc.BulkValidateResponse
-
-
-
Dry-run a CSV upload: validate every row and report estimated spend.
No orders are placed. Use this to show the confirmation preview before calling POST /orders/bulk.
-
-
-
await client.orders.validateBulkUpload({ body: {} });
-
-
-
request:
Zinc.ValidateBulkUploadOrdersBulkValidatePostRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.listBulkUploads({ ...params }) -> Zinc.BulkBatchListResponse
-
-
-
List the current user's bulk-upload batches, newest first.
-
-
-
await client.orders.listBulkUploads();
-
-
-
request:
Zinc.ListBulkUploadsOrdersBulkGetRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.createBulkUpload({ ...params }) -> Zinc.BulkBatchResponse
-
-
-
Create a bulk-upload batch and place its rows asynchronously.
-
-
-
await client.orders.createBulkUpload({ body: {} });
-
-
-
request:
Zinc.CreateBulkUploadOrdersBulkPostRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.getBulkUpload({ ...params }) -> Zinc.BulkBatchResponse
-
-
-
Get a batch with per-row results and live order statuses.
-
-
-
await client.orders.getBulkUpload({ batch_id: "batch_id" });
-
-
-
request:
Zinc.GetBulkUploadOrdersBulkBatchIdGetRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.downloadBulkResults({ ...params }) -> unknown
-
-
-
Download the batch results as a CSV (status + echoed custom columns).
-
-
-
await client.orders.downloadBulkResults({ batch_id: "batch_id" });
-
-
-
request:
Zinc.DownloadBulkResultsOrdersBulkBatchIdResultsCsvGetRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.listOrders({ ...params }) -> Zinc.OrderListResponse
-
-
-
Get a list of orders for the current user
-
-
-
await client.orders.listOrders();
-
-
-
request:
Zinc.ListOrdersOrdersGetRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.createOrder({ ...params }) -> Zinc.OrderResponse
-
-
-
Posts an order to a queue for processing
-
-
-
await client.orders.createOrder({ body: { products: [{ url: "https://www.amazon.com/dp/B07JGBW826" }], shipping_address: { first_name: "first_name", last_name: "last_name", address_line1: "address_line1", city: "city", postal_code: "postal_code", phone_number: "phone_number" }, max_price: 1 } });
-
-
-
request:
Zinc.CreateOrderOrdersPostRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.listTestProducts() -> Record<string, unknown>
-
-
-
Get list of test products for sandbox testing.
Returns list of test product URLs that can be used with test API keys to trigger different test scenarios.
-
-
-
await client.orders.listTestProducts();
-
-
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.getOrder({ ...params }) -> Zinc.OrderResponse
-
-
-
Retrieves an order by its ID
-
-
-
await client.orders.getOrder({ order_id: "order_id" });
-
-
-
request:
Zinc.GetOrderOrdersOrderIdGetRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.getOrderTimeline({ ...params }) -> Zinc.OrderTimelineResponse
-
-
-
Customer-facing lifecycle timeline for an order.
Derived on read from existing data — no dedicated storage. Merges the placement outcome (OrderLog) with carrier tracking state (TrackingNumber / TrackingCheckpoint) into an ordered list of milestones. This is the order's story to the customer, distinct from the admin-only job/automation log.
-
-
-
await client.orders.getOrderTimeline({ order_id: "order_id" });
-
-
-
request:
Zinc.GetOrderTimelineOrdersOrderIdTimelineGetRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.orders.cancelOrder({ ...params }) -> void
-
-
-
Cancel an order by its ID. Orders can only be cancelled if they are pending.
-
-
-
await client.orders.cancelOrder({ order_id: "order_id" });
-
-
-
request:
Zinc.CancelOrderOrdersOrderIdCancelPostRequest
-
requestOptions:
OrdersClient.RequestOptions
-
-
client.products.searchProducts({ ...params }) -> Zinc.ProductSearchResponse
-
-
-
Search for products on a retailer.
-
-
-
await client.products.searchProducts({ query: "query", retailer: "amazon" });
-
-
-
request:
Zinc.SearchProductsProductsSearchGetRequest
-
requestOptions:
ProductsClient.RequestOptions
-
-
client.products.getProductOffers({ ...params }) -> unknown
-
-
-
Get offers for a product from a retailer.
-
-
-
await client.products.getProductOffers({ product_id: "product_id", retailer: "amazon" });
-
-
-
request:
Zinc.GetProductOffersProductsProductIdOffersGetRequest
-
requestOptions:
ProductsClient.RequestOptions
-
-
client.products.getProductDetails({ ...params }) -> unknown
-
-
-
Get details for a product from a retailer.
-
-
-
await client.products.getProductDetails({ product_id: "product_id", retailer: "amazon" });
-
-
-
request:
Zinc.GetProductDetailsProductsProductIdGetRequest
-
requestOptions:
ProductsClient.RequestOptions
-
-
client.search.search({ ...params }) -> Zinc.SearchResponse
-
-
-
Search for products across retailers; returns orderable zn_sku_ listings.
-
-
-
await client.search.search({ q: "q" });
-
-
-
request:
Zinc.SearchSearchGetRequest
-
requestOptions:
SearchClient.RequestOptions
-
-
client.managedAccounts.listRetailerCredentials({ ...params }) -> Zinc.RetailerCredentialsListResponse
-
-
-
List all retailer credentials for the current user. If is_global=True (admin only), list global credentials instead.
-
-
-
await client.managedAccounts.listRetailerCredentials();
-
-
-
request:
Zinc.ListRetailerCredentialsManagedAccountsGetRequest
-
requestOptions:
ManagedAccountsClient.RequestOptions
-
-
client.managedAccounts.createRetailerCredentials({ ...params }) -> Zinc.RetailerCredentialsResponse
-
-
-
Create new retailer credentials for the current user. If is_global=True (admin only), creates global credentials owned by the system user.
-
-
-
await client.managedAccounts.createRetailerCredentials({ email: "email" });
-
-
-
request:
Zinc.RetailerCredentialsCreate
-
requestOptions:
ManagedAccountsClient.RequestOptions
-
-
client.managedAccounts.updateRetailerCredentials({ ...params }) -> Zinc.RetailerCredentialsResponse
-
-
-
Update retailer credentials for the current user. Admins can also update global credentials.
-
-
-
await client.managedAccounts.updateRetailerCredentials({ short_id: "short_id" });
-
-
-
request:
Zinc.RetailerCredentialsUpdate
-
requestOptions:
ManagedAccountsClient.RequestOptions
-
-
client.managedAccounts.deleteRetailerCredentials({ ...params }) -> void
-
-
-
Delete retailer credentials for the current user. Admins can also delete global credentials.
-
-
-
await client.managedAccounts.deleteRetailerCredentials({ short_id: "short_id" });
-
-
-
request:
Zinc.DeleteRetailerCredentialsManagedAccountsShortIdDeleteRequest
-
requestOptions:
ManagedAccountsClient.RequestOptions
-
-
client.agent.createMppOrder({ ...params }) -> Zinc.OrderResponse
-
-
-
Place an order via the Machine Payments Protocol (MPP).
No Zinc account required. Payment is made upfront via MPP. Supports multiple payment methods (e.g. Tempo, Stripe). If no valid payment credential is provided, returns HTTP 402 with payment challenges for all configured methods.
Payment is the gate, but only for a genuine discovery probe: a bodyless POST (from a registry like mppscan) is parsed leniently and reaches the 402 challenge instead of a 422. A present-but-invalid body, by contrast — including malformed JSON and non-object JSON — is a real order attempt and is rejected with a 422 up front, before any payment challenge is issued or honored. Otherwise an agent could settle an on-chain payment against the challenge and then be rejected on the retry, with no way to refund the settlement (the MPP layer cannot verify or reverse a payment whose retry body no longer matches the challenge).
-
-
-
await client.agent.createMppOrder({ body: { products: [{ url: "https://www.amazon.com/dp/B07JGBW826" }], shipping_address: { first_name: "first_name", last_name: "last_name", address_line1: "address_line1", city: "city", postal_code: "postal_code", phone_number: "phone_number" }, max_price: 1 } });
-
-
-
request:
Zinc.CreateMppOrderAgentOrdersPostRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.agent.search({ ...params }) -> Zinc.SearchResponse
-
-
-
Beta — response shape may change. Cross-retailer product search for agents. Returns orderable listings whose
urlcan be passed straight to POST /agent/orders.
-
-
-
await client.agent.search({ q: "q" });
-
-
-
request:
Zinc.AgentSearchRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.agent.searchPost({ ...params }) -> Zinc.SearchResponse
-
-
-
Beta — response shape may change. Cross-retailer product search for agents. Returns orderable listings whose
urlcan be passed straight to POST /agent/orders.
-
-
-
await client.agent.searchPost({ q: "q" });
-
-
-
request:
Zinc.AgentSearchPostRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.agent.productSearch({ ...params }) -> Zinc.ProductSearchResponse
-
-
-
Per-retailer product search for agents (amazon | walmart).
-
-
-
await client.agent.productSearch({ query: "query", retailer: "amazon" });
-
-
-
request:
Zinc.AgentProductSearchRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.agent.productSearchPost({ ...params }) -> Zinc.ProductSearchResponse
-
-
-
Per-retailer product search for agents (amazon | walmart).
-
-
-
await client.agent.productSearchPost({ query: "query", retailer: "amazon" });
-
-
-
request:
Zinc.AgentProductSearchPostRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.agent.productOffers({ ...params }) -> unknown
-
-
-
Offers/pricing for a specific product on a retailer.
-
-
-
await client.agent.productOffers({ product_id: "product_id", retailer: "amazon" });
-
-
-
request:
Zinc.AgentProductOffersRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.agent.productOffersPost({ ...params }) -> unknown
-
-
-
Offers/pricing for a specific product on a retailer.
-
-
-
await client.agent.productOffersPost({ product_id: "product_id", retailer: "amazon" });
-
-
-
request:
Zinc.AgentProductOffersPostRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.agent.productDetails({ ...params }) -> unknown
-
-
-
Full product details for a specific product on a retailer.
-
-
-
await client.agent.productDetails({ product_id: "product_id", retailer: "amazon" });
-
-
-
request:
Zinc.AgentProductDetailsRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.agent.productDetailsPost({ ...params }) -> unknown
-
-
-
Full product details for a specific product on a retailer.
-
-
-
await client.agent.productDetailsPost({ product_id: "product_id", retailer: "amazon" });
-
-
-
request:
Zinc.AgentProductDetailsPostRequest
-
requestOptions:
AgentClient.RequestOptions
-
-
client.returns.listReturnRequests({ ...params }) -> Zinc.ReturnRequestListResponse
-
-
-
await client.returns.listReturnRequests();
-
-
-
request:
Zinc.ListReturnRequestsReturnsGetRequest
-
requestOptions:
ReturnsClient.RequestOptions
-
-
client.returns.createReturnRequest({ ...params }) -> Zinc.ReturnRequestResponse
-
-
-
await client.returns.createReturnRequest({ order_id: "order_id", items: [{ order_item_id: "order_item_id", quantity: 1 }], reason: "damaged" });
-
-
-
request:
Zinc.ReturnRequestCreate
-
requestOptions:
ReturnsClient.RequestOptions
-
-
client.returns.getReturnRequest({ ...params }) -> Zinc.ReturnRequestResponse
-
-
-
await client.returns.getReturnRequest({ return_request_id: "return_request_id" });
-
-
-
request:
Zinc.GetReturnRequestReturnsReturnRequestIdGetRequest
-
requestOptions:
ReturnsClient.RequestOptions
-
-
client.retailers.listRetailers({ ...params }) -> Zinc.PublicRetailerListResponse
-
-
-
List the retailers Zinc supports — the public "what do you support?" catalog.
No authentication required. One flat object per retailer brand: identifier, domain, countries shipped to, and the free-shipping policy. International marketplaces (e.g. amazon.com / amazon.de) are grouped under one brand with the country listed in
supported_countries. Optionally filter by name.
-
-
-
await client.retailers.listRetailers();
-
-
-
request:
Zinc.ListRetailersRetailersGetRequest
-
requestOptions:
RetailersClient.RequestOptions
-
-
client.usage.getMyUsage({ ...params }) -> Zinc.UserUsageResponse
-
-
-
The caller's own data-API usage over a trailing window, per endpoint.
-
-
-
await client.usage.getMyUsage();
-
-
-
request:
Zinc.GetMyUsageUsageGetRequest
-
requestOptions:
UsageClient.RequestOptions
-
-
client.tracking.getPublicTracking({ ...params }) -> Zinc.PublicTrackingResponse
-
-
-
Public tracking view for a single order, keyed by its UUID.
-
-
-
await client.tracking.getPublicTracking({ order_id: "order_id" });
-
-
-
request:
Zinc.GetPublicTrackingTrackOrderIdGetRequest
-
requestOptions:
TrackingClient.RequestOptions
-
-
client.health.getPublicHealth() -> Zinc.PublicHealthResponse
-
-
-
Customer-facing platform health.
No auth. Cached in-process for 4 minutes — at the marketing site's 5-min cron cadence, the DB is touched at most ~once per tick.
-
-
-
await client.health.getPublicHealth();
-
-
-
requestOptions:
HealthClient.RequestOptions
-
-