{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "bulk_publishing": {
            "type": "boolean"
        },
        "links": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "facet_groups": {
                    "description": "Prototype-stage metadata tagging tree roots for this content item. A content item my belong to many facet groups without having any specific facet_values links.",
                    "$ref": "#/definitions/guid_list"
                },
                "facet_values": {
                    "description": "Prototype-stage metadata tagging values for this content item, a content item can be linked to many facet values from varying facet groups.",
                    "$ref": "#/definitions/guid_list"
                },
                "finder": {
                    "description": "Powers links from content back to finders the content is surfaced on",
                    "$ref": "#/definitions/guid_list"
                },
                "government": {
                    "description": "The government associated with this document",
                    "$ref": "#/definitions/guid_list",
                    "maxItems": 1
                },
                "lead_organisations": {
                    "description": "DEPRECATED: A subset of organisations that should be emphasised in relation to this content item. All organisations specified here should also be part of the organisations array.",
                    "$ref": "#/definitions/guid_list"
                },
                "mainstream_browse_pages": {
                    "description": "Powers the /browse section of the site. These are known as sections in some legacy apps.",
                    "$ref": "#/definitions/guid_list"
                },
                "meets_user_needs": {
                    "description": "The user needs this piece of content meets.",
                    "$ref": "#/definitions/guid_list"
                },
                "ordered_related_items": {
                    "description": "Related items, can be any page on GOV.UK. Mostly used for mainstream content to power the sidebar. Ordering of the links is determined by the editor in Content Tagger.",
                    "$ref": "#/definitions/guid_list"
                },
                "ordered_related_items_overrides": {
                    "description": "Related items, can be any page on GOV.UK. Overrides 'more like this' automatically generated links in the beta navigation.",
                    "$ref": "#/definitions/guid_list"
                },
                "organisations": {
                    "description": "All organisations linked to this content item. This should include lead organisations.",
                    "$ref": "#/definitions/guid_list"
                },
                "original_primary_publishing_organisation": {
                    "description": "The organisation that published the original version of the page. Corresponds to the first of the 'Lead organisations' in Whitehall for the first edition, and is empty for all other publishing applications.",
                    "$ref": "#/definitions/guid_list"
                },
                "parent": {
                    "description": "The parent content item.",
                    "$ref": "#/definitions/guid_list",
                    "maxItems": 1
                },
                "people": {
                    "description": "People that are associated with this document, typically the person part of a role association",
                    "$ref": "#/definitions/guid_list"
                },
                "policy_areas": {
                    "description": "A largely deprecated tag currently only used to power email alerts.",
                    "$ref": "#/definitions/guid_list"
                },
                "primary_publishing_organisation": {
                    "description": "The organisation that published the page. Corresponds to the first of the 'Lead organisations' in Whitehall, and is empty for all other publishing applications.",
                    "$ref": "#/definitions/guid_list",
                    "maxItems": 1
                },
                "related_policies": {
                    "$ref": "#/definitions/guid_list"
                },
                "roles": {
                    "description": "Government roles that are associated with this document, typically the role part of a role association",
                    "$ref": "#/definitions/guid_list"
                },
                "speaker": {
                    "description": "A speaker that has a GOV.UK profile",
                    "$ref": "#/definitions/guid_list",
                    "maxItems": 1
                },
                "suggested_ordered_related_items": {
                    "description": "New A/B test suggestions for related items. Used for displaying related content on most pages, except for step-by-step and fatality notices. Links and their ordering are determined by the machine learning algorithms included in this A/B test.",
                    "$ref": "#/definitions/guid_list"
                },
                "taxons": {
                    "description": "Prototype-stage taxonomy label for this content item",
                    "$ref": "#/definitions/guid_list"
                },
                "topical_events": {
                    "$ref": "#/definitions/guid_list"
                },
                "topics": {
                    "description": "Powers the /topic section of the site. These are known as specialist sectors in some legacy apps.",
                    "$ref": "#/definitions/guid_list"
                },
                "world_locations": {
                    "$ref": "#/definitions/guid_list"
                }
            }
        },
        "previous_version": {
            "type": "string"
        }
    },
    "definitions": {
        "guid": {
            "type": "string",
            "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$"
        },
        "guid_list": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/guid"
            },
            "_uniqueItems": true
        }
    }
}