Docs
Dashboard
On this page

    Storefront API reference

    39 operations under https://api.shopfa.st/v1/shops/{shop}, where {shop} is the store's handle or st_ id. Send a storefront key in ShopFast-Storefront-Key, and a signed-in buyer's token in ShopFast-Customer-Token. Read the guide for keys, CORS, caching and errors. Generated from the live contract.

    The shop

    The store: name, currency, status, branding, SEO and links

    GET/v1/shops/{shop}
    Cached at the edge · ETagshopGet

    Response

    • idstringrequired
    • handlestringrequired
    • namestringrequired
    • taglinestringrequired
    • urlstringrequired
    • domainstringrequired
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • countrystringrequired
    • supportEmailstringrequired
    • status"open" | "closed" | "maintenance"required
    8 more fields
    • statusMessagestringrequired
    • brandColorstringrequired
    • logoUrlstringrequired
    • faviconUrlstringrequired
    • seoobjectrequired
      • titlestringrequired
      • descriptionstringrequired
      • socialImageUrlstringrequired
      • allowIndexingbooleanrequired
    • statsobjectrequired
      • productsCountintegerrequired
      • unitsSold30dintegerrequired
      • ratingnumberrequired
      • reviewCountintegerrequired
      • ratingDistributioninteger[]required
    • testModebooleanrequired
    • linksobjectrequired
      • checkoutstringrequired
      • accountstringrequired
      • sitemapstringrequired
      • llmsTxtstringrequired
      • mcpstringrequired

    Refund policy, terms of service and privacy policy (those the seller wrote)

    GET/v1/shops/{shop}/policies
    Cached at the edge · ETagshopPolicies

    Response

    • itemsobject[]required
      • handlestringrequired
      • titlestringrequired
      • bodyHtmlstringrequired
      • seoTitlestringrequired
      • seoDescriptionstringrequired
      • updatedAtstringrequired
      • urlstringrequired

    Published pages, policies included

    GET/v1/shops/{shop}/pages
    Cached at the edge · ETagshopPages

    Response

    • itemsobject[]required
      • handlestringrequired
      • titlestringrequired
      • bodyHtmlstringrequired
      • seoTitlestringrequired
      • seoDescriptionstringrequired
      • updatedAtstringrequired
      • urlstringrequired

    One page

    GET/v1/shops/{shop}/pages/{handle}
    Cached at the edge · ETagshopPage

    Parameters

    • handlestringrequired

    Response

    • handlestringrequired
    • titlestringrequired
    • bodyHtmlstringrequired
    • seoTitlestringrequired
    • seoDescriptionstringrequired
    • updatedAtstringrequired
    • urlstringrequired

    Published reviews across the store, newest first, with the rating summary

    GET/v1/shops/{shop}/reviews
    Cached at the edge · ETagshopReviews

    Parameters

    • pageinteger | string
    • perPageinteger | string

    Response

    • summaryobjectrequired
      • averagenumberrequired
      • countintegerrequired
      • distributioninteger[]required
    • reviewsobject[]required
      • idrev_… | srv_…required
      • ratingintegerrequired
      • titlestringrequired
      • bodystringrequired
      • authorstringrequired
      • verifiedbooleanrequired
      • createdAtstringrequired
      • replystringrequired
      • repliedAtstring | nullrequired
      • productobject | nullrequired
      • sourcestring | nullrequired
      • sourceLabelstring | nullrequired
      • imageUrlstring | nullrequired
      • pinnedbooleanrequired
    • pageintegerrequired
    • perPageintegerrequired
    • pageCountintegerrequired

    A product's rating and newest reviews

    GET/v1/shops/{shop}/products/{handle}/reviews
    Cached at the edge · ETagshopProductReviews

    Parameters

    • handlestringrequired

    Response

    • ratingobject | nullrequired
    • distributioninteger[] | nullrequired
    • itemsobject[]required
      • idrev_…required
      • ratingintegerrequired
      • titlestringrequired
      • bodystringrequired
      • authorstringrequired
      • verifiedbooleanrequired
      • createdAtstringrequired
      • replystringrequired
      • repliedAtstring | nullrequired
      • sourcestring | nullrequired
      • sourceLabelstring | nullrequired
      • imageUrlstring | nullrequired

    Catalog

    Products, a page at a time: all of them, a collection or a category (subcategories included)

    GET/v1/shops/{shop}/products
    Cached at the edge · ETagshopProducts

    Parameters

    • sort"featured" | "best-selling" | "newest" | "price-ascending" | "price-descending" | "title-ascending"
    • limitinteger | string
    • afterstring | null
    • collectionstring | null
    • categorystring | null

    Response

    • itemsobject[]required
      • idprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • shortDescriptionstringrequired
      • urlstringrequired
      • imageobject | nullrequired
      • coverUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
      • pricingMode"fixed" | "pay_what_you_want" | "free"required
      • ratingobject | nullrequired
      • tagsstring[]required
      • featuredbooleanrequired
      • collectionHandlesstring[]required
      • categoryHandlesstring[]required
      • variantsobject[]required
        • idvar_…required
        • titlestringrequired
        • descriptionstringrequired
        • priceMinorintegerrequired
        • compareAtMinorinteger | nullrequired
        • availablebooleanrequired
        • stockinteger | nullrequired
        • lowStockbooleanrequired
      • statusobjectrequired
        • availablebooleanrequired
        • stockinteger | nullrequired
        • lowStockbooleanrequired
        • preorderbooleanrequired
        • salesPausedobject | nullrequired
        • statusLabelobject | nullrequired
      • promotionobject | nullrequired
      • unitsSold30dintegerrequired
      • updatedAtstringrequired
    • totalintegerrequired
    • nextCursorstringrequired

    One product by handle (an old handle redirects to the new one)

    GET/v1/shops/{shop}/products/{handle}
    Cached at the edge · ETagshopProduct

    Parameters

    • handlestringrequired

    Response

    • idprd_…required
    • handlestringrequired
    • titlestringrequired
    • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
    • shortDescriptionstringrequired
    • urlstringrequired
    • imageobject | nullrequired
    • coverUrlstringrequired
    • priceMinorintegerrequired
    • compareAtMinorinteger | nullrequired
    33 more fields
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • pricingMode"fixed" | "pay_what_you_want" | "free"required
    • ratingobject | nullrequired
    • tagsstring[]required
    • featuredbooleanrequired
    • collectionHandlesstring[]required
    • categoryHandlesstring[]required
    • variantsobject[]required
      • idvar_…required
      • titlestringrequired
      • descriptionstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • availablebooleanrequired
      • stockinteger | nullrequired
      • lowStockbooleanrequired
    • statusobjectrequired
      • availablebooleanrequired
      • stockinteger | nullrequired
      • lowStockbooleanrequired
      • preorderbooleanrequired
      • salesPausedobject | nullrequired
      • statusLabelobject | nullrequired
    • promotionobject | nullrequired
    • unitsSold30dintegerrequired
    • updatedAtstringrequired
    • descriptionstringrequired
    • descriptionHtmlstringrequired
    • deliversstringrequired
    • galleryobject[]required
      • urlstringrequired
      • altstringrequired
      • widthinteger | nullrequired
      • heightinteger | nullrequired
    • mediaobject[]required
      • urlstringrequired
      • altstringrequired
      • widthinteger | nullrequired
      • heightinteger | nullrequired
      • kind"image" | "video" | "youtube" | "vimeo"required
      • posterUrlstringrequired
      • externalIdstringrequired
    • bundleItemsobject[]required
      • handlestringrequired
      • titlestringrequired
    • upsellHandlesstring[]required
    • crossSellHandlesstring[]required
    • addOnsobject[]required
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • variantIdvar_… | nullrequired
    • seoobjectrequired
      • titlestringrequired
      • descriptionstringrequired
      • ogImageUrlstringrequired
    • minPerOrderintegerrequired
    • maxPerOrderinteger | nullrequired
    • checkoutFieldsobject[]required
      • idstringrequired
      • labelstringrequired
      • type"text" | "textarea" | "email" | "number" | "select" | "checkbox" | "url" | "password" | "hidden" | "discord_id"required
      • requiredbooleanrequired
      • placeholderstringrequired
      • helpTextstringrequired
      • optionsstring[]required
      • defaultValuestringrequired
    • subscriptionobject | nullrequired
    • quantityTiersobject[]required
      • minQuantityintegerrequired
      • discountBpsintegerrequired
    • pwywobject | nullrequired
    • licenseobject | nullrequired
    • attributesobjectrequired
      • gamestring | nullrequired
      • platforms"windows" | "mac" | "linux" | "steam" | "epic" | "battlenet" | "riot" | "ea" | "ubisoft" | "xbox" | "playstation" | "switch" | "android" | "ios" | "web" | "other"[]required
      • regionstring | nullrequired
      • status"undetected" | "updated" | "testing" | "updating" | "detected" | "down" | nullrequired
      • statusNotestringrequired
      • statusUpdatedAtstring | nullrequired
      • instantDeliverybooleanrequired
      • presetKeystring | nullrequired
      • featuresstring[]required
      • featureGroupsobject[]required
        • titlestringrequired
        • itemsstring[]required
      • requirementsstring[]required
    • ratingDistributioninteger[] | nullrequired
    • reviewsobject[]required
      • idrev_…required
      • ratingintegerrequired
      • titlestringrequired
      • bodystringrequired
      • authorstringrequired
      • verifiedbooleanrequired
      • createdAtstringrequired
      • replystringrequired
      • repliedAtstring | nullrequired
      • sourcestring | nullrequired
      • sourceLabelstring | nullrequired
      • imageUrlstring | nullrequired
    • createdAtstringrequired

    Live stock and sales status of a product and its options (never cached)

    GET/v1/shops/{shop}/products/{handle}/availability
    Live · never cachedshopProductAvailability

    Parameters

    • handlestringrequired

    Response

    • idprd_…required
    • handlestringrequired
    • statusobjectrequired
      • availablebooleanrequired
      • stockinteger | nullrequired
      • lowStockbooleanrequired
      • preorderbooleanrequired
      • salesPausedobject | nullrequired
      • statusLabelobject | nullrequired
    • variantsobject[]required
      • idvar_…required
      • availablebooleanrequired
      • stockinteger | nullrequired
      • lowStockbooleanrequired
    • checkedAtstringrequired

    Upgrades, "you may also like" products and add-ons for a product

    GET/v1/shops/{shop}/products/{handle}/recommendations
    Cached at the edge · ETagshopRecommendations

    Parameters

    • handlestringrequired

    Response

    • upsellsobject[]required
      • idprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • shortDescriptionstringrequired
      • urlstringrequired
      • imageobject | nullrequired
      • coverUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
      • pricingMode"fixed" | "pay_what_you_want" | "free"required
      • ratingobject | nullrequired
      • tagsstring[]required
      • featuredbooleanrequired
      • collectionHandlesstring[]required
      • categoryHandlesstring[]required
      • variantsobject[]required
        • idvar_…required
        • titlestringrequired
        • descriptionstringrequired
        • priceMinorintegerrequired
        • compareAtMinorinteger | nullrequired
        • availablebooleanrequired
        • stockinteger | nullrequired
        • lowStockbooleanrequired
      • statusobjectrequired
        • availablebooleanrequired
        • stockinteger | nullrequired
        • lowStockbooleanrequired
        • preorderbooleanrequired
        • salesPausedobject | nullrequired
        • statusLabelobject | nullrequired
      • promotionobject | nullrequired
      • unitsSold30dintegerrequired
      • updatedAtstringrequired
    • crossSellsobject[]required
      • idprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • shortDescriptionstringrequired
      • urlstringrequired
      • imageobject | nullrequired
      • coverUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
      • pricingMode"fixed" | "pay_what_you_want" | "free"required
      • ratingobject | nullrequired
      • tagsstring[]required
      • featuredbooleanrequired
      • collectionHandlesstring[]required
      • categoryHandlesstring[]required
      • variantsobject[]required
        • idvar_…required
        • titlestringrequired
        • descriptionstringrequired
        • priceMinorintegerrequired
        • compareAtMinorinteger | nullrequired
        • availablebooleanrequired
        • stockinteger | nullrequired
        • lowStockbooleanrequired
      • statusobjectrequired
        • availablebooleanrequired
        • stockinteger | nullrequired
        • lowStockbooleanrequired
        • preorderbooleanrequired
        • salesPausedobject | nullrequired
        • statusLabelobject | nullrequired
      • promotionobject | nullrequired
      • unitsSold30dintegerrequired
      • updatedAtstringrequired
    • addOnsobject[]required
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • variantIdvar_… | nullrequired

    Published collections in storefront order ("all" first)

    GET/v1/shops/{shop}/collections
    Cached at the edge · ETagshopCollections

    Response

    • itemsobject[]required
      • handlestringrequired
      • titlestringrequired
      • descriptionstringrequired
      • imageUrlstringrequired
      • seoTitlestringrequired
      • seoDescriptionstringrequired
      • productsCountintegerrequired
      • urlstringrequired
      • updatedAtstringrequired

    A collection and a page of its products

    GET/v1/shops/{shop}/collections/{handle}
    Cached at the edge · ETagshopCollection

    Parameters

    • handlestringrequired
    • sort"featured" | "best-selling" | "newest" | "price-ascending" | "price-descending" | "title-ascending"
    • limitinteger | string
    • afterstring | null

    Response

    • collectionobjectrequired
      • handlestringrequired
      • titlestringrequired
      • descriptionstringrequired
      • imageUrlstringrequired
      • seoTitlestringrequired
      • seoDescriptionstringrequired
      • productsCountintegerrequired
      • urlstringrequired
      • updatedAtstringrequired
    • productsobjectrequired
      • itemsobject[]required
        • idprd_…required
        • handlestringrequired
        • titlestringrequired
        • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
        • shortDescriptionstringrequired
        • urlstringrequired
        • imageobject | nullrequired
        • coverUrlstringrequired
        • priceMinorintegerrequired
        • compareAtMinorinteger | nullrequired
        • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
        • pricingMode"fixed" | "pay_what_you_want" | "free"required
        • ratingobject | nullrequired
        • tagsstring[]required
        • featuredbooleanrequired
        • collectionHandlesstring[]required
        • categoryHandlesstring[]required
        • variantsobject[]required
        • statusobjectrequired
        • promotionobject | nullrequired
        • unitsSold30dintegerrequired
        • updatedAtstringrequired
      • totalintegerrequired
      • nextCursorstringrequired

    The published category tree, parents before their children

    GET/v1/shops/{shop}/categories
    Cached at the edge · ETagshopCategories

    Response

    • itemsobject[]required
      • idpcat_…required
      • parentIdpcat_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • descriptionstringrequired
      • imageUrlstringrequired
      • positionintegerrequired
      • depthintegerrequired
      • sort"manual" | "best_selling" | "newest" | "price_asc" | "price_desc" | "title"required
      • seoTitlestringrequired
      • seoDescriptionstringrequired
      • productsCountintegerrequired
      • previousHandlesstring[]required
      • updatedAtstringrequired
      • urlstringrequired

    A category, its subcategories and a page of its products

    GET/v1/shops/{shop}/categories/{handle}
    Cached at the edge · ETagshopCategory

    Parameters

    • handlestringrequired
    • sort"featured" | "best-selling" | "newest" | "price-ascending" | "price-descending" | "title-ascending"
    • limitinteger | string
    • afterstring | null

    Response

    • categoryobjectrequired
      • idpcat_…required
      • parentIdpcat_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • descriptionstringrequired
      • imageUrlstringrequired
      • positionintegerrequired
      • depthintegerrequired
      • sort"manual" | "best_selling" | "newest" | "price_asc" | "price_desc" | "title"required
      • seoTitlestringrequired
      • seoDescriptionstringrequired
      • productsCountintegerrequired
      • previousHandlesstring[]required
      • updatedAtstringrequired
      • urlstringrequired
    • childrenobject[]required
      • idpcat_…required
      • parentIdpcat_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • descriptionstringrequired
      • imageUrlstringrequired
      • positionintegerrequired
      • depthintegerrequired
      • sort"manual" | "best_selling" | "newest" | "price_asc" | "price_desc" | "title"required
      • seoTitlestringrequired
      • seoDescriptionstringrequired
      • productsCountintegerrequired
      • previousHandlesstring[]required
      • updatedAtstringrequired
      • urlstringrequired
    • ancestorsobject[]required
      • idpcat_…required
      • parentIdpcat_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • descriptionstringrequired
      • imageUrlstringrequired
      • positionintegerrequired
      • depthintegerrequired
      • sort"manual" | "best_selling" | "newest" | "price_asc" | "price_desc" | "title"required
      • seoTitlestringrequired
      • seoDescriptionstringrequired
      • productsCountintegerrequired
      • previousHandlesstring[]required
      • updatedAtstringrequired
      • urlstringrequired
    • productsobjectrequired
      • itemsobject[]required
        • idprd_…required
        • handlestringrequired
        • titlestringrequired
        • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
        • shortDescriptionstringrequired
        • urlstringrequired
        • imageobject | nullrequired
        • coverUrlstringrequired
        • priceMinorintegerrequired
        • compareAtMinorinteger | nullrequired
        • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
        • pricingMode"fixed" | "pay_what_you_want" | "free"required
        • ratingobject | nullrequired
        • tagsstring[]required
        • featuredbooleanrequired
        • collectionHandlesstring[]required
        • categoryHandlesstring[]required
        • variantsobject[]required
        • statusobjectrequired
        • promotionobject | nullrequired
        • unitsSold30dintegerrequired
        • updatedAtstringrequired
      • totalintegerrequired
      • nextCursorstringrequired

    Instant suggestions while the buyer types: products, categories, collections and pages

    GET/v1/shops/{shop}/search/suggest
    Cached at the edge · ETagshopSearchSuggest

    Parameters

    • qstring
    • limitinteger | string
    • categorystring
    • vstring

    Response

    • queryobjectrequired
      • qstringrequired
      • normalizedstringrequired
      • correctedobject | nullrequired
      • didYouMeanstringrequired
      • relaxedbooleanrequired
      • redirectstringrequired
      • termsstring[]required
    • productsobject[]required
      • idstringrequired
      • handlestringrequired
      • titlestringrequired
      • highlightany[][]required
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • typeLabelstringrequired
      • gamestringrequired
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • priceMaxMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
      • hasDurationsbooleanrequired
      • availablebooleanrequired
      • preorderbooleanrequired
      • stockinteger | nullrequired
      • lowStockbooleanrequired
      • status"undetected" | "updated" | "testing" | "updating" | "detected" | "down" | nullrequired
      • statusLabelstringrequired
      • statusTone"good" | "warn" | "bad" | nullrequired
      • pausedbooleanrequired
      • ratingnumber | nullrequired
      • ratingCountintegerrequired
      • scorenumberrequired
    • collectionsobject[]required
      • kind"collection" | "page" | "category"required
      • handlestringrequired
      • titlestringrequired
      • urlstringrequired
      • highlightany[][]required
      • productCountinteger | nullrequired
      • parentsstring[]required
    • pagesobject[]required
      • kind"collection" | "page" | "category"required
      • handlestringrequired
      • titlestringrequired
      • urlstringrequired
      • highlightany[][]required
      • productCountinteger | nullrequired
      • parentsstring[]required
    • categoriesobject[]required
      • kind"collection" | "page" | "category"required
      • handlestringrequired
      • titlestringrequired
      • urlstringrequired
      • highlightany[][]required
      • productCountinteger | nullrequired
      • parentsstring[]required
    • totalintegerrequired
    • popularstring[]required

    Cart and checkout

    Create a cart, optionally with lines. The cart id is the capability: keep it like a session

    POST/v1/shops/{shop}/carts
    Personal · private, no-storeshopCartCreate

    Body

    • linesobject[]
      • productIdprd_…required
      • variantIdvar_… | null
      • customPriceMinorinteger | null
      • addOnOfprd_… | null
      • optionsobject
      • quantityintegerrequired

    Response

    • idcrt_…required
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • paymentModel"merchant_of_record" | "seller_gateway"required
    • linesobject[]required
      • idln_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • variantTitlestringrequired
      • optionsobjectrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • quantityintegerrequired
      • minQuantityintegerrequired
      • maxQuantityintegerrequired
      • unitPriceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • lineMinorintegerrequired
      • discountMinorintegerrequired
      • giftbooleanrequired
      • addOnOfprd_… | nullrequired
      • availablebooleanrequired
      • noticestringrequired
      • discordRolebooleanrequired
      • trialDaysintegerrequired
    • itemCountintegerrequired
    • discountsobject[]required
      • discountIddsc_…required
      • codestringrequired
      • titlestringrequired
      • kind"code" | "automatic"required
      • amountMinorintegerrequired
    • discountCodestringrequired
    • giftCardobject | nullrequired
    • totalsobjectrequired
      • subtotalMinorintegerrequired
      • discountMinorintegerrequired
      • giftCardMinorintegerrequired
      • netMinorintegerrequired
      • taxRateBpsintegerrequired
      • taxMinorintegerrequired
      • totalMinorintegerrequired
      • taxKnownbooleanrequired
      • taxIncludedbooleanrequired
    • notestringrequired
    11 more fields
    • emailstringrequired
    • namestringrequired
    • countrystring | nullrequired
    • bumpsobject[]required
      • offeredByprd_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • lineIdln_… | nullrequired
    • upsellsobject[]required
      • productIdprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • headlinestringrequired
      • offeredByprd_… | nullrequired
      • variantIdvar_… | nullrequired
      • regularPriceMinorinteger | nullrequired
    • progressobject | nullrequired
    • messagesobject[]required
      • level"info" | "warn" | "error"required
      • field"discount" | "gift_card" | "cart"required
      • textstringrequired
    • updatedAtstringrequired
    • paymentobjectrequired
      • disabledMethods"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"[]required
      • adjustmentsobject[]required
        • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"required
        • deltaMinorintegerrequired
    • returnUrlstringrequired
    • cancelUrlstringrequired

    A priced cart (tax once the country is known)

    GET/v1/shops/{shop}/carts/{cartId}
    Personal · private, no-storeshopCart

    Parameters

    • cartIdstringrequired
    • countrystring | null

    Response

    • idcrt_…required
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • paymentModel"merchant_of_record" | "seller_gateway"required
    • linesobject[]required
      • idln_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • variantTitlestringrequired
      • optionsobjectrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • quantityintegerrequired
      • minQuantityintegerrequired
      • maxQuantityintegerrequired
      • unitPriceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • lineMinorintegerrequired
      • discountMinorintegerrequired
      • giftbooleanrequired
      • addOnOfprd_… | nullrequired
      • availablebooleanrequired
      • noticestringrequired
      • discordRolebooleanrequired
      • trialDaysintegerrequired
    • itemCountintegerrequired
    • discountsobject[]required
      • discountIddsc_…required
      • codestringrequired
      • titlestringrequired
      • kind"code" | "automatic"required
      • amountMinorintegerrequired
    • discountCodestringrequired
    • giftCardobject | nullrequired
    • totalsobjectrequired
      • subtotalMinorintegerrequired
      • discountMinorintegerrequired
      • giftCardMinorintegerrequired
      • netMinorintegerrequired
      • taxRateBpsintegerrequired
      • taxMinorintegerrequired
      • totalMinorintegerrequired
      • taxKnownbooleanrequired
      • taxIncludedbooleanrequired
    • notestringrequired
    11 more fields
    • emailstringrequired
    • namestringrequired
    • countrystring | nullrequired
    • bumpsobject[]required
      • offeredByprd_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • lineIdln_… | nullrequired
    • upsellsobject[]required
      • productIdprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • headlinestringrequired
      • offeredByprd_… | nullrequired
      • variantIdvar_… | nullrequired
      • regularPriceMinorinteger | nullrequired
    • progressobject | nullrequired
    • messagesobject[]required
      • level"info" | "warn" | "error"required
      • field"discount" | "gift_card" | "cart"required
      • textstringrequired
    • updatedAtstringrequired
    • paymentobjectrequired
      • disabledMethods"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"[]required
      • adjustmentsobject[]required
        • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"required
        • deltaMinorintegerrequired
    • returnUrlstringrequired
    • cancelUrlstringrequired

    Add products (the same product and option merge into one line)

    POST/v1/shops/{shop}/carts/{cartId}/lines
    Personal · private, no-storeshopCartAddLines

    Parameters

    • cartIdstringrequired

    Body

    • linesobject[]required
      • productIdprd_…required
      • variantIdvar_… | null
      • customPriceMinorinteger | null
      • addOnOfprd_… | null
      • optionsobject
      • quantityintegerrequired

    Response

    • idcrt_…required
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • paymentModel"merchant_of_record" | "seller_gateway"required
    • linesobject[]required
      • idln_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • variantTitlestringrequired
      • optionsobjectrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • quantityintegerrequired
      • minQuantityintegerrequired
      • maxQuantityintegerrequired
      • unitPriceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • lineMinorintegerrequired
      • discountMinorintegerrequired
      • giftbooleanrequired
      • addOnOfprd_… | nullrequired
      • availablebooleanrequired
      • noticestringrequired
      • discordRolebooleanrequired
      • trialDaysintegerrequired
    • itemCountintegerrequired
    • discountsobject[]required
      • discountIddsc_…required
      • codestringrequired
      • titlestringrequired
      • kind"code" | "automatic"required
      • amountMinorintegerrequired
    • discountCodestringrequired
    • giftCardobject | nullrequired
    • totalsobjectrequired
      • subtotalMinorintegerrequired
      • discountMinorintegerrequired
      • giftCardMinorintegerrequired
      • netMinorintegerrequired
      • taxRateBpsintegerrequired
      • taxMinorintegerrequired
      • totalMinorintegerrequired
      • taxKnownbooleanrequired
      • taxIncludedbooleanrequired
    • notestringrequired
    11 more fields
    • emailstringrequired
    • namestringrequired
    • countrystring | nullrequired
    • bumpsobject[]required
      • offeredByprd_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • lineIdln_… | nullrequired
    • upsellsobject[]required
      • productIdprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • headlinestringrequired
      • offeredByprd_… | nullrequired
      • variantIdvar_… | nullrequired
      • regularPriceMinorinteger | nullrequired
    • progressobject | nullrequired
    • messagesobject[]required
      • level"info" | "warn" | "error"required
      • field"discount" | "gift_card" | "cart"required
      • textstringrequired
    • updatedAtstringrequired
    • paymentobjectrequired
      • disabledMethods"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"[]required
      • adjustmentsobject[]required
        • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"required
        • deltaMinorintegerrequired
    • returnUrlstringrequired
    • cancelUrlstringrequired

    Change a line's quantity (0 removes it)

    PATCH/v1/shops/{shop}/carts/{cartId}/lines/{lineId}
    Personal · private, no-storeshopCartUpdateLine

    Parameters

    • cartIdstringrequired
    • lineIdstringrequired

    Body

    • quantityintegerrequired

    Response

    • idcrt_…required
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • paymentModel"merchant_of_record" | "seller_gateway"required
    • linesobject[]required
      • idln_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • variantTitlestringrequired
      • optionsobjectrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • quantityintegerrequired
      • minQuantityintegerrequired
      • maxQuantityintegerrequired
      • unitPriceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • lineMinorintegerrequired
      • discountMinorintegerrequired
      • giftbooleanrequired
      • addOnOfprd_… | nullrequired
      • availablebooleanrequired
      • noticestringrequired
      • discordRolebooleanrequired
      • trialDaysintegerrequired
    • itemCountintegerrequired
    • discountsobject[]required
      • discountIddsc_…required
      • codestringrequired
      • titlestringrequired
      • kind"code" | "automatic"required
      • amountMinorintegerrequired
    • discountCodestringrequired
    • giftCardobject | nullrequired
    • totalsobjectrequired
      • subtotalMinorintegerrequired
      • discountMinorintegerrequired
      • giftCardMinorintegerrequired
      • netMinorintegerrequired
      • taxRateBpsintegerrequired
      • taxMinorintegerrequired
      • totalMinorintegerrequired
      • taxKnownbooleanrequired
      • taxIncludedbooleanrequired
    • notestringrequired
    11 more fields
    • emailstringrequired
    • namestringrequired
    • countrystring | nullrequired
    • bumpsobject[]required
      • offeredByprd_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • lineIdln_… | nullrequired
    • upsellsobject[]required
      • productIdprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • headlinestringrequired
      • offeredByprd_… | nullrequired
      • variantIdvar_… | nullrequired
      • regularPriceMinorinteger | nullrequired
    • progressobject | nullrequired
    • messagesobject[]required
      • level"info" | "warn" | "error"required
      • field"discount" | "gift_card" | "cart"required
      • textstringrequired
    • updatedAtstringrequired
    • paymentobjectrequired
      • disabledMethods"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"[]required
      • adjustmentsobject[]required
        • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"required
        • deltaMinorintegerrequired
    • returnUrlstringrequired
    • cancelUrlstringrequired

    The note, the buyer's email and name, and the country (for tax)

    PATCH/v1/shops/{shop}/carts/{cartId}
    Personal · private, no-storeshopCartUpdate

    Parameters

    • cartIdstringrequired

    Body

    • notestring
    • emailstring | null
    • namestring | null
    • countrystring | null
    • returnUrlstring | null
    • cancelUrlstring | null

    Response

    • idcrt_…required
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • paymentModel"merchant_of_record" | "seller_gateway"required
    • linesobject[]required
      • idln_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • variantTitlestringrequired
      • optionsobjectrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • quantityintegerrequired
      • minQuantityintegerrequired
      • maxQuantityintegerrequired
      • unitPriceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • lineMinorintegerrequired
      • discountMinorintegerrequired
      • giftbooleanrequired
      • addOnOfprd_… | nullrequired
      • availablebooleanrequired
      • noticestringrequired
      • discordRolebooleanrequired
      • trialDaysintegerrequired
    • itemCountintegerrequired
    • discountsobject[]required
      • discountIddsc_…required
      • codestringrequired
      • titlestringrequired
      • kind"code" | "automatic"required
      • amountMinorintegerrequired
    • discountCodestringrequired
    • giftCardobject | nullrequired
    • totalsobjectrequired
      • subtotalMinorintegerrequired
      • discountMinorintegerrequired
      • giftCardMinorintegerrequired
      • netMinorintegerrequired
      • taxRateBpsintegerrequired
      • taxMinorintegerrequired
      • totalMinorintegerrequired
      • taxKnownbooleanrequired
      • taxIncludedbooleanrequired
    • notestringrequired
    11 more fields
    • emailstringrequired
    • namestringrequired
    • countrystring | nullrequired
    • bumpsobject[]required
      • offeredByprd_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • lineIdln_… | nullrequired
    • upsellsobject[]required
      • productIdprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • headlinestringrequired
      • offeredByprd_… | nullrequired
      • variantIdvar_… | nullrequired
      • regularPriceMinorinteger | nullrequired
    • progressobject | nullrequired
    • messagesobject[]required
      • level"info" | "warn" | "error"required
      • field"discount" | "gift_card" | "cart"required
      • textstringrequired
    • updatedAtstringrequired
    • paymentobjectrequired
      • disabledMethods"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"[]required
      • adjustmentsobject[]required
        • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"required
        • deltaMinorintegerrequired
    • returnUrlstringrequired
    • cancelUrlstringrequired

    Apply a discount code or a gift card (`kind: auto` tells them apart)

    POST/v1/shops/{shop}/carts/{cartId}/codes
    Personal · private, no-storeshopCartApplyCode

    Parameters

    • cartIdstringrequired

    Body

    • kind"auto" | "discount" | "gift_card"required
    • codestringrequired

    Response

    • idcrt_…required
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • paymentModel"merchant_of_record" | "seller_gateway"required
    • linesobject[]required
      • idln_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • variantTitlestringrequired
      • optionsobjectrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • quantityintegerrequired
      • minQuantityintegerrequired
      • maxQuantityintegerrequired
      • unitPriceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • lineMinorintegerrequired
      • discountMinorintegerrequired
      • giftbooleanrequired
      • addOnOfprd_… | nullrequired
      • availablebooleanrequired
      • noticestringrequired
      • discordRolebooleanrequired
      • trialDaysintegerrequired
    • itemCountintegerrequired
    • discountsobject[]required
      • discountIddsc_…required
      • codestringrequired
      • titlestringrequired
      • kind"code" | "automatic"required
      • amountMinorintegerrequired
    • discountCodestringrequired
    • giftCardobject | nullrequired
    • totalsobjectrequired
      • subtotalMinorintegerrequired
      • discountMinorintegerrequired
      • giftCardMinorintegerrequired
      • netMinorintegerrequired
      • taxRateBpsintegerrequired
      • taxMinorintegerrequired
      • totalMinorintegerrequired
      • taxKnownbooleanrequired
      • taxIncludedbooleanrequired
    • notestringrequired
    11 more fields
    • emailstringrequired
    • namestringrequired
    • countrystring | nullrequired
    • bumpsobject[]required
      • offeredByprd_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • lineIdln_… | nullrequired
    • upsellsobject[]required
      • productIdprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • headlinestringrequired
      • offeredByprd_… | nullrequired
      • variantIdvar_… | nullrequired
      • regularPriceMinorinteger | nullrequired
    • progressobject | nullrequired
    • messagesobject[]required
      • level"info" | "warn" | "error"required
      • field"discount" | "gift_card" | "cart"required
      • textstringrequired
    • updatedAtstringrequired
    • paymentobjectrequired
      • disabledMethods"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"[]required
      • adjustmentsobject[]required
        • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"required
        • deltaMinorintegerrequired
    • returnUrlstringrequired
    • cancelUrlstringrequired

    Remove the discount code or the gift card

    DELETE/v1/shops/{shop}/carts/{cartId}/codes/{kind}
    Personal · private, no-storeshopCartRemoveCode

    Parameters

    • cartIdstringrequired
    • kind"discount" | "gift_card"required

    Response

    • idcrt_…required
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • paymentModel"merchant_of_record" | "seller_gateway"required
    • linesobject[]required
      • idln_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • variantTitlestringrequired
      • optionsobjectrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • quantityintegerrequired
      • minQuantityintegerrequired
      • maxQuantityintegerrequired
      • unitPriceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • lineMinorintegerrequired
      • discountMinorintegerrequired
      • giftbooleanrequired
      • addOnOfprd_… | nullrequired
      • availablebooleanrequired
      • noticestringrequired
      • discordRolebooleanrequired
      • trialDaysintegerrequired
    • itemCountintegerrequired
    • discountsobject[]required
      • discountIddsc_…required
      • codestringrequired
      • titlestringrequired
      • kind"code" | "automatic"required
      • amountMinorintegerrequired
    • discountCodestringrequired
    • giftCardobject | nullrequired
    • totalsobjectrequired
      • subtotalMinorintegerrequired
      • discountMinorintegerrequired
      • giftCardMinorintegerrequired
      • netMinorintegerrequired
      • taxRateBpsintegerrequired
      • taxMinorintegerrequired
      • totalMinorintegerrequired
      • taxKnownbooleanrequired
      • taxIncludedbooleanrequired
    • notestringrequired
    11 more fields
    • emailstringrequired
    • namestringrequired
    • countrystring | nullrequired
    • bumpsobject[]required
      • offeredByprd_…required
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • handlestringrequired
      • titlestringrequired
      • headlinestringrequired
      • bodystringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • regularPriceMinorintegerrequired
      • lineIdln_… | nullrequired
    • upsellsobject[]required
      • productIdprd_…required
      • handlestringrequired
      • titlestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • imageUrlstringrequired
      • priceMinorintegerrequired
      • compareAtMinorinteger | nullrequired
      • headlinestringrequired
      • offeredByprd_… | nullrequired
      • variantIdvar_… | nullrequired
      • regularPriceMinorinteger | nullrequired
    • progressobject | nullrequired
    • messagesobject[]required
      • level"info" | "warn" | "error"required
      • field"discount" | "gift_card" | "cart"required
      • textstringrequired
    • updatedAtstringrequired
    • paymentobjectrequired
      • disabledMethods"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"[]required
      • adjustmentsobject[]required
        • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"required
        • deltaMinorintegerrequired
    • returnUrlstringrequired
    • cancelUrlstringrequired

    What a checkout form of your own needs for this cart: ways to pay, fields, questions, terms, tips and totals

    GET/v1/shops/{shop}/carts/{cartId}/checkout-options
    Personal · private, no-storeshopCheckoutOptions

    Parameters

    • cartIdstringrequired
    • countrystring | null

    Response

    • cartIdstringrequired
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • countrystring | nullrequired
    • testModebooleanrequired
    • totalsobjectrequired
      • subtotalMinorintegerrequired
      • discountMinorintegerrequired
      • giftCardMinorintegerrequired
      • netMinorintegerrequired
      • taxRateBpsintegerrequired
      • taxMinorintegerrequired
      • totalMinorintegerrequired
      • taxKnownbooleanrequired
      • taxIncludedbooleanrequired
    • freebooleanrequired
    • methodsobject[]required
      • idstringrequired
      • provider"shopfast_pay" | "sandbox" | "stripe" | "paypal" | "btcpay" | "manual" | "plugin" | "crypto_direct" | "stripe_keys" | "paypal_keys" | "square" | "mollie" | "razorpay" | "paystack" | "nowpayments" | "cryptomus" | "paypal_email" | "shopify" | "paddle" | "heleket" | "sumup" | "authorize_net" | "nmi" | "skinloop" | "cashapp" | "paypal_ff" | "gift_codes"required
      • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code"required
      • optionstringrequired
      • manualMethodIdstringrequired
      • labelstringrequired
      • descriptionstringrequired
      • walletsstring[]required
      • adjustmentMinorintegerrequired
    • unavailablestring[]required
    • fieldsobjectrequired
      • name"required" | "optional" | "hidden"required
      • country"required" | "optional" | "hidden"required
      • phone"required" | "optional" | "hidden"required
      • address"required" | "optional" | "hidden"required
    • questionsobject[]required
      • idstringrequired
      • labelstringrequired
      • type"text" | "textarea" | "number" | "email" | "url" | "select" | "checkbox" | "discord" | "discord_id" | "password" | "hidden"required
      • requiredbooleanrequired
      • placeholderstringrequired
      • helpstringrequired
      • optionsstring[]required
      • defaultValuestringrequired
    7 more fields
    • consentobjectrequired
      • requiredbooleanrequired
      • textstringrequired
      • linkLabelstringrequired
      • linkUrlstringrequired
    • marketingOptInobjectrequired
      • offeredbooleanrequired
      • labelstringrequired
    • withdrawalWaiverobjectrequired
      • requiredbooleanrequired
      • textstringrequired
    • emailVerification"required" | "possible"required
    • codesobjectrequired
      • discountbooleanrequired
      • giftCardbooleanrequired
    • tipsobject | nullrequired
    • sellerobject | nullrequired

    Start a checkout with details from your own form; send the buyer to `payUrl`

    POST/v1/shops/{shop}/carts/{cartId}/checkout
    Personal · private, no-storeshopCheckoutStart

    Parameters

    • cartIdstringrequired

    Body

    • emailstringrequired
    • namestring
    • countrystring | null
    • phonestring | null
    • addressobject | null
    • customFieldsobject
    • consentboolean
    • marketingOptInboolean
    • provider"shopfast_pay" | "sandbox" | "stripe" | "paypal" | "btcpay" | "manual" | "plugin" | "crypto_direct" | "stripe_keys" | "paypal_keys" | "square" | "mollie" | "razorpay" | "paystack" | "nowpayments" | "cryptomus" | "paypal_email" | "shopify" | "paddle" | "heleket" | "sumup" | "authorize_net" | "nmi" | "skinloop" | "cashapp" | "paypal_ff" | "gift_codes" | null
    • method"card" | "apple_pay" | "google_pay" | "paypal" | "crypto" | "bank_transfer" | "store_credit" | "manual" | "cash_app" | "skins" | "gift_code" | null
    • optionstring | null
    • verificationCodestring | null
    • useStoreCreditboolean
    • manualMethodIdstring | null
    • tipMinorinteger
    • autoRenewobject[]
      • productIdprd_…required
      • variantIdvar_… | nullrequired
      • consentTextstringrequired
    • withdrawalWaiverboolean
    • companystring
    • taxIdstring
    • returnUrlstring | null
    • cancelUrlstring | null

    Response

    • sessionIdstringrequired
    • paidbooleanrequired
    • testbooleanrequired
    • payUrlstringrequired
    • orderUrlstringrequired
    • accessTokenstringrequired

    Orders

    An order's status, items and (once paid) keys and downloads, with its access token

    GET/v1/shops/{shop}/orders/{sessionId}
    Personal · private, no-storeshopOrder

    Parameters

    • sessionIdstringrequired
    • accessstring | null

    Response

    • sessionIdcs_…required
    • status"open" | "paid" | "expired"required
    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • itemsobject[]required
      • productIdprd_…required
      • namestringrequired
      • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
      • quantityintegerrequired
      • unitPriceMinorintegerrequired
      • variantNamestringrequired
      • imageUrlstringrequired
    • subtotalMinorintegerrequired
    • discountMinorintegerrequired
    • discountsobject[]required
      • discountIddsc_…required
      • codestringrequired
      • titlestringrequired
      • kind"code" | "automatic"required
      • amountMinorintegerrequired
    • giftCardMinorintegerrequired
    • taxRateBpsintegerrequired
    • taxMinorintegerrequired
    13 more fields
    • totalMinorintegerrequired
    • taxIncludedbooleanrequired
    • tipMinorintegerrequired
    • buyerEmailMaskedstringrequired
    • paymentModel"merchant_of_record" | "seller_gateway"required
    • orderobject | nullrequired
    • deliverablesobject | nullrequired
    • canCreateAccountbooleanrequired
    • expiresAtstring | nullrequired
    • storeCreditMinorintegerrequired
    • manualobject | nullrequired
    • payPagestringrequired
    • testboolean

    Buyer accounts

    Email the buyer a one-time sign-in code

    POST/v1/shops/{shop}/customer/code
    Personal · private, no-storeshopCustomerCode

    Body

    • emailstringrequired

    Response

    • okbooleanrequired

    Trade the code for a session token (creates the account on first sign-in)

    POST/v1/shops/{shop}/customer/session
    Personal · private, no-storeshopCustomerSession

    Body

    • emailstringrequired
    • codestringrequired

    Response

    • tokenstringrequired
    • accountobjectrequired
      • idbya_…required
      • emailstringrequired
      • namestringrequired
      • phonestringrequired
      • countrystring | nullrequired
      • hasPasswordbooleanrequired
      • marketingOptInbooleanrequired
      • createdAtstringrequired
      • storeCreditobject | nullrequired
    • expiresAtstringrequired

    End the session

    DELETE/v1/shops/{shop}/customer/session
    Personal · private, no-storeshopCustomerSignOut

    Response

    • okbooleanrequired

    The signed-in buyer, with their store credit

    GET/v1/shops/{shop}/customer
    Personal · private, no-storeshopCustomer

    Response

    • accountobjectrequired
      • idbya_…required
      • emailstringrequired
      • namestringrequired
      • phonestringrequired
      • countrystring | nullrequired
      • hasPasswordbooleanrequired
      • marketingOptInbooleanrequired
      • createdAtstringrequired
      • storeCreditobject | nullrequired

    Every order the buyer placed in this store

    GET/v1/shops/{shop}/customer/orders
    Personal · private, no-storeshopCustomerOrders

    Response

    • ordersobject[]required
      • orderIdord_…required
      • sessionIdcs_… | nullrequired
      • numberstringrequired
      • status"pending" | "paid" | "fulfilled" | "partially_fulfilled" | "refunded" | "disputed" | "failed"required
      • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
      • totalMinorintegerrequired
      • itemsobject[]required
        • namestringrequired
        • type"file" | "license_key" | "serial" | "subscription" | "discord_role" | "service" | "bundle"required
        • quantityintegerrequired
      • paidAtstring | nullrequired
      • createdAtstringrequired

    License keys, downloads (fresh signed links) and subscriptions

    GET/v1/shops/{shop}/customer/library
    Personal · private, no-storeshopCustomerLibrary

    Response

    • keysobject[]required
      • productIdprd_…required
      • productNamestringrequired
      • valuestringrequired
      • orderNumberstringrequired
      • orderIdord_…required
      • deliveredAtstringrequired
    • downloadsobject[]required
      • productIdprd_…required
      • namestringrequired
      • urlstringrequired
      • expiresAtstringrequired
      • orderNumberstringrequired
      • orderIdord_…required
      • timesBoughtintegerrequired
    • subscriptionsobject[]required
      • idsub_…required
      • productIdprd_…required
      • productNamestringrequired
      • status"active" | "cancelled"required
      • currentPeriodEndstringrequired
      • cancelAtPeriodEndbooleanrequired
      • orderNumberstringrequired
      • createdAtstringrequired
      • pastDuebooleanrequired
      • renewUrlstringrequired
      • endedbooleanrequired
    • notesobject[]required
      • productIdprd_…required
      • productNamestringrequired
      • kind"message" | "option" | "keys" | "service" | "dynamic" | "warranty"required
      • titlestringrequired
      • htmlstringrequired
      • textstringrequired
      • bookingUrlstringrequired
      • turnaroundDaysinteger | nullrequired
      • orderNumberstringrequired

    Cancel a subscription at the end of the period

    POST/v1/shops/{shop}/customer/subscriptions/{subscriptionId}/cancel
    Personal · private, no-storeshopCustomerCancelSubscription

    Parameters

    • subscriptionIdstringrequired

    Response

    • idsub_…required
    • productIdprd_…required
    • productNamestringrequired
    • status"active" | "cancelled"required
    • currentPeriodEndstringrequired
    • cancelAtPeriodEndbooleanrequired
    • orderNumberstringrequired
    • createdAtstringrequired
    • pastDuebooleanrequired
    • renewUrlstringrequired
    • endedbooleanrequired

    Store credit, gift cards and coupons

    GET/v1/shops/{shop}/customer/wallet
    Personal · private, no-storeshopCustomerWallet

    Response

    • currency"USD" | "EUR" | "GBP" | "CAD" | "AUD" | "INR" | "NPR" | "JPY"required
    • storeCreditMinorintegerrequired
    • giftCardsobject[]required
      • last4stringrequired
      • balanceMinorintegerrequired
      • expiresAtstring | nullrequired
    • couponsobject[]required
      • codestringrequired
      • titlestringrequired
      • labelstringrequired
      • endsAtstring | nullrequired

    Support

    Open a support ticket (a signed-in buyer, or a guest who gets an access link by email)

    POST/v1/shops/{shop}/support/tickets
    Personal · private, no-storeshopSupportOpen

    Body

    • namestringrequired
    • emailstringrequired
    • subjectstringrequired
    • categorystring | null
    • messagestringrequired
    • channel"web" | "widget" | "order"
    • orderobject | null
    • attachmentsobject[]
      • idtatt_…required
      • claimstringrequired
    • websitestring

    Response

    • ticketIdtkt_…required
    • numberintegerrequired
    • accessstringrequired

    The signed-in buyer's tickets

    GET/v1/shops/{shop}/support/tickets
    Personal · private, no-storeshopCustomerTickets

    Response

    • itemsobject[]required
      • idtkt_…required
      • numberintegerrequired
      • subjectstringrequired
      • status"open" | "pending" | "on_hold" | "solved" | "closed"required
      • categorystringrequired
      • orderNumberstringrequired
      • orderSessionIdcs_… | nullrequired
      • createdAtstringrequired
      • lastMessageAtstringrequired
      • awaitingBuyerbooleanrequired
      • satisfactioninteger | nullrequired
      • canRatebooleanrequired

    One ticket with its messages (signed in, or with the access token from the email)

    GET/v1/shops/{shop}/support/tickets/{ticketId}
    Personal · private, no-storeshopSupportTicket

    Parameters

    • ticketIdstringrequired
    • accessstring | null

    Response

    • idtkt_…required
    • numberintegerrequired
    • subjectstringrequired
    • status"open" | "pending" | "on_hold" | "solved" | "closed"required
    • categorystringrequired
    • orderNumberstringrequired
    • orderSessionIdcs_… | nullrequired
    • createdAtstringrequired
    • lastMessageAtstringrequired
    • awaitingBuyerbooleanrequired
    3 more fields
    • satisfactioninteger | nullrequired
    • canRatebooleanrequired
    • messagesobject[]required
      • idtmsg_…required
      • from"buyer" | "store"required
      • authorNamestringrequired
      • bodystringrequired
      • attachmentsobject[]required
        • idtatt_…required
        • filenamestringrequired
        • contentTypestringrequired
        • bytesintegerrequired
        • urlstringrequired
        • isImagebooleanrequired
      • createdAtstringrequired

    Reply on a ticket (reopens it)

    POST/v1/shops/{shop}/support/tickets/{ticketId}/messages
    Personal · private, no-storeshopSupportReply

    Parameters

    • ticketIdstringrequired

    Body

    • accessstring | nullrequired
    • bodystringrequired
    • attachmentsobject[]required
      • idtatt_…required
      • claimstringrequired

    Response

    • idtkt_…required
    • numberintegerrequired
    • subjectstringrequired
    • status"open" | "pending" | "on_hold" | "solved" | "closed"required
    • categorystringrequired
    • orderNumberstringrequired
    • orderSessionIdcs_… | nullrequired
    • createdAtstringrequired
    • lastMessageAtstringrequired
    • awaitingBuyerbooleanrequired
    3 more fields
    • satisfactioninteger | nullrequired
    • canRatebooleanrequired
    • messagesobject[]required
      • idtmsg_…required
      • from"buyer" | "store"required
      • authorNamestringrequired
      • bodystringrequired
      • attachmentsobject[]required
        • idtatt_…required
        • filenamestringrequired
        • contentTypestringrequired
        • bytesintegerrequired
        • urlstringrequired
        • isImagebooleanrequired
      • createdAtstringrequired
    Was this page helpful?