{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.webflow.com/schemas/site.json",
  "title": "Webflow Site",
  "description": "A Webflow Site object representing a website within a workspace, as returned by the GET /sites/{site_id} endpoint of the Webflow Data API v2.",
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the Site.",
      "examples": ["580e63e98c9a982ac9b8b741"]
    },
    "workspaceId": {
      "type": "string",
      "description": "Unique identifier for the Workspace that contains this Site.",
      "examples": ["580e63e98c9a982ac9b8b741"]
    },
    "displayName": {
      "type": "string",
      "description": "Name given to the Site.",
      "examples": ["api_docs_sample_json"]
    },
    "shortName": {
      "type": "string",
      "description": "Slugified version of the Site name.",
      "examples": ["api-docs-sample-json"]
    },
    "previewUrl": {
      "type": "string",
      "format": "uri",
      "description": "URL of a generated screenshot image for the given Site.",
      "examples": ["https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png"]
    },
    "timeZone": {
      "type": "string",
      "description": "Site timezone set under Site Settings.",
      "examples": ["America/Los_Angeles"]
    },
    "createdOn": {
      "type": "string",
      "format": "date-time",
      "description": "Date the Site was created.",
      "examples": ["2016-10-24T19:41:29.156Z"]
    },
    "lastUpdated": {
      "type": "string",
      "format": "date-time",
      "description": "Date the Site was last updated.",
      "examples": ["2016-10-24T19:43:17.271Z"]
    },
    "lastPublished": {
      "type": "string",
      "format": "date-time",
      "description": "Date the Site was last published.",
      "examples": ["2016-10-24T19:43:17.271Z"]
    },
    "parentFolderId": {
      "type": ["string", "null"],
      "description": "The ID of the parent folder the Site exists in.",
      "examples": ["1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6"]
    },
    "customDomains": {
      "type": "array",
      "description": "A list of custom domains registered to this Site.",
      "items": {
        "type": "object",
        "required": ["id"],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the Domain.",
            "examples": ["589a331aa51e760df7ccb89d"]
          },
          "url": {
            "type": "string",
            "description": "The registered Domain name.",
            "examples": ["test-api-domain.com"]
          },
          "lastPublished": {
            "type": ["string", "null"],
            "format": "date-time",
            "description": "The date the custom domain was last published to.",
            "readOnly": true,
            "examples": ["2022-12-07T16:51:37.571Z"]
          }
        }
      }
    },
    "locales": {
      "type": "object",
      "description": "Locale configuration for the Site, including primary and secondary locales.",
      "properties": {
        "primary": {
          "type": "object",
          "description": "The primary locale for the site.",
          "properties": {
            "id": {
              "type": "string",
              "description": "The unique identifier for the locale.",
              "examples": ["653fd9af6a07fc9cfd7a5e57"]
            },
            "cmsLocaleId": {
              "type": "string",
              "description": "A CMS-specific identifier for the locale.",
              "examples": ["653ad57de882f528b32e810e"]
            },
            "enabled": {
              "type": "boolean",
              "description": "Indicates if the locale is enabled.",
              "examples": [false]
            },
            "displayName": {
              "type": "string",
              "description": "The display name of the locale, typically in English.",
              "examples": ["English (United States)"]
            },
            "displayImageId": {
              "type": ["string", "null"],
              "description": "An optional ID for an image associated with the locale.",
              "examples": [null]
            },
            "redirect": {
              "type": "boolean",
              "description": "Determines if requests should redirect to the locale's subdirectory.",
              "examples": [true]
            },
            "subdirectory": {
              "type": "string",
              "description": "The subdirectory path for the locale, used in URLs.",
              "examples": [""]
            },
            "tag": {
              "type": "string",
              "description": "A tag or code representing the locale, following a standard format like 'en-US'.",
              "examples": ["en-US"]
            }
          }
        },
        "secondary": {
          "type": "array",
          "description": "A list of secondary locales available for the site.",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier for the locale.",
                "examples": ["653fd9af6a07fc9cfd7a5e56"]
              },
              "cmsLocaleId": {
                "type": "string",
                "description": "A CMS-specific identifier for the locale.",
                "examples": ["653fd9af6a07fc9cfd7a5e5d"]
              },
              "enabled": {
                "type": "boolean",
                "description": "Indicates if the locale is enabled.",
                "examples": [true]
              },
              "displayName": {
                "type": "string",
                "description": "The display name of the locale, typically in English.",
                "examples": ["French (France)"]
              },
              "displayImageId": {
                "type": ["string", "null"],
                "description": "An optional ID for an image associated with the locale.",
                "examples": [null]
              },
              "subdirectory": {
                "type": "string",
                "description": "The subdirectory path for the locale, used in URLs.",
                "examples": ["fr-fr"]
              },
              "tag": {
                "type": "string",
                "description": "A tag or code representing the locale, following a standard format like 'en-US'.",
                "examples": ["fr-FR"]
              }
            }
          }
        }
      }
    },
    "dataCollectionEnabled": {
      "type": "boolean",
      "description": "Indicates if data collection is enabled for the site.",
      "examples": [false]
    },
    "dataCollectionType": {
      "type": "string",
      "description": "The type of data collection enabled for the site.",
      "enum": [
        "always",
        "optOut",
        "disabled"
      ],
      "examples": ["always"]
    }
  }
}
