{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/consentstack-io/json-schema/consentstack-io-get-functions-v1-config-response-schema.json",
  "title": "GetFunctionsV1ConfigResponse",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/consentstack-io-openapi-generated.yml#/components/schemas/GetFunctionsV1ConfigResponse",
  "type": "object",
  "properties": {
    "config": {
      "type": "object",
      "description": "The full published config object (appearance, content, categories, regions, consent rules). Falls back to built-in defaults if no config is published."
    },
    "sdkCategories": {
      "type": "array",
      "description": "Consent categories resolved for the visitor's region. Each entry includes id, name, description, and the applicable consentModel."
    },
    "resolvedRegion": {
      "type": "string",
      "description": "The region ID matched from the visitor's location (e.g. gdpr, us_state_laws, default). null if no region matched."
    },
    "resolvedLanguage": {
      "type": "string",
      "description": "The language code used for content (e.g. en, de)."
    },
    "resolvedContent": {
      "type": "object",
      "description": "Banner and preferences UI strings in the resolved language, with consent-model-specific overrides applied."
    },
    "resolvedUi": {
      "type": "object",
      "description": "Translated UI labels (e.g. the \"Required\" badge text)."
    },
    "showBranding": {
      "type": "boolean",
      "description": "Whether to display ConsentStack branding."
    },
    "version": {
      "type": "number",
      "description": "The published config version number."
    },
    "site_name": {
      "type": "string",
      "description": "The site name from your dashboard."
    },
    "scriptRules": {
      "type": "array",
      "description": "Active script blocking rules. Each entry has a pattern and a category."
    }
  }
}