{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/1password/json-schema/1password-workflow-page-schema.json",
  "title": "WorkflowPage",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/1password-workflows-api-openapi.yml#/components/schemas/WorkflowPage",
  "type": "object",
  "properties": {
    "next": {
      "type": "string",
      "description": "The URL of the next page of results. Absent when there are no more results."
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Workflow"
      },
      "description": "The page of results."
    }
  },
  "additionalProperties": false,
  "$defs": {
    "UserInfoFlow": {
      "type": "object",
      "properties": {
        "userId": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Workflow": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The workflow's unique ID."
        },
        "name": {
          "type": "string",
          "description": "The workflow's name."
        },
        "description": {
          "type": "string",
          "description": "The workflow's description."
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the workflow is enabled and can run."
        },
        "createdBy": {
          "allOf": [
            {
              "$ref": "#/$defs/UserInfoFlow"
            }
          ],
          "description": "The user who created the workflow."
        },
        "createdDtm": {
          "type": "string",
          "description": "When the workflow was created (UTC).",
          "format": "date-time"
        },
        "deleted": {
          "type": "boolean",
          "description": "Whether the workflow has been deleted. Deleted workflows are excluded unless the filter references this field."
        },
        "lastModifiedBy": {
          "allOf": [
            {
              "$ref": "#/$defs/UserInfoFlow"
            }
          ],
          "description": "The user who last modified the workflow."
        },
        "lastModifiedDtm": {
          "type": "string",
          "description": "When the workflow was last modified (UTC).",
          "format": "date-time"
        },
        "trigger": {
          "allOf": [
            {
              "$ref": "#/$defs/WorkflowStep"
            }
          ],
          "description": "The trigger that starts the workflow."
        },
        "steps": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/WorkflowStep"
          },
          "description": "The steps that make up the workflow."
        }
      },
      "additionalProperties": false
    },
    "WorkflowStep": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The step's unique ID."
        },
        "name": {
          "type": "string",
          "description": "The step's name."
        },
        "description": {
          "type": "string",
          "description": "The step's description."
        },
        "type": {
          "type": "string",
          "description": "The step type, e.g. \"PersonFilter\", \"SendEmail\", \"Wait\"."
        },
        "startDate": {
          "type": "string",
          "description": "For a schedule trigger: the date the schedule starts from.",
          "format": "date-time"
        },
        "hour": {
          "type": "integer",
          "description": "For a schedule trigger: the hour of the day (0-23) the trigger runs at.",
          "format": "int32"
        },
        "period": {
          "type": "string",
          "description": "For a schedule trigger: the recurrence period, e.g. \"Day\", \"Week\", \"Month\"."
        },
        "everyNPeriods": {
          "type": "integer",
          "description": "For a schedule trigger: how many periods between runs (e.g. 2 = every 2 weeks).",
          "format": "int32"
        },
        "dayOfWeek": {
          "type": "string",
          "description": "For a weekly schedule trigger: the day of the week, e.g. \"Mon\"."
        }
      },
      "additionalProperties": false
    }
  }
}