Printify Supply API v2019-06
Welcome!
Becoming a part of Printify's supplier network is a two-part process.
- The first step is product setup - this is currently performed by Printify.
- The second step is integration with our API, which is described in this documentation - this is performed by you, our Print Provider.
Once Print Providers have been integrated and their product offering is therefore visible on Printify, it will be convenient for our Merchants to discover your products and services, generate unique merchandise with our product generator app, and offer the merchandise in their online stores. Printify will then handle the merchandise creation process, communication with and support of individual Merchants, and arrange cancellations, reprints, error cases as well as merchant storefront integration – all on your, the Print Provider’s behalf.
Usage Guidelines
Printify Supply API endpoints are used internally by the core Printify Platform, and our engineering teams closely monitor the usage of the API. To ensure the highest quality experience for Printify users we ask that all integrations comply with the Printify API Terms and Printify Partnership Agreement. We also ask our Print Providers to ensure that requests resulting in an error response do not exceed 5% of our total requests.
If you have any technical questions, please send an email to [email protected].
Building blocks
Getting Started
What should I do now?
Here are the steps to set up your production facility with Printify:
- Register & create an account for your facility
- Sign and follow the provided Print Provider Agreement
- Develop and test your integration with our system (API documentation below)
- Provide additional info: SKU/stock/pricing data and endpoints, sizing info, etc.
- Successful test orders
- Launch! 🚀
What if I have questions or need help?
Once you've signed your Agreement, you'll have personalized attention from our technical team during the integration process. Also, you'll be able to contact us via private shared group chat or email.
However, we encourage you to first read through our API documentation below, and also check our list of Frequently Asked Questions. If anything is missing or unclear, please let us know!
Frequently Asked Questions (FAQ)
Can I get help/tech assistance during integration/setup?
Yes! We offer support via email, shared Slack channels, video calls, etc.
Do you have a development system for testing integration? Can it point to our testing end points vs production end points?
Yes: you will have access to a private web portal after signing the Agreement.
Must we have all statuses up and running in order to launch, or can we launch with just created, packaged, canceled, and shipped, etc.?
During initial phases of testing it's ok to miss some non-essential parts. But before the public launch, we'll need all test suit results to be green – that means all services must be supported and tested (see your Agreement). That includes: Stock, Helpdesk, etc.
Is the Stock API required to be supported for the launch of this integration?
Yes: we require support for all services, including the Stock API.
When starting the integration and for SKUs available on demand, it's fine if you consistently respond with the number
999
. This will give us better flexibility in the future, in case there are issues.Are we required to provide all statuses for the (Stock/Helpdesk/Tracking/etc.) API?
Yes, full support is required in order to publicly launch your facility on our platform.
Does Printify save and manage all of our products and variations?
No: the stock list should come from your service and should represent available product variations and their availability levels. See the Stock API below.
When orders are updated, how will the item information be sent? Will just the items that need updates to be sent or will an entirely new item list be sent containing all items in the order?
The Helpdesk API PUT should accept one or multiple top-level attributes. If we ask you to update items, we send all items (top-level attribute) including the unchanged items. If it's not possible to update everything at once, we expect you to fail all the updates and leave the order unaffected.
Also, we neither use nor plan to use
items
updates in the near future.Should the
item id
be included when updating orders, and are line item ids guaranteed to be unique?Yes, the
item id
is passed; this is necessary, for example when two unique items in an order being printed on the same SKU.Line item ids are guaranteed to be unique on the order level.
Should we purge problematic orders from production and order systems and try completely over again? What if the order number you see different, because it comes from an automatically incremented column?
Yes, this is how problematic orders should be handled. Also, we would prefer for order IDs to stay stable and consistent, so please don't change the order number. You can still indicate it via a Tracking API as a reprint event.
If there are issues with an order we usually place separate orders with you.
Not all of our items support all angles from some preview/print files; e.g. “sleeve”, “diagonal”. What should we do?
This is fine; please reply with a 422 response code along with a body and explanatory error messages. See a failed response example here.
Re: firewalls and networking, will your system use a specific IP address or address ranges for outgoing requests?
Yes: please ask via a secure channel and we will provide them.
We see that
email
&phone_number
are at the return and ship-to level: is this required or can we have them at the order level?Yes, this is required because these are 2 different addresses:
address_to
: client address, used to determine where to ship the orderaddress_from
: merchant address (default or custom specified) – used for returning packages.What shipping services (carrier, priority, etc.) does Printify Support?
Generally, we can support the services you need, as mentioned in your Agreement – which also specifies the required API codes to submit orders to your API.
During the testing stage, we generally support UPS Standard/Express and USPS Standard.
Features
Production API feature
The Production API allows Printify to submit orders to be fulfilled by a Print Provider. This is a required basic functionality to ensure order fulfilment.
Tracking API feature
The Tracking API allows Printify to track the status of Orders. This is a required basic functionality to ensure order status notifications for our merchants.
Helpdesk API feature
The Helpdesk API is meant to simplify the life of the first line of support, and reduce the volume of support inquiries towards Print Provider facilities. The Helpdesk API includes (but is not limited to) the following use cases:
- Address issues - requires fixing the address provided by Printify
- Shipping upgrade - a Merchant wants express shipping for an existing Order
- Order cancellation - prompt cancellation of an Order before it is actually produced
Stock API feature
A Print Provider provides information about his inventory and stock levels, to ensure a smoother experience for Printify’s users in the Order submission process, as well as seamlessly update information about products being out of stock or discontinued.
API Access
API Reference
Printify Supply API is organized in accordance with REST architecture.
The API expects predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
- All requests are done via HTTPs. Requests via insecure HTTP are not supported.
- Printify works with UTF-8 encoded data. Please make sure everything you send via API calls also uses UTF-8.
- All data received from and submitted to the API is structured in JSON, so the content type should be:
application/json;charset=utf-8
- Date/time values returned by the Printify API are in UTC unless stated otherwise.
{variable}
in URLs should be substituted with the proper variable value.
Example | Sample use |
---|---|
{baseurl}/v1/orders.json | https://api.printprovider.com/v1/orders.json |
Authentication
To ensure it works best for all parties, we require that the API is used in secure way.
- API must support secure transport protocol
HTTPS
(with at least version of 1.2TLS
). - A Print Provider can choose between the supported authentication methods when communicating via API. Available authentication options are:
- API key authentication via HTTP headers. (preferred)
- If custom header name is used, it must start with
X
, e.g.X-API-KEY
- Basic access authentication.
- Your API must support authentication key rotation.
- Your environments (like production/sandbox) must have different URIs and different authentication keys.
In this authentication model Print Providers grant access to Printify. The details a Print Provider must share with Printify before technical integration from Printify’s side can begin:
- HTTPS API url (base url).
- The chosen authentication method Printify should use to access the API:
API key authentication
orBasic access authentication
. - The credentials Printify should use to access the API.
Production API
The Production API is used by Printify to submit an order to be fulfilled by the Print Provider. The Print Provider receives an order request, accepts or rejects it, and if accepted proceeds with actual production and shipment of the order.
What your system must provide for Production API
The Printify Print Provider integration is able to do the following with the Product resource:
- POST /v2019-06/orders.json
Submit a production order - POST /v2019-06/facilities/{FACILITY-ID}/orders.json
Submit a production order to a specific facility - GET /v2019-06/orders/{PRINTIFY-ID}.json
Retrieve a production order
Top-level properties
id READ-ONLY
|
A unique string identifier for the Printify order. Each ID is unique across the Printify system.
"id": "5cb87a8cd490a2ccb256cec4"
|
reference_id REQUIRED*
|
A unique string identifier for the Printify order in the Print Provider system.
"reference_id": "1133456"
|
sample OPTIONAL |
Optional boolean indicating if this is a sample order.
"sample": true
|
reprint OPTIONAL |
Optional boolean indicating if this is a reprint order.
"reprint": true
|
xqc OPTIONAL |
Optional boolean indicating if this order is eligible for an eXtra Quality Care. The particular details what it entails are explained in business agreement signed by both parties (Printify and Print Provider). "xqc": true
|
address_to
REQUIRED
|
Address to ship an order to.
"address_to": {
"address1": "1234 address1 line",
"address2": "",
"city": "EXAMPLE",
"zip": "31345",
"country": "US",
"region": "NY",
"company": "T-Shirt Company #1",
"first_name": "john",
"last_name": "smith",
"email": "[email protected]",
"phone": "3312312231"
}
See address_to properties for reference.
|
address_from
REQUIRED
|
Address to return an order to, in case of issues with shipping.
"address_from": {
"address1": "1234 address1 line",
"address2": "",
"city": "EXAMPLE",
"zip": "31345",
"country": "US",
"region": "NY",
"company": "T-Shirt Company #1",
"email": "[email protected]",
"phone": "6512312231"
}
See address_from properties for reference.
|
shipping
REQUIRED
|
Shipping carrier configuration.
"shipping": {
"carrier": "UPS",
"priority": "express"
}
See shipping properties for reference.
|
package_inserts
NEW*
OPTIONAL
|
Package Inserts
"package_inserts": [
{
"url": "https://images.printify.com/storage/package-insert-1.pdf"
},
{
"url": "https://images.printify.com/storage/package-insert-2.pdf"
}
]
See package_inserts properties for reference.
|
items
REQUIRED
|
Individual products (line items) to be printed and shipped to the customer.
"items": [
{
"id": "62990be2d0827d94be27ba6b",
"sku": "3001-BLACK-L",
"preview_files": {
"front": "https://images.printify.com/mockup/front-url.jpeg",
"back": "https://images.printify.com/mockup/back-url.jpeg"
},
"print_files": {
"front": "https://images.printify.com/print/front-url.jpeg",
"back": "https://images.printify.com/print/back-url.jpeg",
"left_sleeve": "https://images.printify.com/print/left_sleeve-url.jpeg"
},
"quantity": 1
},
{
"id": "62990bebad471213f4276ab5",
"sku": "3000-RED-L",
"preview_files": {
"front": "https://images.printify.com/mockup/front-url.jpeg",
"back": "https://images.printify.com/mockup/back-url.jpeg"
},
"print_files": {
"front": "https://images.printify.com/print/front-url.jpeg"
},
"quantity": 1
}
]
See items properties for reference.
|
tags
OPTIONAL
|
An array of tags to apply for an order.
"tags": [
"prioritised",
"sample",
"reprint"
]
See order tags for reference.
|
address1 REQUIRED |
First line of destination post address. |
address2 REQUIRED |
Second line of destination post address. Contains suite, apartment number, etc. May be sent as an empty string. |
city REQUIRED |
Destination city name |
zip REQUIRED |
Destination ZIP code. If the destination country does not use ZIP codes it will be set to "00000". |
country REQUIRED |
Destination country code. ISO 3166 country codes are used. |
region OPTIONAL |
Destination state code. ISO 3166 state codes are used for the United States, and for other countries the region name will be used. |
company OPTIONAL |
Name of business to receive package |
first_name REQUIRED |
First name of package receiver. |
last_name REQUIRED |
Last name of package receiver. |
email OPTIONAL |
Email of package receiver. |
phone OPTIONAL |
Phone number of package receiver. |
address1 REQUIRED |
First line of return post address. |
address2 REQUIRED |
Second line of return post address. Contains suite, apartment number, etc. May be sent as an empty string. |
city REQUIRED |
Return city name |
zip REQUIRED |
Return ZIP code. If the destination country does not use ZIP codes it will be set to "00000". |
country REQUIRED |
Return country code. ISO 3166 country codes are used. |
region OPTIONAL |
Return state code. ISO 3166 state codes are used for the United States, and for other countries the region name will be used. |
company REQUIRED |
Name of business for return address. |
email OPTIONAL |
Email of the seller for return address. |
phone OPTIONAL |
Phone number of the seller for return address. |
carrier REQUIRED |
Carrier name used for sending the package. |
priority REQUIRED |
Priority class of the shipment. Example: "express" or "standard" |
package_inserts
properties
NEW*
url REQUIRED |
URL indicating to a document resource for package insert. Custom branding empowers customers with option to include thank-you notes/coupons in their orders. |
id REQUIRED |
ID of the line item for reference. |
sku REQUIRED |
SKU (stock keeping unit) that represents what kind of product and variation to be used. |
preview_files REQUIRED |
List of image links. These image links must show product with designs representing how the product should look after printing. There can be images from different angles. |
print_files REQUIRED |
List of print image links. These links will contain print files to be used for printing purposes. These print files are tailored for the respective printing process. If there are multiple areas to be printed there will be multiple print files. |
quantity REQUIRED |
Represents the amount of items to be printed with this design. |
Represents additional order options passed to manufacturer. Currently, supported values below. List of supported tags could be extended.
sample |
Indicating if this is a sample order. |
reprint |
Indicating if this is a reprint order. |
prioritised |
Indicating if this is a prioritised order. |
Endpoints
POST | /v2019-06/orders.json |
Submit a production order
View expected successful response (HTTP 201 Created) View expected failed response (HTTP 409 Conflict) - duplicate in submitted order View expected failed response (HTTP 422 Unprocessable Entity) (example 2 - out of stock item) Expected values of
|
POST | /v2019-06/facilities/{FACILITY-ID}/orders.json |
Submit production order to the facility
This API is used to directly place an order to a specific facility.
View expected successful response (HTTP 201 Created) View expected failed response (HTTP 404 Not Found) (example - when FACILITY-ID is invalid) View expected failed response (HTTP 409 Conflict) - duplicate in submitted order View expected failed response (HTTP 422 Unprocessable Entity) (example 2 - out of stock item) Expected values of
|
GET | /v2019-06/orders/{PRINTIFY-ID}.json |
Retrieve a production order
|
Tracking API
The Tracking API is used to provide status of Order to Printify's Merchants; therefore, there must be an endpoint for fetching the status history and current state of an Order.
What your system must provide to the Tracking API
Your system must have an endpoint exposing event data over the Order lifecycle:
- GET /v2019-06/order/{PRINTIFY-ID}/events.json
Provide event log about order
Endpoints
GET | /v2019-06/orders/events.json |
Provide event log about an Order
GET /v2019-06/order/{PRINTIFY-ID}/events.json
View sample response |
Order tracking properties
statusREQUIRED | One of possible order statuses. |
eventsREQUIRED | Array of order events in chronological order. See tracking event for reference. |
Tracking event properties
timeREQUIRED | Date and time in UTC when the event has occurred. |
actionREQUIRED | Event type. One of possible order item status changes. |
affected_itemsREQUIRED | The list of affected items IDs. |
tracking_urlOPTIONAL | Parcel tracking URL. |
tracking_numberOPTIONAL | Parcel tracking code. |
carrierOPTIONAL | Shipping carrier. |
noteOPTIONAL | Additional text notes. |
List of available statuses and events
Status | Description | Is terminal state? |
---|---|---|
created |
An Order has been created and is waiting to be printed.
View event example |
No |
picked | Blueprint for a specific item is sent for printing.
View event example |
No |
printed | The item was printed and is awaiting packaging.
View event example |
No |
packaged | The item is packed and ready to be shipped.
View event example |
No |
shipped | The parcel has been shipped, and a tracking number has been obtained.
View event example |
Yes |
reprint | The item had manufacturing issues on print providers side.
View event example |
No |
canceled | The item have been canceled by Printify/merchant.
View event example |
Yes |
declined | The item have been declined by print provider.
View event example |
Yes |
Helpdesk API
The Helpdesk API helps improve the functionality of your integration with Printify. It provides the ability to cancel or update orders through the API, without need for separate communication.
What your system must provide for Helpdesk API
Your system must implement these endpoints:
- PUT /v2019-06/order/{PRINTIFY-ID}.json
Update order - POST /v2019-06/order/{PRINTIFY-ID}/cancel.json
Cancel order line items
Endpoints
PUT | PUT /v2019-06/order/{PRINTIFY-ID}.json |
This endpoint should enable the possibility to update orders.
PUT /v2019-06/order/{PRINTIFY-ID}.json
{
"reprint": true,
"xqc": false,
"tags": [
"reprint"
],
"address_to": {
"address1": "1234 updated address1 line",
"address2": "",
"city": "UPDATED CITY",
"zip": "31345",
"country": "US",
"region": "NY",
"first_name": "john",
"last_name": "smith",
"email": "[email protected]",
"phone": "3312312231"
},
"address_from": {
"address1": "1234 address1 line",
"address2": "",
"city": "EXAMPLE",
"zip": "31345",
"country": "US",
"region": "NY",
"company": "T-Shirt Company #1",
"email": "[email protected]",
"phone": "6512312231"
},
"shipping": {
"carrier": "UPS",
"priority": "Express"
},
"items": [
{
"id": "62990b962daa13b88874548a",
"sku": "3001-BLACK-L",
"preview_files": {
"front": "https://images.printify.com/mockup/front-url.jpeg",
"back": "https://images.printify.com/mockup/back-url.jpeg"
},
"print_files": {
"front": "https://images.printify.com/print/front-url.jpeg",
"back": "https://images.printify.com/print/back-url.jpeg",
"left_sleeve": "https://images.printify.com/print/left_sleeve-url.jpeg"
},
"quantity": 1
},
{
"id": "62990ba51e24323a378529fe",
"sku": "3000-RED-L",
"preview_files": {
"front": "https://images.printify.com/mockup/front-url.jpeg",
"back": "https://images.printify.com/mockup/back-url.jpeg"
},
"print_files": {
"front": "https://images.printify.com/print/front-url.jpeg",
},
"quantity": 2
}
]
}
View shipping details update example View successful response View address error response |
List of error messages for order updating
Code | Description |
---|---|
tags | Tags change was not successful. |
address_to | address_to change was not successful. |
address_from | address_from change was not successful. |
shipping | Shipping method or carrier cannot be edited. |
item | Item sku, quantity, or print images cannot be edited. |
expired | It is too late to make changes. |
other | Some other error when updating order. |
POST | POST /v2019-06/order/{PRINTIFY-ID}/cancel.json | ||||||||||
The request must either cancel all order line items requested or do not perform changes to the order. This IS NOT idempotent operation and will not be retried. |
|||||||||||
Request
|
|||||||||||
Response 204 No Content
Must be returned when all the requested order line items were canceled. |
|||||||||||
Response 409 Conflict
Must be returned when at least one of the below is true:
This means that whole cancelation failed and the order must not be changed.
|
Stock API
Stock API is aimed at making your integration with Printify more functional by enabling your system to notify Printify about inventory changes. The request parameter SKU has to be case-insensitive.
What your system must provide for integrating with Printify Stock API
The following endpoints must be available for Printify Stock API integration:
- GET /v2019-06/stock.json
Provide stock availability for products - GET /v2019-06/stock/{SKU}.json
Provide stock availability for single product variation - GET /v2019-06/facilities/{FACILITY-ID}/stock/{SKU}.json
Provide stock availability for single product variation at the facility
Stock item properties
statusREQUIRED |
enum possible values:
|
stockREQUIRED |
Amount (quantity) of available items in an inventory (integer), required only for in-stock status.
999 might be returned if items are available, but there is no possibility to calculate the exact amount.
|
restock_estimate OPTIONAL |
Date and time of current estimation on when the stock will be renewed. Applicable for out-of-stock status
|
discontinued_since OPTIONAL | In case if the status is discontinued, date and time value of when it has happened must be provided. |
Date and time fields must be in UTC timezone and conform to the ISO 8601 standard.
Endpoints
GET | GET /v2019-06/stock.json |
Provide stock availability for products The endpoint returns an array of all available product variations. Each variation must display the remaining stock quantity and stock status.
GET /v2019-06/stock.json?limit=20&offset=0
View sample response |
GET | GET /v2019-06/stock/{SKU}.json |
Provide stock availability for a single product variation The endpoint returns stock availability info for one product variation by its SKU. This info must contain the remaining stock quantity and stock status. SKU is case insensitive GET /v2019-06/stock/{SKU}.json View sample response |
GET | GET /v2019-06/facilities/{FACILITY-ID}/stock/{SKU}.json |
Provide stock availability for a single product variation on the facility level The endpoint returns stock availability info for one product variation by its SKU at the particular facility. This info must contain the remaining stock quantity and stock status. SKU is case insensitive. See details of FACILITY-ID in Submit production order to the facility
View expected successful response (HTTP 200 out-of-stock)
View expected failed response (HTTP 404 Not Found) (example - when FACILITY-ID is invalid)
View expected failed response (HTTP 404 Not Found) (example - when SKU does not exist) |
HTTP Status Codes
Printify API relies heavily on standard HTTP response codes codes. Please find a brief summary of status codes used below.
Success
Code | Name | Description |
---|---|---|
200 | OK | Request completed successfully. |
201 | Created | The request has been fulfilled and has resulted in one or more new resources being created. |
204 | No Content | Indicates that the server has successfully fulfilled the request and that there is no content to send in the response payload body. |
User error codes
These errors generally indicate a problem on the client side. If you are getting one of these, check your code and the request details.
Code | Name | Description |
---|---|---|
400 | Bad Request | The request encoding is invalid; the request can't be parsed as valid JSON. |
401 | Unauthorized | Accessing a protected resource without authorization or with invalid credentials. |
404 | Not Found | Route or resource is not found. This error is returned when the request hits an undefined route, or if the resource doesn't exist (e.g. has been deleted). |
409 | Conflict | Indicates a request conflict with current state of the target resource. For example trying to cancel already canceled order line item. |
422 | Invalid Request | The request data is invalid. This includes most of the base-specific validations. You will receive a detailed error message and code pointing to the exact issue. |
429 | Too Many Requests | Too Many Requests response status code indicates that the system has sent too many requests in a given amount of time ("rate limiting"). |
Server error codes
These errors generally represent an error on our side. In the event of a 5xx error code, detailed information about the error will be automatically recorded, and Printify's developers will be notified.
Code | Name | Description |
---|---|---|
500 | Internal Server Error | The server encountered an unexpected condition. |
502 | Bad Gateway | Servers are restarting or an unexpected outage is in progress. Requests must be safe to retry. |
503 | Service Unavailable | The server could not process your request in time. The server could be temporarily unavailable, or it could have timed out processing your request. You should retry the request with backoffs. |
History
- June 1, 2019
- Initial Release.
- August 9, 2019
- Tracking API: added
carrier
attribute toshipped
events.
- Tracking API: added
- August 19, 2019
- Production API: added
sample
flag;vip
flag renamed toxqc
. - Production API: added an example with address validation failures.
- Production API: added
- August 22, 2019
- Stock API released.
- October 11, 2019
- Examples updated.
- November 8, 2019
- Production API: Field
reference_id
added to Production order properties.
- Production API: Field
- August 21 2020
- Added FAQ & Getting Started sections
- May 25, 2021
- Added SKU insensitivity requirement
- January 5, 2022
- Production API: Backward compatible field
tags
added to Production order properties. - To support it, the implementation of
POST /v2019-06/orders.json
,GET /v2019-06/orders/{PRINTIFY-ID}.json
andPUT /v2019-06/order/{PRINTIFY-ID}.json
needs to be updated. - Top level fields
sample
,reprint
,xqc
are deprecated. - In the next version we plan to migrate top level fields
sample
andreprint
totags
. - Field
xqc
eventually will be dropped as it doesn't represent any business process behaviour.
- Production API: Backward compatible field
- March 1, 2022
- Production API: Facility order submission endpoint has been added
- To support it,
POST /v2019-06/facilities/{FACILITY-ID}/orders.json
has to be implemented - Top level fields
sample
,reprint
,xqc
will be not passed anymore, instead, all supported values will be received undertags
field - In case of "Duplicate Order", please return
HTTP 409 Conflict
according to the example - Both success and error
responses and codes
are slightly updated (201
instead of200
as well as422
instead of400
)
- April 11, 2022
- Helpdesk API: Cancelation endpoint has been simplified
- Partial cancelation is no longer possible
- Both success and error
responses and codes
are slightly updated (204
instead of200
as well as409
instead of422
)
- April 19, 2022
- Production API (facility): 404 example fixed
- Stock API (pricing): Pricing endpoints
GET /v2019-06/pricing.json
andGET /v2019-06/pricing/{SKU}.json
deleted from specification
- May 09, 2022
- Stock API: Endpoint to synchronise stock from the specific facility has been added
- To support it,
GET /v2019-06/facilities/{FACILITY-ID}/stock/{SKU}.json
has to be implemented - New stock status
on-demand
for an unlimited stock amount has been added
- June 03, 2022
- Updated the order line item IDs to match new format
- June 06, 2022
- Authentication: Updated description with more detailed auth key and TLS requirements
- January 18, 2023
- Production API (Regular Order):
package_inserts
added to the request body, expected failed response examples updated - Production API (Regular Order): Success response has been simplified by removing redundant
status
andid
fields - Production API (Facility Order):
package_inserts
added to the request body, expected failed response examples updated
- Production API (Regular Order):
- March 22, 2023
- Production API: Unified requests and expected responses for Regular Orders and Facility Orders
- April 21, 2023
- Production API (Regular Order): Top level fields
sample
,reprint
,xqc
will still be passed - Production API (Regular Order): Order tags
sample
,reprint
,xqc
will not be passed as order tags
- Production API (Regular Order): Top level fields