---
seo:
  description: >-
    The Bolder API is a hypermedia-driven REST API following the HAL (Hypertext
    Application Language) specification.
sidebar:
  label: Overview
title: Bolder API v1
---
The Bolder API is a hypermedia-driven REST API following the [HAL](https://stateless.group/hal_specification.html)
(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://api.onbolder.com/docs/v1#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:

```json
{
  "_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](#authentication) section for the full list of supported OAuth 2.0 flows.

Version 1.0

Base URL: `https://api.onbolder.com/v1`

## Root

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

- [`GET /`](/api/v1/root/get-root) — Root endpoint.

## Shops

Shops owned by the authenticated account.

- [`GET /shops`](/api/v1/shops/list-shops) — List shops.
- [`GET /shops/{id}`](/api/v1/shops/get-shop) — Shop details.

## Products

Products catalogue management.

- [`GET /products`](/api/v1/products/list-products) — List all products.
- [`GET /products/{id}`](/api/v1/products/get-product) — Product details.
- [`DELETE /products/{id}`](/api/v1/products/delete-product) — Delete product.
- [`POST /shops/{shop_id}/products`](/api/v1/products/create-product) — Create product.
- [`PUT /shops/{shop_id}/products/{id}`](/api/v1/products/update-product) — Update product.

## Variants

Product variants (size, colour, etc.).

- [`GET /shops/{shop_id}/variants/{id}`](/api/v1/variants/get-variant) — Variant details.
- [`PUT /shops/{shop_id}/variants/{id}`](/api/v1/variants/update-variant) — Update variant.
- [`DELETE /shops/{shop_id}/variants/{id}`](/api/v1/variants/delete-variant) — Delete variant.
- [`POST /products/{product_id}/variants`](/api/v1/variants/create-variant) — Create variant.

## Product Images

Upload and delete product images.

- [`POST /products/{product_id}/assets`](/api/v1/product-images/create-product-asset) — Upload product image.
- [`DELETE /products/{product_id}/assets/{id}`](/api/v1/product-images/delete-product-asset) — Delete product image.

## Orders

Order management including creation, updates, and batch operations.

- [`GET /shops/{shop_id}/orders`](/api/v1/orders/list-orders) — List orders.
- [`POST /shops/{shop_id}/orders`](/api/v1/orders/create-order) — Create order.
- [`GET /shops/{shop_id}/orders/{code}`](/api/v1/orders/get-order) — Order details.
- [`PUT /shops/{shop_id}/orders/{code}`](/api/v1/orders/update-order) — Update order.
- [`POST /shops/{shop_id}/orders/updaters`](/api/v1/orders/batch-update-orders) — Batch update orders.

## Contacts

Shop contacts (customers).

- [`GET /shops/{shop_id}/contacts`](/api/v1/contacts/list-contacts) — List shop contacts.

## Webhooks

Subscribe to real-time event notifications via webhooks.

- [`GET /hub/{shop_id}`](/api/v1/webhooks/get-hub) — Webhooks hub.
- [`GET /hub/{shop_id}/subscriptions`](/api/v1/webhooks/list-subscriptions) — List subscriptions.
- [`POST /hub/{shop_id}/subscriptions`](/api/v1/webhooks/create-subscription) — Subscribe.
- [`DELETE /hub/{shop_id}/subscriptions/{id}`](/api/v1/webhooks/delete-subscription) — Unsubscribe.

## Themes

Shop theme templates and static assets.

- [`GET /shops/{shop_id}/theme`](/api/v1/themes/get-theme) — Theme details.
- [`PUT /themes/{id}`](/api/v1/themes/update-theme) — Update theme settings.
- [`POST /themes/{theme_id}/templates`](/api/v1/themes/create-template) — Create template.
- [`PUT /themes/{theme_id}/templates/{id}`](/api/v1/themes/update-template) — Update template.
- [`DELETE /themes/{theme_id}/templates/{id}`](/api/v1/themes/delete-template) — Delete template.
- [`POST /themes/{theme_id}/assets`](/api/v1/themes/create-theme-asset) — Upload theme asset.
- [`DELETE /themes/{theme_id}/assets/{id}`](/api/v1/themes/delete-theme-asset) — Delete theme asset.
