Pay for and run a single product scan

Explicitly purchase one product scan using the authenticated customer's wallet, then run it.
Takes the same payload as POST /product-scan/scan.

Pricing, discount, conversion, debit, and automatic refund-on-failure behave exactly like the face purchase.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
file
required

The product image. Formats: jpeg, png, jpg, gif, heic, heif, webp. Max 10 MB.

string
length ≤ 64
Headers
string
^[a-zA-Z0-9._-]{8,128}$

Optional AppsFlyer install UID from the mobile SDK. Used only with X-CHANNEL mobile-app and an allowed X-AppsFlyer-App-ID. Invalid or absent attribution is ignored and never changes the business response. For payments this identity is frozen at creation for later confirmed-payment events.

string

AppsFlyer application identifier configured for this API environment. Numeric iOS App Store IDs require the id prefix; Android uses its package name. This header grants no authentication or payment authority.

string
^[0-9.]{1,30}$

OS release version from expo-device, not the Android API level.

string
enum

Optional allowlisted mobile journey entry point. Used only with valid mobile AppsFlyer context; unknown values are ignored. Frozen with the payment at creation and included on confirmed purchase/refund events. This is analytics context, not authorization.

Responses

409

Duplicate purchase — this idempotency_key was already processed.

422

Validation failed.

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json