{
    "additionalProperties": false,
    "definitions": {
        "custom": {
            "additionalProperties": false,
            "id": "/custom",
            "properties": {
                "authorizeFromDatasetIds": {
                    "items": {
                        "maxLength": 1024,
                        "minLength": 1,
                        "type": "string"
                    },
                    "type": "array",
                    "_uniqueItems": true
                },
                "query": {
                    "type": "string"
                }
            },
            "required": [
                "query"
            ],
            "type": "object"
        },
        "expiration": {
            "additionalProperties": false,
            "id": "/expiration",
            "properties": {
                "delete": {
                    "type": "boolean"
                },
                "enabled": {
                    "type": "boolean"
                },
                "time": {
                    "type": "integer"
                }
            },
            "required": [
                "enabled",
                "time"
            ],
            "type": "object"
        },
        "publicAccess": {
            "additionalProperties": false,
            "id": "/publicAccess",
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "limit": {
                    "minimum": 1,
                    "type": "integer"
                },
                "queryFilter": {
                    "type": "string"
                }
            },
            "required": [
                "enabled",
                "queryFilter"
            ],
            "type": "object"
        },
        "source": {
            "additionalProperties": false,
            "id": "/source",
            "properties": {
                "datasetId": {
                    "maxLength": 1024,
                    "minLength": 1,
                    "type": "string"
                },
                "hiddenColumns": {
                    "items": {
                        "maxLength": 128,
                        "minLength": 1,
                        "type": "string"
                    },
                    "type": "array",
                    "_uniqueItems": true
                },
                "publicAccess": {
                    "$ref": "#/definitions/publicAccess"
                },
                "queryFilter": {
                    "type": "string"
                },
                "tableId": {
                    "maxLength": 1024,
                    "minLength": 1,
                    "type": "string"
                },
                "visibleColumns": {
                    "items": {
                        "maxLength": 128,
                        "minLength": 1,
                        "type": "string"
                    },
                    "type": "array",
                    "_uniqueItems": true
                }
            },
            "required": [
                "datasetId",
                "tableId"
            ],
            "type": "object"
        },
        "sourceAccessControl": {
            "additionalProperties": false,
            "id": "/sourceAccessControl",
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "labelColumn": {
                    "maxLength": 128,
                    "minLength": 1,
                    "type": "string"
                },
                "labelColumnDelimiter": {
                    "type": "string"
                }
            },
            "required": [
                "enabled",
                "labelColumn"
            ],
            "type": "object"
        }
    },
    "properties": {
        "accessControl": {
            "$ref": "#/definitions/sourceAccessControl"
        },
        "authorizedViewId": {
            "type": "string"
        },
        "createdBy": {
            "type": "string"
        },
        "custom": {
            "$ref": "#/definitions/custom"
        },
        "datasetId": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
        },
        "description": {
            "type": "string"
        },
        "expiration": {
            "$ref": "#/definitions/expiration"
        },
        "name": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
        },
        "projectId": {
            "type": "string"
        },
        "rowId": {
            "type": "string"
        },
        "source": {
            "$ref": "#/definitions/source"
        }
    },
    "required": [
        "projectId",
        "name",
        "description",
        "datasetId"
    ],
    "type": "object"
}