{
    "$schema": "http://json-schema.org/draft-04/schema",
    "allOf": [
        {
            "properties": {
                "app_name": {
                    "$ref": "#/definitions/traits_trait_app_name_json"
                },
                "body": {
                    "$ref": "#/definitions/utils_site_json",
                    "description": "The object being inserted/updated/deleted"
                },
                "date": {
                    "_format": "date-time",
                    "description": "When the operation should be considered performed",
                    "type": "string"
                },
                "id": {
                    "description": "The id of the item being operated",
                    "type": "string"
                },
                "operation": {
                    "description": "The identifier of the operation being performed",
                    "enum": [
                        "insert",
                        "update",
                        "delete"
                    ],
                    "type": "string"
                },
                "organization_id": {
                    "description": "The id of the organization",
                    "type": "string"
                },
                "priority": {
                    "$ref": "#/definitions/traits_trait_priority_json"
                },
                "type": {
                    "description": "Identifies this as an ANS operation",
                    "enum": [
                        "site-service"
                    ],
                    "type": "string"
                },
                "version": {
                    "description": "The version of ANS this item is written in",
                    "type": "string"
                }
            },
            "required": [
                "type",
                "operation",
                "id",
                "organization_id"
            ]
        }
    ],
    "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_app_name_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The name of the application that generated an operation. This is used by downstream consumers in conjunction with 'priority' to make decisions about optimization.",
            "title": "Application Name",
            "type": "string"
        },
        "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_priority_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The priority identifier of this operation. This is used by downstream consumers to make decisions about optimization. The value 'standard' indicates an operation generated from a UI or live update. The value 'ingestion' indicates an operation generated by a migration script or background import.  Note that this represents a request for priority consideration from event-generating apps and downstream applications are not obligated to honor it.",
            "enum": [
                "standard",
                "ingestion"
            ],
            "title": "Priority",
            "type": "string"
        },
        "traits_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"
        },
        "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/traits_trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/traits_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/traits_trait_version_json"
                }
            },
            "required": [
                "type",
                "version",
                "name"
            ],
            "title": "Site",
            "type": "object"
        }
    },
    "description": "An operation on a site",
    "type": "object"
}