{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.github.io/hatchet/json-schema/hatchet-v1-event-schema.json",
  "title": "V1Event",
  "description": "Hatchet V1Event entity, derived from the Hatchet OpenAPI spec.",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "the id of this resource, in UUID format",
          "example": "bb214807-246e-43a5-a25d-41761d1cff9e",
          "minLength": 0,
          "maxLength": 36
        },
        "createdAt": {
          "type": "string",
          "description": "the time that this resource was created",
          "format": "date-time",
          "example": "2022-12-13T15:06:48.888358-05:00"
        },
        "updatedAt": {
          "type": "string",
          "description": "the time that this resource was last updated",
          "format": "date-time",
          "example": "2022-12-13T15:06:48.888358-05:00"
        }
      },
      "required": [
        "id",
        "createdAt",
        "updatedAt"
      ]
    },
    "key": {
      "type": "string",
      "description": "The key for the event."
    },
    "tenant": {
      "$ref": "#/components/schemas/Tenant",
      "description": "The tenant associated with this event."
    },
    "tenantId": {
      "type": "string",
      "description": "The ID of the tenant associated with this event."
    },
    "workflowRunSummary": {
      "$ref": "#/components/schemas/V1EventWorkflowRunSummary",
      "description": "The workflow run summary for this event."
    },
    "additionalMetadata": {
      "type": "object",
      "description": "Additional metadata for the event."
    },
    "payload": {
      "type": "object",
      "description": "The payload of the event, which can be any JSON-serializable object."
    },
    "scope": {
      "type": "string",
      "description": "The scope of the event, which can be used to filter or categorize events."
    },
    "seenAt": {
      "type": "string",
      "format": "date-time",
      "description": "The timestamp when the event was seen."
    },
    "triggeredRuns": {
      "description": "The external IDs of the runs that were triggered by this event.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "workflowRunId": {
            "type": "string",
            "format": "uuid",
            "description": "The external ID of the triggered run.",
            "minLength": 36,
            "maxLength": 36
          },
          "filterId": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the filter that triggered the run, if applicable."
          }
        },
        "required": [
          "workflowRunId"
        ]
      }
    },
    "triggeringWebhookName": {
      "type": "string",
      "description": "The name of the webhook that triggered this event, if applicable."
    }
  },
  "required": [
    "metadata",
    "key",
    "tenantId",
    "workflowRunSummary"
  ]
}