{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/api-evangelist/alteryx/json-schema/alteryx-workflow-schema.json", "title": "Alteryx Workflow", "description": "Schema for an Alteryx Server workflow resource as returned by the Alteryx Server API V3. Represents workflows uploaded to and managed on Alteryx Server, including version history, execution settings, and access permissions.", "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the workflow assigned by Alteryx Server." }, "sourceAppId": { "type": "string", "description": "Source application identifier used for migration tracking between Server environments." }, "name": { "type": "string", "description": "Display name of the workflow." }, "ownerId": { "type": "string", "description": "Unique identifier of the user who owns the workflow." }, "dateCreated": { "type": "string", "format": "date-time", "description": "ISO 8601 date and time when the workflow was first created on the server." }, "publishedVersionNumber": { "type": "integer", "minimum": 1, "description": "Version number of the currently published version of the workflow." }, "publishedVersionId": { "type": "string", "description": "Unique identifier of the currently published workflow version." }, "isAmp": { "type": "boolean", "description": "Indicates whether the workflow uses the AMP (Alteryx Multi-threaded Processing) engine." }, "executionMode": { "type": "string", "enum": ["Safe", "SemiSafe", "Standard"], "description": "Execution mode controlling which tools and operations are permitted. Safe mode restricts potentially dangerous operations, SemiSafe allows some, and Standard allows all." }, "runCount": { "type": "integer", "minimum": 0, "description": "Total number of times the workflow has been executed." }, "workerTag": { "type": "string", "description": "Worker tag used to route execution to specific worker nodes." }, "districtTags": { "type": "array", "items": { "type": "string" }, "description": "District tags assigned to the workflow for organizational grouping." }, "comments": { "type": "string", "description": "User-provided comments or notes about the workflow." }, "isPublic": { "type": "boolean", "description": "Whether the workflow is publicly accessible to all Server users." }, "isReadyForMigration": { "type": "boolean", "description": "Whether the workflow is flagged as ready for migration to another Server environment." }, "othersMayDownload": { "type": "boolean", "description": "Whether users other than the owner may download the workflow package." }, "othersCanViewHistory": { "type": "boolean", "description": "Whether users other than the owner can view execution history." }, "othersCanExecute": { "type": "boolean", "description": "Whether users other than the owner can execute the workflow." }, "hasPrivateDataExemption": { "type": "boolean", "description": "Whether the workflow has an exemption from private data restrictions." }, "workflowCredentialType": { "type": "string", "enum": ["Default", "Required", "Specific"], "description": "Specifies how credentials are handled for workflow execution. Default uses the system default, Required prompts the user, and Specific uses a designated credential." }, "credentialId": { "type": "string", "description": "Identifier of the specific credential to use when workflowCredentialType is set to Specific." }, "versions": { "type": "array", "description": "List of all versions of this workflow.", "items": { "$ref": "#/$defs/WorkflowVersion" } } }, "required": ["id", "name", "ownerId"], "$defs": { "WorkflowVersion": { "type": "object", "title": "Workflow Version", "description": "A specific version of an Alteryx workflow, representing a point-in-time snapshot of the workflow package.", "properties": { "versionId": { "type": "string", "description": "Unique identifier for this version." }, "versionNumber": { "type": "integer", "minimum": 1, "description": "Sequential version number." }, "dateCreated": { "type": "string", "format": "date-time", "description": "ISO 8601 date and time when the version was created." }, "uploadSource": { "type": "string", "description": "Source from which the version was uploaded (e.g., Designer, API)." }, "uploadDate": { "type": "string", "format": "date-time", "description": "ISO 8601 date and time when the version was uploaded." }, "packageWorkflowType": { "type": "string", "description": "Type of workflow contained in the package (e.g., Standard, Analytic App, Macro)." }, "published": { "type": "boolean", "description": "Whether this version is the currently published version." }, "comments": { "type": "string", "description": "Comments associated with this version." }, "runDisabled": { "type": "boolean", "description": "Whether execution is disabled for this version." }, "executionMode": { "type": "string", "enum": ["Safe", "SemiSafe", "Standard"], "description": "Execution mode for this version." }, "workflowCredentialType": { "type": "string", "enum": ["Default", "Required", "Specific"], "description": "Credential handling mode for this version." }, "credentialId": { "type": "string", "description": "Credential ID if workflowCredentialType is Specific." }, "hasPrivateDataExemption": { "type": "boolean", "description": "Whether this version has a private data exemption." }, "othersMayDownload": { "type": "boolean", "description": "Whether other users may download this version." }, "othersCanViewHistory": { "type": "boolean", "description": "Whether other users can view execution history for this version." }, "details": { "$ref": "#/$defs/WorkflowVersionDetails" } }, "required": ["versionId", "versionNumber"] }, "WorkflowVersionDetails": { "type": "object", "title": "Workflow Version Details", "description": "Metadata details extracted from the workflow package file.", "properties": { "isAmp": { "type": "boolean", "description": "Whether the workflow uses the AMP engine." }, "fileName": { "type": "string", "description": "Name of the workflow file within the package." }, "author": { "type": "string", "description": "Author of the workflow as specified in Designer metadata." }, "copyright": { "type": "string", "description": "Copyright information from the workflow metadata." }, "description": { "type": "string", "description": "Description of the workflow from the workflow metadata." }, "name": { "type": "string", "description": "Internal display name from the workflow metadata." }, "noOutputFilesMessage": { "type": "string", "description": "Message displayed when no output files are generated." }, "outputMessage": { "type": "string", "description": "Message displayed with output files after execution." }, "url": { "type": "string", "format": "uri", "description": "URL associated with the workflow from metadata." }, "urlText": { "type": "string", "description": "Display text for the associated URL." } } }, "WorkflowQuestion": { "type": "object", "title": "Workflow Question", "description": "An analytic app question representing an input parameter that users can provide values for before execution.", "properties": { "name": { "type": "string", "description": "Name of the question parameter." }, "questionType": { "type": "string", "description": "Type of the input control (e.g., TextBox, DropDown, FileBrowse)." }, "description": { "type": "string", "description": "User-facing description of the question." }, "value": { "type": "string", "description": "Default value for the question." }, "multiple": { "type": "boolean", "description": "Whether multiple selections are allowed." }, "items": { "type": "array", "description": "Available options for selection-type questions.", "items": { "type": "object", "properties": { "key": { "type": "string", "description": "Internal key for the option." }, "value": { "type": "string", "description": "Display value for the option." } }, "required": ["key", "value"] } } }, "required": ["name"] }, "Schedule": { "type": "object", "title": "Workflow Schedule", "description": "A schedule defining when and how frequently a workflow should be automatically executed.", "properties": { "id": { "type": "string", "description": "Unique identifier for the schedule." }, "name": { "type": "string", "description": "Display name of the schedule." }, "workflowId": { "type": "string", "description": "ID of the workflow associated with this schedule." }, "versionId": { "type": "string", "description": "Specific workflow version to execute." }, "ownerId": { "type": "string", "description": "ID of the user who owns the schedule." }, "runDateTime": { "type": "string", "format": "date-time", "description": "Next scheduled execution date and time." }, "comment": { "type": "string", "description": "Comments about the schedule." }, "enabled": { "type": "boolean", "description": "Whether the schedule is active and will execute." }, "priority": { "type": "string", "enum": ["Low", "Medium", "High", "Critical"], "description": "Execution priority for queued jobs." }, "workerTag": { "type": "string", "description": "Worker tag for routing execution to specific nodes." }, "status": { "type": "string", "description": "Current status of the schedule." }, "credentialId": { "type": "string", "description": "Credential used for execution." }, "creationTime": { "type": "string", "format": "date-time", "description": "When the schedule was created." }, "lastRunTime": { "type": "string", "format": "date-time", "description": "When the schedule was last executed." }, "state": { "type": "string", "description": "Current state of the schedule." }, "runCount": { "type": "integer", "minimum": 0, "description": "Total number of times the schedule has executed." }, "frequency": { "type": "string", "description": "Human-readable frequency description." }, "lastError": { "type": "string", "description": "Last error message if any." }, "cpuName": { "type": "string", "description": "Name of the worker node that last ran the schedule." }, "timeZone": { "type": "string", "description": "Time zone for the schedule. All response timestamps are returned in UTC-0." }, "iteration": { "$ref": "#/$defs/ScheduleIteration" }, "questions": { "type": "array", "description": "Analytic app question values for execution.", "items": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } } } }, "required": ["id", "workflowId"] }, "ScheduleIteration": { "type": "object", "title": "Schedule Iteration", "description": "Configuration defining when and how often a schedule runs.", "properties": { "iterationType": { "type": "string", "enum": ["Once", "Hourly", "Daily", "Weekly", "Monthly", "Custom", "Cron"], "description": "The frequency pattern for the schedule." }, "startTime": { "type": "string", "format": "date-time", "description": "Start date and time in ISO 8601 format." }, "endTime": { "type": "string", "format": "date-time", "description": "End date and time in ISO 8601 format." }, "hourlyContract": { "type": "object", "properties": { "hours": { "type": "integer", "minimum": 0 }, "minutes": { "type": "integer", "minimum": 0, "maximum": 59 } } }, "dailyContract": { "type": "object", "properties": { "runOnlyWorkWeek": { "type": "boolean" } } }, "weeklyContract": { "type": "object", "properties": { "daysOfWeek": { "type": "array", "items": { "type": "string" } } } }, "monthlyContract": { "type": "object", "properties": { "simpleDayOfMonth": { "type": "boolean" }, "dayOfMonth": { "type": "string" }, "occurrence": { "type": "string" }, "dayOfWeek": { "type": "integer", "minimum": 0, "maximum": 6 } } }, "customContract": { "type": "object", "properties": { "daysOfMonth": { "type": "array", "items": { "type": "integer", "minimum": 1, "maximum": 31 } }, "months": { "type": "array", "items": { "type": "integer", "minimum": 1, "maximum": 12 } } } }, "cronContract": { "type": "object", "properties": { "cronExpression": { "type": "string", "description": "Cron expression with 5 mandatory fields: minute, hour, day-of-month, month, day-of-week." } } } }, "required": ["iterationType", "startTime"] }, "User": { "type": "object", "title": "Alteryx Server User", "description": "A user account on Alteryx Server with associated permissions and settings.", "properties": { "id": { "type": "string", "description": "Unique user identifier." }, "firstName": { "type": "string", "description": "User's first name." }, "lastName": { "type": "string", "description": "User's last name." }, "email": { "type": "string", "format": "email", "description": "User's email address." }, "role": { "type": "string", "enum": ["NoAccess", "Viewer", "Member", "Artisan", "Curator", "Evaluated"], "description": "User role determining access level. NoAccess blocks login, Viewer can view only, Member can execute workflows, Artisan can publish, and Curator has full admin access." }, "dateCreated": { "type": "string", "format": "date-time", "description": "Date the user account was created." }, "defaultWorkerTag": { "type": "string", "description": "Default worker tag for routing this user's jobs." }, "canScheduleJobs": { "type": "boolean", "description": "Whether the user can create and manage schedules." }, "canPrioritizeJobs": { "type": "boolean", "description": "Whether the user can set job execution priority." }, "canAssignJobs": { "type": "boolean", "description": "Whether the user can assign jobs to specific workers." }, "canCreateCollections": { "type": "boolean", "description": "Whether the user can create collections." }, "isApiEnabled": { "type": "boolean", "description": "Whether API access is enabled for this user." }, "defaultCredentialId": { "type": "string", "description": "Default credential ID for the user." }, "isAccountLocked": { "type": "boolean", "description": "Whether the account is locked due to failed login attempts." }, "isActive": { "type": "boolean", "description": "Whether the user account is active." }, "isValidated": { "type": "boolean", "description": "Whether the user's email has been validated." }, "timeZone": { "type": "string", "description": "User's preferred time zone." }, "language": { "type": "string", "enum": ["de-de", "en-us", "es-es", "fr-fr", "it-it", "ja-jp", "pt-br", "zh-cn"], "description": "User's preferred interface language." }, "canCreateAndUpdateDcm": { "type": "boolean", "description": "Whether the user can create and update DCM connections." }, "canShareForExecutionDcm": { "type": "boolean", "description": "Whether the user can share DCM connections for execution." }, "canShareForCollaborationDcm": { "type": "boolean", "description": "Whether the user can share DCM connections for collaboration." }, "canManageGenericVaultsDcm": { "type": "boolean", "description": "Whether the user can manage generic DCM vaults." } }, "required": ["id", "firstName", "lastName", "email"] }, "Job": { "type": "object", "title": "Execution Job", "description": "A workflow execution job representing a single run of a workflow.", "properties": { "id": { "type": "string", "description": "Unique job identifier." }, "appId": { "type": "string", "description": "Workflow application ID." }, "createDateTime": { "type": "string", "format": "date-time", "description": "Date and time the job was created." }, "status": { "type": "string", "enum": ["Queued", "Running", "Complete", "Error"], "description": "Current execution status." }, "disposition": { "type": "string", "description": "Final disposition of the job." }, "priority": { "type": "string", "enum": ["Low", "Medium", "High", "Critical"], "description": "Execution priority." }, "workerTag": { "type": "string", "description": "Worker tag for execution routing." }, "runWithE2": { "type": "boolean", "description": "Whether the job uses the AMP engine." }, "outputs": { "type": "array", "description": "Output files generated by the job.", "items": { "type": "object", "properties": { "id": { "type": "string" }, "availableFormats": { "type": "array", "items": { "type": "string" } }, "fileName": { "type": "string" } } } }, "messages": { "type": "array", "description": "Messages generated during execution.", "items": { "type": "object", "properties": { "status": { "type": "integer" }, "text": { "type": "string" }, "toolId": { "type": "integer" } } } } }, "required": ["id"] } } }