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:

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 order Status must be Approved.
  • approvedAlternativeDetails — The order Status must be Rejected.
  • interimStatusDetail — The order Status must be Pending.

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

This 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

This 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

This 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

prescriptionDetail

prescriptionDetail 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

approvedAlternativeDetails 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

interimStatusDetail 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.