{
    "$schema": "http://json-schema.org/draft-04/schema",
    "additionalProperties": {},
    "definitions": {
        "traits_trait_additional_properties_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": {},
            "description": "A grab-bag object for non-validatable data.",
            "title": "Has additional properties",
            "type": "object"
        },
        "traits_trait_alignment_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A property used to determine horizontal positioning of a content element relative to the elements that immediately follow it in the element sequence.",
            "enum": [
                "left",
                "right",
                "center"
            ],
            "title": "Alignment",
            "type": "string"
        },
        "traits_trait_channel_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "An optional list of output types for which this element should be visible",
            "items": {
                "type": "string"
            },
            "title": "Channel trait",
            "type": "array"
        },
        "traits_trait_id_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A globally unique identifier of the content in the ANS repository.",
            "title": "Globally Unique ID trait",
            "type": "string"
        },
        "traits_trait_subtype_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A user-defined categorization method to supplement type. In Arc, this field is reserved for organization-defined purposes, such as selecting the PageBuilder template that should be used to render a document.",
            "title": "Subtype or Template",
            "type": "string"
        },
        "utils_reference_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "This represents a reference to external content that should be denormalized",
            "properties": {
                "_id": {
                    "$ref": "#/definitions/traits_trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "alignment": {
                    "$ref": "#/definitions/traits_trait_alignment_json"
                },
                "channels": {
                    "$ref": "#/definitions/traits_trait_channel_json"
                },
                "referent": {
                    "additionalProperties": false,
                    "dependencies": {
                        "website": {
                            "properties": {
                                "type": {
                                    "enum": [
                                        "section"
                                    ],
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "properties": {
                        "id": {
                            "description": "The id passed to the provider to retrieve an ANS document",
                            "type": "string"
                        },
                        "provider": {
                            "description": "A URL that can resolve the id into an ANS element",
                            "type": "string"
                        },
                        "referent_properties": {
                            "additionalProperties": {},
                            "description": "An object for key-value pairs that should override the values of keys with the same name in the denormalized object",
                            "type": "object"
                        },
                        "service": {
                            "description": "The type of interaction the provider expects. E.g., 'oembed'",
                            "type": "string"
                        },
                        "type": {
                            "description": "The ANS type that the provider should return.",
                            "type": "string"
                        },
                        "website": {
                            "description": "The website which the referenced id belongs to. Currently supported only for sections.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "id"
                    ],
                    "type": "object"
                },
                "subtype": {
                    "$ref": "#/definitions/traits_trait_subtype_json"
                },
                "type": {
                    "enum": [
                        "reference"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "type",
                "referent"
            ],
            "title": "Representation of a normalized element",
            "type": "object"
        }
    },
    "description": "Represents restricted ANS Content objects.",
    "properties": {
        "_id": {
            "$ref": "#/definitions/traits_trait_id_json"
        },
        "reasons": {
            "items": {
                "properties": {
                    "message": {
                        "description": "The human-readable message describing the restriction.",
                        "type": "string"
                    },
                    "restriction_id": {
                        "description": "The ARC UUID of the distributor of this content. E.g., ABCDEFGHIJKLMNOPQRSTUVWXYZ.",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "type": "array"
        },
        "restricted_content": {
            "$ref": "#/definitions/utils_reference_json"
        },
        "type": {
            "enum": [
                "restricted"
            ]
        }
    },
    "required": [
        "type",
        "reasons"
    ],
    "title": "A restricted content object.",
    "type": "object"
}