{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "connections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Resource identifier returned by the operation."
          },
          "project_id": {
            "type": "string",
            "description": "Project that owns this record."
          },
          "provider": {
            "type": "string",
            "enum": [
              "google",
              "bing"
            ]
          },
          "status": {
            "type": "string",
            "description": "Resource lifecycle status."
          },
          "property": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_sync_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "next_sync_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "coverage": {
            "anyOf": [
              {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "description": "Dataset scope and completeness, including limits on what these results establish."
                },
                "description": "Dataset scope and completeness, including limits on what these results establish."
              },
              {
                "type": "null"
              }
            ],
            "description": "Dataset scope and completeness, including limits on what these results establish."
          },
          "snapshot_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "capability": {
            "type": "string",
            "enum": [
              "search_performance",
              "backlinks"
            ]
          },
          "created_at": {
            "type": "string",
            "description": "UTC timestamp when the record was created."
          },
          "updated_at": {
            "type": "string",
            "description": "UTC timestamp of the last record update."
          }
        },
        "required": [
          "id",
          "project_id",
          "provider",
          "status",
          "property",
          "last_sync_at",
          "next_sync_at",
          "last_error",
          "coverage",
          "snapshot_id",
          "capability",
          "created_at",
          "updated_at"
        ],
        "additionalProperties": {}
      }
    },
    "providers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "enum": [
              "google",
              "bing"
            ]
          },
          "configured": {
            "type": "boolean"
          },
          "capability": {
            "type": "string",
            "enum": [
              "search_performance",
              "backlinks"
            ]
          }
        },
        "required": [
          "provider",
          "configured",
          "capability"
        ],
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "connections",
    "providers"
  ],
  "additionalProperties": {}
}
