---
title: "Verifies if a QuickLink can be consumed by checking validity, status, expiration, usage limits, and permissions."
method: POST
path: "/Sites/{siteId}/Quicklinks/Verify/{slug}"
tags: ["QuickLinks"]
---

# Verifies if a QuickLink can be consumed by checking validity, status, expiration, usage limits, and permissions.

`POST /Sites/{siteId}/Quicklinks/Verify/{slug}`

Call this endpoint before performing the QuickLink action. If Valid=true, proceed with the action then call Consume.
            
Possible error codes returned when Valid=false:
- LINK_NOT_FOUND: QuickLink slug doesn't exist for this site
- LINK_DISABLED: QuickLink status is not Enabled (disabled or deleted)
- LINK_EXPIRED: QuickLink has passed its ExpiredUtc date
- USAGE_LIMIT_REACHED: QuickLink has reached its usage limit (SingleUse or Limited)
- INVALID_TOKEN: Token provided doesn't match any token for this QuickLink
- TOKEN_ALREADY_USED: Token has already been consumed (IsUsed=true)
- TOKEN_EXPIRED: Token has passed its ExpiredUtc date
- SCHEDULED_ORDER_MISMATCH: Token is tied to a different scheduled order
- SCHEDULED_ORDER_NOT_FOUND: ScheduledOrderId doesn't exist for this site
- CUSTOMER_NOT_FOUND: CustomerId provided doesn't exist for this site

## Path parameters

- `siteId` integer, required
- `slug` string, required

## Query parameters

- `token` string

## Request body

- QPilotCoreModelsDtoQuickLinksVerifyRequestDto
  - `scheduledOrderId` integer, required
  - `customerId` integer, nullable
  - `ipAddress` string, nullable
  - `userAgent` string, nullable
  - `isLoggedIn` boolean

## Response `200`

Returns verification result (may be valid or invalid with error code)

- QPilotCoreModelsDtoQuickLinksVerifyResultDto
  - `valid` boolean
  - `errorCode` string, nullable
  - `errorMessage` string, nullable
  - `quickLinkId` integer, nullable
  - `actionType` 'Resume' | 'Pause' | 'ProcessNow' | 'Reactivate'
  - `requiresLogin` boolean, nullable
  - `requiresConfirmation` boolean, nullable
  - `scheduledOrderId` integer, nullable
  - `customerId` integer, nullable
  - `usageLimitType` 'SingleUse' | 'LimitedUse' | 'Unlimited'
  - `maxUses` integer, nullable
  - `expiredUtc` string, date-time, nullable
  - `redirect` QPilotCoreModelsDtoQuickLinksRedirectConfigDto
    - `type` 'ThankYouPage' | 'V2Portal' | 'CustomUrl', required
    - `message` string, nullable
    - `customUrl` string, uri, nullable
    - `utmParams` string, nullable
  - `orderCustomizedName` string, nullable
  - `orderSummary` QPilotCoreModelsDtoQuickLinksOrderSummaryDto
    - `items` QPilotCoreModelsDtoQuickLinksOrderLineItemDto[], nullable
      - `title` string, nullable
      - `quantity` integer
      - `price` number, double
      - `total` number, double
      - `imageUrl` string, nullable
    - `subtotal` number, double
    - `discounts` number, double
    - `shipping` number, double
    - `tax` number, double
    - `total` number, double
    - `currencyCode` string, nullable
    - `currencySymbol` string, nullable
    - `lastProcessingUtc` string, date-time, nullable
  - `customLogoUrl` string, nullable
  - `customDomainUrl` string, nullable
  - `proxyPath` string, nullable
  - `customStyleSheetUrl` string, nullable
  - `customMetaTags` QPilotCoreModelsDtoQuickLinksMetaTagDto[], nullable
    - `type` string, nullable
    - `key` string, nullable
    - `value` string, nullable

## Other responses

- `500` — Internal server error occurred

---

[API](https://skmtc.net/qpilot/apis/qpilot-api.md) · [All operations](https://skmtc.net/qpilot/apis/qpilot-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qpilot/qpilot-api/revisions/b2f13a808fdd/schema)
