Skip to content

Create theme integrations

BetaAPI v2 is in public beta: endpoints, fields and behaviour can change before general availability. See the changelog

POST
/account/theme_integrations
curl --request POST \
--url https://app.stoqapp.com/api/v2/external/account/theme_integrations \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: <X-Auth-Token>' \
--data '{ "type": "quick_buy", "page": "collection" }'

Request a theme integration, as the page editors’ Request setup button does: Quick Buy (the ‘Notify me’/‘Preorder’ button inside the theme’s quick add popup) on the home, collection or search page, or Featured products (the button on featured product sections) on the home page. Our team sets it up for the theme, usually within 12-24 hours, and tells the merchant by email or chat. Paid plans only.

Note: type is quick_buy or featured_product. page is home, collection or search for quick_buy and home for featured_product. Returns the new row with enabled null; read it back with GET /account/theme_integrations/:id. A page that already has one is 409.

Media typeapplication/json
object
type
required
string
>= 1 characters
Allowed values: quick_buy featured_product
page
required
string
>= 1 characters
Allowed values: collection home search

Example

{
"type": "quick_buy",
"page": "collection"
}

Success — the updated resource.

Media typeapplication/json
object

Example generated

{}

Accepted — async/bulk work was queued. Poll the returned job.

Media typeapplication/json

Returned for async/bulk work — poll the job until it reaches a terminal state.

object
job_id
string
status_url
string

Example

{
"job_id": "job_a1b2c3",
"status_url": "/api/v2/external/jobs/job_a1b2c3"
}

Missing or invalid X-Auth-Token.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"Unauthorized"
]
}

The request failed validation.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"name is required"
]
}

Rate limited — cost-weighted per token (read 1, write 2; 360 points / 60s). Check Retry-After.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"Rate limit exceeded"
]
}
Was this page helpful?

Still stuck? Ask Quinn or chat with support