Bolder API v1 (1.0)

Download OpenAPI specification:

The Bolder API is a hypermedia-driven REST API following the HAL (Hypertext Application Language) specification.

HAL conventions

Every response includes a _links object with related resources and actions. Links use the btc: CURIE namespace — for example btc:products expands to https://developers.bootic.net/rels/products.

Non-GET actions (POST, PUT, DELETE) are described by links that carry a method property.

Templated links (e.g. pagination, filters) carry "templated": true and use RFC 6570 URI Templates.

Embedded sub-resources live in _embedded and follow the same HAL structure.

Paginated results

List endpoints return a paginated results envelope:

{
  "_links": {
    "self": { "href": "…?page=1" },
    "next": { "href": "…?page=2" },
    "last": { "href": "…?page=10" }
  },
  "total_items": 500,
  "per_page": 50,
  "page": 1,
  "_embedded": { "items": [] }
}

Authentication

All requests require a Bearer access token obtained via OAuth 2.0.

Authorization: Bearer YOUR-ACCESS-TOKEN

See the Authentication section for the full list of supported OAuth 2.0 flows.

Authentication

OAuth 2.0 access tokens are issued by https://auth.onbolder.com. The following flows are supported:

  1. Authorization Code — for web apps acting on behalf of a logged-in user.
  2. Implicit — for JavaScript / single-page apps.
  3. Client Credentials — for server-side scripts and automated jobs.
  4. Resource Owner Password — for trusted first-party apps.
  5. JWT Bearer — to exchange an expired token for a fresh one.

All token requests go to POST https://auth.onbolder.com/oauth/token.

Scopes

Scope Description
public Read-only access to publicly available data
admin Full read/write access scoped to the authenticated account

Root

Entry point that returns the authenticated user's account and linked shops.

Root endpoint

Returns the authenticated user's account information and an embedded list of their shops, each carrying HAL links to all available actions (products, orders, contacts, theme, etc.).

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{}

Shops

Shops owned by the authenticated account.

List shops

Returns a paginated list of shops accessible to the authenticated account.

Authorizations:
bearerAuth
query Parameters
page
integer
Default: 1

Page number

per_page
integer
Default: 50

Items per page

Responses

Response samples

Content type
application/json
{
  • "total_items": 0,
  • "page": 0,
  • "per_page": 0,
  • "_links": {
    },
  • "_embedded": {
    }
}

Shop details

Returns full details for a single shop, including HAL links for all available actions (products, orders, contacts, theme, variants).

Authorizations:
bearerAuth
path Parameters
id
required
string

Shop ID or subdomain

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "subdomain": "string",
  • "url": "string",
  • "description": "string",
  • "currency_code": "string",
  • "locale": "string",
  • "created_on": "2019-08-24T14:15:22Z",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "product_counts": {
    },
  • "_links": { },
  • "analytics_id": "string",
  • "asset_count": 0,
  • "_embedded": {
    }
}

Products

Products catalogue management.

List all products

Returns a paginated list of products across all shops accessible to the token. Supports rich filtering, full-text search, and sorting.

Authorizations:
bearerAuth
query Parameters
page
integer
Default: 1

Page number

per_page
integer
Default: 50

Items per page

q
string

Full-text search query

status
string
Default: "visible"
Enum: "visible" "hidden" "all"

Visibility status filter

shop_subdomains
string

Comma-separated shop subdomains, e.g. romano,acme

shop_ids
string

Comma-separated shop IDs, e.g. 123,456

collections
string

Comma-separated collection slugs, e.g. featured,summer

tags
string

Comma-separated tag names, e.g. green,red

variants
string

Comma-separated variant titles, e.g. xl,s

sku
string

Comma-separated SKU codes

currency
string

Currency code, e.g. USD

price_gte
integer

Minimum price in cents (inclusive)

price_lte
integer

Maximum price in cents (inclusive)

discount_percentage_gte
number

Minimum discount percentage (inclusive)

discount_percentage_lte
number

Maximum discount percentage (inclusive)

created_on_gte
string <date-time>

Created on or after, e.g. 2025-12-22 12:00:00

created_on_lte
string <date-time>

Created on or before

updated_on_gte
string <date-time>

Updated on or after

updated_on_lte
string <date-time>

Updated on or before

sort
string
Default: "created_on.desc"
Enum: "title.asc" "title.desc" "price.asc" "price.desc" "created_on.asc" "created_on.desc" "updated_on.asc" "updated_on.desc" "discount_percentage.asc" "discount_percentage.desc"

Sort column and direction

Responses

Response samples

Content type
application/json
{
  • "total_items": 0,
  • "page": 0,
  • "per_page": 0,
  • "_links": {
    },
  • "_embedded": {
    }
}

Product details

Returns full details for a single product including embedded variants, images, collections and custom attributes.

Authorizations:
bearerAuth
path Parameters
id
required
string

Product ID or slug

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "slug": "string",
  • "title": "string",
  • "status": "visible",
  • "price": 0,
  • "price_comparison": 0,
  • "discount_percentage": 0,
  • "currency_code": "string",
  • "vendor": "string",
  • "tags": [
    ],
  • "created_on": "2019-08-24T14:15:22Z",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": { },
  • "_embedded": {
    },
  • "description": "string"
}

Delete product

Permanently deletes a product and all its variants and images. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
id
required
string

Product ID or slug

Responses

Response samples

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

Create product

Creates a new product in the given shop. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

Request Body schema: application/json
required
title
string

Product title. Required on create.

price
integer

Price in cents

price_comparison
integer

"Was" price in cents

description
string
status
string
Default: "hidden"
Enum: "visible" "hidden"
product_type_name
string

Name for new or existing product type

vendor
string
tags
Array of strings
Array of objects
Array of objects (VariantInput)
Array of objects (CustomAttributeInput)

Responses

Request samples

Content type
application/json
{
  • "title": "iPhone 5",
  • "price": 20020,
  • "price_comparison": 20122,
  • "description": "iPhone 5 by Apple",
  • "status": "visible",
  • "product_type_name": "Smart phones",
  • "tags": [
    ],
  • "vendor": "Acme",
  • "variants": [
    ],
  • "collections": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "slug": "string",
  • "title": "string",
  • "status": "visible",
  • "price": 0,
  • "price_comparison": 0,
  • "discount_percentage": 0,
  • "currency_code": "string",
  • "vendor": "string",
  • "tags": [
    ],
  • "created_on": "2019-08-24T14:15:22Z",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": { },
  • "_embedded": {
    },
  • "description": "string"
}

Update product

Updates an existing product. All fields are optional — only supplied fields are updated. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

id
required
string

Product ID or slug

Request Body schema: application/json
required
title
string

Product title. Required on create.

price
integer

Price in cents

price_comparison
integer

"Was" price in cents

description
string
status
string
Default: "hidden"
Enum: "visible" "hidden"
product_type_name
string

Name for new or existing product type

vendor
string
tags
Array of strings
Array of objects
Array of objects (VariantInput)
Array of objects (CustomAttributeInput)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "price": 0,
  • "price_comparison": 0,
  • "description": "string",
  • "status": "visible",
  • "product_type_name": "string",
  • "vendor": "string",
  • "tags": [
    ],
  • "collections": [
    ],
  • "variants": [
    ],
  • "custom_attributes": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "slug": "string",
  • "title": "string",
  • "status": "visible",
  • "price": 0,
  • "price_comparison": 0,
  • "discount_percentage": 0,
  • "currency_code": "string",
  • "vendor": "string",
  • "tags": [
    ],
  • "created_on": "2019-08-24T14:15:22Z",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": { },
  • "_embedded": {
    },
  • "description": "string"
}

Variants

Product variants (size, colour, etc.).

Variant details

Returns details for a single product variant.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

id
required
integer

Variant ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "title": "string",
  • "sku": "string",
  • "price": 0,
  • "price_comparison": 0,
  • "stock": 0,
  • "available_if_no_stock": true,
  • "weight_in_grams": 0,
  • "_links": { }
}

Update variant

Updates an existing variant. You can also look up the variant by sku instead of id by passing ?sku=YOUR_SKU as a query parameter. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

id
required
string

Variant ID (or any value when using ?sku= lookup)

query Parameters
sku
string

Look up variant by SKU instead of ID

Request Body schema: application/json
required
title
string

Required on create

sku
string

Must be unique within the shop

stock
integer
Default: 1
available_if_no_stock
integer
Default: 1
Enum: 0 1

1 = always available, 0 = unavailable when out of stock

weight_in_grams
integer
price
integer

Override product price for this variant (cents)

price_comparison
integer

Override comparison price for this variant (cents)

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "sku": "string",
  • "stock": 1,
  • "available_if_no_stock": 0,
  • "weight_in_grams": 0,
  • "price": 0,
  • "price_comparison": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "title": "string",
  • "sku": "string",
  • "price": 0,
  • "price_comparison": 0,
  • "stock": 0,
  • "available_if_no_stock": true,
  • "weight_in_grams": 0,
  • "_links": { }
}

Delete variant

Removes a variant from its product. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

id
required
integer

Variant ID

Responses

Response samples

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

Create variant

Adds a new variant to an existing product. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
product_id
required
string

Product ID or slug

Request Body schema: application/json
required
title
string

Required on create

sku
string

Must be unique within the shop

stock
integer
Default: 1
available_if_no_stock
integer
Default: 1
Enum: 0 1

1 = always available, 0 = unavailable when out of stock

weight_in_grams
integer
price
integer

Override product price for this variant (cents)

price_comparison
integer

Override comparison price for this variant (cents)

Responses

Request samples

Content type
application/json
{
  • "title": "Large",
  • "sku": "SKU-LG",
  • "stock": 10,
  • "available_if_no_stock": 0,
  • "weight_in_grams": 200
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "title": "string",
  • "sku": "string",
  • "price": 0,
  • "price_comparison": 0,
  • "stock": 0,
  • "available_if_no_stock": true,
  • "weight_in_grams": 0,
  • "_links": { }
}

Product Images

Upload and delete product images.

Upload product image

Uploads a new image to a product. The image data must be Base64-encoded and sent in the data field along with the file name and MIME type. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
product_id
required
string

Product ID or slug

Request Body schema: application/json
required
data
required
string

Base64-encoded image data URI (data:image/jpeg;base64,...)

file_name
required
string
title
string
description
string

Responses

Request samples

Content type
application/json
{
  • "data": "data:image/jpeg;base64,/9j/4AAQSkZJRg...",
  • "file_name": "photo.jpg",
  • "title": "Front view"
}

Response samples

Content type
application/json
{
  • "file_name": "string",
  • "title": "string",
  • "description": "string",
  • "_links": {
    }
}

Delete product image

Permanently removes an image from a product. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
product_id
required
string

Product ID or slug

id
required
integer

Asset ID

Responses

Response samples

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

Orders

Order management including creation, updates, and batch operations.

List orders

Returns a paginated list of orders for a shop. Requires admin scope. Supports filtering by status, date ranges, amounts, and geo-location.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

query Parameters
page
integer
Default: 1

Page number

per_page
integer
Default: 50

Items per page

q
string

Full-text search

status
string

Comma-separated order statuses. Use successful as a shorthand for closed,shipped. Values: all, checkout, pending, closed, shipped, invalid, successful

code
string

Order code, e.g. R1C3964

product_id
integer

Filter by product ID

payment_method
string

Payment method slug, e.g. webpay

created_on_gte
string <date>

Created on or after

created_on_lte
string <date>

Created on or before

updated_on_gte
string <date>
updated_on_lte
string <date>
pending_on_gte
string <date>
pending_on_lte
string <date>
closed_on_gte
string <date>
closed_on_lte
string <date>
shipped_on_gte
string <date>
shipped_on_lte
string <date>
net_total_gte
integer

Net total in cents, minimum

net_total_lte
integer

Net total in cents, maximum

total_gte
integer
total_lte
integer
shipping_total_gte
integer
shipping_total_lte
integer
discount_total_gte
integer
discount_total_lte
integer
lat_long
string

Latitude,longitude pair for geo-filtering, e.g. 0.54322222,1.4444422

distance
string
Default: "5km"

Radius from lat_long, e.g. 10km

sort
string
Default: "created_on.desc"
Enum: "created_on.asc" "created_on.desc" "updated_on.asc" "updated_on.desc" "pending_on.asc" "pending_on.desc" "closed_on.asc" "closed_on.desc" "shipped_on.asc" "shipped_on.desc"

Responses

Response samples

Content type
application/json
{
  • "total_items": 0,
  • "page": 0,
  • "per_page": 0,
  • "_links": {
    },
  • "_embedded": {
    }
}

Create order

Creates a new order in checkout state with the given line items, contact and shipping address. Returns the new order including web checkout and cart links. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

Request Body schema: application/json
required
Array of objects (LineItemInput)
object (ContactInput)
object (AddressInput)

Responses

Request samples

Content type
application/json
{
  • "line_items": [
    ],
  • "contact": {
    },
  • "address": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "shop_id": 0,
  • "code": "string",
  • "status": "checkout",
  • "net_total": 0,
  • "total": 0,
  • "shipping_total": 0,
  • "shipping_description": "string",
  • "discount_total": 0,
  • "tracking_code": "string",
  • "courier_name": "string",
  • "total_weight_in_grams": 0,
  • "created_on": "2019-08-24T14:15:22Z",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "pending_on": "2019-08-24T14:15:22Z",
  • "closed_on": "2019-08-24T14:15:22Z",
  • "shipped_on": "2019-08-24T14:15:22Z",
  • "fulfillment": {
    },
  • "payment_info": {
    },
  • "_links": { },
  • "_embedded": {
    }
}

Order details

Returns full details for a single order. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

code
required
string

Order code (e.g. R1C3964) or numeric ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "shop_id": 0,
  • "code": "string",
  • "status": "checkout",
  • "net_total": 0,
  • "total": 0,
  • "shipping_total": 0,
  • "shipping_description": "string",
  • "discount_total": 0,
  • "tracking_code": "string",
  • "courier_name": "string",
  • "total_weight_in_grams": 0,
  • "created_on": "2019-08-24T14:15:22Z",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "pending_on": "2019-08-24T14:15:22Z",
  • "closed_on": "2019-08-24T14:15:22Z",
  • "shipped_on": "2019-08-24T14:15:22Z",
  • "fulfillment": {
    },
  • "payment_info": {
    },
  • "_links": { },
  • "_embedded": {
    }
}

Update order

Updates an order that is in checkout state. Use this to set or modify line items, contact information, and shipping address. Requires admin scope.

The returned order includes btc:web_checkout and btc:web_cart links for directing customers to complete payment.

Line item tips:

  • Pass units: -1 to remove a line item
  • Contact is matched by email; new contacts require name and phone_number too
Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

code
required
string

Order code or ID

Request Body schema: application/json
required
Array of objects (LineItemInput)

Pass units: -1 to remove a variant from the order

object (ContactInput)
object

Responses

Request samples

Content type
application/json
{
  • "line_items": [
    ],
  • "contact": {
    },
  • "address": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "shop_id": 0,
  • "code": "string",
  • "status": "checkout",
  • "net_total": 0,
  • "total": 0,
  • "shipping_total": 0,
  • "shipping_description": "string",
  • "discount_total": 0,
  • "tracking_code": "string",
  • "courier_name": "string",
  • "total_weight_in_grams": 0,
  • "created_on": "2019-08-24T14:15:22Z",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "pending_on": "2019-08-24T14:15:22Z",
  • "closed_on": "2019-08-24T14:15:22Z",
  • "shipped_on": "2019-08-24T14:15:22Z",
  • "fulfillment": {
    },
  • "payment_info": {
    },
  • "_links": { },
  • "_embedded": {
    }
}

Batch update orders

Updates one or more order attributes across multiple orders at once. Currently supports updating status. The operation is not transactional — orders that fail validation are reported in invalid_items while successfully updated ones appear in valid_items. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

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

Array of order IDs to update

required
object

Attributes to apply to all orders

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "ids": [
    ],
  • "additions": { },
  • "removals": { },
  • "_embedded": {
    }
}

Contacts

Shop contacts (customers).

List shop contacts

Returns a paginated list of contacts (customers) for a shop. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

query Parameters
page
integer
Default: 1

Page number

per_page
integer
Default: 50

Items per page

q
string

Full-text search (name, email)

created_on_gte
string <date>
created_on_lte
string <date>
updated_on_gte
string <date>
updated_on_lte
string <date>
sort
string

Responses

Response samples

Content type
application/json
{
  • "total_items": 0,
  • "page": 0,
  • "per_page": 0,
  • "_links": {
    },
  • "_embedded": {
    }
}

Webhooks

Subscribe to real-time event notifications via webhooks.

Webhooks hub

Returns the webhooks hub for a shop, including HAL links to subscribe, unsubscribe and list subscriptions.

Authorizations:
bearerAuth
path Parameters
shop_id
required
integer

Shop ID

Responses

Response samples

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

List subscriptions

Returns a paginated list of webhook subscriptions for a shop.

Authorizations:
bearerAuth
path Parameters
shop_id
required
integer
query Parameters
page
integer
Default: 1

Page number

per_page
integer
Default: 50

Items per page

status
string
Enum: "pending" "active" "failed_activation" "failed" "disabled"

Responses

Response samples

Content type
application/json
{
  • "total_items": 0,
  • "page": 0,
  • "per_page": 0,
  • "_links": {
    },
  • "_embedded": {
    }
}

Subscribe

Creates a new webhook subscription. After creation the API sends a verification POST to your url containing a X-Hook-Ping header. Your endpoint must respond with a matching X-Hook-Pong header to activate the subscription.

Subscription states

Status Description
pending Created, awaiting verification
active Verified and receiving events
failed_activation Verification was rejected
failed Disabled after 3 consecutive delivery failures
disabled Manually disabled or target returned 410

Available event topics

Orders: orders, orders.created, orders.created.checkout, orders.updated, orders.updated.placed, orders.updated.closed, orders.updated.shipped, orders.updated.cancelled, orders.deleted

Products: products, products.created, products.updated, products.deleted, products.updated.variants.created, products.updated.variants.updated, products.updated.variants.deleted, products.updated.assets.created, products.updated.assets.deleted

Authorizations:
bearerAuth
path Parameters
shop_id
required
integer
Request Body schema: application/json
required
topic
required
string

Event topic to subscribe to, e.g. orders.updated.placed

url
required
string

URL to POST event notifications to

notify_origin
boolean
Default: true

Whether to notify the originating app

object (SubscriptionAuth)

Responses

Request samples

Content type
application/json
{
  • "topic": "orders.updated.placed",
  • "notify_origin": true,
  • "auth": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "status": "pending",
  • "topic": "string",
  • "url": "string",
  • "notify_origin": true,
  • "auth": {
    },
  • "error_count": 0,
  • "last_error": "string",
  • "created_on": "2019-08-24T14:15:22Z",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": { }
}

Unsubscribe

Deletes a webhook subscription.

Authorizations:
bearerAuth
path Parameters
shop_id
required
integer
id
required
integer

Subscription ID

Responses

Response samples

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

Themes

Shop theme templates and static assets.

Theme details

Returns the active theme for a shop, including all templates and static assets. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
shop_id
required
string

Shop ID or subdomain

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "production": true,
  • "settings": { },
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": { },
  • "_embedded": {
    }
}

Update theme settings

Updates the settings object for a theme. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
id
required
string

Theme ID

Request Body schema: application/json
required
object

Theme settings key/value pairs (theme-specific)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "production": true,
  • "settings": { },
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": { },
  • "_embedded": {
    }
}

Create template

Adds a new HTML, CSS or JavaScript template to a theme. The file_name extension determines the content type (html, css, js). Requires admin scope.

Authorizations:
bearerAuth
path Parameters
theme_id
required
string
Request Body schema: application/json
required
file_name
required
string

File name including extension, e.g. about.html

body
required
string

Template content

Responses

Request samples

Content type
application/json
{
  • "file_name": "about.html",
  • "body": "<h1>About Us</h1>"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "file_name": "string",
  • "name": "string",
  • "content_type": "html",
  • "body": "string",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": { }
}

Update template

Updates the body of an existing theme template. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
theme_id
required
string
id
required
string

Template ID

Request Body schema: application/json
required
file_name
required
string

File name including extension, e.g. about.html

body
required
string

Template content

Responses

Request samples

Content type
application/json
{
  • "file_name": "string",
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "file_name": "string",
  • "name": "string",
  • "content_type": "html",
  • "body": "string",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": { }
}

Delete template

Removes a template from a theme. Some core templates (e.g. index.html) cannot be deleted. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
theme_id
required
string
id
required
string

Responses

Response samples

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

Upload theme asset

Uploads a new static asset (image, font, etc.) to a theme. The file data must be Base64-encoded. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
theme_id
required
string
Request Body schema: application/json
required
file_name
required
string
data
required
string

Base64-encoded file data URI

Responses

Request samples

Content type
application/json
{
  • "file_name": "logo.png",
  • "data": "data:image/png;base64,iVBORw0KGgoAAAANS..."
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "file_name": "string",
  • "content_type": "string",
  • "file_size": 0,
  • "digest": "string",
  • "updated_on": "2019-08-24T14:15:22Z",
  • "_links": {
    }
}

Delete theme asset

Permanently removes a static asset from a theme. Requires admin scope.

Authorizations:
bearerAuth
path Parameters
theme_id
required
string
id
required
string

Asset ID

Responses

Response samples

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