{
    "$schema": "http://json-schema.org/draft-04/schema",
    "additionalProperties": false,
    "definitions": {
        "___utils_auxiliary_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Models a auxiliary used in targeting a piece of content.",
            "properties": {
                "_id": {
                    "description": "The unique identifier for this auxiliary.",
                    "type": "string"
                },
                "name": {
                    "description": "The general name for this auxiliary.",
                    "type": "string"
                },
                "uid": {
                    "description": "A short identifier for this auxiliary. Usually used in cases where a long form id cannot work.",
                    "type": "string"
                }
            },
            "required": [
                "_id",
                "uid"
            ],
            "title": "Auxiliary",
            "type": "object"
        },
        "___utils_keyword_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Models a keyword used in describing a piece of content.",
            "properties": {
                "frequency": {
                    "description": "An optional count of the frequency of the keyword as it appears in the content it describes",
                    "type": "integer"
                },
                "keyword": {
                    "description": "The keyword used to describe a piece of content",
                    "type": "string"
                },
                "score": {
                    "description": "An arbitrary weighting to give the keyword",
                    "type": "number"
                },
                "tag": {
                    "description": "The Part of Speech tag for this keyword.",
                    "type": "string"
                }
            },
            "required": [
                "keyword",
                "score"
            ],
            "title": "Keyword",
            "type": "object"
        },
        "___utils_named_entity_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Models a named entity (i.e. name of a person, place, or organization) used in a piece of content.",
            "properties": {
                "_id": {
                    "description": "A unique identifier for the concept of the named entity.",
                    "type": "string"
                },
                "name": {
                    "description": "The actual string of text that was identified as a named entity.",
                    "type": "string"
                },
                "score": {
                    "decription": "An optional relevancy for this named entitiy.",
                    "type": "number"
                },
                "type": {
                    "description": "A description of what the named entity is. E.g. 'organization', 'person', or 'location'.",
                    "type": "string"
                }
            },
            "required": [
                "_id",
                "name",
                "type"
            ],
            "title": "Named Entity",
            "type": "object"
        },
        "___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/trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/trait_additional_properties_json"
                },
                "alignment": {
                    "$ref": "#/definitions/trait_alignment_json"
                },
                "channels": {
                    "$ref": "#/definitions/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/trait_subtype_json"
                },
                "type": {
                    "enum": [
                        "reference"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "type",
                "referent"
            ],
            "title": "Representation of a normalized element",
            "type": "object"
        },
        "___utils_section_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "A hierarchical section in a taxonomy. In the Arc ecosystem, these are stored in the arc-site-service.",
            "properties": {
                "_id": {
                    "$ref": "#/definitions/trait_id_json"
                },
                "_website": {
                    "$ref": "#/definitions/trait_website_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/trait_additional_properties_json"
                },
                "description": {
                    "description": "A short description or tagline about this site",
                    "type": "string"
                },
                "name": {
                    "description": "The name of this site",
                    "type": "string"
                },
                "parent": {
                    "description": "The id of this section's parent section in various commonly-used hierarchies, where available.",
                    "properties": {
                        "default": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "parent_id": {
                    "description": "The id of this section's parent section in the default hierarchy, if any.",
                    "type": "string"
                },
                "path": {
                    "description": "The url path to this site",
                    "type": "string"
                },
                "primary": {
                    "description": "Is this the primary site?",
                    "type": "boolean"
                },
                "type": {
                    "enum": [
                        "section"
                    ]
                },
                "version": {
                    "$ref": "#/definitions/trait_version_json"
                }
            },
            "required": [
                "type",
                "version",
                "name"
            ],
            "title": "Section",
            "type": "object"
        },
        "___utils_site_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "A hierarchical section or 'site' in a taxonomy. In the Arc ecosystem, these are stored in the arc-site-service.",
            "properties": {
                "_id": {
                    "$ref": "#/definitions/trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/trait_additional_properties_json"
                },
                "description": {
                    "description": "A short description or tagline about this site",
                    "type": "string"
                },
                "name": {
                    "description": "The name of this site",
                    "type": "string"
                },
                "parent_id": {
                    "description": "The id of this section's parent site, if any",
                    "type": "string"
                },
                "path": {
                    "description": "The url path to this site",
                    "type": "string"
                },
                "primary": {
                    "description": "Is this the primary site?",
                    "type": "boolean"
                },
                "type": {
                    "enum": [
                        "site"
                    ]
                },
                "version": {
                    "$ref": "#/definitions/trait_version_json"
                }
            },
            "required": [
                "type",
                "version",
                "name"
            ],
            "title": "Site",
            "type": "object"
        },
        "___utils_tag_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Models a keyword used in describing a piece of content.",
            "properties": {
                "_id": {
                    "$ref": "#/definitions/trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/trait_additional_properties_json"
                },
                "description": {
                    "description": "A more detailed description of the tag.",
                    "type": "string"
                },
                "slug": {
                    "$ref": "#/definitions/trait_slug_json"
                },
                "subtype": {
                    "$ref": "#/definitions/trait_subtype_json"
                },
                "text": {
                    "description": "The text of the tag as displayed to users.",
                    "type": "string"
                },
                "type": {
                    "enum": [
                        "tag"
                    ]
                }
            },
            "required": [
                "text"
            ],
            "title": "Tag",
            "type": "object"
        },
        "___utils_topic_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Models a topic used in describing a piece of content.",
            "properties": {
                "_id": {
                    "description": "The unique identifier for this topic.",
                    "type": "string"
                },
                "name": {
                    "description": "The general name for this topic.",
                    "type": "string"
                },
                "score": {
                    "description": "An arbitrary weighting to give the topic",
                    "type": "number"
                },
                "uid": {
                    "description": "A short identifier for this topic. Usually used in cases where a long form id cannot work.",
                    "type": "string"
                }
            },
            "required": [
                "_id",
                "score",
                "uid"
            ],
            "title": "Topic",
            "type": "object"
        },
        "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"
        },
        "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"
        },
        "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"
        },
        "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"
        },
        "trait_slug_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A short reference name for internal editorial use",
            "title": "Slug",
            "type": "string"
        },
        "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"
        },
        "trait_version_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The version of ANS that this object was serialized as, in major.minor.patch format.  For top-level content objects, this is a required trait.",
            "enum": [
                "0.10.9"
            ],
            "title": "Describes the ANS version of this object",
            "type": "string"
        },
        "trait_website_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The _id of the website on which this document exists. This field is only available in Content API. If different from canonical_website, then this document was originally sourced from the canonical_website. Generated at fetch time by Content API.",
            "title": "Website",
            "type": "string"
        }
    },
    "description": "Holds the collection of tags, categories, keywords, etc that describe content.",
    "properties": {
        "additional_properties": {
            "$ref": "#/definitions/trait_additional_properties_json"
        },
        "associated_tasks": {
            "description": "A list of WebSked task IDs that this content was created or curated to satisfy.",
            "items": {
                "pattern": "^[0-9a-fA-F]{24}$",
                "type": "string"
            },
            "maxItems": 200,
            "type": "array"
        },
        "auxiliaries": {
            "description": "A list of auxiliaries. In the Arc ecosystem, this list is populated by Clavis.",
            "items": {
                "$ref": "#/definitions/___utils_auxiliary_json"
            },
            "type": "array"
        },
        "keywords": {
            "description": "A list of keywords. In the Arc ecosystem, this list is populated by Clavis.",
            "items": {
                "$ref": "#/definitions/___utils_keyword_json"
            },
            "type": "array"
        },
        "named_entities": {
            "description": "A list of named entities. In the Arc ecosystem, this list is populated by Clavis.",
            "items": {
                "$ref": "#/definitions/___utils_named_entity_json"
            },
            "type": "array"
        },
        "primary_section": {
            "description": "A primary section object or reference to one. In the Arc ecosystem, a reference here is denormalized into a site from the arc-site-service.",
            "oneOf": [
                {
                    "$ref": "#/definitions/___utils_section_json"
                },
                {
                    "allOf": [
                        {
                            "$ref": "#/definitions/___utils_reference_json"
                        },
                        {
                            "properties": {
                                "referent": {
                                    "properties": {
                                        "type": {
                                            "enum": [
                                                "section"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    ]
                }
            ]
        },
        "primary_site": {
            "description": "Deprecated in 0.10.9. (See `primary_section` instead.) A primary site object or reference to one. In the Arc ecosystem, a reference here is denormalized into a site from the arc-site-service.",
            "oneOf": [
                {
                    "$ref": "#/definitions/___utils_site_json"
                },
                {
                    "allOf": [
                        {
                            "$ref": "#/definitions/___utils_reference_json"
                        },
                        {
                            "properties": {
                                "referent": {
                                    "properties": {
                                        "type": {
                                            "enum": [
                                                "site"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    ]
                }
            ]
        },
        "sections": {
            "description": "A list of site objects or references to them. In the Arc ecosystem, references in this list are denormalized into sites from the arc-site-service.  In a multi-site context, sites will be denormalized against an organization's default website only.",
            "items": {
                "oneOf": [
                    {
                        "$ref": "#/definitions/___utils_section_json"
                    },
                    {
                        "allOf": [
                            {
                                "$ref": "#/definitions/___utils_reference_json"
                            },
                            {
                                "properties": {
                                    "referent": {
                                        "properties": {
                                            "type": {
                                                "enum": [
                                                    "section"
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        ]
                    }
                ]
            },
            "type": "array"
        },
        "seo_keywords": {
            "description": "A list of user-editable manually entered keywords for search purposes. In the Arc ecosystem, these can be generated and saved in source CMS systems, editors, etc.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "sites": {
            "description": "Deprecated in 0.10.9. (See `sections` instead.) A list of site objects or references to them. In the Arc ecosystem, references in this list are denormalized into sites from the arc-site-service.  In a multi-site context, sites will be denormalized against an organization's default website only.",
            "items": {
                "oneOf": [
                    {
                        "$ref": "#/definitions/___utils_site_json"
                    },
                    {
                        "allOf": [
                            {
                                "$ref": "#/definitions/___utils_reference_json"
                            },
                            {
                                "properties": {
                                    "referent": {
                                        "properties": {
                                            "type": {
                                                "enum": [
                                                    "site"
                                                ]
                                            }
                                        }
                                    }
                                }
                            }
                        ]
                    }
                ]
            },
            "type": "array"
        },
        "stock_symbols": {
            "description": "A list of stock symbols of companies related to this content. In the Arc ecosystem, these can be generated and saved in source CMS systems, editors, etc.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "tags": {
            "items": {
                "$ref": "#/definitions/___utils_tag_json"
            },
            "type": "array"
        },
        "topics": {
            "description": "A list of topics. In the Arc ecosystem, this list is populated by Clavis.",
            "items": {
                "$ref": "#/definitions/___utils_topic_json"
            },
            "type": "array"
        }
    },
    "title": "Taxonomy",
    "type": "object"
}