For the complete documentation index, see llms.txt. This page is also available as Markdown.

[GET] Offer detail

* Authentication

Required Authorization

Limit throttle:30,1

Endpoint [GET] - /shop-api/pre-order/get/{offer_id}

Headers

Header
Required
Description

Authorization

Yes

Shop public API key Bearer token

Content-Type

Yes

application/json

1. Request Payload

Path parameter (no JSON body).

Parameter
Location
Type
Required
Description

id

path

integer | string

Yes

Offer (profile) ID

Example

GET /shop-api/pre-order/get/123
Authorization: Bearer token ************

2. Success Response 200

{
    "success": true,
    "data": {
        "id": 123,
        "offer_name": "Summer Pre-order",
        "start_date": "2026-08-01 00:00:00",
        "end_date": "2026-09-30 23:59:59",
        "countdown_before_preorder_start": true,
        "countdown_before_preorder_end": false,
        "apply_to": "product",
        "preorder_condition_inventory": "outofstock",
        "fulfillment_status": "ON_HOLD",
        "fulfillment_shipping_date": "2026-10-15",
        "turn_on_continue_selling_when_preorder_start": true,
        "turn_off_continue_selling_when_preorder_end": true,
        "status": 1,
        "products": [
            {
                "product_id": 7890123456789,
                "variant_id": 4567890123456,
                "limit": 100
            },
            {
                "product_id": 7890123456790,
                "variant_id": 4567890123457,
                "limit": null
            }
        ],
        "full_payment_discount_type": "percentage",
        "full_payment_discount_value": 10,
        "partial_payment_value": 30,
        "partial_payment_value_type": "percentage",
        "partial_payment_discount_value": 5,
        "partial_payment_discount_type": "percentage",
        "partial_payment_remaining_balance_charge_date": "2026-10-01"
    }
}

Difference from List: Detail returns the full products list stored on the offer. List only returns a sample first product when apply_to = product.


3. Response Keys & Fields

Top-level

Key
Type
Description

success

boolean

true when the offer is found

data

object

Offer detail object

data offer object

Field
Type
Description

id

integer

Offer ID

offer_name

string

Offer name

start_date

string | null

Pre-order start datetime

end_date

string | null

Pre-order end datetime; null if unlimited / not set

countdown_before_preorder_start

boolean

Countdown before start enabled

countdown_before_preorder_end

boolean

Countdown before end enabled

apply_to

string

product | collection | all

preorder_condition_inventory

string

Inventory trigger, e.g. now, outofstock, instock

fulfillment_status

string | null

ON_HOLD | UNFULFILLMENT | SCHEDULED

fulfillment_shipping_date

string

Present when fulfillment uses exact shipping date

fulfillment_after_checkout

mixed

Present when fulfillment uses days after checkout

turn_on_continue_selling_when_preorder_start

boolean

Auto-enable continue selling when offer starts

turn_off_continue_selling_when_preorder_end

boolean

Auto-disable continue selling when offer ends

status

integer | null

Offer status

1 is active 0 is draft

products

array

Only when apply_to = product

collection_id

integer

Only when apply_to = collection

collection_name

string

Optional collection title when stored on the offer

full_payment_discount_type

string

Full-payment discount type percentage fixed

full_payment_discount_value

number

Full-payment discount value

partial_payment_value

number | null

Deposit / partial amount (only if partial payment enabled)

partial_payment_value_type

string

Partial amount type (percentage | fixed)

partial_payment_discount_value

number

Discount on partial payment

partial_payment_discount_type

string

Partial discount type (percentage | fixed)

partial_payment_remaining_balance_charge_date

string | null

Remaining balance charge date (exact-time trigger)

Field
Type
Description

product_id

integer

Shopify product ID

variant_id

integer

Shopify variant ID

limit

integer | null

Unit limit; null = unlimited

Conditional fields by apply_to

apply_to

Included fields

product

products

collection

collection_id (+ optional collection_name)

all

neither

Conditional fulfillment / payment fields

Condition
Fields

Exact shipping date

fulfillment_shipping_date

Days after checkout

fulfillment_after_checkout

Mutual exclusivity

Only one of the two fulfillment timing fields

Partial payment enabled

partial_payment_* fields


4. Failed Response

Unauthorized — 401

Missing ID — HTTP 200

Offer not found — HTTP 200

Returned when the ID does not exist, or belongs to another shop.

Unexpected server error — HTTP 200

Last updated

Was this helpful?