> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getscale.ng/llms.txt
> Use this file to discover all available pages before exploring further.

# Resolve Shop Config

Resolves a domain name or the active API key origin to retrieve the corresponding shop configuration, dynamic template bindings, custom theme settings, and primary Shop ID.

When loading your custom storefront headless frontend (e.g. Next.js, Gatsby, or Vue), you should call this endpoint first. The returned parameters let you dynamically bind theme colors, fonts, checkout variables, and announcement bar settings in real-time.

### Authorizations

<ParamField header="X-Shop-API-Key" type="string" required>
  Your Publishable Key (`pk_live_...` or `pk_test_...`) generated from the Developer settings in your dashboard.
</ParamField>

### Query Parameters

<ParamField query="domain" type="string" required>
  The host name to resolve (e.g. `myshop.getscale.ng`).
</ParamField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "status": "success",
    "data": {
      "shopId": "d3b07384-d113-4e4e-9828-4e4e98284e4e",
      "shopName": "Best Shoes",
      "shopLogo": "https://cdn.getscale.ng/logos/shoes.png",
      "shopBanner": "https://cdn.getscale.ng/banners/shoes.png",
      "domain": "myshop.getscale.ng",
      "themeColor": "#22162B",
      "fontFamily": "Inter",
      "templateId": "default",
      "announcementBarText": "Free shipping on orders over ₦5000!",
      "showAnnouncementBar": true,
      "socialLinks": {
        "instagram": "https://instagram.com/bestshoes"
      },
      "checkoutConfig": {
        "guestCheckout": true
      }
    }
  }
  ```

  ```json 400 Bad Request theme={null}
  {
    "message": "FORM_VALIDATION_ERROR",
    "code": 400,
    "validationErrors": [
      {
        "path": [
          "domain"
        ],
        "message": "Domain is required when origin headers cannot be resolved"
      }
    ]
  }
  ```
</ResponseExample>
