{
    "$schema": "http://json-schema.org/draft-04/schema",
    "allOf": [
        {
            "properties": {
                "app_name": {
                    "$ref": "#/definitions/traits_trait_app_name_json"
                },
                "date": {
                    "_format": "date-time",
                    "description": "When the operation should be considered performed",
                    "type": "string"
                },
                "destination_url": {
                    "description": "The new canonical_url of the story.  The original_url will redirect to the destination_url.",
                    "type": "string"
                },
                "id": {
                    "description": "The id of the item being operated",
                    "type": "string"
                },
                "operation": {
                    "description": "The identifier of the operation being performed",
                    "enum": [
                        "insert-redirect"
                    ],
                    "type": "string"
                },
                "organization_id": {
                    "description": "The id of the organization",
                    "type": "string"
                },
                "original_url": {
                    "description": "The original url that will trigger a redirect to the destination_url.",
                    "type": "string"
                },
                "priority": {
                    "$ref": "#/definitions/traits_trait_priority_json"
                },
                "redirect_type": {
                    "description": "Identifies the redirect type this operation is.",
                    "enum": [
                        "vanity",
                        "story"
                    ],
                    "type": "string"
                },
                "type": {
                    "description": "Identifies this as an ANS operation",
                    "enum": [
                        "url-operation"
                    ],
                    "type": "string"
                },
                "version": {
                    "description": "The version of ANS this item is written in",
                    "type": "string"
                }
            },
            "required": [
                "type",
                "operation",
                "id",
                "organization_id"
            ]
        }
    ],
    "definitions": {
        "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_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"
        }
    },
    "description": "An operation on a url",
    "type": "object"
}