{
    "$schema": "http://json-schema.org/draft-04/schema",
    "allOf": [
        {
            "properties": {
                "body": {
                    "$ref": "#/definitions/content_json",
                    "description": "The object being inserted/updated/deleted"
                },
                "branch": {
                    "description": "The name of the branch within Story API that this operation occurs on, if any",
                    "type": "string"
                },
                "created": {
                    "description": "Identifies this item as created or updated.",
                    "type": "boolean"
                },
                "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-story",
                        "delete-story",
                        "insert-gallery",
                        "delete-gallery",
                        "insert-video",
                        "delete-video",
                        "insert-redirect",
                        "delete-redirect"
                    ],
                    "type": "string"
                },
                "organization_id": {
                    "description": "The id of the organization",
                    "type": "string"
                },
                "published": {
                    "description": "Identifies this item as published or not",
                    "type": "boolean"
                },
                "trigger": {
                    "additionalProperties": false,
                    "description": "Metadata about the primary source update that triggered this operation. These fields can be used by downstream consumers as an efficient way of determining the relevance of an operation.",
                    "properties": {
                        "app_name": {
                            "$ref": "#/definitions/traits_trait_app_name_json"
                        },
                        "id": {
                            "description": "The id of the document whose update was consumed in order to produce this update. If this operation is the result of a referent update, than this id will not match the id of the document in the body (except the case where a document references itself.)",
                            "title": "Trigger ID",
                            "type": "string"
                        },
                        "priority": {
                            "$ref": "#/definitions/traits_trait_priority_json"
                        },
                        "referent_update": {
                            "description": "If true, this update was triggered by an update to a referenced element in the document rather than the document itself.",
                            "title": "Referent Update",
                            "type": "boolean"
                        },
                        "type": {
                            "description": "The type of update that was consumed in order to produce this update. If this operation is the result of a referent update, than this type may or may not match the type of document in the body. For example, suppose story A contains image B and story C. If B is updated, then an operation may be produced with source 'image' and a body of story A (with updated image metadata.) If C is updated, then an operation may be produced with source 'story' and the body of story A.",
                            "enum": [
                                "story",
                                "gallery",
                                "image",
                                "video",
                                "url",
                                "site",
                                "author",
                                "clavis"
                            ],
                            "title": "Trigger Type",
                            "type": "string"
                        }
                    },
                    "title": "Operation Trigger",
                    "type": "object"
                },
                "type": {
                    "description": "Identifies this as an ANS operation",
                    "enum": [
                        "content-operation"
                    ],
                    "type": "string"
                },
                "version": {
                    "description": "The version of ANS this item is written in",
                    "type": "string"
                }
            },
            "required": [
                "type",
                "operation",
                "id",
                "organization_id"
            ]
        }
    ],
    "definitions": {
        "content_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": {},
            "description": "Holds common attributes of ANS Content objects.",
            "properties": {
                "_id": {
                    "$ref": "#/definitions/traits_trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "address": {
                    "$ref": "#/definitions/traits_trait_address_json"
                },
                "alignment": {
                    "$ref": "#/definitions/traits_trait_alignment_json"
                },
                "canonical_url": {
                    "$ref": "#/definitions/traits_trait_canonical_url_json"
                },
                "channels": {
                    "$ref": "#/definitions/traits_trait_channel_json"
                },
                "comments": {
                    "$ref": "#/definitions/traits_trait_comments_json"
                },
                "content_aliases": {
                    "$ref": "#/definitions/traits_trait_content_aliases_json"
                },
                "content_restrictions": {
                    "$ref": "#/definitions/traits_trait_content_restrictions_json"
                },
                "contributors": {
                    "$ref": "#/definitions/traits_trait_contributors_json"
                },
                "copyright": {
                    "$ref": "#/definitions/traits_trait_copyright_json"
                },
                "created_date": {
                    "$ref": "#/definitions/traits_trait_created_date_json"
                },
                "credits": {
                    "$ref": "#/definitions/traits_trait_credits_json"
                },
                "description": {
                    "$ref": "#/definitions/traits_trait_description_json"
                },
                "display_date": {
                    "$ref": "#/definitions/traits_trait_display_date_json"
                },
                "distributor": {
                    "$ref": "#/definitions/traits_trait_distributor_json"
                },
                "editor_note": {
                    "$ref": "#/definitions/traits_trait_editor_note_json"
                },
                "first_publish_date": {
                    "$ref": "#/definitions/traits_trait_first_publish_date_json"
                },
                "geo": {
                    "$ref": "#/definitions/traits_trait_geo_json"
                },
                "headlines": {
                    "$ref": "#/definitions/traits_trait_headlines_json"
                },
                "label": {
                    "$ref": "#/definitions/traits_trait_label_json"
                },
                "language": {
                    "$ref": "#/definitions/traits_trait_locale_json"
                },
                "last_updated_date": {
                    "$ref": "#/definitions/traits_trait_last_updated_date_json"
                },
                "location": {
                    "$ref": "#/definitions/traits_trait_location_json"
                },
                "owner": {
                    "$ref": "#/definitions/traits_trait_owner_json"
                },
                "pitches": {
                    "$ref": "#/definitions/traits_trait_pitches_json"
                },
                "planning": {
                    "$ref": "#/definitions/traits_trait_planning_json"
                },
                "promo_items": {
                    "$ref": "#/definitions/traits_trait_promo_items_json"
                },
                "publish_date": {
                    "$ref": "#/definitions/traits_trait_publish_date_json"
                },
                "related_content": {
                    "$ref": "#/definitions/traits_trait_related_content_json"
                },
                "revision": {
                    "$ref": "#/definitions/traits_trait_revision_json"
                },
                "short_url": {
                    "$ref": "#/definitions/traits_trait_short_url_json"
                },
                "slug": {
                    "$ref": "#/definitions/traits_trait_slug_json"
                },
                "source": {
                    "$ref": "#/definitions/traits_trait_source_json"
                },
                "status": {
                    "$ref": "#/definitions/traits_trait_status_json"
                },
                "subheadlines": {
                    "$ref": "#/definitions/traits_trait_subheadlines_json"
                },
                "subtype": {
                    "$ref": "#/definitions/traits_trait_subtype_json"
                },
                "syndication": {
                    "$ref": "#/definitions/traits_trait_syndication_json"
                },
                "taxonomy": {
                    "$ref": "#/definitions/traits_trait_taxonomy_json"
                },
                "tracking": {
                    "$ref": "#/definitions/traits_trait_tracking_json"
                },
                "type": {
                    "type": "string"
                },
                "vanity_credits": {
                    "$ref": "#/definitions/traits_trait_vanity_credits_json"
                },
                "version": {
                    "$ref": "#/definitions/traits_trait_version_json"
                },
                "workflow": {
                    "$ref": "#/definitions/traits_trait_workflow_json"
                }
            },
            "required": [
                "type",
                "version"
            ],
            "title": "A content object.",
            "type": "object"
        },
        "image_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Holds attributes of an ANS image component. In the Arc ecosystem, these are stored in Anglerfish.",
            "properties": {
                "_id": {
                    "$ref": "#/definitions/traits_trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "address": {
                    "$ref": "#/definitions/traits_trait_address_json"
                },
                "alignment": {
                    "$ref": "#/definitions/traits_trait_alignment_json"
                },
                "alt_text": {
                    "$ref": "#/definitions/traits_trait_alt_text_json"
                },
                "canonical_url": {
                    "$ref": "#/definitions/traits_trait_canonical_url_json"
                },
                "caption": {
                    "description": "Caption for the image.",
                    "type": "string"
                },
                "channels": {
                    "$ref": "#/definitions/traits_trait_channel_json"
                },
                "comments": {
                    "$ref": "#/definitions/traits_trait_comments_json"
                },
                "content_restrictions": {
                    "$ref": "#/definitions/traits_trait_content_restrictions_json"
                },
                "contributors": {
                    "$ref": "#/definitions/traits_trait_contributors_json"
                },
                "copyright": {
                    "$ref": "#/definitions/traits_trait_copyright_json"
                },
                "created_date": {
                    "$ref": "#/definitions/traits_trait_created_date_json"
                },
                "credits": {
                    "$ref": "#/definitions/traits_trait_credits_json"
                },
                "description": {
                    "$ref": "#/definitions/traits_trait_description_json"
                },
                "display_date": {
                    "$ref": "#/definitions/traits_trait_display_date_json"
                },
                "distributor": {
                    "$ref": "#/definitions/traits_trait_distributor_json"
                },
                "editor_note": {
                    "$ref": "#/definitions/traits_trait_editor_note_json"
                },
                "first_publish_date": {
                    "$ref": "#/definitions/traits_trait_first_publish_date_json"
                },
                "focal_point": {
                    "$ref": "#/definitions/traits_trait_focal_point_json"
                },
                "geo": {
                    "$ref": "#/definitions/traits_trait_geo_json"
                },
                "headlines": {
                    "$ref": "#/definitions/traits_trait_headlines_json"
                },
                "height": {
                    "description": "Height for the image.",
                    "type": "integer"
                },
                "image_type": {
                    "$ref": "#/definitions/traits_trait_image_type_json"
                },
                "label": {
                    "$ref": "#/definitions/traits_trait_label_json"
                },
                "language": {
                    "$ref": "#/definitions/traits_trait_locale_json"
                },
                "last_updated_date": {
                    "$ref": "#/definitions/traits_trait_last_updated_date_json"
                },
                "licensable": {
                    "description": "True if the image can legally be licensed to others.",
                    "type": "boolean"
                },
                "location": {
                    "$ref": "#/definitions/traits_trait_location_json"
                },
                "owner": {
                    "$ref": "#/definitions/traits_trait_owner_json"
                },
                "pitches": {
                    "$ref": "#/definitions/traits_trait_pitches_json"
                },
                "planning": {
                    "$ref": "#/definitions/traits_trait_planning_json"
                },
                "promo_items": {
                    "$ref": "#/definitions/traits_trait_promo_items_json"
                },
                "publish_date": {
                    "$ref": "#/definitions/traits_trait_publish_date_json"
                },
                "related_content": {
                    "$ref": "#/definitions/traits_trait_related_content_json"
                },
                "revision": {
                    "$ref": "#/definitions/traits_trait_revision_json"
                },
                "short_url": {
                    "$ref": "#/definitions/traits_trait_short_url_json"
                },
                "slug": {
                    "$ref": "#/definitions/traits_trait_slug_json"
                },
                "source": {
                    "$ref": "#/definitions/traits_trait_source_json"
                },
                "status": {
                    "$ref": "#/definitions/traits_trait_status_json"
                },
                "subheadlines": {
                    "$ref": "#/definitions/traits_trait_subheadlines_json"
                },
                "subtitle": {
                    "description": "Subtitle for the image.",
                    "type": "string"
                },
                "subtype": {
                    "$ref": "#/definitions/traits_trait_subtype_json"
                },
                "syndication": {
                    "$ref": "#/definitions/traits_trait_syndication_json"
                },
                "taxonomy": {
                    "$ref": "#/definitions/traits_trait_taxonomy_json"
                },
                "tracking": {
                    "$ref": "#/definitions/traits_trait_tracking_json"
                },
                "type": {
                    "enum": [
                        "image"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "URL for the image.",
                    "type": "string"
                },
                "vanity_credits": {
                    "$ref": "#/definitions/traits_trait_vanity_credits_json"
                },
                "version": {
                    "$ref": "#/definitions/traits_trait_version_json"
                },
                "width": {
                    "description": "Width for the image.",
                    "type": "integer"
                },
                "workflow": {
                    "$ref": "#/definitions/traits_trait_workflow_json"
                }
            },
            "required": [
                "type",
                "version"
            ],
            "title": "An image.",
            "type": "object"
        },
        "redirect_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "A redirect to another story.",
            "properties": {
                "_id": {
                    "$ref": "#/definitions/traits_trait_id_json"
                },
                "canonical_url": {
                    "$ref": "#/definitions/traits_trait_canonical_url_json"
                },
                "owner": {
                    "$ref": "#/definitions/traits_trait_owner_json"
                },
                "redirect_url": {
                    "$ref": "#/definitions/traits_trait_canonical_url_json"
                },
                "revision": {
                    "$ref": "#/definitions/traits_trait_revision_json"
                },
                "type": {
                    "enum": [
                        "redirect"
                    ],
                    "type": "string"
                },
                "version": {
                    "$ref": "#/definitions/traits_trait_version_json"
                }
            },
            "required": [
                "type",
                "version",
                "canonical_url",
                "redirect_url"
            ],
            "title": "A redirect object.",
            "type": "object"
        },
        "story_elements_custom_embed_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "A custom embed element. Can be used to reference content from external providers about which little is known.",
            "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"
                },
                "embed": {
                    "additionalProperties": false,
                    "description": "The embed data.",
                    "properties": {
                        "config": {
                            "additionalProperties": false,
                            "description": "Arbitrary configuration data generated by a plugin. Users are responsible for maintaining schema.",
                            "patternProperties": {
                                "^([a-zA-Z0-9_])*$": {}
                            },
                            "properties": {
                                "referent": {
                                    "not": {}
                                },
                                "type": {
                                    "not": {}
                                },
                                "version": {
                                    "not": {}
                                }
                            },
                            "title": "Embed Configuration",
                            "type": "object"
                        },
                        "id": {
                            "description": "Foreign ID of embedded item.",
                            "maxLength": 128,
                            "minLength": 1,
                            "title": "Embed ID",
                            "type": "string"
                        },
                        "url": {
                            "description": "Provider URL for this embed item. When concatenated with Embed ID, should produce a URL that returns json metadata about the embedded content.",
                            "maxLength": 512,
                            "minLength": 1,
                            "title": "Embed Provider URL",
                            "type": "string"
                        }
                    },
                    "required": [
                        "id",
                        "url"
                    ],
                    "title": "Embed",
                    "type": "object"
                },
                "subtype": {
                    "$ref": "#/definitions/traits_trait_subtype_json"
                },
                "type": {
                    "enum": [
                        "custom_embed"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "type",
                "embed"
            ],
            "title": "Custom Embed",
            "type": "object"
        },
        "story_elements_raw_html_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "An html content element",
            "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"
                },
                "content": {
                    "description": "Any arbitrary chunk of  HTML.",
                    "type": "string"
                },
                "subtype": {
                    "$ref": "#/definitions/traits_trait_subtype_json"
                },
                "type": {
                    "enum": [
                        "raw_html"
                    ]
                }
            },
            "required": [
                "type",
                "content"
            ],
            "type": "object"
        },
        "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_address_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "dependencies": {
                "extended_address": [
                    "street_address"
                ],
                "post_office_box": [
                    "street_address"
                ]
            },
            "description": "An Address following the convention of http://microformats.org/wiki/hcard",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "country_name": {
                    "type": "string"
                },
                "extended_address": {
                    "type": "string"
                },
                "locality": {
                    "type": "string"
                },
                "post_office_box": {
                    "type": "string"
                },
                "postal_code": {
                    "type": "string"
                },
                "region": {
                    "type": "string"
                },
                "street_address": {
                    "type": "string"
                }
            },
            "title": "Address",
            "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_alt_text_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The direct ANS equivalent of the HTML 'alt' attribute. A description of the contents of an image for improved accessibility.",
            "title": "Alt Text",
            "type": "string"
        },
        "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_canonical_url_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The relative URL to this document on the website specified by the `canonical_website` field. In the Arc ecosystem, this will be populated by the content api from the arc-canonical-url service if present based on the canonical_website. In conjunction with canonical_website, it can be used to determine the SEO canonical url or open graph url. In a multi-site context, this field may be different from the website_url field.",
            "title": "Canonical URL",
            "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_comments_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": {},
            "description": "Comment configuration data",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "allow_comments": {
                    "description": "If false, commenting is disabled on this content.",
                    "type": "boolean"
                },
                "comments_period": {
                    "description": "How long (in days) after publish date until comments are closed.",
                    "type": "integer"
                },
                "display_comments": {
                    "description": "If false, do not render comments on this content.",
                    "type": "boolean"
                },
                "moderation_required": {
                    "description": "If true, comments must be moderator-approved before being displayed.",
                    "type": "boolean"
                }
            },
            "title": "Comments",
            "type": "object"
        },
        "traits_trait_content_aliases_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "An list of alternate names that this content can be fetched by instead of id.",
            "items": {
                "pattern": "^([a-z])([a-z0-9-])*$",
                "type": "string"
            },
            "title": "Aliases trait",
            "type": "array"
        },
        "traits_trait_content_restrictions_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Trait that applies contains the content restrictions of an ANS object.",
            "properties": {
                "content_code": {
                    "description": "The content restriction code/level/flag associated with the ANS object",
                    "type": "string"
                },
                "embargo": {
                    "additionalProperties": false,
                    "description": "Embargo configuration to enforce publishing restrictions. Embargoed content must not go live.",
                    "properties": {
                        "active": {
                            "description": "The boolean flag to indicate if the embargo is active or not. If this field is false, ignore the embargo.",
                            "type": "boolean"
                        },
                        "description": {
                            "description": "An optional description for the embargo.",
                            "type": "string"
                        },
                        "end_time": {
                            "_format": "date-time",
                            "description": "An optional end time for the embargo to indicate when it ends. When it's not defined, it means the embargo keeps applying. The end time should be ignored if active flag is false.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "active"
                    ],
                    "type": "object"
                },
                "geo": {
                    "additionalProperties": false,
                    "description": "Geo-Restriction configuration that contains the restriction ids that this content should be associated with.",
                    "properties": {
                        "restrictions": {
                            "description": "An array containing the geo-restriction objects. Limited to a size of 1 for now.",
                            "items": {
                                "additionalProperties": false,
                                "description": "An object specifying the _id of the restriction this content should be associated with.",
                                "properties": {
                                    "restriction_id": {
                                        "description": "The _id of the restriction that is stored in Global Settings.",
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "restriction_id"
                                ],
                                "type": "object"
                            },
                            "maxItems": 1,
                            "minItems": 1,
                            "type": "array"
                        }
                    },
                    "required": [
                        "restrictions"
                    ],
                    "type": "object"
                }
            },
            "title": "Content Restrictions",
            "type": "object"
        },
        "traits_trait_contributors_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that holds information on who created and contributed to a given document in Arc.",
            "properties": {
                "created_by": {
                    "description": "The Creator of the Document.",
                    "properties": {
                        "display_name": {
                            "description": "The display name of the Arc user who created the Document",
                            "type": "string"
                        },
                        "user_id": {
                            "description": "The unique ID of the Arc user who created the Document",
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "title": "Contributors",
            "type": "object"
        },
        "traits_trait_copyright_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A copyright notice for the legal owner of this content. E.g., '\u00a9 1996-2018 The Washington Post.' Format may vary between organizations.",
            "title": "Copyright information",
            "type": "string"
        },
        "traits_trait_created_date_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "_format": "date-time",
            "description": "When the content was originally created (RFC3339-formatted). In the Arc ecosystem, this will be automatically generated for stories in the Story API.",
            "title": "Created Date",
            "type": "string"
        },
        "traits_trait_credits_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A list of people and groups attributed to this content, keyed by type of contribution. In the Arc ecosystem, references in this list will be denormalized into author objects from the arc-author-service.",
            "patternProperties": {
                "^[a-zA-Z0-9_]*": {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/utils_author_json"
                            },
                            {
                                "$ref": "#/definitions/utils_reference_json"
                            }
                        ],
                        "type": "object"
                    },
                    "type": "array"
                }
            },
            "properties": {
                "by": {
                    "description": "The primary author(s) of this document. For a story, is is the writer or reporter. For an image, it is the photographer.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/utils_author_json"
                            },
                            {
                                "$ref": "#/definitions/utils_reference_json"
                            }
                        ],
                        "type": "object"
                    },
                    "title": "By",
                    "type": "array"
                },
                "photos_by": {
                    "description": "The photographer(s) of supplementary images included in this document, if it is a story. Note that if this document is an image, the photographer(s) should appear in the 'by' slot.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/utils_author_json"
                            },
                            {
                                "$ref": "#/definitions/utils_reference_json"
                            }
                        ],
                        "type": "object"
                    },
                    "title": "Photos by",
                    "type": "array"
                }
            },
            "title": "Credit trait",
            "type": "object"
        },
        "traits_trait_description_json": {
            "$ref": "#/definitions/utils_dictionary_json",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The descriptions, or blurbs, for the content.",
            "title": "Description",
            "type": "object"
        },
        "traits_trait_display_date_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "_format": "date-time",
            "description": "The RFC3339-formatted dated time of the most recent date the story was (re)displayed on a public site.",
            "title": "Display_Date",
            "type": "string"
        },
        "traits_trait_distributor_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Information about a third party that provided this content from outside this document's hosted organization.",
            "oneOf": [
                {
                    "additionalProperties": false,
                    "properties": {
                        "additional_properties": {
                            "$ref": "#/definitions/traits_trait_additional_properties_json"
                        },
                        "category": {
                            "description": "The machine-readable category of how this content was produced. Use 'staff' if this content was produced by an employee of the organization who owns this document repository. (Multisite note: content produced within a single *organization*, but shared across multiple *websites* should still be considered 'staff.') Use \u2018wires\u2019 if this content was produced for another organization and shared with the one who owns this document repository. Use 'freelance' if this content was produced by an individual on behalf of the organization who owns this document repository. Use 'stock' if this content is stock media distributed directly from a stock media provider. Use 'handout' if this is content provided from a source for an article (usually promotional media distributed directly from a company). Use 'other' for all other cases.",
                            "enum": [
                                "staff",
                                "wires",
                                "freelance",
                                "stock",
                                "handout",
                                "other"
                            ],
                            "type": "string"
                        },
                        "mode": {
                            "enum": [
                                "custom"
                            ],
                            "type": "string"
                        },
                        "name": {
                            "description": "The human-readable name of the distributor of this content. E.g., Reuters.",
                            "type": "string"
                        },
                        "subcategory": {
                            "description": "The machine-readable subcategory of how this content was produced. E.g., 'freelance - signed'. May vary between organizations.",
                            "type": "string"
                        }
                    }
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "mode": {
                            "enum": [
                                "reference"
                            ],
                            "type": "string"
                        },
                        "reference_id": {
                            "description": "The ARC UUID of the distributor of this content. E.g., ABCDEFGHIJKLMNOPQRSTUVWXYZ.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "reference_id",
                        "mode"
                    ]
                }
            ],
            "title": "Distributor",
            "type": "object"
        },
        "traits_trait_editor_note_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Additional information to be displayed near the content from the editor.",
            "title": "Editor_Note",
            "type": "string"
        },
        "traits_trait_first_publish_date_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "_format": "date-time",
            "description": "When the story was first published.",
            "title": "First Publish Date",
            "type": "string"
        },
        "traits_trait_focal_point_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Coordinates representing the 'visual center' of an image. The X axis is horizontal line and the Y axis the vertical line, with 0,0 being the LEFT, TOP of the image.",
            "properties": {
                "x": {
                    "description": "The coordinate point on the horizontal axis",
                    "type": "number"
                },
                "y": {
                    "description": "The coordinate point on the vertical axis",
                    "type": "number"
                }
            },
            "required": [
                "x",
                "y"
            ],
            "title": "Focal Point",
            "type": "object"
        },
        "traits_trait_geo_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Latitidue and Longitude of the content",
            "properties": {
                "latitude": {
                    "type": "number"
                },
                "longitude": {
                    "type": "number"
                }
            },
            "title": "Geo",
            "type": "object"
        },
        "traits_trait_headlines_json": {
            "$ref": "#/definitions/utils_dictionary_json",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The headline(s) or title for this content.  The 'basic' key is required.",
            "title": "Headlines",
            "type": "object"
        },
        "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_image_type_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "category": {
                "description": "The machine-readable enumeration of valid image types.",
                "enum": [
                    "photograph",
                    "graphic",
                    "illustration",
                    "thumbnail"
                ],
                "type": "string"
            },
            "description": "A more specific category for an image.",
            "title": "Image Type",
            "type": "string"
        },
        "traits_trait_label_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "What the Washington Post calls a Kicker",
            "patternProperties": {
                "^[a-zA-Z0-9_]*$": {
                    "additionalProperties": false,
                    "description": "Additional user-defined keyed label objects.",
                    "properties": {
                        "additional_properties": {
                            "$ref": "#/definitions/traits_trait_additional_properties_json"
                        },
                        "display": {
                            "description": "If false, this label should be hidden.",
                            "type": "boolean"
                        },
                        "text": {
                            "description": "The text of this label.",
                            "type": "string"
                        },
                        "url": {
                            "description": "An optional destination url of this label.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "text"
                    ],
                    "type": "object"
                }
            },
            "properties": {
                "basic": {
                    "additionalProperties": false,
                    "description": "The default label object for this piece of content.",
                    "properties": {
                        "additional_properties": {
                            "$ref": "#/definitions/traits_trait_additional_properties_json"
                        },
                        "display": {
                            "description": "If false, this label should be hidden.",
                            "type": "boolean"
                        },
                        "text": {
                            "description": "The text of this label.",
                            "type": "string"
                        },
                        "url": {
                            "description": "An optional destination url of this label.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "text"
                    ],
                    "type": "object"
                }
            },
            "title": "Label",
            "type": "object"
        },
        "traits_trait_last_updated_date_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "_format": "date-time",
            "description": "When the content was last updated (RFC3339-formatted).",
            "title": "Last Updated Date",
            "type": "string"
        },
        "traits_trait_locale_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The primary language of the content. The value should follow IETF BCP47. (e.g. 'en', 'es-419', etc.) ",
            "title": "Locale",
            "type": "string"
        },
        "traits_trait_location_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A description of the location, useful if a full address or lat/long specification is overkill.",
            "title": "Location related trait",
            "type": "string"
        },
        "traits_trait_owner_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Various unrelated fields that should be preserved for backwards-compatibility reasons. See also trait_source.",
            "properties": {
                "id": {
                    "description": "The machine-readable unique identifier of the organization whose database this content is stored in. In Arc, this is equivalent to ARC_ORG_NAME.",
                    "type": "string"
                },
                "name": {
                    "description": "Deprecated in 0.10.9. See `distributor.name`. (Formerly: The human-readable name of original producer of content. Distinguishes between Wires, Staff and other sources.)",
                    "type": "string"
                },
                "sponsored": {
                    "description": "True if this content is advertorial or native advertising.",
                    "type": "boolean"
                }
            },
            "title": "Owner information ",
            "type": "object"
        },
        "traits_trait_pitches_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that represents a story's pitches. In the Arc ecosystem, this data is generated by WebSked.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "platform": {
                    "description": "A list of the story's pitches to a platform.",
                    "items": {
                        "$ref": "#/definitions/traits_trait_platform_pitch_json"
                    },
                    "type": "array"
                },
                "publication": {
                    "description": "A list of the story's pitches to a publication.",
                    "items": {
                        "$ref": "#/definitions/traits_trait_publication_pitch_json"
                    },
                    "type": "array"
                }
            },
            "title": "Pitches",
            "type": "object"
        },
        "traits_trait_planning_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that applies planning information to a document or resource. In the Arc ecosystem, this data is generated by WebSked. Newsroom use only. All these fields should be available and editable in WebSked.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "budget_line": {
                    "description": "Used for the newsroom to identify what the story is about, especially if a user is unfamiliar with the slug of a story and the headline or they do not yet exist. Newsroom use only.",
                    "title": "Budget Line",
                    "type": "string"
                },
                "deadline_miss": {
                    "description": "The delta between the story's planned publish date and actual first publish time, in minutes.",
                    "type": "integer"
                },
                "internal_note": {
                    "description": "This note is used for shared communication inside the newsroom.",
                    "title": "Internal Note",
                    "type": "string"
                },
                "scheduling": {
                    "additionalProperties": false,
                    "description": "Scheduling information.",
                    "properties": {
                        "planned_publish_date": {
                            "_format": "date-time",
                            "description": "When the content is planned to be published.",
                            "type": "string"
                        },
                        "scheduled_publish_date": {
                            "_format": "date-time",
                            "description": "When the content was first published.",
                            "type": "string"
                        },
                        "will_have_gallery": {
                            "description": "Will this content have galleries?",
                            "type": "boolean"
                        },
                        "will_have_graphic": {
                            "description": "Will this content have graphics?",
                            "type": "boolean"
                        },
                        "will_have_image": {
                            "description": "Will this content have images?",
                            "type": "boolean"
                        },
                        "will_have_video": {
                            "description": "Will this content have videos?",
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                "story_length": {
                    "additionalProperties": false,
                    "description": "Story length information.",
                    "properties": {
                        "character_count_actual": {
                            "description": "The current number of characters in the story.",
                            "type": "integer"
                        },
                        "character_count_planned": {
                            "description": "The anticipated number of characters in the story.",
                            "type": "integer"
                        },
                        "character_encoding": {
                            "description": "The encoding used for counting characters in the story.",
                            "type": "string"
                        },
                        "inch_count_actual": {
                            "description": "The current length of the story in inches.",
                            "type": "integer"
                        },
                        "inch_count_planned": {
                            "description": "The anticipated length of the story in inches.",
                            "type": "integer"
                        },
                        "line_count_actual": {
                            "description": "The current length of the story in lines.",
                            "type": "integer"
                        },
                        "line_count_planned": {
                            "description": "The anticipated length of the story in lines.",
                            "type": "integer"
                        },
                        "word_count_actual": {
                            "description": "Current number of words.",
                            "type": "integer"
                        },
                        "word_count_planned": {
                            "description": "The anticipated number of words in the story.",
                            "type": "integer"
                        }
                    },
                    "type": "object"
                },
                "websked_sort_date": {
                    "_format": "date-time",
                    "description": "Date to be used for chronological sorting in WebSked.",
                    "type": "string"
                }
            },
            "title": "Scheduling information",
            "type": "object"
        },
        "traits_trait_platform_pitch_event_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that represents an update event for a pitch to a platform. In the Arc ecosystem, this data is generated by WebSked.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "note": {
                    "description": "Optional note associated with this update.",
                    "type": "string"
                },
                "status": {
                    "description": "The current status of the pitch.",
                    "pattern": "^([a-z]|[ ])*$",
                    "type": "string"
                },
                "time": {
                    "_format": "date-time",
                    "description": "The time of this update.",
                    "type": "string"
                },
                "user_id": {
                    "description": "The ID of the user who made this update.",
                    "type": "string"
                }
            },
            "title": "Platform pitch event",
            "type": "object"
        },
        "traits_trait_platform_pitch_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that represents a pitch to a platform. In the Arc ecosystem, this data is generated by WebSked.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "creation_event": {
                    "$ref": "#/definitions/traits_trait_platform_pitch_event_json"
                },
                "latest_event": {
                    "$ref": "#/definitions/traits_trait_platform_pitch_event_json"
                },
                "platform_path": {
                    "description": "The path of the platform that this pitch targets.",
                    "type": "string"
                }
            },
            "title": "Platform pitch",
            "type": "object"
        },
        "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_promo_items_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Lists of promotional content to use when highlighting the story. In the Arc ecosystem, references in these lists will be denormalized.",
            "patternProperties": {
                ".*": {
                    "oneOf": [
                        {
                            "$ref": "#/definitions/content_json"
                        },
                        {
                            "$ref": "#/definitions/utils_reference_json"
                        },
                        {
                            "$ref": "#/definitions/story_elements_raw_html_json"
                        },
                        {
                            "$ref": "#/definitions/story_elements_custom_embed_json"
                        }
                    ]
                }
            },
            "properties": {
                "basic": {
                    "oneOf": [
                        {
                            "$ref": "#/definitions/content_json"
                        },
                        {
                            "$ref": "#/definitions/utils_reference_json"
                        },
                        {
                            "$ref": "#/definitions/story_elements_raw_html_json"
                        },
                        {
                            "$ref": "#/definitions/story_elements_custom_embed_json"
                        }
                    ]
                }
            },
            "title": "Promo Items",
            "type": "object"
        },
        "traits_trait_publication_pitch_event_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that represents an update event for a pitch to a publication. In the Arc ecosystem, this data is generated by WebSked.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "edition_id": {
                    "description": "The ID of the publication edition that this pitch targets.",
                    "type": "string"
                },
                "edition_time": {
                    "_format": "date-time",
                    "description": "The time of the publication edition that this pitch targets.",
                    "type": "string"
                },
                "note": {
                    "description": "Optional note associated with this update.",
                    "type": "string"
                },
                "status": {
                    "description": "The current status of the pitch.",
                    "pattern": "^([a-z]|[ ])*$",
                    "type": "string"
                },
                "time": {
                    "_format": "date-time",
                    "description": "The time of this update.",
                    "type": "string"
                },
                "user_id": {
                    "description": "The ID of the user who made this update.",
                    "type": "string"
                }
            },
            "title": "Publication pitch event",
            "type": "object"
        },
        "traits_trait_publication_pitch_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that represents a pitch to a publication. In the Arc ecosystem, this data is generated by WebSked.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "creation_event": {
                    "$ref": "#/definitions/traits_trait_publication_pitch_event_json"
                },
                "latest_event": {
                    "$ref": "#/definitions/traits_trait_publication_pitch_event_json"
                },
                "publication_id": {
                    "description": "The ID of the publication that this pitch targets.",
                    "type": "string"
                }
            },
            "title": "Publication pitch",
            "type": "object"
        },
        "traits_trait_publish_date_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "_format": "date-time",
            "description": "When the story was published.",
            "title": "Publish_Date",
            "type": "string"
        },
        "traits_trait_related_content_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Lists of content items or references this story is related to, arbitrarily keyed. In the Arc ecosystem, references in this object will be denormalized into the fully-inflated content objects they represent.",
            "patternProperties": {
                ".*": {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/content_json"
                            },
                            {
                                "$ref": "#/definitions/utils_reference_json"
                            },
                            {
                                "$ref": "#/definitions/story_elements_custom_embed_json"
                            }
                        ],
                        "type": "object"
                    },
                    "type": "array"
                }
            },
            "properties": {
                "redirect": {
                    "description": "An attached redirect. In Arc, when this content item is fetched by url, content api will instead return this redirect object with appropriate headers.  In all other cases, this content should be treated normally.",
                    "items": {
                        "$ref": "#/definitions/redirect_json"
                    },
                    "maxItems": 1,
                    "type": "array"
                }
            },
            "title": "Related_Content",
            "type": "object"
        },
        "traits_trait_revision_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that applies revision information to a document. In the Arc ecosystem, many of these fields are populated in stories by the Story API.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "branch": {
                    "description": "The name of the branch this revision was created on.",
                    "type": "string"
                },
                "editions": {
                    "description": "A list of identifiers of editions that point to this revision.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "parent_id": {
                    "description": "The unique id of the revision that this revisions was branched from, or preceded it on the current branch.",
                    "type": "string"
                },
                "published": {
                    "description": "Whether or not this revision's parent story is published, in any form or place",
                    "type": "boolean"
                },
                "revision_id": {
                    "description": "The unique id of this revision.",
                    "type": "string"
                },
                "user_id": {
                    "description": "The unique user id of the person who created this revision.",
                    "type": "string"
                }
            },
            "title": "Revision",
            "type": "object"
        },
        "traits_trait_short_url_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A url-shortened version of the canonical url.",
            "title": "Short_Url",
            "type": "string"
        },
        "traits_trait_slug_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A short reference name for internal editorial use",
            "title": "Slug",
            "type": "string"
        },
        "traits_trait_social_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Links to various social media",
            "items": {
                "additionalProperties": {},
                "properties": {
                    "site": {
                        "type": "string"
                    },
                    "url": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "title": "Social Links",
            "type": "array"
        },
        "traits_trait_source_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Information about the original source and/or owner of this content",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "edit_url": {
                    "description": "A link to edit this content in its source CMS.",
                    "type": "string"
                },
                "name": {
                    "description": "Deprecated in  0.10.9. See `distributor.name`. (Formerly: The human-readable name of the organization who first produced this content. E.g., 'Reuters'.)",
                    "type": "string"
                },
                "source_id": {
                    "description": "The id of this content in a foreign CMS.",
                    "type": "string"
                },
                "source_type": {
                    "description": "Deprecated in 0.10.9. See `distributor.category` and `distributor.subcategory`. (Formerly: The method used to enter this content. E.g. 'staff', 'wires'.)",
                    "type": "string"
                },
                "system": {
                    "description": "The software (CMS or editor) that was used to enter this content. E.g., 'wordpress', 'ellipsis'.",
                    "type": "string"
                }
            },
            "title": "Source",
            "type": "object"
        },
        "traits_trait_status_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Optional field to story story workflow related status (e.g. published/embargoed/etc)",
            "title": "Status",
            "type": "string"
        },
        "traits_trait_subheadlines_json": {
            "$ref": "#/definitions/utils_dictionary_json",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "The sub-headline(s) for the content.",
            "title": "Sub-Headlines",
            "type": "object"
        },
        "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"
        },
        "traits_trait_syndication_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Key-boolean pair of syndication services where this article may go",
            "patternProperties": {
                ".*": {
                    "type": "boolean"
                }
            },
            "properties": {
                "external_distribution": {
                    "description": "Necessary for fulfilling contractual agreements with third party clients",
                    "type": "boolean"
                },
                "search": {
                    "description": "Necessary so that we can filter out all articles that editorial has deemed should not be discoverable via search",
                    "type": "boolean"
                }
            },
            "title": "Syndication",
            "type": "object"
        },
        "traits_trait_taxonomy_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Holds the collection of tags, categories, keywords, etc that describe content.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_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"
        },
        "traits_trait_tracking_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": {},
            "description": "Tracking information, probably implementation-dependent",
            "title": "Tracking",
            "type": "object"
        },
        "traits_trait_vanity_credits_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "Similar to the credits trait, but to be used only when ANS is being directly rendered to readers natively. For legal and technical reasons, the `credits` trait is preferred when converting ANS into feeds or other distribution formats. However, when present, `vanity_credits` allows more sophisticated credits presentation to override the default without losing that original data.",
            "patternProperties": {
                "^[a-zA-Z0-9_]*": {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/utils_author_json"
                            },
                            {
                                "$ref": "#/definitions/utils_reference_json"
                            }
                        ],
                        "type": "object"
                    },
                    "type": "array"
                }
            },
            "properties": {
                "by": {
                    "description": "The primary author(s) of this document. For a story, is is the writer or reporter. For an image, it is the photographer.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/utils_author_json"
                            },
                            {
                                "$ref": "#/definitions/utils_reference_json"
                            }
                        ],
                        "type": "object"
                    },
                    "title": "By",
                    "type": "array"
                },
                "photos_by": {
                    "description": "The photographer(s) of supplementary images included in this document, if it is a story. Note that if this document is an image, the photographer(s) should appear in the 'by' slot.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/utils_author_json"
                            },
                            {
                                "$ref": "#/definitions/utils_reference_json"
                            }
                        ],
                        "type": "object"
                    },
                    "title": "Photos by",
                    "type": "array"
                }
            },
            "title": "Vanity Credits trait",
            "type": "object"
        },
        "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"
        },
        "traits_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"
        },
        "traits_trait_workflow_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Trait that applies workflow information to a document or resource. In the Arc ecosystem, this data is generated by WebSked.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "note": {
                    "description": "This note will be used for any task automatically generated via WebSked task triggers.",
                    "type": "string"
                },
                "status_code": {
                    "description": "Code indicating the story's current workflow status. This number should match the values configured in WebSked.",
                    "minimum": 1,
                    "type": "integer"
                }
            },
            "title": "Workflow information",
            "type": "object"
        },
        "utils_author_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": false,
            "description": "Models attribution to an individual or group for contribution towards some content item. In the Arc ecosystem, these are stored in the arc-author-service.",
            "properties": {
                "_id": {
                    "$ref": "#/definitions/traits_trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "affiliation": {
                    "description": "The name of an organization the author is affiliated with. E.g., The Washington Post, or George Mason University.",
                    "title": "Affiliation",
                    "type": "string"
                },
                "awards": {
                    "description": "A list of awards the author has received.",
                    "items": {
                        "additionalProperties": false,
                        "properties": {
                            "award_name": {
                                "description": "The name of the award.",
                                "title": "Award Name",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "title": "Awards",
                    "type": "array"
                },
                "bio": {
                    "description": "A one or two sentence description of the author.",
                    "title": "Short Biography",
                    "type": "string"
                },
                "books": {
                    "description": "A list of books written by the author.",
                    "items": {
                        "additionalProperties": false,
                        "properties": {
                            "book_title": {
                                "description": "The book title.",
                                "title": "Title",
                                "type": "string"
                            },
                            "book_url": {
                                "description": "A link to a page to purchase or learn more about the book.",
                                "title": "URL",
                                "type": "string"
                            }
                        },
                        "title": "Book",
                        "type": "object"
                    },
                    "title": "Books",
                    "type": "array"
                },
                "byline": {
                    "description": "The public-facing name, or nom-de-plume, name of the author.",
                    "title": "Byline",
                    "type": "string"
                },
                "contributor": {
                    "description": "If true, this author is an external contributor to the publication.",
                    "title": "Contributor",
                    "type": "boolean"
                },
                "division": {
                    "description": "The desk or group that this author normally reports to. E.g., 'Politics' or 'Sports.'",
                    "title": "Division",
                    "type": "string"
                },
                "education": {
                    "description": "A list of schools that this author has graduated from.",
                    "items": {
                        "additionalProperties": false,
                        "properties": {
                            "school_name": {
                                "description": "The name of the school.",
                                "title": "School Name",
                                "type": "string"
                            }
                        },
                        "title": "School",
                        "type": "object"
                    },
                    "title": "Education",
                    "type": "array"
                },
                "email": {
                    "_format": "email",
                    "description": "The professional email address of this author.",
                    "title": "E-mail",
                    "type": "string"
                },
                "expertise": {
                    "description": "A comma-delimited list of subjects the author in which the author has expertise.",
                    "title": "Expertise",
                    "type": "string"
                },
                "first_name": {
                    "description": "The real first name of a human author.",
                    "title": "First Name",
                    "type": "string"
                },
                "image": {
                    "$ref": "#/definitions/image_json"
                },
                "languages": {
                    "description": "A description of list of languages that the author is somewhat fluent in, excluding the native language of the parent publication, and identified in the language of the parent publication. E.g., Russian, Japanese, Greek.",
                    "title": "Languages",
                    "type": "string"
                },
                "last_name": {
                    "description": "The real last name of a human author.",
                    "title": "Last Name",
                    "type": "string"
                },
                "location": {
                    "description": "The city or locality that the author resides in or is primarily associated with.",
                    "title": "Location",
                    "type": "string"
                },
                "long_bio": {
                    "description": "The full biography of the author.",
                    "title": "Long Biography",
                    "type": "string"
                },
                "middle_name": {
                    "description": "The real middle name of a human author.",
                    "title": "Middle Name",
                    "type": "string"
                },
                "name": {
                    "description": "The full human name of contributor. See also byline, first_name, last_name, middle_name, suffix.",
                    "title": "Name",
                    "type": "string"
                },
                "org": {
                    "description": "Deprecated. In ANS 0.5.8 and prior versions, this field is populated with the 'location' field from Arc Author Service. New implementations should use the 'location' and 'affiliation' field. Content should be identical to 'location.'",
                    "title": "Org",
                    "type": "string"
                },
                "role": {
                    "description": "The organizational role or title of this author.",
                    "title": "Role",
                    "type": "string"
                },
                "slug": {
                    "$ref": "#/definitions/traits_trait_slug_json"
                },
                "socialLinks": {
                    "$ref": "#/definitions/traits_trait_social_json",
                    "description": "Deperecated. Included for backwards-compatibility. Content should be identical to social_links."
                },
                "social_links": {
                    "$ref": "#/definitions/traits_trait_social_json"
                },
                "suffix": {
                    "description": "The real suffix of a human author.",
                    "title": "Suffix",
                    "type": "string"
                },
                "type": {
                    "description": "Indicates that this is an author",
                    "enum": [
                        "author"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "A link to an author's landing page on the website, or a personal website.",
                    "type": "string"
                },
                "version": {
                    "$ref": "#/definitions/traits_trait_version_json"
                }
            },
            "required": [
                "type",
                "name"
            ],
            "title": "An author of a piece of content.",
            "type": "object"
        },
        "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_dictionary_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "patternProperties": {
                ".*": {
                    "type": "string"
                }
            },
            "properties": {
                "basic": {
                    "type": "string"
                }
            },
            "required": [
                "basic"
            ]
        },
        "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/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"
        },
        "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/traits_trait_id_json"
                },
                "_website": {
                    "$ref": "#/definitions/traits_trait_website_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": {
                    "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/traits_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/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"
        },
        "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/traits_trait_id_json"
                },
                "additional_properties": {
                    "$ref": "#/definitions/traits_trait_additional_properties_json"
                },
                "description": {
                    "description": "A more detailed description of the tag.",
                    "type": "string"
                },
                "slug": {
                    "$ref": "#/definitions/traits_trait_slug_json"
                },
                "subtype": {
                    "$ref": "#/definitions/traits_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"
        }
    },
    "description": "An operation on a denormalized story",
    "type": "object"
}