StoreBay Developers
Catalogue

Retrieve a widget

Returns a PUBLISHED embeddable widget (availability | booking | calculator) by id — a draft or disabled widget 404s identically to an unknown id (widget-dashboard.md's "Draft is not embeddable until published"). Powers the storefront widget render routes and the headless embed story's first brick (22-storefront-08).

GET
/widgets/{id}

Returns a PUBLISHED embeddable widget (availability | booking | calculator) by id — a draft or disabled widget 404s identically to an unknown id (widget-dashboard.md's "Draft is not embeddable until published"). Powers the storefront widget render routes and the headless embed story's first brick (22-storefront-08).

Authorization

AuthorizationBearer <token>

Present an API key (sb_live_… / sb_test_…), an OAuth2 access token, or a static token as a Bearer credential. The operator is implied by the credential; it is never in the path. Only a SHA-256 hash of an API key is stored server-side.

In: header

Path Parameters

id*string

UUIDv7 identifier of the resource.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/widgets/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "object": "widget",    "type": "availability",    "status": "draft",    "site_id": "72771e6a-6f5e-4de4-a5b9-1266c4197811",    "unit_type_ids": [      "9c3c198c-81e3-420a-8425-a06d585924d9"    ],    "allowed_origins": [      "http://example.com"    ],    "config": {},    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z"  }}
{  "error": {    "code": "unauthorized",    "message": "Missing or invalid credential."  }}
{  "error": {    "code": "insufficient_scope",    "message": "The credential lacks a scope required by this endpoint."  }}
{  "error": {    "code": "not_found",    "message": "Resource not found."  }}
{  "error": {    "code": "validation_error",    "message": "string",    "details": [      {        "field": "string",        "issue": "string"      }    ]  }}