Nexus Commerce API (3.0.0)

Download OpenAPI specification:

License: Proprietary

Public v3 commerce contract for storefront, customer, and authenticated business commerce flows.

This specification intentionally documents only the /v3 namespace. Store-derived public storefront routes under /v3/stores/{store_id}/public/* require X-Scalev-Storefront-Api-Key. HTML Mode public page runtime routes under /v3/pages/{page_unique_id}/* require X-Scalev-Page-Api-Key and do not accept storefront public API keys. Storefront API requests made with X-Scalev-Storefront-Api-Key, page runtime requests made with X-Scalev-Page-Api-Key, and guest-cart requests made with X-Scalev-Guest-Token are browser client requests and use the direct client/IP rate limiter. Machine-authenticated business requests are rate-limited per API key or OAuth installation. Rate-limit metadata is returned in X-Ratelimit-* headers, and 429 responses may be plain text.

Orders

Authenticated business order management endpoints.

List business orders

Requires the order:list scope. Retrieves a paginated list of orders with optional filtering. The data is sorted by created_at in descending order and cannot be changed. Uses cursor-based pagination with default page size of 25 and maximum of 25.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term for the selected search_field. Defaults to order ID search when search_field is omitted or unsupported.

search_field
string
Default: "order_id"
Enum: "order_id" "shipment_receipt" "external_id" "pg_reference_id" "gross_revenue" "customer_name" "customer_email" "customer_phone"

Field used by search. Defaults to order_id when omitted or unsupported.

is_probably_spam
string
Enum: "true" "false"

Filter spam orders

business_role
string
Enum: "retailer" "fulfillment_provider"

Filter by business role

draft_time_until
string <datetime>

Filter orders by draft time until (ISO 8601 format)

confirmed_time_since
string <datetime>

Filter orders by confirmed time since (ISO 8601 format)

confirmed_time_until
string <datetime>

Filter orders by confirmed time until (ISO 8601 format)

shipped_time_since
string <datetime>

Filter orders by shipped time since (ISO 8601 format)

shipped_time_until
string <datetime>

Filter orders by shipped time until (ISO 8601 format)

completed_time_since
string <datetime>

Filter orders by completed time since (ISO 8601 format)

completed_time_until
string <datetime>

Filter orders by completed time until (ISO 8601 format)

is_from_form
string
Enum: "true" "false"

Filter orders created from a form

is_repeat
string
Enum: "true" "false"

Filter repeat orders

tags
string

Comma-separated list of tags to filter orders

product_id
string

Filter orders containing a specific product ID

is_transferproof_exist
string
Enum: "true" "false"

Filter orders with transfer proof

order_id
string

Filter orders by specific order ID

awb_ca_status
string
Enum: "unavailable" "pending" "waiting" "failed" "created" "canceled"

Filter orders by AWB status

status
string
Enum: "draft" "pending" "confirmed" "in_process" "ready" "canceled" "shipped" "shipped_rts" "completed" "rts" "closed"

Filter orders by status

payment_status
string
Enum: "paid" "unpaid" "conflict" "settled"

Filter orders by payment status

payment_method
string
Enum: "va" "qris" "card" "invoice" "alfamart" "indomaret" "ovo" "dana" "shopeepay" "linkaja" "gopay" "no_payment" "bank_transfer" "marketplace" "cod"

Filter orders by payment method

shipment_status
string

Filter orders by shipment status

business_id
string

Filter orders by business ID

store_id
string

Filter orders by store ID

warehouse_id
string

Filter orders by warehouse ID

courier_id
string

Filter orders by courier ID

handler_id
string

Filter orders by handler ID

advertiser_id
string

Filter orders by advertiser ID

platform
string
Enum: "scalev" "tiktokshop" "tokopedia" "shopee" "lazada" "blibli" "bukalapak" "orderonline" "berdu"

Filter orders by platform

financial_entity_id
string

Filter orders by financial entity ID

page_id
string

Filter orders by page ID

external_id
string

Filter orders by external ID

affiliate_business_id
integer

Filter orders by affiliate business ID (for affiliates to see orders they brought)

utm_source
string

Filter orders by UTM source

columns
string

Comma-separated list of columns to include. Available columns: secret_slug, public_order_url, payment_url, final_variants, store, origin_address, address_location, handler_phone, order_id, destination_address, quantity, product_price, total_weight, courier_service, shipping_cost, payment_method, gross_revenue, shipment_receipt, courier_additional_info, payment_status, status, customer, draft_time, orderlines, is_dropshipping, dropshipper_name, dropshipper_phone, unique_code_discount, tags, awb_status, awb_ca_status, follow_up_chats, follow_up_chat_type, message_history, metadata, notes, courier_aggregator_code, shipment_account, payment_account, financial_entity, payment_account_holder, payment_account_number, transferproof_url, transfer_time, product_discount, shipping_discount, other_income, other_income_name, shipment_status, is_repeat, platform, external_id, is_purchase_fb, is_purchase_tiktok, is_purchase_kwai, fb_pixel_ids, tiktok_pixel_ids, kwai_pixel_ids, pending_time, confirmed_time, shipped_time, completed_time, rts_time, canceled_time, closed_time, warehouse, page, channel_name, handler, advertiser, pg_payment_info, sub_payment_method, epayment_provider, invoice_url, pg_reference_id, net_revenue, payment_fee, scalev_fee, net_payment_revenue, discount_code_discount, discount_code_code, discount_code_applied_to, utm_source

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a business order

Requires the order:create scope. Create a new order with the provided details.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Order creation data

dropshipper_name
string

Dropshipper name

transferproof_url
string

Transfer proof URL

dropshipper_phone
string

Dropshipper phone

customer_name
required
string

Customer name

shipping_cost
number

Shipping cost

product_discount
number

Product discount amount

courier_service_id
integer

Courier service ID

payment_account_number
string

Payment account number

payment_method
string
Enum: "va" "qris" "card" "invoice" "alfamart" "indomaret" "ovo" "dana" "shopeepay" "linkaja" "gopay" "no_payment" "bank_transfer" "marketplace" "cod"

Order payment method

Array of objects

Order variants

shipping_discount
number

Shipping discount amount

store_unique_id
required
string

Store unique ID

customer_phone
string

Customer phone number

is_dropshipping
boolean

Is dropshipping order

sub_payment_method
string
Enum: "BCA" "BNI" "BRI" "MANDIRI" "PERMATA" "BSI" "BJB" "CIMB" "SAHABAT_SAMPOERNA" "ARTAJASA"

Xendit VA bank code

warehouse_unique_id
string

Warehouse unique ID

other_income_name
string

Other income name

other_income
number

Other income amount

is_probably_spam
boolean
Default: false

Is the order probably spam

Array of objects

Order bundles

page_unique_id
string

Page unique ID

channel_unique_id
string

Channel unique ID

address
string

Recipient address

customer_email
string <email>

Customer email

payment_account_unique_id
string

Payment account unique ID

object

Untrusted agent or app attribution metadata

financial_entity_id
integer

Financial entity ID

location_id
integer

Location ID

postal_code
string

Postal code

payment_account_holder
string

Payment account holder name

shipment_provider_code
string or null
Enum: "mengantar" "lincah" "ninja"

Shipment provider code

object

Additional metadata

notes
string

Order notes

Responses

Request samples

Content type
application/json
{
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "dropshipper_phone": "string",
  • "customer_name": "string",
  • "shipping_cost": 0,
  • "product_discount": 0,
  • "courier_service_id": 0,
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "ordervariants": [
    ],
  • "shipping_discount": 0,
  • "store_unique_id": "string",
  • "customer_phone": "string",
  • "is_dropshipping": true,
  • "sub_payment_method": "BCA",
  • "warehouse_unique_id": "string",
  • "other_income_name": "string",
  • "other_income": 0,
  • "is_probably_spam": false,
  • "orderbundles": [
    ],
  • "page_unique_id": "string",
  • "channel_unique_id": "string",
  • "address": "string",
  • "customer_email": "user@example.com",
  • "payment_account_unique_id": "string",
  • "agent_context": { },
  • "financial_entity_id": 0,
  • "location_id": 0,
  • "postal_code": "string",
  • "payment_account_holder": "string",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Get order statistics

Requires the order:statistics:list scope. Retrieves descriptive statistics about orders, such as total orders, total revenue, and other aggregated data. Can be filtered using the same parameters as the orders list endpoint.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
datetime_type
string
Default: "draft_time"
Enum: "draft_time" "pending_time" "confirmed_time" "in_process_time" "ready_time" "canceled_time" "shipped_time" "shipped_rts_time" "completed_time" "rts_time" "closed_time"

Type of datetime for statistics (defaults to 'draft_time')

tz
string
Default: "Asia/Jakarta"

Timezone for datetime adjustment (defaults to 'Asia/Jakarta')

breakdown_date
string
Default: "off"
Enum: "off" "day" "week" "month"

Date breakdown for statistics (defaults to 'off')

is_breakdown_status
string
Default: "false"
Enum: "true" "false"

Include breakdown by order status (defaults to 'false')

custom_breakdown_key
string
Default: "off"
Enum: "off" "handler_id" "advertiser_id" "page_id" "city" "province"

Custom breakdown key for statistics (defaults to 'off')

minimum_days
integer
Default: 0

Minimum number of days for statistics (defaults to 0)

search
string

Search term for the selected search_field. Defaults to order ID search when search_field is omitted or unsupported.

search_field
string
Default: "order_id"
Enum: "order_id" "shipment_receipt" "external_id" "pg_reference_id" "gross_revenue" "customer_name" "customer_email" "customer_phone"

Field used by search. Defaults to order_id when omitted or unsupported.

status
string

Filter by order status

payment_status
string

Filter by payment status

business_id
string

Filter by business ID

store_id
string

Filter by store ID

shipped_time_since
string <datetime>

Filter by shipped time since (ISO 8601 format)

shipped_time_until
string <datetime>

Filter by shipped time until (ISO 8601 format)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true
}

Change order status in bulk

Requires the order:change_status scope. Change the status of multiple orders.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Status or payment status change data

Any of
by
string or null

Entity or user performing the status change

financial_entity_id
integer or null

Financial entity ID

required
Array of strings or integers (OrderPrimaryKeyInput)
payment_account_holder
string or null

Payment account holder name

payment_account_number
string or null

Payment account number

payment_method
string
Enum: "va" "qris" "card" "invoice" "alfamart" "indomaret" "ovo" "dana" "shopeepay" "linkaja" "gopay" "no_payment" "bank_transfer" "marketplace" "cod"

Order payment method

payment_status
string
Enum: "unpaid" "paid" "conflict" "settled"

Order payment status

rtsproof_url
string or null

Return to sender proof image URL

status
required
string
Enum: "draft" "pending" "confirmed" "in_process" "ready" "shipped" "completed" "canceled" "rts" "closed"

Order status

transfer_time
string or null <date-time>

Transfer timestamp (ISO 8601 format)

transferproof_url
string or null

Transfer proof image URL

Responses

Request samples

Content type
application/json
{
  • "by": "string",
  • "financial_entity_id": 0,
  • "ids": [
    ],
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "payment_status": "unpaid",
  • "rtsproof_url": "string",
  • "status": "draft",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "transferproof_url": "string"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Delete orders in bulk

Requires the order:delete scope. Delete multiple orders by IDs.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Order primary keys to delete

required
Array of strings or integers (OrderPrimaryKeyInput)

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Mark orders as not spam

Requires the order:update scope. Mark multiple orders as not spam.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Mark not spam data

required
Array of strings or integers (OrderPrimaryKeyInput)

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Upload a CSV to change order status

Requires the order:change_status scope. Upload a CSV file to change status of multiple orders. Template file can be downloaded from the link here: https://app.scalev.id/example/update_status_template.csv. (1) Leave blank the 'shipment_receipt' field if you don't want to change the receipt/tracking number. Note: this will not change receipts/tracking numbers that are automatically generated by Scalev through the 'Request Pickup' menu. (2) Leave blank the 'day', 'month', and 'year' fields if you want to use the time of upload.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: multipart/form-data
optional

CSV upload

file
required
string <binary>
tz
required
string

Timezone in IANA format, e.g., 'Asia/Jakarta'

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Upload order receipt data

Requires the order:update scope. Upload file to update shipment receipts (tracking IDs) for multiple orders. Template file can be downloaded from the link here: https://app.scalev.id/example/receipt_template.csv.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: multipart/form-data
optional

Receipt upload

file
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "data": [],
  • "is_paginated": false
}

Upload orders from a file

Requires the order:create scope. Upload orders from CSV file. (1) Archive mode. Choose this mode if you want to import old data from another platform you've been using. You can directly create products that you made on your previous platform. Orders that are created will immediately have 'Completed' status. Download template for Archive mode here: https://app.scalev.id/example/template_archive.csv. (2) Regular mode. Choose this mode if you want to enter current data that you wish to input in bulk, not one by one via order input. It will take inventory into account if your products have inventory enabled. Successfully created orders will have 'Created', 'Pending', or 'Confirmed' status, depending on the completeness of the data. Download template for Regular mode here: https://app.scalev.id/example/template_regular.csv.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: multipart/form-data
optional

Orders CSV upload

create_type
required
string
Enum: "archive" "regular"

Choose 'archive' for Archive mode, 'regular' for Regular mode

file
required
string <binary>
tz
required
string

Timezone in IANA format, e.g., 'Asia/Jakarta'

Responses

Response samples

Content type
application/json
{
  • "failed": {
    },
  • "success": [
    ]
}

Generate airway bills for orders

Requires the order:create_awb scope. Generate Air Waybill for multiple orders.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

AWB generation data

required
Array of strings or integers (OrderPrimaryKeyInput)

Order primary keys to generate AWB

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "failures": {
    },
  • "successes": {
    }
}

Cancel airway bills for orders

Requires the order:create_awb scope. Cancel Air Waybill for multiple orders.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

AWB cancellation data

required
Array of strings or integers (OrderPrimaryKeyInput)

Order primary keys to cancel AWB

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "failures": {
    },
  • "successes": {
    }
}

List order tags

Requires the order:list scope. Retrieve a list of tags associated with orders.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
search
string

Search term to filter tags by name

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List order UTM sources

Requires the order:list scope. Retrieve a list of unique UTM source values from orders.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
search
string

Search term to filter UTM sources

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List order UTM mediums

Requires the order:list scope. Retrieve a list of unique UTM medium values from orders.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
search
string

Search term to filter UTM mediums

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List order UTM campaigns

Requires the order:list scope. Retrieve a list of unique UTM campaign values from orders.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
search
string

Search term to filter UTM campaigns

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List order UTM contents

Requires the order:list scope. Retrieve a list of unique UTM content values from orders.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
search
string

Search term to filter UTM contents

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List order UTM terms

Requires the order:list scope. Retrieve a list of unique UTM term values from orders.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
search
string

Search term to filter UTM terms

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get an order by payment gateway reference ID

Requires the order:read scope. Retrieve order details using payment gateway reference ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
pg_reference_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Get orders by payment gateway reference IDs

Requires the order:list scope. Retrieve orders using multiple payment gateway reference IDs.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
pg_reference_ids
required
string

Comma-separated payment gateway reference IDs

Responses

Response samples

Content type
application/json
{
  • "PG_REFERENCE_ID": {
    }
}

Get a business order

Requires the order:read scope. Retrieve detailed information about a specific order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Update a business order

Requires the order:update scope. Update order details by ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Request Body schema: application/json
optional

Order update data

address
string

Recipient address

channel_unique_id
string

Channel unique ID

courier_service_id
integer

Courier service ID

customer_email
string <email>

Customer email

customer_name
string

Customer name

customer_phone
string

Customer phone number

dropshipper_name
string

Dropshipper name

dropshipper_phone
string

Dropshipper phone

financial_entity_id
integer

Financial entity ID

is_dropshipping
boolean

Is dropshipping order

location_id
integer

Location ID

notes
string

Order notes

Array of objects

Order bundles

Array of objects

Order variants

other_income
number

Other income amount

other_income_name
string

Other income name

page_unique_id
string

Page unique ID

payment_account_holder
string

Payment account holder name

payment_account_number
string

Payment account number

payment_account_unique_id
string

Payment account unique ID

payment_method
string
Enum: "va" "qris" "card" "invoice" "alfamart" "indomaret" "ovo" "dana" "shopeepay" "linkaja" "gopay" "no_payment" "bank_transfer" "marketplace" "cod"

Order payment method

postal_code
string

Postal code

product_discount
number

Product discount amount

shipment_provider_code
string or null
Enum: "mengantar" "lincah" "ninja"

Shipment provider code

shipping_cost
number

Shipping cost

shipping_discount
number

Shipping discount amount

sub_payment_method
string
Enum: "BCA" "BNI" "BRI" "MANDIRI" "PERMATA" "BSI" "BJB" "CIMB" "SAHABAT_SAMPOERNA" "ARTAJASA"

Xendit VA bank code

transferproof_url
string

Transfer proof URL

warehouse_unique_id
string

Warehouse unique ID

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "channel_unique_id": "string",
  • "courier_service_id": 0,
  • "customer_email": "user@example.com",
  • "customer_name": "string",
  • "customer_phone": "string",
  • "dropshipper_name": "string",
  • "dropshipper_phone": "string",
  • "financial_entity_id": 0,
  • "is_dropshipping": true,
  • "location_id": 0,
  • "notes": "string",
  • "orderbundles": [
    ],
  • "ordervariants": [
    ],
  • "other_income": 0,
  • "other_income_name": "string",
  • "page_unique_id": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "payment_account_unique_id": "string",
  • "payment_method": "va",
  • "postal_code": "string",
  • "product_discount": 0,
  • "shipment_provider_code": "mengantar",
  • "shipping_cost": 0,
  • "shipping_discount": 0,
  • "sub_payment_method": "BCA",
  • "transferproof_url": "string",
  • "warehouse_unique_id": "string"
}

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Get available actions for an order

Requires the order:read scope. Retrieve flags to determine available actions for an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_digital_product_present": true,
  • "is_lms_product_present": true,
  • "is_physical_product_present": true,
  • "order_id": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com"
}

Get order chat text

Requires the order:read scope. Retrieve chat text messages associated with an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "chat_message": "string",
  • "follow_up_chat_type": "string",
  • "follow_up_chats": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "is_probably_spam": true,
  • "mark_as_spam_by": "string",
  • "order_id": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "payment_status": "unpaid",
  • "secret_slug": "string",
  • "status": "draft"
}

Get a single order chat entry

Requires the order:read scope. Retrieve a specific chat text message.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

chat_id
required
string

Responses

Response samples

Content type
application/json
{
  • "change_status": true,
  • "hours_after": 0,
  • "id": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "provider": "string",
  • "text": "string",
  • "text_url": "string",
  • "trigger": "string",
  • "wa_integration_id": 0
}

List order emails

Requires the order:list scope. Get list of emails sent for an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Get order message history

Requires the order:read scope. Get message history for an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "message_history": [
    ]
}

Add order message history

Requires the order:update scope. Add a new message to order message history.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Request Body schema: application/json
optional

Message data

follow_up_chat_id
required
integer

Follow-up chat ID

Responses

Request samples

Content type
application/json
{
  • "follow_up_chat_id": 0
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "message_history": [
    ]
}

Create a payment for an order

Requires the order:update scope. Create a payment request / intent for an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
Example
{}

Update order customer data

Requires the order:update scope. Update the customer associated with an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Request Body schema: application/json
optional

Customer update data

customer_id
required
integer

Customer ID

Responses

Request samples

Content type
application/json
{
  • "customer_id": 0
}

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Update raw shipment data

Requires the order:update scope. Update shipment-related data for an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Request Body schema: application/json
optional

Shipment-related data

awb_ca_status
string
Enum: "unavailable" "pending" "waiting" "failed" "created" "canceled"

Order AWB courier aggregator status

courier_additional_info
string or null

Additional courier information

is_shipment_completed
boolean

Is the shipment completed

shipment_provider_code
string or null
Enum: "mengantar" "lincah" "ninja"

Shipment provider code

shipment_receipt
string or null

Shipment receipt / tracking ID

Responses

Request samples

Content type
application/json
{
  • "awb_ca_status": "unavailable",
  • "courier_additional_info": "string",
  • "is_shipment_completed": true,
  • "shipment_provider_code": "mengantar",
  • "shipment_receipt": "string"
}

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Update shipment receipt data

Requires the order:update scope. Update shipment receipt / tracking ID for an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Request Body schema: application/json
optional

Update shipment receipt data

shipment_receipt
required
string

Responses

Request samples

Content type
application/json
{
  • "shipment_receipt": "string"
}

Response samples

Content type
application/json
{}

Add shipment status history to an order

Requires the order:update scope. Create a new shipment status history entry for an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Request Body schema: application/json
optional

Shipment status history data

description
required
string

Description of the shipment status change

status
required
string
Enum: "draft" "pending" "confirmed" "in_process" "ready" "shipped" "completed" "canceled" "rts" "closed"

Order status

timestamp
required
string <date-time>

Timestamp of the shipment status change (ISO 8601 format)

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "status": "draft",
  • "timestamp": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Update order tags

Requires the order:update scope. Update tags for an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Request Body schema: application/json
optional

Order tags data

tags
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Trigger purchase processing for an order

Requires the order:update scope. Trigger purchase event for analytics and tracking.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "kwai": { },
  • "meta": { },
  • "tiktok": { }
}

Duplicate and cancel an order

Requires the order:create scope. Create a duplicate of an order and cancel the original.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Request Body schema: application/json
optional

Duplicate order data

financial_entity_id
integer

Financial entity ID

object

Metadata to be copied to the new order

payment_account_holder
string

Payment account holder name

payment_account_number
string

Payment account number

payment_method
string
Enum: "va" "qris" "card" "invoice" "alfamart" "indomaret" "ovo" "dana" "shopeepay" "linkaja" "gopay" "no_payment" "bank_transfer" "marketplace" "cod"

Order payment method

sub_payment_method
string
Enum: "BCA" "BNI" "BRI" "MANDIRI" "PERMATA" "BSI" "BJB" "CIMB" "SAHABAT_SAMPOERNA" "ARTAJASA"

Xendit VA bank code

Responses

Request samples

Content type
application/json
{
  • "financial_entity_id": 0,
  • "metadata": { },
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "sub_payment_method": "BCA"
}

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Check order payment status

Requires the order:read scope. Check the payment status of an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Check order settlement status

Requires the order:read scope. Check the settlement status of an order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "gross_revenue_for_dropshipper": "string",
  • "advertiser": {
    },
  • "cogs": "string",
  • "dropshipper_name": "string",
  • "transferproof_url": "string",
  • "scalev_fee": "string",
  • "shipment_status_history": [
    ],
  • "discount_code_code": "string",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "warehouse": {
    },
  • "payment_fee_rate": "string",
  • "pg_paid_info": { },
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "dropshipper_phone": "string",
  • "shipping_cost": "string",
  • "product_price": "string",
  • "total_quantity": 0,
  • "net_revenue": "string",
  • "bundle_price_options": { },
  • "customer": {
    },
  • "variants": { },
  • "chat_message": "string",
  • "handler_phone": "string",
  • "business": {
    },
  • "order_emails": [
    ],
  • "order_id": "string",
  • "product_discount": "string",
  • "last_updated_by": {
    },
  • "handler": {
    },
  • "payment_account_number": "string",
  • "payment_method": "va",
  • "courier": 0,
  • "origin_address": {
    },
  • "epayment_provider": "string",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "pg_reference_id": "string",
  • "weight_bump": "string",
  • "follow_up_chat_type": "string",
  • "awb_status": "unavailable",
  • "platform": "string",
  • "follow_up_chats": [
    ],
  • "is_purchase_kwai": true,
  • "shipping_discount": "string",
  • "conflict_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "status": "draft",
  • "is_dropshipping": true,
  • "payment_account_id": 0,
  • "is_repeat": true,
  • "tiktok_pixel_ids": [
    ],
  • "fb_pixel_ids": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "is_purchase_tiktok": true,
  • "orderlines": [
    ],
  • "shipment_status": "string",
  • "kwai_pixel_ids": [
    ],
  • "cogs_bt": "string",
  • "sub_payment_method": "BCA",
  • "payment_fee": "string",
  • "channel_name": "string",
  • "discount_rate": "string",
  • "final_variants": { },
  • "other_income_name": "string",
  • "gross_revenue": "string",
  • "tags": [
    ],
  • "discount_code_id": 0,
  • "other_income": "string",
  • "status_history": [
    ],
  • "total_weight": "string",
  • "is_probably_spam": true,
  • "external_id": "string",
  • "payment_status_history": [
    ],
  • "discount_code_discount": "string",
  • "product_discount_bt": "string",
  • "store": {
    },
  • "pg_payment_info": { },
  • "other_income_bt": "string",
  • "courier_service": {
    },
  • "mark_as_spam_by": "string",
  • "net_payment_revenue": "string",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "min_payment_fee": "string",
  • "analytics_purchases": [
    ],
  • "is_from_form": true,
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "agent_context": { },
  • "shipping_fee": "string",
  • "tax_rate": 0.1,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "courier_additional_info": "string",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "financial_entity": {
    },
  • "product_price_bt": "string",
  • "is_purchase_fb": true,
  • "product_weight": "string",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "utm_source": "string",
  • "payment_account_holder": "string",
  • "ip": "string",
  • "shipment_receipt": "string",
  • "message_history": [
    ],
  • "payment_status": "unpaid",
  • "shipment_provider_code": "mengantar",
  • "metadata": { },
  • "rtsproof_url": "string",
  • "discount_code_applied_to": "string",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "awb_ca_status": "unavailable",
  • "created_at": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "destination_address": {
    },
  • "unique_code_discount": "string",
  • "shipping_fee_discount": "string"
}

Send digital product access for an order

Requires the order:read scope. Send email containing links to download digital products to customer.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Send LMS access for an order

Requires the order:read scope. Send LMS access email to customer.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Storefront

Public storefront catalog, guest cart, and guest checkout flows. All store-derived public storefront routes require X-Scalev-Storefront-Api-Key.

List storefront items

Public storefront endpoint. Returns products and bundle price options visible in the storefront catalog.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Count storefront items

Public storefront endpoint. Counts products and bundle price options visible in the storefront catalog.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "total": 0
}

Get a storefront product by slug

Public storefront endpoint. Fetches a store-scoped product by slug; products hidden from storefront listing can still be fetched directly.

path Parameters
store_id
required
string

Store unique_id.

slug
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "slug": "string",
  • "name": "string",
  • "description": "string",
  • "meta_thumbnail": "string",
  • "entity_type": "product",
  • "item_type": "string",
  • "is_multiple": true,
  • "option1_name": "string",
  • "option2_name": "string",
  • "option3_name": "string",
  • "in_stock": true,
  • "price_range": {
    },
  • "images": [
    ],
  • "taxonomy": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "rich_description": "string",
  • "variants": [
    ]
}

Get a storefront bundle price option by slug

Public storefront endpoint. Fetches a store-scoped bundle price option by slug. Use the returned bundle_price_option_id in cart and checkout payloads.

path Parameters
store_id
required
string

Store unique_id.

slug
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "bundle_price_option_id": 0,
  • "bundle_id": 0,
  • "slug": "string",
  • "name": "string",
  • "description": "string",
  • "meta_thumbnail": "string",
  • "entity_type": "bundle_price_option",
  • "is_multiple": true,
  • "option1_name": "string",
  • "option2_name": "string",
  • "option3_name": "string",
  • "in_stock": true,
  • "price_range": {
    },
  • "images": [
    ],
  • "taxonomy": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "rich_description": "string",
  • "bundle_name": "string",
  • "bundle_price_option_name": "string",
  • "price": "string",
  • "weight_bump": 0,
  • "bundlelines": [
    ]
}

List storefront categories

Public storefront endpoint. Lists categories that have visible storefront products.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List storefront payment methods

Public storefront endpoint. Lists enabled public checkout payment methods for the store.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Search storefront delivery locations

Public storefront endpoint. Supports direct province, city, district, or subdistrict search.

path Parameters
store_id
required
string

Store unique_id.

query Parameters
search
string
page_size
integer [ 1 .. 100 ]
next_cursor
string

Cursor returned by the previous response. Use only one of next_cursor or previous_cursor.

previous_cursor
string

Cursor returned by the previous response. Use only one of next_cursor or previous_cursor.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List storefront delivery provinces

path Parameters
store_id
required
string

Store unique_id.

query Parameters
search
string

Optional province name search.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List storefront delivery cities

path Parameters
store_id
required
string

Store unique_id.

query Parameters
integer or string

Province ID from /public/locations/provinces.

search
string

Optional city name search within the selected province.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List storefront delivery subdistricts

path Parameters
store_id
required
string

Store unique_id.

query Parameters
integer or string

City ID from /public/locations/cities.

search
string

Optional subdistrict name search within the selected city.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List storefront delivery postal codes

path Parameters
store_id
required
string

Store unique_id.

location_id
required
integer

Legacy numeric location ID.

query Parameters
search
string

Optional postal code search within the selected location.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Get storefront variant pricing

Public storefront endpoint. Returns pricing for requested store-scoped variants, including variants whose products are hidden from storefront listing.

path Parameters
store_id
required
string

Store unique_id.

query Parameters
ids
string

Comma-separated variant IDs.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Get storefront variant inventory availability

Public storefront endpoint. Returns availability for a requested store-scoped variant, including variants whose products are hidden from storefront listing.

path Parameters
store_id
required
string

Store unique_id.

variant_id
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "variant_id": 0,
  • "available": true,
  • "available_qty": 0,
  • "stock_status": "in_stock"
}

Get the guest storefront cart

Public storefront endpoint. Returns guest cart items regardless of storefront listing visibility.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Add an item to the guest storefront cart

Public storefront endpoint. Direct cart additions are store-scoped and not blocked by storefront listing visibility.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Request Body schema: application/json
required
type
required
string
required
integer or string
quantity
integer >= 1
Default: 1

Responses

Request samples

Content type
application/json
Example
{
  • "type": "variant",
  • "variant_id": 0,
  • "quantity": 1
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Update a guest storefront cart item

Public storefront endpoint.

path Parameters
store_id
required
string

Store unique_id.

item_id
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Request Body schema: application/json
required
quantity
required
integer >= 1
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "quantity": 1
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Remove a guest storefront cart item

Public storefront endpoint.

path Parameters
store_id
required
string

Store unique_id.

item_id
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Merge a guest cart into the authenticated customer cart

Public storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Create a public checkout order

Public storefront endpoint. Create an order from direct items, from the guest cart referenced by X-Scalev-Guest-Token, or from direct items while clearing the referenced guest cart after successful order creation. Direct checkout items are store-scoped and not blocked by storefront listing visibility.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Request Body schema: application/json
required
Array of any (StorefrontCheckoutItem) [ 1 .. 50 ] items

Optional direct item source. If supplied, direct items create the order. If X-Scalev-Guest-Token references a guest cart, that cart is cleared after successful order creation. If omitted, the guest cart referenced by X-Scalev-Guest-Token creates the order.

customer_name
required
string <= 200 characters
customer_email
required
string <email> <= 254 characters
customer_phone
string or null <= 20 characters
shipping_address
string or null
shipping_province
string or null
shipping_city
string or null
shipping_subdistrict
string or null
shipping_postal_code
string or null
integer or string
address
string or null
Deprecated
location
string or null
Deprecated
integer or string
postal_code
string or null
Deprecated
payment_method
required
string

Storefront payment method code selected by the buyer.

sub_payment_method
string or null
courier_service_id
integer or null
warehouse_unique_id
string or null
courier_aggregator_code
string or null
discount_code_code
string or null
notes
string or null

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "customer_name": "string",
  • "customer_email": "user@example.com",
  • "customer_phone": "string",
  • "shipping_address": "string",
  • "shipping_province": "string",
  • "shipping_city": "string",
  • "shipping_subdistrict": "string",
  • "shipping_postal_code": "string",
  • "shipping_location_id": 0,
  • "address": "string",
  • "location": "string",
  • "location_id": 0,
  • "postal_code": "string",
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "courier_service_id": 0,
  • "warehouse_unique_id": "string",
  • "courier_aggregator_code": "string",
  • "discount_code_code": "string",
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "business": {
    },
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "order_id": "string",
  • "status": "string",
  • "payment_status": "string",
  • "is_probably_spam": true,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "transferproof_url": "string",
  • "handler_phone": "string",
  • "chat_message": "string",
  • "customer_id": 0,
  • "discount_code_code": "string",
  • "page": {
    },
  • "gross_revenue": "string",
  • "product_price": "string",
  • "product_discount": "string",
  • "shipping_cost": "string",
  • "shipping_discount": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "unique_code_discount": "string",
  • "discount_code_discount": "string",
  • "pg_payment_info": { },
  • "status_history": [
    ],
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "epayment_provider": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "shipment_status_history": [
    ],
  • "shipment_receipt": "string",
  • "courier_service": {
    },
  • "variants": { },
  • "bundle_price_options": { },
  • "orderlines": [
    ],
  • "payment_expiration_at": "2019-08-24T14:15:22Z",
  • "store_custom_domain": {
    },
  • "store": {
    },
  • "destination_address": {
    },
  • "customer": {
    }
}

List guest checkout shipping options

Public storefront endpoint. Direct items use the same typed checkout item union as final public checkout. When direct items are omitted, the guest cart referenced by X-Scalev-Guest-Token is used as the item source. Digital-only carts return an empty non-paginated collection.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Request Body schema: application/json
optional
Array of any (StorefrontCheckoutItem) [ 1 .. 50 ] items

Optional direct item source. If supplied, these items are used for the shipping-options calculation. Otherwise the guest cart referenced by X-Scalev-Guest-Token is used.

object (StorefrontCheckoutDestination)
payment_method
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "destination": {
    },
  • "payment_method": "bank_transfer"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Compute guest checkout summary

Public storefront endpoint. Recomputes the selected shipping cost from destination, courier service, warehouse, payment method, and either direct items or the guest cart referenced by X-Scalev-Guest-Token. Client-supplied shipping_cost is ignored. Digital-only carts return shipping_cost: "0".

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Request Body schema: application/json
optional
Array of any (StorefrontCheckoutItem) [ 1 .. 50 ] items

Optional direct item source. If supplied, these items are used for the shipping-options calculation. Otherwise the guest cart referenced by X-Scalev-Guest-Token is used.

object (StorefrontCheckoutDestination)
payment_method
string
integer or string
warehouse_unique_id
string
courier_aggregator_code
string or null
object (StorefrontSelectedShippingOption)
object (StorefrontSelectedShippingOption)
(string or null) or number

Ignored by the API. Shipping cost is recomputed from the selected courier service and destination.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "destination": {
    },
  • "payment_method": "bank_transfer",
  • "courier_service_id": 0,
  • "warehouse_unique_id": "string",
  • "courier_aggregator_code": "string",
  • "shipping_option": {
    },
  • "selected_shipping_option": {
    },
  • "shipping_cost": "string"
}

Response samples

Content type
application/json
{
  • "product_price": "string",
  • "shipping_cost": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "gross_revenue": "string"
}

Get a public storefront order

Public storefront endpoint.

path Parameters
store_id
required
string

Store unique_id.

secret_slug
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "business": {
    },
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "order_id": "string",
  • "status": "string",
  • "payment_status": "string",
  • "is_probably_spam": true,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "transferproof_url": "string",
  • "handler_phone": "string",
  • "chat_message": "string",
  • "customer_id": 0,
  • "discount_code_code": "string",
  • "page": {
    },
  • "gross_revenue": "string",
  • "product_price": "string",
  • "product_discount": "string",
  • "shipping_cost": "string",
  • "shipping_discount": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "unique_code_discount": "string",
  • "discount_code_discount": "string",
  • "pg_payment_info": { },
  • "status_history": [
    ],
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "epayment_provider": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "shipment_status_history": [
    ],
  • "shipment_receipt": "string",
  • "courier_service": {
    },
  • "variants": { },
  • "bundle_price_options": { },
  • "orderlines": [
    ],
  • "payment_expiration_at": "2019-08-24T14:15:22Z",
  • "store_custom_domain": {
    },
  • "store": {
    },
  • "destination_address": {
    },
  • "customer": {
    }
}

Update a public storefront order

Public storefront endpoint.

path Parameters
store_id
required
string

Store unique_id.

secret_slug
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
optional
transferproof_url
string or null
transfer_time
string or null <date-time>
financial_entity_id
integer or null

Financial entity selected from store.payment_accounts[].financial_entity.id.

payment_account
string or null

Optional payment account unique ID selected by the buyer.

payment_account_holder
string or null
payment_account_number
string or null
notes
string or null
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "transferproof_url": "string",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "financial_entity_id": 0,
  • "payment_account": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "business": {
    },
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "order_id": "string",
  • "status": "string",
  • "payment_status": "string",
  • "is_probably_spam": true,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "transferproof_url": "string",
  • "handler_phone": "string",
  • "chat_message": "string",
  • "customer_id": 0,
  • "discount_code_code": "string",
  • "page": {
    },
  • "gross_revenue": "string",
  • "product_price": "string",
  • "product_discount": "string",
  • "shipping_cost": "string",
  • "shipping_discount": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "unique_code_discount": "string",
  • "discount_code_discount": "string",
  • "pg_payment_info": { },
  • "status_history": [
    ],
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "epayment_provider": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "shipment_status_history": [
    ],
  • "shipment_receipt": "string",
  • "courier_service": {
    },
  • "variants": { },
  • "bundle_price_options": { },
  • "orderlines": [
    ],
  • "payment_expiration_at": "2019-08-24T14:15:22Z",
  • "store_custom_domain": {
    },
  • "store": {
    },
  • "destination_address": {
    },
  • "customer": {
    }
}

Create a payment for a public storefront order

Public storefront endpoint. Idempotent for orders that already have payment instructions or already expose a payment_url.

path Parameters
store_id
required
string

Store unique_id.

secret_slug
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "business": {
    },
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "order_id": "string",
  • "status": "string",
  • "payment_status": "string",
  • "is_probably_spam": true,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "transferproof_url": "string",
  • "handler_phone": "string",
  • "chat_message": "string",
  • "customer_id": 0,
  • "discount_code_code": "string",
  • "page": {
    },
  • "gross_revenue": "string",
  • "product_price": "string",
  • "product_discount": "string",
  • "shipping_cost": "string",
  • "shipping_discount": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "unique_code_discount": "string",
  • "discount_code_discount": "string",
  • "pg_payment_info": { },
  • "status_history": [
    ],
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "epayment_provider": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "shipment_status_history": [
    ],
  • "shipment_receipt": "string",
  • "courier_service": {
    },
  • "variants": { },
  • "bundle_price_options": { },
  • "orderlines": [
    ],
  • "payment_expiration_at": "2019-08-24T14:15:22Z",
  • "store_custom_domain": {
    },
  • "store": {
    },
  • "destination_address": {
    },
  • "customer": {
    }
}

Create a transfer proof upload URL

Public storefront endpoint for manual bank_transfer payment confirmation. Returns a direct-to-storage upload_url plus the public file_url. Upload the image with PUT upload_url, then set the order's transferproof_url with PATCH /v3/stores/{store_id}/public/orders/{secret_slug}.

path Parameters
store_id
required
string

Store unique_id.

secret_slug
required
string
header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
filename
required
string
content_type
required
string
Enum: "image/jpeg" "image/png" "image/webp"
content_length
required
integer [ 1 .. 10485760 ]

File size in bytes. Maximum 10 MB.

Responses

Request samples

Content type
application/json
{
  • "filename": "transfer-proof.png",
  • "content_type": "image/jpeg",
  • "content_length": 1
}

Response samples

Content type
application/json
{}

Send a Meta Conversion API event

Public storefront endpoint. Sends browser-collected conversion events through Scalev using the Meta pixels configured on the store's hosted storefront analytics setup. The store path selects the storefront; do not send a custom domain to identify the store. A 204 means the payload was accepted for asynchronous delivery.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
event_source_url
string or null <uri>

Full storefront page URL for the event. The API strips query parameters before sending to Meta.

referrer_url
string or null <uri>

Browser referrer URL. The API uses this with event_source_url to choose checkout versus home storefront analytics configuration.

required
object (StorefrontMetaConversionUserData)
required
Array of objects (StorefrontMetaConversionEvent) non-empty
Array of objects (StorefrontAnalyticsVariantItem)
Array of objects (StorefrontAnalyticsBundlePriceOptionItem)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "event_source_url": "http://example.com",
  • "referrer_url": "http://example.com",
  • "user_data": {
    },
  • "events": [
    ],
  • "variants": [
    ],
  • "bundle_price_options": [
    ]
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Send a TikTok Events API event

Public storefront endpoint. Sends browser-collected conversion events through Scalev using the TikTok pixels configured on the store's hosted storefront analytics setup. The store path selects the storefront; do not send a custom domain to identify the store. A 204 means the payload was accepted for asynchronous delivery.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
event_source_url
required
string <uri>

Full storefront page URL for the event. The API strips query parameters before sending to TikTok.

referrer_url
string or null <uri>

Browser referrer URL. The API uses this with event_source_url to choose checkout versus home storefront analytics configuration.

required
object (StorefrontTiktokConversionUserData)
required
Array of objects (StorefrontTiktokConversionEvent) non-empty
Array of objects (StorefrontAnalyticsVariantItem)
Array of objects (StorefrontAnalyticsBundlePriceOptionItem)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "event_source_url": "http://example.com",
  • "referrer_url": "http://example.com",
  • "user": {
    },
  • "events": [
    ],
  • "variants": [
    ],
  • "bundle_price_options": [
    ]
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Send a SnackVideo Events API event

Public storefront endpoint. Sends browser-collected conversion events through Scalev using the SnackVideo server pixels configured on the store's hosted storefront analytics setup. The store path selects the storefront; do not send a custom domain to identify the store. A 204 means the payload was accepted for asynchronous delivery.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
click_id
required
string

SnackVideo click ID.

event_source_url
string or null <uri>

Optional full storefront page URL used to choose checkout versus home storefront analytics configuration.

referrer_url
string or null <uri>

Optional browser referrer URL used to choose checkout versus home storefront analytics configuration.

required
Array of objects (StorefrontSnackVideoConversionEvent) non-empty
Array of objects (StorefrontAnalyticsVariantItem)
Array of objects (StorefrontAnalyticsBundlePriceOptionItem)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "click_id": "string",
  • "event_source_url": "http://example.com",
  • "referrer_url": "http://example.com",
  • "events": [
    ],
  • "variants": [
    ],
  • "bundle_price_options": [
    ]
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

HTML Mode Pages

Public HTML Mode runtime endpoints. These routes require X-Scalev-Page-Api-Key for the path page and reject storefront public API keys.

Search HTML Mode delivery locations

Page-scoped public endpoint for HTML Mode location lookup. Requires the page public API key for the page_unique_id path page and validates the browser origin against domains attached to the page, or the business domains when the page has no attached domains.

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

query Parameters
search
string
page_size
integer [ 1 .. 100 ]
next_cursor
string

Cursor returned by the previous response. Use only one of next_cursor or previous_cursor.

previous_cursor
string

Cursor returned by the previous response. Use only one of next_cursor or previous_cursor.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List HTML Mode delivery provinces

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

query Parameters
search
string

Optional province name search.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List HTML Mode delivery cities

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

query Parameters
integer or string

Province ID from /locations/provinces.

search
string

Optional city name search within the selected province.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List HTML Mode delivery subdistricts

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

query Parameters
integer or string

City ID from /locations/cities.

search
string

Optional subdistrict name search within the selected city.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List HTML Mode delivery postal codes

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

location_id
required
integer

Legacy numeric location ID.

query Parameters
search
string

Optional postal code search within the selected location.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Check an HTML Mode discount code

Page-scoped public endpoint for HTML Mode discount validation. The discount context is evaluated against the authenticated path page.

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Request Body schema: application/json
required
code
required
string
(string or null) or number (StorefrontMoneyValue)
(string or null) or number (StorefrontMoneyValue)
(string or null) or number (StorefrontMoneyValue)
payment_method
string
domain
string or null

Browser hostname supplied by the runtime.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "code": "SAVE10",
  • "gross_revenue": "string",
  • "net_product_price": "string",
  • "shipping_cost": "string",
  • "payment_method": "bank_transfer",
  • "domain": "string"
}

Response samples

Content type
application/json
{
  • "discount_code": {
    },
  • "eligibility_details": { },
  • "is_eligible": true,
  • "discount_code_discount": "string"
}

List HTML Mode checkout shipping options

Page-scoped public endpoint used by Scalev.checkout.shippingOptions(payload). It accepts HTML Mode items, destination, and payment_method, then resolves the store from the authenticated page.

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Request Body schema: application/json
required
Array of objects (PagePublicCheckoutItem) non-empty
object (PagePublicCheckoutDestination)

Buyer destination submitted by an HTML Mode page.

payment_method
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "destination": {
    },
  • "payment_method": "bank_transfer"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Compute an HTML Mode checkout summary

Page-scoped public endpoint used by Scalev.checkout.estimateSummary(payload). It accepts HTML Mode items, destination, payment_method, and shipping_option, recomputes shipping, and applies store-configured extra fees for display.

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Request Body schema: application/json
required
Array of objects (PagePublicCheckoutItem) non-empty
object (PagePublicCheckoutDestination)

Buyer destination submitted by an HTML Mode page.

payment_method
string
object (StorefrontShippingOption)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "destination": {
    },
  • "payment_method": "bank_transfer",
  • "shipping_option": {
    }
}

Response samples

Content type
application/json
{
  • "product_price": "string",
  • "shipping_cost": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "gross_revenue": "string"
}

Create an HTML Mode public order

Page-scoped public endpoint for HTML Mode Scalev.checkout.createOrder. This route accepts HTML Mode order payloads with customer, destination, items, and shipping_option, requires X-Scalev-Page-Api-Key, and does not accept storefront public API keys. The page and store are resolved from the path and page API key; any page_unique_id or store_unique_id values supplied in the JSON body are ignored.

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Request Body schema: application/json
required
object or null
object (PagePublicCheckoutCustomer)

Buyer contact details submitted by an HTML Mode page.

object (PagePublicCheckoutDestination)

Buyer destination submitted by an HTML Mode page.

Array of objects (PagePublicCheckoutItem) non-empty
payment_method
string

Public order payment method code.

sub_payment_method
string or null
payment_account_unique_id
string or null
object (StorefrontShippingOption)
(string or null) or number (StorefrontMoneyValue)
(string or null) or number (StorefrontMoneyValue)
discount_code_code
string or null
notes
string or null
transferproof_url
string or null
integer or string
recaptcha_token
string or null

Runtime-generated form reCAPTCHA token.

event_source_url
string or null <uri>
fbc
string or null
fbp
string or null
ttclid
string or null
gclid
string or null
ttp
string or null
kwai_clickid
string or null
utm_source
string or null
utm_medium
string or null
utm_campaign
string or null
utm_content
string or null
utm_term
string or null
affiliate_code
string or null
channel_unique_id
string or null
object or null
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "form": { },
  • "customer": {
    },
  • "destination": {
    },
  • "items": [
    ],
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "BCA",
  • "payment_account_unique_id": "string",
  • "shipping_option": {
    },
  • "product_discount": "string",
  • "shipping_discount": "string",
  • "discount_code_code": "string",
  • "notes": "string",
  • "transferproof_url": "string",
  • "cart_id": 0,
  • "recaptcha_token": "string",
  • "event_source_url": "http://example.com",
  • "fbc": "string",
  • "fbp": "string",
  • "ttclid": "string",
  • "gclid": "string",
  • "ttp": "string",
  • "kwai_clickid": "string",
  • "utm_source": "string",
  • "utm_medium": "string",
  • "utm_campaign": "string",
  • "utm_content": "string",
  • "utm_term": "string",
  • "affiliate_code": "string",
  • "channel_unique_id": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "business": {
    },
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "order_id": "string",
  • "status": "string",
  • "payment_status": "string",
  • "is_probably_spam": true,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "transferproof_url": "string",
  • "handler_phone": "string",
  • "chat_message": "string",
  • "customer_id": 0,
  • "discount_code_code": "string",
  • "page": {
    },
  • "gross_revenue": "string",
  • "product_price": "string",
  • "product_discount": "string",
  • "shipping_cost": "string",
  • "shipping_discount": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "unique_code_discount": "string",
  • "discount_code_discount": "string",
  • "pg_payment_info": { },
  • "status_history": [
    ],
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "epayment_provider": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "shipment_status_history": [
    ],
  • "shipment_receipt": "string",
  • "courier_service": {
    },
  • "variants": { },
  • "bundle_price_options": { },
  • "orderlines": [
    ],
  • "payment_expiration_at": "2019-08-24T14:15:22Z",
  • "store_custom_domain": {
    },
  • "store": {
    },
  • "destination_address": {
    },
  • "customer": {
    }
}

Send an HTML Mode Meta Conversion API event

Page-scoped public endpoint used by Scalev.analytics.track("meta", payload) and Scalev.analytics.track("facebook", payload). The page path and API key select the page analytics configuration.

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Request Body schema: application/json
required
event_source_url
string or null <uri>

Full storefront page URL for the event. The API strips query parameters before sending to Meta.

referrer_url
string or null <uri>

Browser referrer URL. The API uses this with event_source_url to choose checkout versus home storefront analytics configuration.

required
object (StorefrontMetaConversionUserData)
required
Array of objects (StorefrontMetaConversionEvent) non-empty
Array of objects (StorefrontAnalyticsVariantItem)
Array of objects (StorefrontAnalyticsBundlePriceOptionItem)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "event_source_url": "http://example.com",
  • "referrer_url": "http://example.com",
  • "user_data": {
    },
  • "events": [
    ],
  • "variants": [
    ],
  • "bundle_price_options": [
    ]
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Send an HTML Mode TikTok Events API event

Page-scoped public endpoint used by Scalev.analytics.track("tiktok", payload). The page path and API key select the page analytics configuration.

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Request Body schema: application/json
required
event_source_url
required
string <uri>

Full storefront page URL for the event. The API strips query parameters before sending to TikTok.

referrer_url
string or null <uri>

Browser referrer URL. The API uses this with event_source_url to choose checkout versus home storefront analytics configuration.

required
object (StorefrontTiktokConversionUserData)
required
Array of objects (StorefrontTiktokConversionEvent) non-empty
Array of objects (StorefrontAnalyticsVariantItem)
Array of objects (StorefrontAnalyticsBundlePriceOptionItem)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "event_source_url": "http://example.com",
  • "referrer_url": "http://example.com",
  • "user": {
    },
  • "events": [
    ],
  • "variants": [
    ],
  • "bundle_price_options": [
    ]
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Send an HTML Mode SnackVideo event

Page-scoped public endpoint used by Scalev.analytics.track("snackvideo", payload) and Scalev.analytics.track("kwai", payload). The page path and API key select the page analytics configuration.

path Parameters
page_unique_id
required
string
Example: page_540f48019f525f41

Public page unique ID.

header Parameters
X-Scalev-Page-Api-Key
required
string

Publishable page public API key for the page_unique_id path page. Storefront public API keys are not accepted on page-scoped public routes.

Request Body schema: application/json
required
click_id
required
string

SnackVideo click ID.

event_source_url
string or null <uri>

Optional full storefront page URL used to choose checkout versus home storefront analytics configuration.

referrer_url
string or null <uri>

Optional browser referrer URL used to choose checkout versus home storefront analytics configuration.

required
Array of objects (StorefrontSnackVideoConversionEvent) non-empty
Array of objects (StorefrontAnalyticsVariantItem)
Array of objects (StorefrontAnalyticsBundlePriceOptionItem)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "click_id": "string",
  • "event_source_url": "http://example.com",
  • "referrer_url": "http://example.com",
  • "events": [
    ],
  • "variants": [
    ],
  • "bundle_price_options": [
    ]
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

OAuth

Public and machine OAuth token-management endpoints. The authorization code flow accepts the standard scope parameter; public OAuth clients may use PKCE with token_endpoint_auth_method=none, and metadata document clients may use private_key_jwt.

Get OAuth authorization server metadata

Public OAuth metadata endpoint. Advertises only /v3 OAuth endpoints, dynamic client registration, Client ID Metadata Documents, PKCE, and supported global machine scopes.

Responses

Response samples

Content type
application/json
{}

Get public OAuth application metadata

No OAuth installation scope. OAuth flow endpoint.

query Parameters
client_id
required
string

OAuth client ID.

redirect_uri
required
string <uri>

Redirect URI that must exactly match the application configuration.

resource
string <uri>

Optional resource audience. MCP clients use https://mcp.scalev.com/mcp. Official Scalev MCP DCR/CIMD clients default to this resource when omitted.

Responses

Response samples

Content type
application/json
{ }

List OAuth scopes

Public OAuth helper endpoint. Returns the MCP-compatible /v3 machine scope catalog as a map from scope name to plain-English description.

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Get current OAuth application

OAuth token identity helper endpoint. Returns the OAuth application represented by the presented access token and never includes the client secret.

Authorizations:
scalevOAuth

Responses

Response samples

Content type
application/json
{
  • "client_id": "string",
  • "name": "string",
  • "description": "string",
  • "logo_url": "string",
  • "homepage_url": "string",
  • "redirect_uri": "string",
  • "available_scopes": [
    ],
  • "webhook_status": "string",
  • "webhook_events": [
    ]
}

Register an OAuth client

Dynamic Client Registration endpoint for platform clients. Registrations are attached to Scalev's official OAuth application for supported resource audiences. Public clients should use token_endpoint_auth_method=none and PKCE.

Request Body schema: application/json
required
client_name
string
client_uri
string <uri>
logo_uri
string <uri>
redirect_uris
required
Array of strings <uri> non-empty [ items <uri > ]
grant_types
Array of strings
Default: ["authorization_code"]
response_types
Array of strings
Default: ["code"]
token_endpoint_auth_method
string
Default: "none"
Enum: "client_secret_post" "client_secret_basic" "none" "private_key_jwt"
jwks_uri
string <uri>

HTTPS JWKS URL required when registering a private_key_jwt client.

token_endpoint_auth_signing_alg
string
Value: "RS256"

JWT assertion signing algorithm for private_key_jwt clients.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "client_id": "string",
  • "client_id_issued_at": 0,
  • "client_secret": "string",
  • "client_name": "string",
  • "client_uri": "http://example.com",
  • "logo_uri": "http://example.com",
  • "redirect_uris": [],
  • "grant_types": [
    ],
  • "response_types": [
    ],
  • "token_endpoint_auth_method": "client_secret_post",
  • "jwks_uri": "http://example.com",
  • "token_endpoint_auth_signing_alg": "string"
}

Exchange or refresh OAuth tokens

No OAuth installation scope. OAuth flow endpoint. Confidential clients authenticate with client_secret_post or HTTP Basic auth. Public client registrations with token_endpoint_auth_method=none omit client_secret and must use PKCE.

Request Body schema: application/json
required
grant_type
required
string
Enum: "authorization_code" "refresh_token"
client_id
required
string

OAuth application client ID, registered client ID, or HTTPS Client ID Metadata Document URL.

client_secret
string

Required for confidential clients when HTTP Basic auth is not used. Omit for public client registrations using token_endpoint_auth_method=none and for clients using private_key_jwt.

client_assertion_type
string

Required for private_key_jwt; must be urn:ietf:params:oauth:client-assertion-type:jwt-bearer.

client_assertion
string

Signed JWT client assertion required for private_key_jwt.

code
string

Authorization code, required for authorization_code.

redirect_uri
string <uri>

Redirect URI used on the authorization request.

code_verifier
string

PKCE code verifier. Required for public clients and recommended for all authorization-code exchanges.

refresh_token
string

Refresh token, required for refresh_token.

resource
string <uri>

Optional resource audience. Must match the resource requested during authorization when present. Official Scalev MCP DCR/CIMD clients may omit it when the authorization session is already MCP-bound.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "grant_type": "authorization_code",
  • "client_id": "string",
  • "client_secret": "string",
  • "client_assertion_type": "string",
  • "client_assertion": "string",
  • "code": "string",
  • "redirect_uri": "http://example.com",
  • "code_verifier": "string",
  • "refresh_token": "string",
  • "resource": "http://example.com"
}

Response samples

Content type
application/json
{ }

Revoke an OAuth access or refresh token

No OAuth installation scope. OAuth flow endpoint.

Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Introspect an OAuth access or refresh token

No OAuth installation scope. OAuth flow endpoint.

Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Get installed-app status snapshot

No OAuth installation scope. OAuth flow endpoint for app-backend installation status lookup.

Request Body schema: application/json
required
token
required
string

OAuth access or refresh token reference for installation lookup.

token_type
required
string
Enum: "access" "refresh"
client_id
required
string
client_secret
required
string

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "token_type": "access",
  • "client_id": "string",
  • "client_secret": "string"
}

Response samples

Content type
application/json
{
  • "authorized_business_id": 0,
  • "client_id": "string",
  • "is_active": true,
  • "is_enabled": true,
  • "granted_scopes": [
    ],
  • "webhook_status": "active",
  • "granted_webhook_events": [
    ],
  • "approved_billing_tags": [
    ],
  • "application": {
    },
  • "manage_launch_available": true,
  • "updated_at": "2019-08-24T14:15:22Z"
}

Exchange an installed-app dashboard launch token

No OAuth installation scope. OAuth flow endpoint for exchanging a one-time Manage launch token for an installed-app status snapshot.

Request Body schema: application/json
required
launch_token
required
string

Opaque one-time launch token from the Scalev dashboard Manage URL.

client_id
required
string
client_secret
required
string

Responses

Request samples

Content type
application/json
{
  • "launch_token": "string",
  • "client_id": "string",
  • "client_secret": "string"
}

Response samples

Content type
application/json
{
  • "authorized_business_id": 0,
  • "client_id": "string",
  • "is_active": true,
  • "is_enabled": true,
  • "granted_scopes": [
    ],
  • "webhook_status": "active",
  • "granted_webhook_events": [
    ],
  • "approved_billing_tags": [
    ],
  • "application": {
    },
  • "manage_launch_available": true,
  • "updated_at": "2019-08-24T14:15:22Z"
}

Identity

Authenticated business identity context.

Get authenticated identity

Returns token-level identity for the bearer token. OAuth responses include the user, OAuth application, and active connected business installations for the token. If no active connected business remains, the endpoint returns 403 without identity data. Business-scoped API requests still resolve one selected business installation per request.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth

Responses

Response samples

Content type
application/json
{
  • "auth_method": "oauth",
  • "user": {
    },
  • "oauth_application": {
    },
  • "connected_businesses": [
    ]
}

Business Users

Authenticated business-user membership self-service endpoints.

List authenticated user's business-user memberships

Returns the authenticated caller's business-user memberships. This is a user-scoped endpoint and does not use b_uid or selected-business context. Results use regular v3 cursor pagination ordered by membership ID descending by default. Use sort_direction=asc to list the earliest business membership first.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

sort_direction
string
Default: "desc"
Enum: "asc" "desc"

Optional sort direction for endpoints that explicitly document support for directional sorting. Cursor requests must keep the same sort_direction used to create the cursor.

search
string

Filter memberships by business username or account holder.

business_name
string

Filter memberships by business account holder.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Get current business user

Returns the selected business membership for the authenticated caller. Requires a business-authenticated credential and selected business context.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "business": {
    },
  • "user_id": 0,
  • "business_phone": "string",
  • "is_verified": true,
  • "is_locked": true,
  • "role": {
    },
  • "metadata": { }
}

Leave current business

Removes the authenticated caller's verified membership from the selected business. Owners and the final remaining business member cannot leave through this endpoint.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
required
password
required
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Accept current business invitation

Accepts the selected pending business membership for the authenticated caller and returns the verified business-user record.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
optional
business_phone
string or null
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "business_phone": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "business": {
    },
  • "user_id": 0,
  • "business_phone": "string",
  • "is_verified": true,
  • "is_locked": true,
  • "role": {
    },
  • "metadata": { }
}

Deny current business invitation

Deletes the authenticated caller's selected pending business membership. Already accepted memberships cannot be denied.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Landing Pages

Authenticated business landing page endpoints. The documented payloads focus on HTML Mode pages.

List landing pages

Business-scoped landing page list. Returns Builder and HTML Mode pages visible to the authenticated business.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a landing page

Creates a business-scoped landing page using the same page creation behavior as Landing Page Studio. The request body below documents the HTML Mode payload. To create and publish an HTML Mode page in one call, include is_published: true with page_display. If is_published is omitted or false, the nested page_display is saved as an unpublished draft and is not returned as the page's current display; create or pick a page display, then call PATCH /v3/pages/{id} with is_published: true and current_page_display_id to publish it.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
required

Landing page data to create. HTML Mode payload is documented here. For a one-call create-and-publish flow, set is_published: true and include page_display. Without is_published: true, the display is only a draft and must be published later.

name
required
string
slug
required
string
is_published
boolean

When true, publishes the created nested page_display and makes it the current display. When omitted or false, the nested display is saved as an unpublished draft; the page response will have current_page_display_id: null, page_display: null, and a page-level render_mode fallback until a display is published.

store_id
integer or null

Optional top-level store association. HTML Checkout store context is configured through page_display.form_display.store_id.

required
object (LandingPageDisplayRequest)

Responses

Request samples

Content type
application/json
Example
{
  • "name": "API HTML Page",
  • "slug": "api-html-page",
  • "is_published": true,
  • "page_display": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "string",
  • "name": "string",
  • "slug": "string",
  • "render_mode": "builder",
  • "is_published": true,
  • "published_at": "2019-08-24T14:15:22Z",
  • "store_id": 0,
  • "store": { },
  • "tags": [
    ],
  • "is_pinned": true,
  • "created_by": { },
  • "last_updated_by": { },
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "uuid": "string",
  • "business": { },
  • "is_sending_email_invoice": true,
  • "is_disable_custom_font": true,
  • "is_disable_client_tagging": true,
  • "client_analytics_config": "head",
  • "custom_domains": [
    ],
  • "homepage_custom_domains": [
    ],
  • "current_page_display_id": 0,
  • "page_display": {
    }
}

List simplified landing pages

Business-scoped simplified landing page list using the same page filtering as Landing Page Studio.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List landing page tags

Lists landing page tags visible to the authenticated business.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Get a landing page

Returns a business-scoped landing page with its current published page display when one is selected.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
integer

Numeric Scalev landing page ID.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "string",
  • "name": "string",
  • "slug": "string",
  • "render_mode": "builder",
  • "is_published": true,
  • "published_at": "2019-08-24T14:15:22Z",
  • "store_id": 0,
  • "store": { },
  • "tags": [
    ],
  • "is_pinned": true,
  • "created_by": { },
  • "last_updated_by": { },
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "uuid": "string",
  • "business": { },
  • "is_sending_email_invoice": true,
  • "is_disable_custom_font": true,
  • "is_disable_client_tagging": true,
  • "client_analytics_config": "head",
  • "custom_domains": [
    ],
  • "homepage_custom_domains": [
    ],
  • "current_page_display_id": 0,
  • "page_display": {
    }
}

Update a landing page

Updates business-scoped landing page metadata and publishing state using the same page update behavior as Landing Page Studio. Send is_published: true with current_page_display_id to publish a page display, or is_published: false with current_page_display_id: null to unpublish the page.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
integer

Numeric Scalev landing page ID.

Request Body schema: application/json
optional

Landing page metadata and publishing fields to update.

name
string
slug
string
is_published
boolean

Set true to publish current_page_display_id; set false with current_page_display_id: null to unpublish the page.

current_page_display_id
integer or null

Required together with is_published when changing published state.

store_id
integer or null
is_sending_email_invoice
boolean
is_disable_custom_font
boolean
is_disable_client_tagging
boolean
client_analytics_config
string or null
Enum: "head" "body_close_delay" "web_worker"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "slug": "string",
  • "is_published": true,
  • "current_page_display_id": 0,
  • "store_id": 0,
  • "is_sending_email_invoice": true,
  • "is_disable_custom_font": true,
  • "is_disable_client_tagging": true,
  • "client_analytics_config": "head"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "string",
  • "name": "string",
  • "slug": "string",
  • "render_mode": "builder",
  • "is_published": true,
  • "published_at": "2019-08-24T14:15:22Z",
  • "store_id": 0,
  • "store": { },
  • "tags": [
    ],
  • "is_pinned": true,
  • "created_by": { },
  • "last_updated_by": { },
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "uuid": "string",
  • "business": { },
  • "is_sending_email_invoice": true,
  • "is_disable_custom_font": true,
  • "is_disable_client_tagging": true,
  • "client_analytics_config": "head",
  • "custom_domains": [
    ],
  • "homepage_custom_domains": [
    ],
  • "current_page_display_id": 0,
  • "page_display": {
    }
}

Delete a landing page

Soft-deletes a business-scoped landing page. Builder and HTML Mode pages are both deletable through this endpoint.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
integer

Numeric Scalev landing page ID.

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Get landing page public view data

Returns the authenticated public rendering payload for a landing page.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
integer

Numeric Scalev landing page ID.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "string",
  • "is_published": true,
  • "is_sending_email_invoice": true,
  • "is_disable_custom_font": true,
  • "is_disable_client_tagging": true,
  • "client_analytics_config": "head",
  • "business": { },
  • "domain_business_id": 0,
  • "is_product_page": true,
  • "is_checkout_page": true,
  • "use_custom_html": true,
  • "window_object": { },
  • "current_page_display": {
    }
}

Update landing page tags

Replaces the tags assigned to a landing page.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
integer

Numeric Scalev landing page ID.

Request Body schema: application/json
required

Landing page tags to assign.

tags
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "string",
  • "name": "string",
  • "slug": "string",
  • "render_mode": "builder",
  • "is_published": true,
  • "published_at": "2019-08-24T14:15:22Z",
  • "store_id": 0,
  • "store": { },
  • "tags": [
    ],
  • "is_pinned": true,
  • "created_by": { },
  • "last_updated_by": { },
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "uuid": "string",
  • "business": { },
  • "is_sending_email_invoice": true,
  • "is_disable_custom_font": true,
  • "is_disable_client_tagging": true,
  • "client_analytics_config": "head",
  • "custom_domains": [
    ],
  • "homepage_custom_domains": [
    ],
  • "current_page_display_id": 0,
  • "page_display": {
    }
}

List landing page displays

Lists saved displays for a landing page.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
page_id
required
integer

Numeric Scalev landing page ID.

query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a landing page display

Creates a new display for an existing landing page. The request body below documents the HTML Mode page display payload.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
page_id
required
integer

Numeric Scalev landing page ID.

Request Body schema: application/json
required

Landing page display data to create. HTML Mode payload is documented here.

render_mode
required
string
Enum: "html_mode" "builder"

HTML Mode requests use html_mode. Builder payload details are intentionally not documented here and remain unsupported for public integration guidance; use HTML Mode for API-created pages.

html_code
string <= 204800 characters

Body-only HTML for HTML Mode.

css_code
string <= 102400 characters
js_code
string <= 102400 characters
additional_head_code
string

Additional HTML Mode document head code. Supports title, meta, link, style, script, and noscript tags. User-authored entries override managed SEO, crawler, and favicon convenience tags with the same identity, but do not override Scalev runtime tags or the document language.

object (HtmlModeCspPolicy)

Supported HTML Mode CSP keys. Unsupported keys are rejected.

required
object
object or null

HTML Checkout configuration. Omit or send null for HTML Sales pages.

fb_pixel_ids
Array of integers

Scalev record IDs for Meta/Facebook pixels to attach to this page display. These are the numeric Scalev pixel records, not the provider pixel code. Send an empty array for no Meta/Facebook pixels.

tiktok_pixel_ids
Array of integers

Scalev record IDs for TikTok pixels to attach to this page display. These are the numeric Scalev pixel records, not the provider pixel code. Send an empty array for no TikTok pixels.

kwai_client_pixel_ids
Array of integers

Scalev record IDs for SnackVideo browser pixels to attach to this page display. Send an empty array for no SnackVideo browser pixels.

kwai_server_pixel_ids
Array of integers

Scalev record IDs for SnackVideo Events API pixels to attach to this page display. Send an empty array for no SnackVideo server pixels.

onload_fb_events
required
Array of strings

Meta/Facebook events fired automatically when the page loads.

onload_tiktok_events
required
Array of strings

TikTok events fired automatically when the page loads.

onload_kwai_client_events
required
Array of strings

SnackVideo browser events fired automatically when the page loads.

onload_kwai_server_events
required
Array of strings

SnackVideo server events fired automatically when the page loads.

required
object
required
object
required
object
required
object
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "render_mode": "html_mode",
  • "html_code": "<main>Hello</main>",
  • "css_code": "main { color: #111827; }",
  • "js_code": "console.log('ready')",
  • "meta": {
    },
  • "onload_fb_events": [ ],
  • "onload_tiktok_events": [ ],
  • "onload_kwai_client_events": [ ],
  • "onload_kwai_server_events": [ ],
  • "fb_events_onload_parameters": { },
  • "tiktok_events_onload_parameters": { },
  • "kwai_client_events_onload_parameters": { },
  • "kwai_server_events_onload_parameters": { }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "version": 0,
  • "schema_version": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by_id": 0,
  • "is_published": true,
  • "published_at": "2019-08-24T14:15:22Z",
  • "render_mode": "html_mode",
  • "html_code": "string",
  • "css_code": "string",
  • "js_code": "string",
  • "additional_head_code": "string",
  • "csp_policy": {
    },
  • "form_display": {
    },
  • "fb_pixels": [
    ],
  • "tiktok_pixels": [
    ],
  • "kwai_client_pixels": [
    ],
  • "kwai_server_pixels": [
    ]
}

Validate a landing page display

Validates the same landing page display payload accepted by create without persisting a page-display record.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
page_id
required
integer

Numeric Scalev landing page ID.

Request Body schema: application/json
required

Landing page display data to create. HTML Mode payload is documented here.

render_mode
required
string
Enum: "html_mode" "builder"

HTML Mode requests use html_mode. Builder payload details are intentionally not documented here and remain unsupported for public integration guidance; use HTML Mode for API-created pages.

html_code
string <= 204800 characters

Body-only HTML for HTML Mode.

css_code
string <= 102400 characters
js_code
string <= 102400 characters
additional_head_code
string

Additional HTML Mode document head code. Supports title, meta, link, style, script, and noscript tags. User-authored entries override managed SEO, crawler, and favicon convenience tags with the same identity, but do not override Scalev runtime tags or the document language.

object (HtmlModeCspPolicy)

Supported HTML Mode CSP keys. Unsupported keys are rejected.

required
object
object or null

HTML Checkout configuration. Omit or send null for HTML Sales pages.

fb_pixel_ids
Array of integers

Scalev record IDs for Meta/Facebook pixels to attach to this page display. These are the numeric Scalev pixel records, not the provider pixel code. Send an empty array for no Meta/Facebook pixels.

tiktok_pixel_ids
Array of integers

Scalev record IDs for TikTok pixels to attach to this page display. These are the numeric Scalev pixel records, not the provider pixel code. Send an empty array for no TikTok pixels.

kwai_client_pixel_ids
Array of integers

Scalev record IDs for SnackVideo browser pixels to attach to this page display. Send an empty array for no SnackVideo browser pixels.

kwai_server_pixel_ids
Array of integers

Scalev record IDs for SnackVideo Events API pixels to attach to this page display. Send an empty array for no SnackVideo server pixels.

onload_fb_events
required
Array of strings

Meta/Facebook events fired automatically when the page loads.

onload_tiktok_events
required
Array of strings

TikTok events fired automatically when the page loads.

onload_kwai_client_events
required
Array of strings

SnackVideo browser events fired automatically when the page loads.

onload_kwai_server_events
required
Array of strings

SnackVideo server events fired automatically when the page loads.

required
object
required
object
required
object
required
object
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "render_mode": "html_mode",
  • "html_code": "<main>Hello</main>",
  • "css_code": "main { color: #111827; }",
  • "js_code": "console.log('ready')",
  • "meta": {
    },
  • "onload_fb_events": [ ],
  • "onload_tiktok_events": [ ],
  • "onload_kwai_client_events": [ ],
  • "onload_kwai_server_events": [ ],
  • "fb_events_onload_parameters": { },
  • "tiktok_events_onload_parameters": { },
  • "kwai_client_events_onload_parameters": { },
  • "kwai_server_events_onload_parameters": { }
}

Response samples

Content type
application/json
{
  • "valid": true,
  • "validation_warnings": [
    ],
  • "validation_errors": [
    ]
}

Get a landing page display

Returns one saved landing page display.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
page_id
required
integer

Numeric Scalev landing page ID.

display_id
required
integer

Numeric Scalev landing page display ID.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "version": 0,
  • "schema_version": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by_id": 0,
  • "is_published": true,
  • "published_at": "2019-08-24T14:15:22Z",
  • "render_mode": "html_mode",
  • "html_code": "string",
  • "css_code": "string",
  • "js_code": "string",
  • "additional_head_code": "string",
  • "csp_policy": {
    },
  • "form_display": {
    },
  • "fb_pixels": [
    ],
  • "tiktok_pixels": [
    ],
  • "kwai_client_pixels": [
    ],
  • "kwai_server_pixels": [
    ]
}

Delete a landing page display

Deletes one saved landing page display.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
page_id
required
integer

Numeric Scalev landing page ID.

display_id
required
integer

Numeric Scalev landing page display ID.

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Analytics Setup

Authenticated business analytics provider catalogs and pixel/container endpoints used when configuring landing page displays.

List Facebook standard events

Requires the fb_pixel:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List TikTok standard events

Requires the tiktok_pixel:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List SnackVideo standard events

Requires the kwai_pixel:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
type
string
Enum: "client" "server"

Filter by SnackVideo event channel.

page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List Facebook pixels

Requires the fb_pixel:list scope. The returned id is the Scalev record ID used in landing page display configuration; pixel_id is the provider ID sent to Meta.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
search
string

Search by name or provider pixel ID.

page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a Facebook pixel

Requires the fb_pixel:create scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
required

Facebook pixel data.

name
string
pixel_id
string

Provider pixel ID from Meta.

is_conversion_api
boolean
conversion_token
string
test_event_code
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Get a Facebook pixel

Requires the fb_pixel:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Update a Facebook pixel

Requires the fb_pixel:update scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string
Request Body schema: application/json
required

Facebook pixel data.

name
string
pixel_id
string

Provider pixel ID from Meta.

is_conversion_api
boolean
conversion_token
string
test_event_code
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Delete a Facebook pixel

Requires the fb_pixel:delete scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List TikTok pixels

Requires the tiktok_pixel:list scope. The returned id is the Scalev record ID used in landing page display configuration; pixel_id is the provider ID sent to TikTok.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
search
string

Search by name or provider pixel ID.

page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a TikTok pixel

Requires the tiktok_pixel:create scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
required

TikTok pixel data.

name
string
pixel_id
string

Provider pixel ID from TikTok.

is_conversion_api
boolean
conversion_token
string
test_event_code
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Get a TikTok pixel

Requires the tiktok_pixel:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Update a TikTok pixel

Requires the tiktok_pixel:update scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string
Request Body schema: application/json
required

TikTok pixel data.

name
string
pixel_id
string

Provider pixel ID from TikTok.

is_conversion_api
boolean
conversion_token
string
test_event_code
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "pixel_id": "string",
  • "is_conversion_api": true,
  • "conversion_token": "string",
  • "test_event_code": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Delete a TikTok pixel

Requires the tiktok_pixel:delete scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List SnackVideo pixels

Requires the kwai_pixel:list scope. The returned id is the Scalev record ID used in landing page display configuration; pixel_id is the provider ID sent to SnackVideo.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
type
string
Enum: "client" "server"

Filter by SnackVideo pixel channel.

page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a SnackVideo pixel

Requires the kwai_pixel:create scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
required

SnackVideo pixel data.

name
string
type
string
Enum: "client" "server"
pixel_id
string

Provider pixel ID from SnackVideo.

is_test_mode
boolean
conversion_token
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "client",
  • "pixel_id": "string",
  • "is_test_mode": true,
  • "conversion_token": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "client",
  • "pixel_id": "string",
  • "is_test_mode": true,
  • "conversion_token": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Get a SnackVideo pixel

Requires the kwai_pixel:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "client",
  • "pixel_id": "string",
  • "is_test_mode": true,
  • "conversion_token": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Update a SnackVideo pixel

Requires the kwai_pixel:update scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string
Request Body schema: application/json
required

SnackVideo pixel data.

name
string
type
string
Enum: "client" "server"
pixel_id
string

Provider pixel ID from SnackVideo.

is_test_mode
boolean
conversion_token
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "client",
  • "pixel_id": "string",
  • "is_test_mode": true,
  • "conversion_token": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "client",
  • "pixel_id": "string",
  • "is_test_mode": true,
  • "conversion_token": "string",
  • "id": 0,
  • "errors": [
    ],
  • "display": "string"
}

Delete a SnackVideo pixel

Requires the kwai_pixel:delete scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List Google Tag Manager containers

Requires the gtm:list scope. The returned id is the Scalev record ID used in landing page display configuration; container_id is the GTM provider ID.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
search
string

Search by name or container ID.

page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a Google Tag Manager container

Requires the gtm:create scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
required

Google Tag Manager container data.

name
string
container_id
string

Provider GTM container ID.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "container_id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "container_id": "string",
  • "id": 0,
  • "display": "string"
}

Get a Google Tag Manager container

Requires the gtm:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "container_id": "string",
  • "id": 0,
  • "display": "string"
}

Update a Google Tag Manager container

Requires the gtm:update scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string
Request Body schema: application/json
required

Google Tag Manager container data.

name
string
container_id
string

Provider GTM container ID.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "container_id": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "container_id": "string",
  • "id": 0,
  • "display": "string"
}

Delete a Google Tag Manager container

Requires the gtm:delete scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

OAuth Billing

OAuth billing runtime, refund, and developer finance endpoints.

Create an OAuth billing reservation

No OAuth installation scope. OAuth flow endpoint. Requires an installed-app OAuth access token. JWT and business API key auth do not apply on this route.

Authorizations:
bearerAuth
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Release an OAuth billing reservation

No OAuth installation scope. OAuth flow endpoint. Requires an installed-app OAuth access token. JWT and business API key auth do not apply on this route.

Authorizations:
bearerAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{ }

Refund a captured OAuth billing charge

No OAuth installation scope. OAuth flow endpoint. Requires an installed-app OAuth access token that owns the original authorized-business charge. Refunds are full post-capture reversals; reservation release remains the pre-capture flow.

Authorizations:
bearerAuth
Request Body schema: application/json
required
billing_reservation_id
string or null <uuid>
billing_charge_id
string or null <uuid>
refund_idempotency_key
required
string [ 1 .. 255 ] characters
reason_code
required
string [ 1 .. 100 ] characters
reason
required
string [ 1 .. 1000 ] characters
object

Responses

Request samples

Content type
application/json
{
  • "billing_reservation_id": "f8df1f7c-4ed6-4068-991b-5a05bb578d6c",
  • "billing_charge_id": "fc44f1f7-948f-4bc5-acfc-a812c573dec3",
  • "refund_idempotency_key": "string",
  • "reason_code": "string",
  • "reason": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "refund_id": "63c72644-8ac7-4527-8b49-bb7e9f190cb0",
  • "billing_charge_id": "fc44f1f7-948f-4bc5-acfc-a812c573dec3",
  • "billing_reservation_id": "f8df1f7c-4ed6-4068-991b-5a05bb578d6c",
  • "refund_status": "succeeded",
  • "amount": 0,
  • "currency": "IDR",
  • "reason_code": "string",
  • "reason": "string",
  • "merchant_volt_transaction_id": "7775060b-ab08-4c48-8ea4-ecf991f5ab93",
  • "developer_earnings_entry_id": "3ac4b5b4-2049-4976-972e-9ca155f66fe0",
  • "inserted_at": "2019-08-24T14:15:22Z"
}

Get developer OAuth billing earnings balance

Requires business auth with business:manage_developer_settings.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "balance": 0,
  • "currency": "IDR"
}

List available OAuth billing actions

Requires business auth with business:manage_developer_settings.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List developer OAuth billing reservations

Requires business auth with business:manage_developer_settings.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

oauth_application_id
integer

Filter by OAuth application ID.

oauth_authorized_business_id
integer

Filter by OAuth authorized business/install ID.

merchant_business_id
integer

Filter by merchant business ID.

billing_tag
string

Filter by OAuth billing tag.

action_key
string

Filter by OAuth billing action key.

billing_status
string

Filter by reservation billing status.

billing_idempotency_key
string

Filter by billing idempotency key.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Get a developer OAuth billing reservation

Requires business auth with business:manage_developer_settings.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "released_at": "2019-08-24T14:15:22Z",
  • "captured_at": "2019-08-24T14:15:22Z",
  • "billing_status": "string",
  • "billing_tag": "string",
  • "billing_idempotency_key": "string",
  • "action_key": "string",
  • "amount": 0,
  • "currency": "string",
  • "released_reason": "string",
  • "charge_id": "cf8b747b-a752-4d0a-9a4d-7d19fc1769f3",
  • "metadata": { },
  • "capture_context": {
    },
  • "oauth_application_id": 0,
  • "oauth_authorized_business_id": 0,
  • "merchant_business_id": 0,
  • "developer_business_id": 0
}

List developer OAuth billing charges

Requires business auth with business:manage_developer_settings.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

oauth_application_id
integer

Filter by OAuth application ID.

oauth_authorized_business_id
integer

Filter by OAuth authorized business/install ID.

merchant_business_id
integer

Filter by merchant business ID.

billing_tag
string

Filter by OAuth billing tag.

action_key
string

Filter by OAuth billing action key.

billing_idempotency_key
string

Filter by billing idempotency key.

request_id
string

Filter by machine API request ID.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Get a developer OAuth billing charge

Requires business auth with business:manage_developer_settings.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "captured_at": "2019-08-24T14:15:22Z",
  • "billing_tag": "string",
  • "billing_idempotency_key": "string",
  • "action_key": "string",
  • "gross_amount": 0,
  • "platform_fee_bps": 0,
  • "platform_fee_amount": 0,
  • "developer_net_amount": 0,
  • "currency": "string",
  • "reservation_id": "b947feb5-3593-40ee-8244-4428da3fe32d",
  • "request_id": "string",
  • "metadata": { },
  • "capture_context": {
    },
  • "oauth_application_id": 0,
  • "oauth_authorized_business_id": 0,
  • "merchant_business_id": 0,
  • "developer_business_id": 0
}

List developer OAuth billing earnings ledger entries

Requires business auth with business:manage_developer_settings.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

oauth_application_id
integer

Filter by OAuth application ID.

entry_type
string
Enum: "accrual" "withdrawal" "adjustment"

Filter by developer earnings ledger entry type.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List developer OAuth billing settlements

Requires business auth with business:manage_developer_settings.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

status
string

Filter by settlement status.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Withdraw developer OAuth billing earnings

Requires business auth with business:manage_developer_settings. Xendit is the only supported settlement rail.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
required
amount
required
integer >= 1
settlement_rail
string
Default: "xendit"
Value: "xendit"

Responses

Request samples

Content type
application/json
{
  • "amount": 1,
  • "settlement_rail": "xendit"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "settlement_rail": "xendit",
  • "status": "string",
  • "amount": 0,
  • "currency": "string",
  • "balance_before": 0,
  • "balance_after": 0,
  • "description": "string",
  • "xendit_transfer_id": "string",
  • "business_id": 0,
  • "metadata": { }
}

Customer Auth

Public customer authentication and password-reset endpoints.

Start customer login

Public storefront endpoint. If the store can complete login directly, a successful credential check returns customer JWT tokens. If the store requires OTP, a successful credential check sends the one-time code and returns a message object so the frontend can show the OTP entry step.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
email
required
string <email>
password
required
string
login_as
string
Enum: "customer" "owner"
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "string",
  • "login_as": "customer"
}

Response samples

Content type
application/json
Example
{
  • "access": "string",
  • "refresh": "string",
  • "token_type": "Bearer",
  • "expires_in": 900,
  • "refresh_expires_in": 2592000,
  • "store_unique_id": "string"
}

Verify a customer login OTP

Public storefront endpoint. A successful OTP verification returns customer JWT tokens.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
email
required
string <email>
otp
required
string
login_as
string
Enum: "customer" "owner"
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "otp": "string",
  • "login_as": "customer"
}

Response samples

Content type
application/json
{
  • "access": "string",
  • "refresh": "string",
  • "token_type": "Bearer",
  • "expires_in": 900,
  • "refresh_expires_in": 2592000,
  • "store_unique_id": "string"
}

Refresh a customer JWT

Public storefront endpoint. Refreshes a customer JWT issued by storefront customer auth. Refresh tokens are single-use and rotate on every successful refresh; store the returned refresh value and discard the previous one. Reusing an already-rotated refresh token revokes the refresh-token family.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
refresh
required
string

Current customer refresh token. Refresh tokens are single-use; store the new refresh returned by this endpoint and discard the previous one.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "refresh": "string"
}

Response samples

Content type
application/json
{
  • "access": "string",
  • "refresh": "string",
  • "token_type": "Bearer",
  • "expires_in": 900,
  • "refresh_expires_in": 2592000,
  • "store_unique_id": "string"
}

Blacklist customer JWTs

Public storefront endpoint. Revokes the supplied customer tokens. When a tracked refresh token is supplied, the refresh-token family is revoked so later refresh attempts fail.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
tokens
required
Array of strings

Customer access and refresh tokens to revoke. When a tracked refresh token is supplied, the refresh token family is revoked.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "tokens": [
    ]
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Start a customer password reset flow

Public storefront endpoint. When called from a browser origin that is registered in the store's Storefront API allowed origins, the reset email link uses that origin as http(s)://<allowed-storefront-host>/reset-password?token=<reset-token>. Calls without an Origin header fall back to the hosted storefront custom domain and use the same /reset-password?token=... path.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
email
required
string <email>
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Save a new customer password from a reset token

Public storefront endpoint. Saves a new customer password with the reset token from /reset-password?token=.... Storefronts should read this token from the URL; customers should not be asked to copy it manually.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

Request Body schema: application/json
required
token
required
string
password
required
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Customer Account

Authenticated customer profile endpoints.

Get the authenticated customer profile

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "customer": {
    },
  • "store": {
    },
  • "is_generated_password_reset": true
}

Update the authenticated customer profile

Customer-authenticated storefront endpoint. Customer email is read-only in public v1.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
name
string
phone
string
date_of_birth
string <date>
sex
string
is_unsubscribe
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "phone": "string",
  • "date_of_birth": "2019-08-24",
  • "sex": "string",
  • "is_unsubscribe": true
}

Response samples

Content type
application/json
{
  • "customer": {
    },
  • "store": {
    },
  • "is_generated_password_reset": true
}

Set a new password for the authenticated customer

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
password
required
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "customer": {
    },
  • "store": {
    },
  • "is_generated_password_reset": true
}

List authenticated customer addresses

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create an authenticated customer address

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
name
string
phone
string
email
string <email>
integer or string
address
string
postal_code
string
notes
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "location_id": 0,
  • "address": "string",
  • "postal_code": "string",
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "location": {
    },
  • "address": "string",
  • "postal_code": "string",
  • "notes": "string"
}

Get an authenticated customer address

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

address_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "location": {
    },
  • "address": "string",
  • "postal_code": "string",
  • "notes": "string"
}

Update an authenticated customer address

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

address_id
required
string
Request Body schema: application/json
required
name
string
phone
string
email
string <email>
integer or string
address
string
postal_code
string
notes
string
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "location_id": 0,
  • "address": "string",
  • "postal_code": "string",
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "phone": "string",
  • "email": "user@example.com",
  • "location": {
    },
  • "address": "string",
  • "postal_code": "string",
  • "notes": "string"
}

Delete an authenticated customer address

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

address_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Customer Cart

Authenticated customer cart management endpoints.

Get the authenticated customer cart

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Add an item to the authenticated customer cart

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
type
required
string
required
integer or string
quantity
integer >= 1
Default: 1

Responses

Request samples

Content type
application/json
Example
{
  • "type": "variant",
  • "variant_id": 0,
  • "quantity": 1
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Update an authenticated customer cart item

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
item_id
required
string
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
quantity
required
integer >= 1
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "quantity": 1
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Remove an authenticated customer cart item

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
item_id
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_count": 0,
  • "total": "string",
  • "items": [
    ]
}

Customer Checkout

Authenticated customer checkout preparation and confirmation endpoints.

List saved checkout addresses

Customer-authenticated storefront endpoint. Direct items use the same typed checkout item union as final customer checkout. When direct items are omitted, cart_id selects the customer cart item source.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List available checkout payment methods

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "payment_methods": [
    ],
  • "xendit_va_bank_codes": { },
  • "payment_accounts": [
    ]
}

Get checkout shipping options

Customer-authenticated storefront endpoint. Direct items use the same typed checkout item union as final customer checkout. When direct items are omitted, cart_id selects the customer cart item source.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
Array of any (StorefrontCheckoutItem) [ 1 .. 50 ] items

Optional direct item source. If supplied, these items are used for the shipping-options calculation. Otherwise cart_id selects the authenticated customer's active cart.

integer or string

Authenticated customer cart ID to use when items is omitted.

integer or string
postal_code
string
payment_method
string

Customer checkout payment method code selected by the buyer.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "cart_id": 0,
  • "location_id": 0,
  • "postal_code": "string",
  • "payment_method": "bank_transfer"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Compute checkout summary

Customer-authenticated storefront endpoint. Recomputes the selected shipping cost from destination, courier service, warehouse, payment method, and either direct items or the cart referenced by cart_id.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
Array of any (StorefrontCheckoutItem) [ 1 .. 50 ] items

Optional direct item source. If supplied, these items are used for the checkout summary. Otherwise cart_id selects the authenticated customer's active cart.

integer or string

Authenticated customer cart ID to use when items is omitted.

integer or string
postal_code
string
(string or null) or number

Optional compatibility value. Customer checkout summary recomputes the authoritative shipping cost from the selected courier service, warehouse, payment method, destination, and cart items.

integer or string
warehouse_unique_id
string or null
courier_aggregator_code
string or null
object (StorefrontSelectedShippingOption)
object (StorefrontSelectedShippingOption)
payment_method
string

Storefront payment method code selected by the buyer.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "cart_id": 0,
  • "location_id": 0,
  • "postal_code": "string",
  • "shipping_cost": "string",
  • "courier_service_id": 0,
  • "warehouse_unique_id": "string",
  • "courier_aggregator_code": "string",
  • "shipping_option": {
    },
  • "selected_shipping_option": {
    },
  • "payment_method": "bank_transfer"
}

Response samples

Content type
application/json
{
  • "product_price": "string",
  • "shipping_cost": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "gross_revenue": "string"
}

Create an authenticated customer checkout order

Customer-authenticated storefront endpoint. Create an order from direct items, from a customer cart referenced by cart_id, or from direct items while clearing the referenced cart after successful order creation. Carts must belong to the authenticated customer and current store.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
Array of any (StorefrontCheckoutItem) [ 1 .. 50 ] items

Optional direct item source. If supplied, direct items create the order. If cart_id is also supplied, the referenced cart is cleared after successful order creation.

integer or string

Authenticated customer cart ID. Used as the order source when items is omitted. When items is also supplied, the cart is only cleared after successful order creation.

integer or string
address
string
integer or string
postal_code
string
payment_method
required
string

Customer checkout payment method code selected by the buyer.

sub_payment_method
string or null
integer or string
warehouse_unique_id
string or null
courier_aggregator_code
string or null
discount_code_code
string or null
notes
string or null

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "cart_id": 0,
  • "address_id": 0,
  • "address": "string",
  • "location_id": 0,
  • "postal_code": "string",
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "courier_service_id": 0,
  • "warehouse_unique_id": "string",
  • "courier_aggregator_code": "string",
  • "discount_code_code": "string",
  • "notes": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "business": {
    },
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "order_id": "string",
  • "status": "string",
  • "payment_status": "string",
  • "is_probably_spam": true,
  • "draft_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "transferproof_url": "string",
  • "handler_phone": "string",
  • "chat_message": "string",
  • "customer_id": 0,
  • "discount_code_code": "string",
  • "page": {
    },
  • "gross_revenue": "string",
  • "product_price": "string",
  • "product_discount": "string",
  • "shipping_cost": "string",
  • "shipping_discount": "string",
  • "other_income": "string",
  • "other_income_name": "string",
  • "unique_code_discount": "string",
  • "discount_code_discount": "string",
  • "pg_payment_info": { },
  • "status_history": [
    ],
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "epayment_provider": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "shipment_status_history": [
    ],
  • "shipment_receipt": "string",
  • "courier_service": {
    },
  • "variants": { },
  • "bundle_price_options": { },
  • "orderlines": [
    ],
  • "payment_expiration_at": "2019-08-24T14:15:22Z",
  • "store_custom_domain": {
    },
  • "store": {
    },
  • "destination_address": {
    },
  • "customer": {
    }
}

Customer Orders

Authenticated customer order read endpoints.

List authenticated customer orders

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Get an authenticated customer order

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
id
required
string

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values remain accepted for compatibility.

store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "secret_slug": "string",
  • "public_order_url": "http://example.com",
  • "payment_url": "http://example.com",
  • "order_id": "string",
  • "store": {
    },
  • "customer": {
    },
  • "status": "string",
  • "draft_time": "2019-08-24T14:15:22Z",
  • "pending_time": "2019-08-24T14:15:22Z",
  • "confirmed_time": "2019-08-24T14:15:22Z",
  • "in_process_time": "2019-08-24T14:15:22Z",
  • "ready_time": "2019-08-24T14:15:22Z",
  • "shipped_time": "2019-08-24T14:15:22Z",
  • "completed_time": "2019-08-24T14:15:22Z",
  • "rts_time": "2019-08-24T14:15:22Z",
  • "canceled_time": "2019-08-24T14:15:22Z",
  • "closed_time": "2019-08-24T14:15:22Z",
  • "unpaid_time": "2019-08-24T14:15:22Z",
  • "paid_time": "2019-08-24T14:15:22Z",
  • "transfer_time": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "status_history": [
    ],
  • "payment_status": "string",
  • "payment_method": "bank_transfer",
  • "sub_payment_method": "string",
  • "payment_account_holder": "string",
  • "payment_account_number": "string",
  • "transferproof_url": "string",
  • "pg_payment_info": { },
  • "total_quantity": 0,
  • "unique_code_discount": "string",
  • "discount_code_discount": "string",
  • "discount_code_code": "string",
  • "discount_code_applied_to": "string",
  • "product_price": "string",
  • "product_discount": "string",
  • "other_income_name": "string",
  • "other_income": "string",
  • "gross_revenue": "string",
  • "gross_revenue_for_dropshipper": "string",
  • "discount_rate": "string",
  • "shipping_cost": "string",
  • "shipping_discount": "string",
  • "destination_address": {
    },
  • "final_variants": {
    },
  • "product_weight": 0,
  • "total_weight": 0,
  • "is_dropshipping": true,
  • "courier_service": {
    },
  • "shipment_receipt": "string",
  • "shipment_status": "string",
  • "awb_status": "string",
  • "shipment_status_history": [
    ],
  • "orderlines": [
    ],
  • "notes": "string"
}

Customer Subscriptions

Authenticated customer subscription and subscription-item endpoints.

List authenticated customer subscriptions

Customer-authenticated storefront endpoint. Retrieves a paginated list of subscriptions. The data is sorted by id in descending order. Uses cursor-based pagination with default page size of 25 and maximum of 25.

Authorizations:
bearerAuth
path Parameters
store_id
required
string

Store unique_id.

query Parameters
page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

status
string
Enum: "unactivated" "active" "canceled" "expired" "failed"

Filter by subscription status (unactivated, active, canceled, expired)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Get an authenticated customer subscription

Customer-authenticated storefront endpoint. Retrieves detailed information about a specific subscription identified by its ID.

Authorizations:
bearerAuth
path Parameters
id
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "activated_at": "2019-08-24T14:15:22Z",
  • "business_customer_id": "1dded159-4f9e-46ad-aa46-d32b3df19711",
  • "business_id": "f59fcbb7-848d-4242-af07-a8bb7e3ab37c",
  • "canceled_at": "2019-08-24T14:15:22Z",
  • "current_period_end": "2019-08-24T14:15:22Z",
  • "current_period_start": "2019-08-24T14:15:22Z",
  • "customer": {
    },
  • "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  • "expired_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "interval": "day",
  • "interval_count": 0,
  • "is_active": true,
  • "is_cancel_at_period_end": true,
  • "latest_renewal_invoice": {
    },
  • "order_id": "93101167-9065-4b9c-b98b-5d789a3ed9fe",
  • "status": "unactivated",
  • "store": {
    },
  • "store_id": "7fe87115-950c-4ae8-bd7e-970406bc9ac0",
  • "subscription_id": "string",
  • "subscription_items": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z"
}

Cancel a customer subscription

Customer-authenticated storefront endpoint. Cancels a subscription at period end. The subscription must be active and not already marked for cancellation. All active subscription items will be marked for cancellation as well. Any pending/scheduled actions will be canceled.

Authorizations:
bearerAuth
path Parameters
id
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "activated_at": "2019-08-24T14:15:22Z",
  • "business_customer_id": "1dded159-4f9e-46ad-aa46-d32b3df19711",
  • "business_id": "f59fcbb7-848d-4242-af07-a8bb7e3ab37c",
  • "canceled_at": "2019-08-24T14:15:22Z",
  • "current_period_end": "2019-08-24T14:15:22Z",
  • "current_period_start": "2019-08-24T14:15:22Z",
  • "customer": {
    },
  • "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  • "expired_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "interval": "day",
  • "interval_count": 0,
  • "is_active": true,
  • "is_cancel_at_period_end": true,
  • "latest_renewal_invoice": {
    },
  • "order_id": "93101167-9065-4b9c-b98b-5d789a3ed9fe",
  • "status": "unactivated",
  • "store": {
    },
  • "store_id": "7fe87115-950c-4ae8-bd7e-970406bc9ac0",
  • "subscription_id": "string",
  • "subscription_items": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z"
}

Resume a customer subscription

Customer-authenticated storefront endpoint. Resumes a subscription that was scheduled for cancellation at period end. The subscription must be active and have is_cancel_at_period_end = true. All subscription items scheduled for cancellation will also be resumed. If the subscription is approaching renewal, a new renewal action will be created.

Authorizations:
bearerAuth
path Parameters
id
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "activated_at": "2019-08-24T14:15:22Z",
  • "business_customer_id": "1dded159-4f9e-46ad-aa46-d32b3df19711",
  • "business_id": "f59fcbb7-848d-4242-af07-a8bb7e3ab37c",
  • "canceled_at": "2019-08-24T14:15:22Z",
  • "current_period_end": "2019-08-24T14:15:22Z",
  • "current_period_start": "2019-08-24T14:15:22Z",
  • "customer": {
    },
  • "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  • "expired_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "interval": "day",
  • "interval_count": 0,
  • "is_active": true,
  • "is_cancel_at_period_end": true,
  • "latest_renewal_invoice": {
    },
  • "order_id": "93101167-9065-4b9c-b98b-5d789a3ed9fe",
  • "status": "unactivated",
  • "store": {
    },
  • "store_id": "7fe87115-950c-4ae8-bd7e-970406bc9ac0",
  • "subscription_id": "string",
  • "subscription_items": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z"
}

List subscription upgrade options

Customer-authenticated storefront endpoint. Retrieves a list of variants with higher prices than the current variant of the subscription item. Only active subscription items that are not scheduled for cancellation are eligible.

Authorizations:
bearerAuth
path Parameters
id
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Upgrade a subscription item

Customer-authenticated storefront endpoint. Upgrades a subscription item to a higher-priced variant. Creates a subscription action with type 'upgrade' and executes it within the same transaction. The variant_id must be present in the list of upgrade variants.

Authorizations:
bearerAuth
path Parameters
id
required
string
store_id
required
string

Store unique_id.

Request Body schema: application/json
optional

Upgrade data

variant_id
required
integer

ID of the variant to upgrade to

Responses

Request samples

Content type
application/json
{
  • "variant_id": 0
}

Response samples

Content type
application/json
{
  • "activated_at": "2019-08-24T14:15:22Z",
  • "business_customer_id": "1dded159-4f9e-46ad-aa46-d32b3df19711",
  • "business_id": "f59fcbb7-848d-4242-af07-a8bb7e3ab37c",
  • "canceled_at": "2019-08-24T14:15:22Z",
  • "current_period_end": "2019-08-24T14:15:22Z",
  • "current_period_start": "2019-08-24T14:15:22Z",
  • "customer": {
    },
  • "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  • "expired_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "interval": "day",
  • "interval_count": 0,
  • "is_active": true,
  • "is_cancel_at_period_end": true,
  • "latest_renewal_invoice": {
    },
  • "order_id": "93101167-9065-4b9c-b98b-5d789a3ed9fe",
  • "status": "unactivated",
  • "store": {
    },
  • "store_id": "7fe87115-950c-4ae8-bd7e-970406bc9ac0",
  • "subscription_id": "string",
  • "subscription_items": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z"
}

List subscription downgrade options

Customer-authenticated storefront endpoint. Retrieves a list of variants with lower prices than the current variant of the subscription item. Only active subscription items that are not scheduled for cancellation are eligible.

Authorizations:
bearerAuth
path Parameters
id
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Downgrade a subscription item

Customer-authenticated storefront endpoint. Downgrades a subscription item to a lower-priced variant. Creates a subscription action with type 'downgrade' and executes it within the same transaction. The variant_id must be present in the list of downgrade variants.

Authorizations:
bearerAuth
path Parameters
id
required
string
store_id
required
string

Store unique_id.

Request Body schema: application/json
optional

Downgrade data

variant_id
required
integer

ID of the variant to downgrade to

Responses

Request samples

Content type
application/json
{
  • "variant_id": 0
}

Response samples

Content type
application/json
{
  • "activated_at": "2019-08-24T14:15:22Z",
  • "business_customer_id": "1dded159-4f9e-46ad-aa46-d32b3df19711",
  • "business_id": "f59fcbb7-848d-4242-af07-a8bb7e3ab37c",
  • "canceled_at": "2019-08-24T14:15:22Z",
  • "current_period_end": "2019-08-24T14:15:22Z",
  • "current_period_start": "2019-08-24T14:15:22Z",
  • "customer": {
    },
  • "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  • "expired_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "interval": "day",
  • "interval_count": 0,
  • "is_active": true,
  • "is_cancel_at_period_end": true,
  • "latest_renewal_invoice": {
    },
  • "order_id": "93101167-9065-4b9c-b98b-5d789a3ed9fe",
  • "status": "unactivated",
  • "store": {
    },
  • "store_id": "7fe87115-950c-4ae8-bd7e-970406bc9ac0",
  • "subscription_id": "string",
  • "subscription_items": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z"
}

Customer Courses

Authenticated customer digital course access and progress endpoints.

Get course access for a purchased variant

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
uuid
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "item_type": "string",
  • "pricing_type": "string",
  • "interval": "string",
  • "interval_count": 0,
  • "validity_period_unit": "string",
  • "validity_period": 0,
  • "product_id": 0,
  • "description": "string",
  • "product_name": "string",
  • "fullname": "string",
  • "course_settings": { },
  • "course_sections": [
    ]
}

Get a course section

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
uuid
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "type": "string",
  • "sequence_order": 0,
  • "is_shown": true,
  • "variant_id": 0,
  • "course_contents": [
    ],
  • "progress": {
    },
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get a course content item

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
uuid
required
string
store_id
required
string

Store unique_id.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "text": "string",
  • "type": "string",
  • "duration": 0,
  • "video_url": "string",
  • "sequence_order": 0,
  • "is_shown": true,
  • "is_discussion_active": true,
  • "section_uuid": "string",
  • "variant_id": 0,
  • "boosts": [
    ],
  • "progress": {
    },
  • "is_notification_enabled": true,
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update course content progress

Customer-authenticated storefront endpoint.

Authorizations:
bearerAuth
path Parameters
uuid
required
string
store_id
required
string

Store unique_id.

Request Body schema: application/json
required
progress
number <float> [ 0 .. 100 ]
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "progress": 100
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "title": "string",
  • "text": "string",
  • "type": "string",
  • "duration": 0,
  • "video_url": "string",
  • "sequence_order": 0,
  • "is_shown": true,
  • "is_discussion_active": true,
  • "section_uuid": "string",
  • "variant_id": 0,
  • "boosts": [
    ],
  • "progress": {
    },
  • "is_notification_enabled": true,
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Discounts

Discount-code validation and authenticated management endpoints.

Check discount code validity

Public storefront endpoint. Validate discount eligibility against the checkout context before order creation. If X-Scalev-Guest-Token resolves a non-empty guest cart, the cart is used as the item source. Otherwise the request may provide direct items[] with variant IDs. Unknown or ineligible codes return a validation result with is_eligible: false; the route itself only returns 404 when the store cannot be resolved.

path Parameters
store_id
required
string

Store unique_id.

header Parameters
X-Scalev-Storefront-Api-Key
required
string

Publishable storefront public API key for the target store. Page public API keys are not accepted on Storefront public routes.

X-Scalev-Guest-Token
string <uuid>

Browser-safe guest cart token returned by the first guest-cart response when no token is sent. Send it on later guest-cart and public checkout calls to keep the same cart after reloads.

Request Body schema: application/json
required
code
required
string

Discount code to validate.

Array of any (StorefrontCheckoutItem) [ 1 .. 50 ] items

Optional direct item source. If supplied, these items are used for discount eligibility. Otherwise the guest cart referenced by X-Scalev-Guest-Token is used.

object (StorefrontCheckoutDestination)
integer or string
warehouse_unique_id
string
courier_aggregator_code
string or null
payment_method
string

Storefront payment method code selected by the buyer.

(string or null) or number (StorefrontMoneyValue)
(string or null) or number (StorefrontMoneyValue)
(string or null) or number (StorefrontMoneyValue)
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "code": "SAVE10",
  • "items": [
    ],
  • "destination": {
    },
  • "courier_service_id": 0,
  • "warehouse_unique_id": "string",
  • "courier_aggregator_code": "string",
  • "payment_method": "bank_transfer",
  • "net_product_price": "string",
  • "gross_revenue": "string",
  • "shipping_cost": "string"
}

Response samples

Content type
application/json
{
  • "discount_code": {
    },
  • "eligibility_details": { },
  • "is_eligible": true,
  • "discount_code_discount": "string"
}

List discount codes

Business-scoped discount-code list ordered by discount-code ID descending. Supports code search plus applied_to and enabled-status filters. Results use v3 cursor pagination.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Case-insensitive partial match against the discount code.

applied_to
string
Enum: "product_price" "shipping_cost"

Filter by the value the discount applies to.

status
string
Enum: "enabled" "disabled"

Filter by whether customers can use the discount code.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a discount code

Creates a business-scoped discount code. The code is normalized to an uppercase, space-free value before saving.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
required
code
required
string

Discount code. Saved uppercase with spaces removed.

applied_to
required
string
Enum: "product_price" "shipping_cost"
amount_type
required
string
Enum: "fixed" "percentage"
amount
number or null

Required when amount_type is fixed.

percentage
integer or null [ 0 .. 100 ]

Required when amount_type is percentage.

is_max_amount
boolean or null

Required when amount_type is percentage.

max_amount
number or null
is_enabled
boolean
Default: true
is_usage_limit
boolean
Default: false
usage_limit
integer or null
is_expiry
boolean
Default: false
expiry_time
string or null <date-time>
is_limited_to_pages
boolean
Default: false
page_ids
Array of integers
is_limited_to_payment_methods
boolean
Default: false
payment_methods
Array of strings
is_minimum_revenue
boolean
Default: false
minimum_revenue
number or null

Responses

Request samples

Content type
application/json
{
  • "code": "SAVE10",
  • "applied_to": "product_price",
  • "amount_type": "fixed",
  • "amount": 0,
  • "percentage": 100,
  • "is_max_amount": true,
  • "max_amount": 0,
  • "is_enabled": true,
  • "is_usage_limit": false,
  • "usage_limit": 0,
  • "is_expiry": false,
  • "expiry_time": "2019-08-24T14:15:22Z",
  • "is_limited_to_pages": false,
  • "page_ids": [
    ],
  • "is_limited_to_payment_methods": false,
  • "payment_methods": [
    ],
  • "is_minimum_revenue": false,
  • "minimum_revenue": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "business_id": 0,
  • "is_enabled": true,
  • "code": "string",
  • "applied_to": "string",
  • "amount_type": "string",
  • "percentage": "string",
  • "is_max_amount": true,
  • "max_amount": "string",
  • "amount": "string",
  • "is_usage_limit": true,
  • "usage_limit": 0,
  • "current_usage": 0,
  • "is_expiry": true,
  • "expiry_time": "2019-08-24T14:15:22Z",
  • "is_limited_to_pages": true,
  • "pages": [
    ],
  • "is_limited_to_payment_methods": true,
  • "payment_methods": [
    ],
  • "is_minimum_revenue": true,
  • "minimum_revenue": "string",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get a discount code

Returns one business-scoped discount code.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "business_id": 0,
  • "is_enabled": true,
  • "code": "string",
  • "applied_to": "string",
  • "amount_type": "string",
  • "percentage": "string",
  • "is_max_amount": true,
  • "max_amount": "string",
  • "amount": "string",
  • "is_usage_limit": true,
  • "usage_limit": 0,
  • "current_usage": 0,
  • "is_expiry": true,
  • "expiry_time": "2019-08-24T14:15:22Z",
  • "is_limited_to_pages": true,
  • "pages": [
    ],
  • "is_limited_to_payment_methods": true,
  • "payment_methods": [
    ],
  • "is_minimum_revenue": true,
  • "minimum_revenue": "string",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a discount code

Updates discount-code availability, usage, expiry, page, payment-method, and minimum-revenue settings. Code, discount type, and discount amount are immutable after creation.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string
Request Body schema: application/json
required
is_enabled
boolean
is_usage_limit
boolean
usage_limit
integer or null
is_expiry
boolean
expiry_time
string or null <date-time>
is_limited_to_pages
boolean
page_ids
Array of integers
is_limited_to_payment_methods
boolean
payment_methods
Array of strings
is_minimum_revenue
boolean
minimum_revenue
number or null

Responses

Request samples

Content type
application/json
{
  • "is_enabled": true,
  • "is_usage_limit": true,
  • "usage_limit": 0,
  • "is_expiry": true,
  • "expiry_time": "2019-08-24T14:15:22Z",
  • "is_limited_to_pages": true,
  • "page_ids": [
    ],
  • "is_limited_to_payment_methods": true,
  • "payment_methods": [
    ],
  • "is_minimum_revenue": true,
  • "minimum_revenue": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "business_id": 0,
  • "is_enabled": true,
  • "code": "string",
  • "applied_to": "string",
  • "amount_type": "string",
  • "percentage": "string",
  • "is_max_amount": true,
  • "max_amount": "string",
  • "amount": "string",
  • "is_usage_limit": true,
  • "usage_limit": 0,
  • "current_usage": 0,
  • "is_expiry": true,
  • "expiry_time": "2019-08-24T14:15:22Z",
  • "is_limited_to_pages": true,
  • "pages": [
    ],
  • "is_limited_to_payment_methods": true,
  • "payment_methods": [
    ],
  • "is_minimum_revenue": true,
  • "minimum_revenue": "string",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete a discount code

Deletes a business-scoped discount code when it has no recorded usage.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Locations

Authenticated business location lookup endpoints.

List locations for authenticated business flows

Requires the order:create scope. Retrieve a cursor-paginated list of locations with optional search.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer [ 1 .. 25 ]
Default: 25

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term for location names

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "page_size": 25
}

List postal codes for a location for authenticated business flows

Requires the order:create scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
location_id
required
integer

Legacy numeric location ID.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Business Stores

Authenticated business store lookup endpoints. These routes use direct numeric Scalev store database IDs.

List business stores

Requires the store:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Filter by store name.

product_id
integer

Filter stores attached to a product ID.

domain
string

Filter by custom domain URL.

has_domain
boolean

Filter stores that have or do not have a custom domain.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a business store

Requires the store:create scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
Request Body schema: application/json
required
name
required
string
custom_domain_id
integer or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "custom_domain_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "string",
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "name": "string",
  • "business_id": 0,
  • "is_active": true,
  • "is_public": true,
  • "logo": "string",
  • "custom_domain": { },
  • "payment_methods": [
    ],
  • "sub_payment_methods": [
    ],
  • "xendit_va_bank_codes": [
    ],
  • "products": [
    ],
  • "bundle_price_options": [
    ],
  • "bundles": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z"
}

Get a business store

Requires the store:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
integer
Example: 3288

Numeric Scalev store database ID.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "string",
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "name": "string",
  • "business_id": 0,
  • "is_active": true,
  • "is_public": true,
  • "logo": "string",
  • "custom_domain": { },
  • "payment_methods": [
    ],
  • "sub_payment_methods": [
    ],
  • "xendit_va_bank_codes": [
    ],
  • "products": [
    ],
  • "bundle_price_options": [
    ],
  • "bundles": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z"
}

Update a business store

Requires the store:update scope. Use is_public instead of legacy visibility.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
integer
Example: 3288

Numeric Scalev store database ID.

Request Body schema: application/json
required
name
string
is_public
boolean
custom_domain_id
integer or null
warehouse_id
integer or null
logo
string or null

Logo upload value or empty value to clear the logo.

is_auto_expire
boolean
auto_expire_days
integer
is_discount_editable
boolean
is_unique_code
boolean
max_unique_code_amount
number
is_postal_code
boolean
postal_code_requirement
string
Enum: "autofill" "manual"
is_customer_otp_required
boolean
is_manual_shipping_cost
boolean
is_courier_required
boolean
is_transferproof_required
boolean
is_dropshipping_allowed
boolean
is_moota_enabled
boolean
email_notification_statuses
Array of strings
email_reply_to_id
integer or null
email_reply_to_assignment
string
Enum: "fixed" "rotator"
is_email_new_order
boolean
is_email_notifications
boolean
whatsapp_notification_statuses
Array of strings
is_whatsapp_new_order
boolean
is_whatsapp_payment_d1_fu
boolean
is_whatsapp_payment_d2_fu
boolean
is_whatsapp_payment_last_fu
boolean
is_whatsapp_link_download
boolean
non_cod_purchase_triggers
Array of strings
cod_purchase_triggers
Array of strings
capi_purchase_value_type
string
Enum: "gross_revenue" "net_revenue" "adj_gross_revenue"
days_of_payment_processing
integer
is_show_download_invoice
boolean
is_show_whatsapp
boolean
is_fuc_product_enabled
boolean
is_fuc_bundle_enabled
boolean
is_advanced_validation
boolean
min_name_length
integer
min_address_length
integer
max_per_phone
integer
max_per_ip
integer
blocked_message
string
is_order_hard_filter
boolean
is_customer_spam_filter
boolean
is_ip_spam_filter
boolean
is_spam_filter
boolean
is_use_waba
boolean
waba_account_id
integer or null
greeting_message
string
inactivity_period
integer
is_greeting_message_enabled
boolean
digital_only_complete_type
string
Enum: "auto" "when_settled" "manual"
auto_other_income
string
fixed_auto_other_income
number
other_income_name
string
dynamic_other_income_cod_type
string
Enum: "fixed" "percentage"
dynamic_other_income_cod_default_amount
number
dynamic_other_income_cod_default_percentage
number
dynamic_other_income_epayment_type
string
Enum: "fixed" "percentage"
dynamic_other_income_epayment_default_amount
number
dynamic_other_income_epayment_default_percentage
number
Array of objects
Array of objects
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "is_public": true,
  • "custom_domain_id": 0,
  • "warehouse_id": 0,
  • "logo": "string",
  • "is_auto_expire": true,
  • "auto_expire_days": 0,
  • "is_discount_editable": true,
  • "is_unique_code": true,
  • "max_unique_code_amount": 0,
  • "is_postal_code": true,
  • "postal_code_requirement": "autofill",
  • "is_customer_otp_required": true,
  • "is_manual_shipping_cost": true,
  • "is_courier_required": true,
  • "is_transferproof_required": true,
  • "is_dropshipping_allowed": true,
  • "is_moota_enabled": true,
  • "email_notification_statuses": [
    ],
  • "email_reply_to_id": 0,
  • "email_reply_to_assignment": "fixed",
  • "is_email_new_order": true,
  • "is_email_notifications": true,
  • "whatsapp_notification_statuses": [
    ],
  • "is_whatsapp_new_order": true,
  • "is_whatsapp_payment_d1_fu": true,
  • "is_whatsapp_payment_d2_fu": true,
  • "is_whatsapp_payment_last_fu": true,
  • "is_whatsapp_link_download": true,
  • "non_cod_purchase_triggers": [
    ],
  • "cod_purchase_triggers": [
    ],
  • "capi_purchase_value_type": "gross_revenue",
  • "days_of_payment_processing": 0,
  • "is_show_download_invoice": true,
  • "is_show_whatsapp": true,
  • "is_fuc_product_enabled": true,
  • "is_fuc_bundle_enabled": true,
  • "is_advanced_validation": true,
  • "min_name_length": 0,
  • "min_address_length": 0,
  • "max_per_phone": 0,
  • "max_per_ip": 0,
  • "blocked_message": "string",
  • "is_order_hard_filter": true,
  • "is_customer_spam_filter": true,
  • "is_ip_spam_filter": true,
  • "is_spam_filter": true,
  • "is_use_waba": true,
  • "waba_account_id": 0,
  • "greeting_message": "string",
  • "inactivity_period": 0,
  • "is_greeting_message_enabled": true,
  • "digital_only_complete_type": "auto",
  • "auto_other_income": "string",
  • "fixed_auto_other_income": 0,
  • "other_income_name": "string",
  • "dynamic_other_income_cod_type": "fixed",
  • "dynamic_other_income_cod_default_amount": 0,
  • "dynamic_other_income_cod_default_percentage": 0,
  • "dynamic_other_income_epayment_type": "fixed",
  • "dynamic_other_income_epayment_default_amount": 0,
  • "dynamic_other_income_epayment_default_percentage": 0,
  • "store_courier_other_incomes": [
    ],
  • "store_method_other_incomes": [
    ],
  • "store_sales_people": [
    ],
  • "store_custom_audiences": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "string",
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "name": "string",
  • "business_id": 0,
  • "is_active": true,
  • "is_public": true,
  • "logo": "string",
  • "custom_domain": { },
  • "payment_methods": [
    ],
  • "sub_payment_methods": [
    ],
  • "xendit_va_bank_codes": [
    ],
  • "products": [
    ],
  • "bundle_price_options": [
    ],
  • "bundles": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "last_updated_at": "2019-08-24T14:15:22Z"
}

Delete a business store

Requires the store:delete scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
id
required
integer
Example: 3288

Numeric Scalev store database ID.

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List stores in simplified business format

Requires the store:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List products for a business store

Requires the product:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List bundles for a business store

Requires the bundle:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Get a bundle for a business store

Requires the bundle:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

bundle_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "display": "string",
  • "bundle_price_options": [
    ]
}

Attach bundle price options to a business store

Requires the store:update scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

Request Body schema: application/json
required
bpo_ids
required
Array of integers

Responses

Request samples

Content type
application/json
{
  • "bpo_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Get a bundle price option for a business store

Requires the bundle:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "price": 0,
  • "is_visible": true
}

Remove a bundle price option from a business store

Requires the store:update scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Get bundle price option relations for a business store

Requires the bundle:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

id
required
string

Responses

Response samples

Content type
application/json
{ }

Get a variant for a business store

Requires the product:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

variant_id
required
string

Responses

Response samples

Content type
application/json
{
  • "cogs": 0,
  • "price_bt": 0,
  • "validity_period_unit": "day",
  • "display": "string",
  • "option1_value": "string",
  • "image_configs": { },
  • "reseller_price_bt": 0,
  • "option2_value": "string",
  • "reseller_price": 0,
  • "fullname": "string",
  • "validity_period": 0,
  • "uuid": "string",
  • "sku": "string",
  • "digital_product_files": [
    ],
  • "product_name": "string",
  • "item_type": "physical",
  • "pricing_type": "one_time",
  • "self_file_urls": [],
  • "name": "string",
  • "id": 0,
  • "unique_id": "string",
  • "cogs_bt": 0,
  • "currency": "IDR",
  • "price": 0,
  • "images": [],
  • "weight": 0,
  • "is_checked": true,
  • "interval_count": 0,
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "option3_value": "string",
  • "interval": "day",
  • "metadata": { },
  • "product": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "is_editable": true
}

Search store-scoped product knowledge

Requires the store:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

query Parameters
search
required
string

Search query.

product_id
integer

Optional product filter.

variant_id
integer

Optional variant filter.

limit
integer

Optional result limit.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List enabled payment methods for a business store

Requires the store:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

List payment accounts available to a business store

Requires the payment_account:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List sales people for a business store

Requires the store:read scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List pages for a business store

Requires the page:list scope.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List channels for a business store

Requires the store:list scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

query Parameters
page_size
integer

Number of items per page.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Storefront Setup

Authenticated business setup endpoints for public storefront keys and CORS origins.

List storefront public API keys

Requires the store:read scope. Uses the authenticated business store ID.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Create a storefront public API key

Requires the store:update scope. Uses the authenticated business store ID.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "token": "string",
  • "status": "active",
  • "store_id": 0,
  • "created_by": { },
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Revoke a storefront public API key

Requires the store:update scope. Uses the authenticated business store ID.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List storefront allowed origins

Requires the store:read scope. Uses the authenticated business store ID.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Create a storefront allowed origin

Requires the store:update scope. Uses the authenticated business store ID.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

Request Body schema: application/json
required
origin
required
string <uri>

Exact http or https origin with no path, query, or fragment.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "origin": "http://example.com",
  • "status": "active",
  • "store_id": 0,
  • "created_by": { },
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Revoke a storefront allowed origin

Requires the store:update scope. Uses the authenticated business store ID.

Authorizations:
bearerAuthapiKeyAuthscalevOAuth
path Parameters
store_id
required
integer
Example: 3288

Numeric Scalev store database ID for authenticated business routes.

id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Shipping

Authenticated business shipping lookup endpoints.

Search shipping costs

Requires the order:create scope. Retrieve shipping cost estimates based on origin, destination, courier services, and package weight.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Estimate shipping cost request

courier_codes
required
Array of strings (CourierCode)
Items Enum: "ninja" "ide" "sicepat" "sap" "ncs" "anteraja" "sentral" "jne" "jnt" "pos" "lion" "rex" "jtl" "tiki" "rpx" "pandu" "wahana" "pahala" "jet" "slis" "dse" "first" "star" "idl"

List of courier codes

location_id
required
integer

ID of the destination location

postal_code
string

Postal code of the destination

warehouse_id
required
integer

ID of the warehouse

weight
required
integer

Weight of the shipment in grams

Responses

Request samples

Content type
application/json
{
  • "courier_codes": [
    ],
  • "location_id": 0,
  • "postal_code": "string",
  • "warehouse_id": 0,
  • "weight": 0
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Search courier services

Requires the order:create scope. Retrieve available courier services based on warehouse, destination, payment method, and package weight.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Search courier services request

is_show_all
boolean

Whether to show all courier services or only those available

location_id
required
integer

ID of the destination location

payment_method
required
string
Enum: "va" "qris" "card" "invoice" "alfamart" "indomaret" "ovo" "dana" "shopeepay" "linkaja" "gopay" "no_payment" "bank_transfer" "marketplace" "cod"

Order payment method

postal_code
string

Postal code of the destination

store_id
required
integer

ID of the store

warehouse_id
required
integer

ID of the warehouse

weight
required
integer

Weight of the shipment in grams

Responses

Request samples

Content type
application/json
{
  • "is_show_all": true,
  • "location_id": 0,
  • "payment_method": "va",
  • "postal_code": "string",
  • "store_id": 0,
  • "warehouse_id": 0,
  • "weight": 0
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Search warehouses

Requires the order:create scope. Search for warehouses based on order details, store, destination, and product variants.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Search warehouse request

destination_id
required
integer

ID of the destination location

string or integer (OrderPrimaryKeyInput)

Canonical UUIDv7 order primary key. For migrated orders, legacy numeric core_order.id values are still accepted as numbers or decimal strings.

store_id
required
integer

ID of the store

required
Array of objects

List of product variant ids and their quantities

Responses

Request samples

Content type
application/json
{
  • "destination_id": 0,
  • "order_id": "string",
  • "store_id": 0,
  • "variants": [
    ]
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Business Products

Authenticated business product, variant, taxonomy, and course management endpoints.

List business products

Requires the product:list scope. Retrieves a paginated list of products with optional filtering. The data is sorted by id in descending order and cannot be changed. Uses cursor-based pagination with default page size of 25 and maximum of 25.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term to filter products by name (case-insensitive, partial match)

is_inventory
boolean

Filter products by inventory tracking status (true or false)

is_product_sharing
boolean

Filter products by product sharing status (true or false)

warehouse_id
integer

Filter products associated with a specific warehouse ID

qty_type
string
Value: "available_qty"

Type of quantity to filter by. Options are 'available_qty' (only products with variants that have available quantity > 0)

store_id
integer

Filter products associated with a specific store ID

is_checked
boolean

Show variants in products where is_checked is true or false

is_owned
boolean

Filter products by ownership. 'true' returns products owned by the business, 'false' returns shared products

item_type
string (ItemType)
Enum: "physical" "digital" "course" "license" "subscription"

Filter products by item type (physical, digital, course, license, subscription)

label
string

Filter products associated with a specific label name

pricing_type
string
Enum: "one_time" "recurring"

Filter products by pricing type (one_time or recurring)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a product

Requires the product:create scope. Creates a new product with the provided data.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Product data to create

description
string

Description

is_inventory
boolean

Is Inventory

is_multiple
boolean

Is Multiple

is_product_sharing
boolean

Is Product Sharing

item_type
required
string (ItemType)
Enum: "physical" "digital" "course" "license" "subscription"

Type of the product item

meta_thumbnail
string <uri>

Meta Thumbnail

name
required
string

Product Name

option1_name
string

Option 1 Name

option2_name
string

Option 2 Name

option3_name
string

Option 3 Name

partnership_sales_letter
string

Partnership sales letter for affiliate/reseller promotion

public_name
string

Product Public Name

rich_description
string

Rich Description

slug
string

Product Slug

taxonomy_id
integer

Taxonomy ID

Array of objects (RequestVariant)

List of variants associated with the product

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "is_inventory": true,
  • "is_multiple": true,
  • "is_product_sharing": true,
  • "item_type": "physical",
  • "meta_thumbnail": "http://example.com",
  • "name": "string",
  • "option1_name": "string",
  • "option2_name": "string",
  • "option3_name": "string",
  • "partnership_sales_letter": "string",
  • "public_name": "string",
  • "rich_description": "string",
  • "slug": "string",
  • "taxonomy_id": 0,
  • "variants": [
    ]
}

Response samples

Content type
application/json
{
  • "variants_count": 0,
  • "display": "string",
  • "option1_name": "string",
  • "variants": [
    ],
  • "business": {
    },
  • "is_inventory": true,
  • "uuid": "string",
  • "last_updated_by": {
    },
  • "rich_description": "string",
  • "affiliate_pro_commission_rate": "string",
  • "taxonomy": {
    },
  • "created_by": {
    },
  • "item_type": "physical",
  • "is_affiliate_pro_enabled": true,
  • "item_type_name": "string",
  • "description": "string",
  • "name": "string",
  • "id": 0,
  • "option2_name": "string",
  • "is_product_sharing": true,
  • "warehouses": [
    ],
  • "is_affiliate_auto_accept": true,
  • "meta_thumbnail": "http://example.com",
  • "product_mailketing_lists": [
    ],
  • "is_affiliate_enabled": true,
  • "images": [],
  • "is_multiple": true,
  • "labels": [
    ],
  • "option3_name": "string",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "stores": [
    ],
  • "partnership_sales_letter": "string",
  • "slug": "string",
  • "affiliate_commission_rate": "string",
  • "product_birdsend_sequences": [
    ],
  • "public_name": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

List simplified business products

Requires the product:list scope. Retrieves a simplified paginated list of products with optional filtering. The data is sorted by id in descending order and cannot be changed. Uses cursor-based pagination with default page size of 25 and maximum of 25.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
for_store_id
integer

If provided, includes is_owned_by_store field in the bundle price options to indicate if the option is already included in the specified store.

page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term to filter products by name (case-insensitive, partial match)

is_inventory
boolean

Filter products by inventory tracking status (true or false)

is_product_sharing
boolean

Filter products by product sharing status (true or false)

warehouse_id
integer

Filter products associated with a specific warehouse ID

qty_type
string
Value: "available_qty"

Type of quantity to filter by. Options are 'available_qty' (only products with variants that have available quantity > 0)

store_id
integer

Filter products associated with a specific store ID

is_checked
boolean

Show variants in products where is_checked is true or false

is_owned
boolean

Filter products by ownership. 'true' returns products owned by the business, 'false' returns shared products

item_type
string (ItemType)
Enum: "physical" "digital" "course" "license" "subscription"

Filter products by item type (physical, digital, course, license, subscription)

label
string

Filter products associated with a specific label name

pricing_type
string
Enum: "one_time" "recurring"

Filter products by pricing type (one_time or recurring)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Count business products

Requires the product:list scope. Returns the total count of products.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term to filter products by name (case-insensitive, partial match)

is_inventory
boolean

Filter products by inventory tracking status (true or false)

is_product_sharing
boolean

Filter products by product sharing status (true or false)

warehouse_id
integer

Filter products associated with a specific warehouse ID

qty_type
string
Value: "available_qty"

Type of quantity to filter by. Options are 'available_qty' (only products with variants that have available quantity > 0)

store_id
integer

Filter products associated with a specific store ID

is_checked
boolean

Show variants in products where is_checked is true or false

is_owned
boolean

Filter products by ownership. 'true' returns products owned by the business, 'false' returns shared products

item_type
string (ItemType)
Enum: "physical" "digital" "course" "license" "subscription"

Filter products by item type (physical, digital, course, license, subscription)

label
string

Filter products associated with a specific label name

pricing_type
string
Enum: "one_time" "recurring"

Filter products by pricing type (one_time or recurring)

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get a business product

Requires the product:read scope. Retrieves the details of a single product, including its variants and other associated data.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "variants_count": 0,
  • "display": "string",
  • "option1_name": "string",
  • "variants": [
    ],
  • "business": {
    },
  • "is_inventory": true,
  • "uuid": "string",
  • "last_updated_by": {
    },
  • "rich_description": "string",
  • "affiliate_pro_commission_rate": "string",
  • "taxonomy": {
    },
  • "created_by": {
    },
  • "item_type": "physical",
  • "is_affiliate_pro_enabled": true,
  • "item_type_name": "string",
  • "description": "string",
  • "name": "string",
  • "id": 0,
  • "option2_name": "string",
  • "is_product_sharing": true,
  • "warehouses": [
    ],
  • "is_affiliate_auto_accept": true,
  • "meta_thumbnail": "http://example.com",
  • "product_mailketing_lists": [
    ],
  • "is_affiliate_enabled": true,
  • "images": [],
  • "is_multiple": true,
  • "labels": [
    ],
  • "option3_name": "string",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "stores": [
    ],
  • "partnership_sales_letter": "string",
  • "slug": "string",
  • "affiliate_commission_rate": "string",
  • "product_birdsend_sequences": [
    ],
  • "public_name": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Update a business product

Requires the product:update scope. Updates the details of a product, including its variants.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional

Product data to update

description
string

Description

is_inventory
boolean

Is Inventory

is_multiple
boolean

Is Multiple

is_product_sharing
boolean

Is Product Sharing

item_type
required
string (ItemType)
Enum: "physical" "digital" "course" "license" "subscription"

Type of the product item

meta_thumbnail
string <uri>

Meta Thumbnail

name
required
string

Product Name

option1_name
string

Option 1 Name

option2_name
string

Option 2 Name

option3_name
string

Option 3 Name

partnership_sales_letter
string

Partnership sales letter for affiliate/reseller promotion

public_name
string

Product Public Name

rich_description
string

Rich Description

slug
string

Product Slug

taxonomy_id
integer

Taxonomy ID

Array of objects (RequestVariant)

List of variants associated with the product

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "is_inventory": true,
  • "is_multiple": true,
  • "is_product_sharing": true,
  • "item_type": "physical",
  • "meta_thumbnail": "http://example.com",
  • "name": "string",
  • "option1_name": "string",
  • "option2_name": "string",
  • "option3_name": "string",
  • "partnership_sales_letter": "string",
  • "public_name": "string",
  • "rich_description": "string",
  • "slug": "string",
  • "taxonomy_id": 0,
  • "variants": [
    ]
}

Response samples

Content type
application/json
{
  • "variants_count": 0,
  • "display": "string",
  • "option1_name": "string",
  • "variants": [
    ],
  • "business": {
    },
  • "is_inventory": true,
  • "uuid": "string",
  • "last_updated_by": {
    },
  • "rich_description": "string",
  • "affiliate_pro_commission_rate": "string",
  • "taxonomy": {
    },
  • "created_by": {
    },
  • "item_type": "physical",
  • "is_affiliate_pro_enabled": true,
  • "item_type_name": "string",
  • "description": "string",
  • "name": "string",
  • "id": 0,
  • "option2_name": "string",
  • "is_product_sharing": true,
  • "warehouses": [
    ],
  • "is_affiliate_auto_accept": true,
  • "meta_thumbnail": "http://example.com",
  • "product_mailketing_lists": [
    ],
  • "is_affiliate_enabled": true,
  • "images": [],
  • "is_multiple": true,
  • "labels": [
    ],
  • "option3_name": "string",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "stores": [
    ],
  • "partnership_sales_letter": "string",
  • "slug": "string",
  • "affiliate_commission_rate": "string",
  • "product_birdsend_sequences": [
    ],
  • "public_name": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Delete a business product

Requires the product:delete scope. Deletes a product and all its associated data.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Duplicate a business product

Requires the product:create scope. Creates a copy of an existing product including all variants, digital files, course structure (for courses), labels, follow-up chats, and email automation settings. The new product name will be suffixed with '(Copy)'. Partnership settings and store associations are NOT copied.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "variants_count": 0,
  • "display": "string",
  • "option1_name": "string",
  • "variants": [
    ],
  • "business": {
    },
  • "is_inventory": true,
  • "uuid": "string",
  • "last_updated_by": {
    },
  • "rich_description": "string",
  • "affiliate_pro_commission_rate": "string",
  • "taxonomy": {
    },
  • "created_by": {
    },
  • "item_type": "physical",
  • "is_affiliate_pro_enabled": true,
  • "item_type_name": "string",
  • "description": "string",
  • "name": "string",
  • "id": 0,
  • "option2_name": "string",
  • "is_product_sharing": true,
  • "warehouses": [
    ],
  • "is_affiliate_auto_accept": true,
  • "meta_thumbnail": "http://example.com",
  • "product_mailketing_lists": [
    ],
  • "is_affiliate_enabled": true,
  • "images": [],
  • "is_multiple": true,
  • "labels": [
    ],
  • "option3_name": "string",
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "stores": [
    ],
  • "partnership_sales_letter": "string",
  • "slug": "string",
  • "affiliate_commission_rate": "string",
  • "product_birdsend_sequences": [
    ],
  • "public_name": "string",
  • "created_at": "2019-08-24T14:15:22Z"
}

Update product partnership settings

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Check the impact of product partnership changes

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Get product relations

Requires the product:read scope. Shows the relations of a product, including variants, stores, bundles, and pages.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string

Responses

Response samples

Content type
application/json
{
  • "bundles": [
    ],
  • "id": 0,
  • "name": "string",
  • "pages": {
    },
  • "stores": [
    ],
  • "variants": [
    ]
}

List product partners

Requires the product:list scope. Retrieves a paginated list of product partners.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
query Parameters
next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Add a product partner

Requires the product:update scope. Creates a new product partner.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
Request Body schema: application/json
optional

Partner data

partner_unique_id
required
string

Partner Unique ID

Responses

Request samples

Content type
application/json
{
  • "partner_unique_id": "string"
}

Response samples

Content type
application/json
{
  • "affiliate_pro_domains": [
    ],
  • "affiliate_pro_links": [
    ],
  • "affiliate_status": "string",
  • "approved_at": "2019-08-24T14:15:22Z",
  • "created_at": "2019-08-24T14:15:22Z",
  • "custom_domains": [
    ],
  • "id": 0,
  • "message_to_product_owner": "string",
  • "partner": {
    },
  • "partnership_type": "string",
  • "rejected_at": "2019-08-24T14:15:22Z",
  • "requested_at": "2019-08-24T14:15:22Z",
  • "store_id": 0
}

Remove a product partner

Requires the product:update scope. Deletes a product partner.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List product knowledge items

Requires the product:list scope. Retrieves a paginated list of product-level knowledge items. The data is sorted by id in ascending order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
query Parameters
next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a product knowledge item

Requires the product:update scope. Creates a new product-level knowledge item.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
Request Body schema: application/json
optional

Knowledge item data

a
required
string <= 3000 characters

Answer text (max 3000 chars)

position
integer

Display position (0-indexed)

q
required
string <= 255 characters

Question text (max 255 chars)

Responses

Request samples

Content type
application/json
{
  • "a": "string",
  • "position": 0,
  • "q": "string"
}

Response samples

Content type
application/json
{
  • "a": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "product_id": 0,
  • "q": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "variant_id": 0
}

Get a product knowledge item

Requires the product:read scope. Retrieves a single product-level knowledge item by ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "a": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "product_id": 0,
  • "q": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "variant_id": 0
}

Update a product knowledge item

Requires the product:update scope. Updates an existing product-level knowledge item.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
id
required
string
Request Body schema: application/json
optional

Knowledge item data

a
required
string <= 3000 characters

Answer text (max 3000 chars)

position
integer

Display position (0-indexed)

q
required
string <= 255 characters

Question text (max 255 chars)

Responses

Request samples

Content type
application/json
{
  • "a": "string",
  • "position": 0,
  • "q": "string"
}

Response samples

Content type
application/json
{
  • "a": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "product_id": 0,
  • "q": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "variant_id": 0
}

Delete a product knowledge item

Requires the product:update scope. Deletes a product-level knowledge item.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Generate product follow-up chats

Requires the product:update scope. Generates a new follow up chat for a product.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List product follow-up chats

Requires the product:list scope. Retrieves a paginated list of follow up chats for a product.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
query Parameters
next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a product follow-up chat

Requires the product:update scope. Create a follow up chat template for a product.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
Request Body schema: application/json
optional

Follow up chat data

change_status
boolean

Triggered after order status change to this status

hours_after
integer

Hours after which the follow up chat is triggered

image
string <uri>

Image URL for the follow up chat

is_default
boolean

Is this a default follow up chat?

name
required
string

Name of the follow up chat

provider
required
string

Provider of the follow up chat

text_for_bank_transfer
string

Text for bank transfer

text_for_cod
string

Text for cash on delivery

text_for_epayment
string

Text for e-payments

trigger
string

Trigger condition for the follow up chat

wa_gateway_assignation_type
string

WhatsApp gateway assignation type

wa_integration_id
integer

WhatsApp integration ID

Responses

Request samples

Content type
application/json
{
  • "change_status": true,
  • "hours_after": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "provider": "string",
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration_id": 0
}

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "change_status": true,
  • "hours_after": 0,
  • "id": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "product_id": 0,
  • "provider": "string",
  • "store_id": 0,
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration": {
    }
}

Get a product follow-up chat

Requires the product:read scope. Shows a single follow up chat template by ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "change_status": true,
  • "hours_after": 0,
  • "id": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "product_id": 0,
  • "provider": "string",
  • "store_id": 0,
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration": {
    }
}

Update a product follow-up chat

Requires the product:update scope. Updates a follow up chat template.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
id
required
string
Request Body schema: application/json
optional

Follow up chat data to update

change_status
boolean

Triggered after order status change to this status

hours_after
integer

Hours after which the follow up chat is triggered

image
string <uri>

Image URL for the follow up chat

is_default
boolean

Is this a default follow up chat?

name
required
string

Name of the follow up chat

provider
required
string

Provider of the follow up chat

text_for_bank_transfer
string

Text for bank transfer

text_for_cod
string

Text for cash on delivery

text_for_epayment
string

Text for e-payments

trigger
string

Trigger condition for the follow up chat

wa_gateway_assignation_type
string

WhatsApp gateway assignation type

wa_integration_id
integer

WhatsApp integration ID

Responses

Request samples

Content type
application/json
{
  • "change_status": true,
  • "hours_after": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "provider": "string",
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration_id": 0
}

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "change_status": true,
  • "hours_after": 0,
  • "id": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "product_id": 0,
  • "provider": "string",
  • "store_id": 0,
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration": {
    }
}

Delete a product follow-up chat

Requires the product:update scope. Deletes a follow up chat template.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
product_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Get a business variant

Requires the product:read scope. Shows a single product variant by ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "cogs": 0,
  • "price_bt": 0,
  • "validity_period_unit": "day",
  • "display": "string",
  • "option1_value": "string",
  • "image_configs": { },
  • "reseller_price_bt": 0,
  • "option2_value": "string",
  • "reseller_price": 0,
  • "fullname": "string",
  • "validity_period": 0,
  • "uuid": "string",
  • "sku": "string",
  • "digital_product_files": [
    ],
  • "product_name": "string",
  • "item_type": "physical",
  • "pricing_type": "one_time",
  • "self_file_urls": [],
  • "name": "string",
  • "id": 0,
  • "unique_id": "string",
  • "cogs_bt": 0,
  • "currency": "IDR",
  • "price": 0,
  • "images": [],
  • "weight": 0,
  • "is_checked": true,
  • "interval_count": 0,
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "option3_value": "string",
  • "interval": "day",
  • "metadata": { },
  • "product": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "is_editable": true
}

List variant knowledge items

Requires the product:list scope. Retrieves a paginated list of variant-level knowledge items. The data is sorted by id in ascending order.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
query Parameters
next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a variant knowledge item

Requires the product:update scope. Creates a new variant-level knowledge item.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
Request Body schema: application/json
optional

Knowledge item data

a
required
string <= 3000 characters

Answer text (max 3000 chars)

position
integer

Display position (0-indexed)

q
required
string <= 255 characters

Question text (max 255 chars)

Responses

Request samples

Content type
application/json
{
  • "a": "string",
  • "position": 0,
  • "q": "string"
}

Response samples

Content type
application/json
{
  • "a": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "product_id": 0,
  • "q": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "variant_id": 0
}

Get a variant knowledge item

Requires the product:read scope. Retrieves a single variant-level knowledge item by ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "a": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "product_id": 0,
  • "q": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "variant_id": 0
}

Update a variant knowledge item

Requires the product:update scope. Updates an existing variant-level knowledge item.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
id
required
string
Request Body schema: application/json
optional

Knowledge item data

a
required
string <= 3000 characters

Answer text (max 3000 chars)

position
integer

Display position (0-indexed)

q
required
string <= 255 characters

Question text (max 255 chars)

Responses

Request samples

Content type
application/json
{
  • "a": "string",
  • "position": 0,
  • "q": "string"
}

Response samples

Content type
application/json
{
  • "a": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "position": 0,
  • "product_id": 0,
  • "q": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "variant_id": 0
}

Delete a variant knowledge item

Requires the product:update scope. Deletes a variant-level knowledge item.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List variant digital product files

Requires the product:list scope. Retrieves a paginated list of digital product files for a variant.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
query Parameters
next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a variant digital product file upload record

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
Request Body schema: multipart/form-data
required

File upload

file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "content_type": "string",
  • "id": 0,
  • "name": "string",
  • "size_in_bytes": 0,
}

Get a variant digital product file

Requires the product:read scope. Shows a single digital product file by ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "content_type": "string",
  • "id": 0,
  • "name": "string",
  • "size_in_bytes": 0,
}

Delete a variant digital product file

Requires the product:update scope. Deletes a digital product file.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "content_type": "string",
  • "id": 0,
  • "name": "string",
  • "size_in_bytes": 0,
}

List product taxonomies

Requires the product:list scope. Retrieves a cursor-paginated list of product taxonomies sorted by full_path in ascending order.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer [ 1 .. 25 ]
Default: 25

Number of items per page

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term to filter taxonomies by name (case-insensitive, partial match)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "page_size": 25
}

Get a product taxonomy

Requires the product:read scope. Shows a single product taxonomy by ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "full_path": "string",
  • "id": 0,
  • "level_1": "string",
  • "level_2": "string",
  • "level_3": "string",
  • "level_4": "string",
  • "level_5": "string",
  • "level_6": "string",
  • "level_7": "string"
}

Get a variant course skeleton

Requires the product:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{ }

Update a variant course skeleton

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Create a course section for a variant

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Update variant course section ordering

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
variant_id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

List customers with access to a variant

Requires the product:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Get a course section

Requires the product:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{ }

Update a course section

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
uuid
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a course section

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Create a course content item

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
section_uuid
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Update course content ordering

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
section_uuid
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Get a course content item

Requires the product:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{ }

Update a course content item

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
uuid
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a course content item

Requires the product:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Business Bundles

Authenticated business bundle, bundle-price-option, and related bundle-management endpoints.

List business bundles

Requires the bundle:list scope. Retrieves a paginated list of bundles with optional filtering. The data is sorted by id in descending order and cannot be changed. Uses cursor-based pagination with default page size of 25 and maximum of 25.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term to filter bundles by name (case-insensitive, partial match)

is_bundle_sharing
boolean

Filter bundles by their sharing status

store_id
integer

Filter bundles that have price options available in the specified store ID

label
string

Filter bundles that are associated with the specified label

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a bundle

Requires the bundle:create scope. Creates a new bundle with the provided data.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional

Bundle data to create

Array of objects (BundlePriceOptionRequest)

List of Bundle Price Options

Array of objects (BundleLineCreateRequest)

List of Bundle Lines

custom_id
string

Custom Identifier

description
string

Description

images
Array of strings <uri> [ items <uri > ]

List of Image URLs

meta_thumbnail
string <uri>

Meta Thumbnail URL

name
required
string

Name

public_name
required
string

Public Name

rich_description
string

Rich Description

weight_bump
integer

Weight Bump

Responses

Request samples

Content type
application/json
{
  • "bundle_price_options": [
    ],
  • "bundlelines": [
    ],
  • "custom_id": "string",
  • "description": "string",
  • "images": [],
  • "meta_thumbnail": "http://example.com",
  • "name": "string",
  • "public_name": "string",
  • "rich_description": "string",
  • "weight_bump": 0
}

Response samples

Content type
application/json
{
  • "bundle_price_options": [
    ],
  • "bundlelines": [
    ],
  • "business": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "custom_id": "string",
  • "description": "string",
  • "id": 0,
  • "images": [],
  • "is_bundle_sharing": true,
  • "labels": [
    ],
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "last_updated_by": {
    },
  • "meta_thumbnail": "http://example.com",
  • "name": "string",
  • "public_name": "string",
  • "rich_description": "string",
  • "weight_bump": 0
}

List simplified business bundles

Requires the bundle:list scope. Retrieves a paginated list of bundles with optional filtering. The data is sorted by id in descending order and cannot be changed. Uses cursor-based pagination with default page size of 25 and maximum of 25. This endpoint returns a simplified version of the bundle data, including only essential fields and active bundle price options.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
for_store_id
integer

If provided, includes is_owned_by_store field in the bundle price options to indicate if the option is already included in the specified store.

page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term to filter bundles by name (case-insensitive, partial match)

is_bundle_sharing
boolean

Filter bundles by their sharing status

store_id
integer

Filter bundles that have price options available in the specified store ID

label
string

Filter bundles that are associated with the specified label

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Count business bundles

Requires the bundle:list scope. Retrieves the total count of bundles for the authenticated business. This endpoint does not support any filtering or pagination.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

search
string

Search term to filter bundles by name (case-insensitive, partial match)

is_bundle_sharing
boolean

Filter bundles by their sharing status

store_id
integer

Filter bundles that have price options available in the specified store ID

label
string

Filter bundles that are associated with the specified label

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get a business bundle

Requires the bundle:read scope. Retrieves a bundle by its ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "bundle_price_options": [
    ],
  • "bundlelines": [
    ],
  • "business": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "custom_id": "string",
  • "description": "string",
  • "id": 0,
  • "images": [],
  • "is_bundle_sharing": true,
  • "labels": [
    ],
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "last_updated_by": {
    },
  • "meta_thumbnail": "http://example.com",
  • "name": "string",
  • "public_name": "string",
  • "rich_description": "string",
  • "weight_bump": 0
}

Update a business bundle

Requires the bundle:update scope. Updates an existing bundle with the provided data.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional

Bundle data to update

Array of objects (BundleLineCreateRequest)

List of Bundle Lines

custom_id
string

Custom Identifier

description
string

Description

images
Array of strings <uri> [ items <uri > ]

List of Image URLs

meta_thumbnail
string <uri>

Meta Thumbnail URL

name
string

Name

public_name
string

Public Name

rich_description
string

Rich Description

weight_bump
integer

Weight Bump

Responses

Request samples

Content type
application/json
{
  • "bundlelines": [
    ],
  • "custom_id": "string",
  • "description": "string",
  • "images": [],
  • "meta_thumbnail": "http://example.com",
  • "name": "string",
  • "public_name": "string",
  • "rich_description": "string",
  • "weight_bump": 0
}

Response samples

Content type
application/json
{
  • "bundle_price_options": [
    ],
  • "bundlelines": [
    ],
  • "business": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "custom_id": "string",
  • "description": "string",
  • "id": 0,
  • "images": [],
  • "is_bundle_sharing": true,
  • "labels": [
    ],
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "last_updated_by": {
    },
  • "meta_thumbnail": "http://example.com",
  • "name": "string",
  • "public_name": "string",
  • "rich_description": "string",
  • "weight_bump": 0
}

Delete a business bundle

Requires the bundle:delete scope. Deletes a bundle by its ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Duplicate a business bundle

Requires the bundle:create scope. Creates a copy of an existing bundle including all bundlelines, bundle price options, labels, and follow-up chats. The new bundle name will be suffixed with '(Copy)'. Partnership settings and store placements are NOT copied.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "bundle_price_options": [
    ],
  • "bundlelines": [
    ],
  • "business": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "custom_id": "string",
  • "description": "string",
  • "id": 0,
  • "images": [],
  • "is_bundle_sharing": true,
  • "labels": [
    ],
  • "last_updated_at": "2019-08-24T14:15:22Z",
  • "last_updated_by": {
    },
  • "meta_thumbnail": "http://example.com",
  • "name": "string",
  • "public_name": "string",
  • "rich_description": "string",
  • "weight_bump": 0
}

Get bundle relations

Requires the bundle:read scope. Retrieves a bundle along with its related entities such as active bundle price options and their associated stores and form displays.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string

Responses

Response samples

Content type
application/json
{
  • "bundle_price_options": [
    ],
  • "business": {
    },
  • "id": 0,
  • "name": "string",
  • "pages": {
    },
  • "stores": [
    ]
}

List bundle partners

Requires the bundle:list scope. Retrieves a paginated list of partners associated with a specific bundle. The data is sorted by id in descending order and cannot be changed. Uses cursor-based pagination with default page size of 25 and maximum of 25.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
query Parameters
next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

page_size
integer <= 25
Default: 25

Number of items to return per page. Default is 25, maximum is 25.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Add a bundle partner

Requires the bundle:update scope. Associates a partner with a specific bundle using the provided unique identifier.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
Request Body schema: application/json
optional

Partner data to associate

partner_unique_id
required
string

Unique identifier of the partner to associate

Responses

Request samples

Content type
application/json
{
  • "partner_unique_id": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "id": 0,
  • "partner": {
    }
}

Remove a bundle partner

Requires the bundle:update scope. Dissociates a partner from a specific bundle by its ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Generate bundle follow-up chats

Requires the bundle:update scope. Generates a new follow up chat for a bundle.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List bundle follow-up chats

Requires the bundle:list scope. Retrieves a paginated list of follow up chats for a bundle.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
query Parameters
next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

page_size
integer <= 25
Example: page_size=25

Number of items per page (default: 25, max: 25)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a bundle follow-up chat

Requires the bundle:update scope. Create a follow up chat template for a bundle.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
Request Body schema: application/json
optional

Follow up chat data

change_status
boolean

Triggered after order status change to this status

hours_after
integer

Hours after which the follow up chat is triggered

image
string <uri>

Image URL for the follow up chat

is_default
boolean

Is this a default follow up chat?

name
required
string

Name of the follow up chat

provider
required
string

Provider of the follow up chat

text_for_bank_transfer
string

Text for bank transfer

text_for_cod
string

Text for cash on delivery

text_for_epayment
string

Text for e-payments

trigger
string

Trigger condition for the follow up chat

wa_gateway_assignation_type
string

WhatsApp gateway assignation type

wa_integration_id
integer

WhatsApp integration ID

Responses

Request samples

Content type
application/json
{
  • "change_status": true,
  • "hours_after": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "provider": "string",
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration_id": 0
}

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "change_status": true,
  • "hours_after": 0,
  • "id": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "product_id": 0,
  • "provider": "string",
  • "store_id": 0,
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration": {
    }
}

Get a bundle follow-up chat

Requires the bundle:read scope. Retrieves a follow up chat template by its ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "change_status": true,
  • "hours_after": 0,
  • "id": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "product_id": 0,
  • "provider": "string",
  • "store_id": 0,
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration": {
    }
}

Update a bundle follow-up chat

Requires the bundle:update scope. Updates a follow up chat template.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
id
required
string
Request Body schema: application/json
optional

Follow up chat data to update

change_status
boolean

Triggered after order status change to this status

hours_after
integer

Hours after which the follow up chat is triggered

image
string <uri>

Image URL for the follow up chat

is_default
boolean

Is this a default follow up chat?

name
required
string

Name of the follow up chat

provider
required
string

Provider of the follow up chat

text_for_bank_transfer
string

Text for bank transfer

text_for_cod
string

Text for cash on delivery

text_for_epayment
string

Text for e-payments

trigger
string

Trigger condition for the follow up chat

wa_gateway_assignation_type
string

WhatsApp gateway assignation type

wa_integration_id
integer

WhatsApp integration ID

Responses

Request samples

Content type
application/json
{
  • "change_status": true,
  • "hours_after": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "provider": "string",
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration_id": 0
}

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "change_status": true,
  • "hours_after": 0,
  • "id": 0,
  • "image": "http://example.com",
  • "is_default": true,
  • "name": "string",
  • "product_id": 0,
  • "provider": "string",
  • "store_id": 0,
  • "text_for_bank_transfer": "string",
  • "text_for_cod": "string",
  • "text_for_epayment": "string",
  • "trigger": "string",
  • "wa_gateway_assignation_type": "string",
  • "wa_integration": {
    }
}

Delete a bundle follow-up chat

Requires the bundle:update scope. Deletes a follow up chat template.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List bundle price options

Requires the bundle:list scope. Retrieves a paginated list of bundle price options associated with a specific bundle. The data is sorted by id in descending order and cannot be changed. Uses cursor-based pagination with default page size of 25 and maximum of 25.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
query Parameters
next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

page_size
integer <= 25
Default: 25

Number of items to return per page. Default is 25, maximum is 25.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": false,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 25
}

Create a bundle price option

Requires the bundle:create scope. Creates a new bundle price option associated with a specific bundle using the provided data.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
Request Body schema: application/json
optional

Bundle Price Option data to create

name
required
string

Name

price
required
number <float>

Price (including tax)

slug
string

Slug

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "price": 0.1,
  • "slug": "string"
}

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "id": 0,
  • "name": "string",
  • "price": 0.1,
  • "price_bt": 0.1,
  • "slug": "string",
  • "stores": [
    ],
  • "unique_id": "string"
}

Update a bundle price option

Requires the bundle:update scope. Updates an existing bundle price option associated with a specific bundle using the provided data.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
id
required
string
Request Body schema: application/json
optional

Bundle Price Option data to update

name
required
string

Name

price
required
number <float>

Price (including tax)

slug
string

Slug

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "price": 0.1,
  • "slug": "string"
}

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "id": 0,
  • "name": "string",
  • "price": 0.1,
  • "price_bt": 0.1,
  • "slug": "string",
  • "stores": [
    ],
  • "unique_id": "string"
}

Delete a bundle price option

Requires the bundle:delete scope. Deletes a bundle price option associated with a specific bundle by its ID.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Get bundle price option relations

Requires the bundle:read scope. Retrieves a bundle price option along with its related entities such as associated stores and form displays.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
bundle_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "bundle_id": 0,
  • "id": 0,
  • "name": "string",
  • "pages": {
    },
  • "price": 0.1,
  • "price_bt": 0.1,
  • "slug": "string",
  • "stores": [
    ],
  • "unique_id": "string"
}

Business Customers

Authenticated business customer and customer-address management endpoints.

List business customers

Requires the customer:list scope.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a business customer

Requires the customer:create scope.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Count business customers

Requires the customer:list scope.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
application/json
{ }

Upload business customers from CSV

Requires the customer:create scope.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: multipart/form-data
required
file
string <binary>
property name*
additional property
any

Responses

Response samples

Content type
application/json
{ }

List business customer tags

Requires the customer:list scope.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Get a business customer

Requires the customer:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{ }

Update a business customer

Requires the customer:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Update tags on a business customer

Requires the customer:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

List addresses for a business customer

Requires the customer:list scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
customer_id
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create an address for a business customer

Requires the customer:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
customer_id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Get a business customer address

Requires the customer:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
customer_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{ }

Update a business customer address

Requires the customer:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
customer_id
required
string
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a business customer address

Requires the customer:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
customer_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

WABA

Authenticated WhatsApp Business Account operations and related WABA resources.

List WABA customer tags

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a WABA customer tag

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Get a WABA customer tag

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{ }

Update a WABA customer tag

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a WABA customer tag

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List WABA accounts

Requires the waba_account:list scope.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Complete WABA login

Requires the waba_account:create scope.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Get a WABA account

Requires the waba_account:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "waba_abc123",
  • "waba_id": "string",
  • "phone_number_id": "string",
  • "display_phone_number": "string",
  • "verified_name": "string",
  • "is_webhooks_subscribed": true,
  • "is_pin_enabled": true,
  • "status": "string",
  • "phone_status": "string",
  • "store": {
    },
  • "dataset_id": "string",
  • "marketing_messages_onboarding_status": "string",
  • "is_on_biz_app": true,
  • "runtime_owner": "string",
  • "updates": [
    ],
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a WABA account

Requires the waba_account:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "waba_abc123",
  • "waba_id": "string",
  • "phone_number_id": "string",
  • "display_phone_number": "string",
  • "verified_name": "string",
  • "is_webhooks_subscribed": true,
  • "is_pin_enabled": true,
  • "status": "string",
  • "phone_status": "string",
  • "store": {
    },
  • "dataset_id": "string",
  • "marketing_messages_onboarding_status": "string",
  • "is_on_biz_app": true,
  • "runtime_owner": "string",
  • "updates": [
    ],
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete a WABA account

Requires the waba_account:delete scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Sync a WABA account

Requires the waba_account:create scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "waba_abc123",
  • "waba_id": "string",
  • "phone_number_id": "string",
  • "display_phone_number": "string",
  • "verified_name": "string",
  • "is_webhooks_subscribed": true,
  • "is_pin_enabled": true,
  • "status": "string",
  • "phone_status": "string",
  • "store": {
    },
  • "dataset_id": "string",
  • "marketing_messages_onboarding_status": "string",
  • "is_on_biz_app": true,
  • "runtime_owner": "string",
  • "updates": [
    ],
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Create a WABA dataset

Requires the waba_account:create scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "waba_abc123",
  • "waba_id": "string",
  • "phone_number_id": "string",
  • "display_phone_number": "string",
  • "verified_name": "string",
  • "is_webhooks_subscribed": true,
  • "is_pin_enabled": true,
  • "status": "string",
  • "phone_status": "string",
  • "store": {
    },
  • "dataset_id": "string",
  • "marketing_messages_onboarding_status": "string",
  • "is_on_biz_app": true,
  • "runtime_owner": "string",
  • "updates": [
    ],
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Register a WABA phone number

Requires the waba_account:create scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": 0,
  • "unique_id": "waba_abc123",
  • "waba_id": "string",
  • "phone_number_id": "string",
  • "display_phone_number": "string",
  • "verified_name": "string",
  • "is_webhooks_subscribed": true,
  • "is_pin_enabled": true,
  • "status": "string",
  • "phone_status": "string",
  • "store": {
    },
  • "dataset_id": "string",
  • "marketing_messages_onboarding_status": "string",
  • "is_on_biz_app": true,
  • "runtime_owner": "string",
  • "updates": [
    ],
  • "inserted_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Upload WABA media

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: multipart/form-data
required
file
string <binary>
property name*
additional property
any

Responses

Response samples

Content type
application/json
{ }

List WABA message attempts

Requires the waba_template_message:send scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

List WABA message templates

Requires the waba_template_message:send scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Send template messages from a WABA account

Requires the waba_template_message:send scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List WABA quick replies

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
unique_id
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Create a WABA quick reply

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
unique_id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Update a WABA quick reply

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
unique_id
required
string
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a WABA quick reply

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
unique_id
required
string
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

List WABA customers

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
unique_id
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Update a WABA customer

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
unique_id
required
string
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Send a WABA purchase message

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
unique_id
required
string
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

List WABA customer messages

Requires the waba_account:operate scope. Message payloads expose sender_tag and no longer expose sender_type.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
waba_unique_id
required
string
wa_user_id
required
string
query Parameters
page_size
integer >= 1

Cursor page size.

next_cursor
string

Opaque cursor for the next page.

previous_cursor
string

Opaque cursor for the previous page.

anchor_id
string

Primary-key ID of a WhatsApp message to center the first page around. Cannot be used with next_cursor or previous_cursor. If not found in this customer message list, data is empty.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": true,
  • "has_next": true,
  • "has_previous": true,
  • "next_cursor": "string",
  • "previous_cursor": "string",
  • "page_size": 0
}

Send a WABA customer message

Requires the waba_account:operate scope. Message payloads expose sender_tag and no longer expose sender_type.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
waba_unique_id
required
string
wa_user_id
required
string
header Parameters
X-Scalev-Waba-Send-Mode
string
Value: "mock"

Local/dev simulation override for WABA sends. When set to mock outside production, Nexus records a submitted outbound message without sending to Meta Graph. Ignored in production.

Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Get a WABA customer message

Requires the waba_account:operate scope. Message payloads expose sender_tag and no longer expose sender_type.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
waba_unique_id
required
string
wa_user_id
required
string
wamid
required
string

Responses

Response samples

Content type
application/json
{ }

Update a WABA customer message

Requires the waba_account:operate scope. Message payloads expose sender_tag and no longer expose sender_type.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
waba_unique_id
required
string
wa_user_id
required
string
wamid
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a WABA customer message

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
waba_unique_id
required
string
wa_user_id
required
string
wamid
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Send a WABA typing indicator

Requires the waba_account:operate scope. Sends Meta's typing indicator for an existing inbound message, which also marks that message as read.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
waba_unique_id
required
string
wa_user_id
required
string
wamid
required
string
header Parameters
X-Scalev-Waba-Send-Mode
string
Value: "mock"

Local/dev simulation override for WABA sends. When set to mock outside production, Nexus records a submitted outbound message without sending to Meta Graph. Ignored in production.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "wamid": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBJDQjZCMzlEQUE4OTJBMTE4RTUA",
  • "status": "read",
  • "typing_indicator": {
    }
}

Send a WABA template message to a customer

Requires the waba_account:operate scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
waba_unique_id
required
string
wa_user_id
required
string
Request Body schema: multipart/form-data
required
file
string <binary>
property name*
additional property
any

Responses

Response samples

Content type
application/json
{ }

WhatsApp Integrations

Authenticated WhatsApp integration management endpoints.

List WhatsApp integrations

Requires the whats_app_integration:list scope.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "is_paginated": false
}

Create a WhatsApp integration

Requires the whats_app_integration:create scope.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Get a WhatsApp integration

Requires the whats_app_integration:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{ }

Update a WhatsApp integration

Requires the whats_app_integration:update scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string
Request Body schema: application/json
optional
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Delete a WhatsApp integration

Requires the whats_app_integration:delete scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "error": { },
  • "error_code": "string",
  • "message": "string",
  • "errors": { }
}

Check WhatsApp integration status

Requires the whats_app_integration:read scope.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{ }