{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "anyOf": [
    {
      "$ref": "https://json.schemastore.org/schema-org-thing.json"
    }
  ],
  "description": "This is a JSON schema representation of the schema.org Action schema: https://schema.org/Action",
  "id": "https://json.schemastore.org/schema-org-action.json",
  "properties": {
    "@context": {
      "type": "string",
      "format": "regex",
      "pattern": "http://schema.org",
      "description": "override the @context property to ensure the schema.org URI is used"
    },
    "@type": {
      "type": "string",
      "format": "regex",
      "pattern": "Action",
      "description": "override the @type property to ensure Action is used"
    },
    "actionStatus": {
      "type": "object",
      "description": "Indicates the current disposition of the Action."
    },
    "agent": {
      "description": "The direct performer or driver of the action (animate or inanimate). e.g. John wrote a book.",
      "anyOf": [
        {
          "$ref": "https://json.schemastore.org/schema-org-thing.json",
          "description": "Organization"
        },
        {
          "$ref": "https://json.schemastore.org/schema-org-thing.json",
          "description": "Person"
        }
      ]
    },
    "endTime": {
      "type": "string",
      "format": "date-time",
      "description": "The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to December."
    },
    "error": {
      "$ref": "https://json.schemastore.org/schema-org-thing.json",
      "description": "For failed actions, more information on the cause of the failure."
    },
    "instrument": {
      "$ref": "https://json.schemastore.org/schema-org-thing.json",
      "description": "The object that helped the agent perform the action. e.g. John wrote a book with a pen."
    },
    "location": {
      "description": "The location of for example where the event is happening, an organization is located, or where an action takes place.",
      "anyOf": [
        {
          "$ref": "https://json.schemastore.org/schema-org-thing.json",
          "description": "Place"
        },
        {
          "$ref": "https://json.schemastore.org/schema-org-thing.json",
          "description": "PostalAddress"
        },
        {
          "type": "string"
        }
      ]
    },
    "object": {
      "$ref": "https://json.schemastore.org/schema-org-thing.json",
      "description": "The object upon the action is carried out, whose state is kept intact or changed. Also known as the semantic roles patient, affected or undergoer (which change their state) or theme (which doesn't). e.g. John read a book."
    },
    "participant": {
      "description": "Other co-agents that participated in the action indirectly. e.g. John wrote a book with Steve.",
      "anyOf": [
        {
          "$ref": "https://json.schemastore.org/schema-org-thing.json",
          "description": "Organization"
        },
        {
          "$ref": "https://json.schemastore.org/schema-org-thing.json",
          "description": "Person"
        },
        {
          "type": "array",
          "anyOf": [
            {
              "$ref": "https://json.schemastore.org/schema-org-thing.json",
              "description": "Organization"
            },
            {
              "$ref": "https://json.schemastore.org/schema-org-thing.json",
              "description": "Person"
            }
          ]
        }
      ]
    },
    "result": {
      "$ref": "https://json.schemastore.org/schema-org-thing.json",
      "description": "The result produced in the action. e.g. John wrote a book."
    },
    "startTime": {
      "type": "string",
      "format": "date-time",
      "description": "The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to December."
    },
    "target": {
      "type": "object",
      "description": "Indicates a target EntryPoint for an Action."
    }
  },
  "required": ["@type"],
  "title": "JSON schema for schema.org / Action",
  "type": "object"
}
