Provide additional verification details about a regulated order
Learn how to provide additional verification details about a regulated order.
Learn how to provide additional verification details about a regulated order.
Prerequisites
To complete this tutorial, you need:
- Authorization from the selling partner for whom you are making calls. For more information, refer to Authorizing Selling Partner API applications.
- The Direct-to-Consumer Delivery (Restricted) role assigned to your developer profile.
- The Direct-to-Consumer Delivery (Restricted) role selected in the app registration page for your application.
Step 1. Check if an order supports verification details and is in a valid status
Note
This is a restricted operation and requires a Restricted Data Token (RDT) for authorization. Some operations require restrictions because they contain customer PII data. These operations require passing an additional security review. For more information on RDT, refer to the Tokens API guide.
Call the getOrderRegulatedInfo operation. If the order supports verification details, the ValidVerificationDetails array appears in the response and displays the following:
VerificationDetailType: The detail type for the order.ValidVerificationStatuses: The order statuses in which you can provide this detail type.
Response example
In this example, the order supports three verification detail types: prescriptionDetail, approvedAlternativeDetails, and interimStatusDetail:
{
"payload": {
"AmazonOrderId": "902-2592119-3531015",
"RequiresDosageLabel": false,
"RegulatedInformation": {
"Fields": [
{
"FieldId": "pets_rx_scName",
"FieldLabel": "Pet name",
"FieldType": "Text",
"FieldValue": "Woofer"
}
]
},
"RegulatedOrderVerificationStatus": {
"Status": "Pending",
"RequiresMerchantAction": true,
"ValidRejectionReasons": [
{
"RejectionReasonId": "pets_rx_sc_incorrect_product",
"RejectionReasonDescription": "Canceled order due to veterinarian indicating wrong product ordered"
}
],
"ValidVerificationDetails": [
{
"VerificationDetailType": "prescriptionDetail",
"ValidVerificationStatuses": [
"Approved"
]
},
{
"VerificationDetailType": "approvedAlternativeDetails",
"ValidVerificationStatuses": [
"Rejected"
]
},
{
"VerificationDetailType": "interimStatusDetail",
"ValidVerificationStatuses": [
"Pending"
]
}
]
}
}
}
In the preceding example, you can include a verification detail in your call when the order is in the corresponding status:
prescriptionDetail— The orderStatusmust beApproved.approvedAlternativeDetails— The orderStatusmust beRejected.interimStatusDetail— The orderStatusmust bePending.
If you provide a verification detail when the order is not in the required status, the call returns an InvalidInput error.
Step 2. Update the verification details for a regulated order
Call the updateVerificationStatus operation.
Request example: prescriptionDetail
prescriptionDetailThis example provides prescription details for an approved order:
PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo
{
"regulatedOrderVerificationStatus": {
"externalReviewerId": "reviewer1234",
"verificationDetails": {
"prescriptionDetail":
{
"prescriptionId": "Rx-1234",
"expirationDate": "2024-01-01T00:00:00Z",
"writtenQuantity": 2,
"totalRefillsAuthorized": 10,
"usageInstructions": "Take one per day by mouth with food",
"refillsRemaining": 10,
"clinicId": "ABC-1234"
}
}
}
}
This example provides prescription details and updates the status to Approved in the same call (Amazon applies the status update first):
PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo
{
"regulatedOrderVerificationStatus": {
"status": "Approved",
"externalReviewerId": "reviewer1234",
"verificationDetails": {
"prescriptionDetail":
{
"prescriptionId": "Rx-1234",
"expirationDate": "2024-01-01T00:00:00Z",
"writtenQuantity": 2,
"totalRefillsAuthorized": 10,
"usageInstructions": "Take one per day by mouth with food",
"refillsRemaining": 10,
"clinicId": "ABC-1234"
}
}
}
}
Request example: approvedAlternativeDetails
approvedAlternativeDetailsThis example rejects an order and suggests an alternative product:
PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/902-2592119-3531015/regulatedInfo
{
"regulatedOrderVerificationStatus": {
"status": "Rejected",
"externalReviewerId": "vet_clinic_12345",
"rejectionReasonId": "pets_rx_sc_incorrect_product",
"verificationDetails": {
"approvedAlternativeDetails": [
{
"attributeName": "asin",
"originalValue": "B00DOGMEDICINE",
"approvedValue": "B00CATMEDICINE"
}
]
}
}
}
Request example: interimStatusDetail
interimStatusDetailThis example provides an interim status update for a pending vet-regulated order.
PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/902-2592119-3531015/regulatedInfo
{
"regulatedOrderVerificationStatus": {
"status": "Pending",
"externalReviewerId": "vetsource_system",
"verificationDetails": {
"interimStatusDetail": {
"statusCode": "vet_contacted_email",
"statusDateTime": "2026-02-26T10:00:00Z"
}
}
}
}
List of verificationDetails that Amazon supports
verificationDetails that Amazon supportsprescriptionDetail
prescriptionDetailprescriptionDetail contains prescription information from the customer's clinic for US regulated products. This detail type is only valid when the order status is Approved.
approvedAlternativeDetails
approvedAlternativeDetailsapprovedAlternativeDetails contains one or more suggested alternative product attributes when a reviewer rejects an order. Each entry includes the attribute name, the original value, and the approved alternative value. This detail type is only valid when the order status is Rejected.
interimStatusDetail
interimStatusDetailinterimStatusDetail contains a status code and timestamp indicating progress on a vet-regulated order while it is still under review. Valid status codes are returned in the ValidInterimStatusCodes field of the getOrderRegulatedInfo response. This detail type is only valid when the order status is Pending. For more information, refer to Provide an interim status update for a regulated order.
Updated about 18 hours ago
