Alteryx Server API V3

The V3 Admin API for Alteryx Server uses OAuth 2 authentication and implements POST, PUT, GET, and DELETE functionality for modifying assets, users, credentials, and connections so admins can automate tasks and integrate Server with their existing API automation tools.

OpenAPI Specification

alteryx-server-api-v3.yml Raw ↑
openapi: 3.1.0
info:
  title: Alteryx Server API V3
  description: >-
    The Alteryx Server API V3 provides administrative capabilities for managing
    workflows, schedules, users, user groups, credentials, collections, and
    server connections. It uses OAuth 2 authentication and implements POST, PUT,
    GET, DELETE, and PATCH operations so administrators can automate tasks and
    integrate Server with existing API automation tools.
  version: 3.0.0
  contact:
    name: Alteryx Support
    email: [email protected]
    url: https://community.alteryx.com
  license:
    name: Proprietary
    url: https://www.alteryx.com/terms-and-conditions
  termsOfService: https://www.alteryx.com/terms-and-conditions
  x-logo:
    url: https://www.alteryx.com/sites/default/files/alteryx-logo-2021.svg
externalDocs:
  description: Alteryx Server API V3 Documentation
  url: https://help.alteryx.com/current/en/server/api-overview/alteryx-server-api-v3.html
servers:
- url: https://{serverHostname}/webapi
  description: Alteryx Server instance
  variables:
    serverHostname:
      default: your-server.example.com
      description: Hostname of your Alteryx Server instance
security:
- oauth2: []
tags:
- name: Workflows
  description: Manage workflows including upload, retrieval, update, deletion, versioning, and job execution
- name: Schedules
  description: Create, retrieve, update, and delete workflow execution schedules
- name: Users
  description: Manage user accounts, permissions, and asset transfers
- name: User Groups
  description: Manage user groups and group membership
- name: Credentials
  description: Manage stored credentials and credential sharing
- name: Collections
  description: Manage collections of workflows, schedules, users, and user groups
- name: Server Connections
  description: Manage server data connections
- name: Jobs
  description: Manage and monitor workflow execution jobs
paths:
  /v3/workflows:
    post:
      operationId: uploadWorkflow
      summary: Upload a New Workflow
      description: Upload a new workflow package (YXZP file) to the Alteryx Server.
      tags:
      - Workflows
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              - name
              - ownerId
              - isPublic
              - isReadyForMigration
              - othersMayDownload
              - othersCanExecute
              - executionMode
              - workflowCredentialType
              properties:
                file:
                  type: string
                  format: binary
                  description: The YXZP workflow package file
                name:
                  type: string
                  description: Name of the workflow
                ownerId:
                  type: string
                  description: ID of the user who will own the workflow
                workerTag:
                  type: string
                  description: Worker tag for execution routing
                districtTags:
                  type: string
                  description: JSON array of district tags
                comments:
                  type: string
                  description: Comments about the workflow
                isPublic:
                  type: boolean
                  description: Whether the workflow is publicly accessible
                isReadyForMigration:
                  type: boolean
                  description: Whether the workflow is ready for migration
                sourceAppId:
                  type: string
                  description: Source application ID for migration tracking
                othersMayDownload:
                  type: boolean
                  description: Whether other users may download the workflow
                othersCanExecute:
                  type: boolean
                  description: Whether other users can execute the workflow
                executionMode:
                  type: string
                  enum:
                  - Safe
                  - SemiSafe
                  - Standard
                  description: The execution mode for the workflow
                hasPrivateDataExemption:
                  type: boolean
                  description: Whether the workflow has a private data exemption
                workflowCredentialType:
                  type: string
                  enum:
                  - Default
                  - Required
                  - Specific
                  description: Type of credential used for workflow execution
                credentialId:
                  type: string
                  description: ID of the credential to use when workflowCredentialType is Specific
                collectionIds:
                  type: string
                  description: JSON array of collection IDs to add the workflow to
                bypassWorkflowVersionCheck:
                  type: boolean
                  description: Whether to bypass workflow version compatibility checking
      responses:
        '200':
          description: Workflow uploaded successfully
          content:
            application/json:
              schema:
                type: string
                description: The ID of the newly created workflow
        '400':
          description: Bad request - invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing authentication
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: getWorkflows
      summary: Retrieve All Workflows
      description: Retrieve information about all workflow records with optional filtering.
      tags:
      - Workflows
      parameters:
      - name: view
        in: query
        description: Level of detail in the response
        schema:
          type: string
          enum:
          - Default
          - Full
          default: Default
      - name: name
        in: query
        description: Filter workflows by name
        schema:
          type: string
      - name: ownerId
        in: query
        description: Filter workflows by owner ID
        schema:
          type: string
      - name: createdAfter
        in: query
        description: Filter workflows created after this date (ISO 8601 format)
        schema:
          type: string
          format: date-time
      - name: createdBefore
        in: query
        description: Filter workflows created before this date (ISO 8601 format)
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: List of workflow records
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkflowSummary'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/workflows/{workflowId}:
    get:
      operationId: getWorkflow
      summary: Retrieve a Specific Workflow
      description: Retrieve detailed information about a specific workflow record.
      tags:
      - Workflows
      parameters:
      - $ref: '#/components/parameters/workflowId'
      responses:
        '200':
          description: Workflow details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowDetail'
        '401':
          description: Unauthorized
        '404':
          description: Workflow not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateWorkflow
      summary: Update an Existing Workflow
      description: Update the properties of an existing workflow.
      tags:
      - Workflows
      parameters:
      - $ref: '#/components/parameters/workflowId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWorkflowContract'
      responses:
        '200':
          description: Workflow updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowDetail'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Workflow not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteWorkflow
      summary: Delete a Workflow
      description: Delete a specific workflow from the server.
      tags:
      - Workflows
      parameters:
      - $ref: '#/components/parameters/workflowId'
      - name: force
        in: query
        description: Force deletion even if workflow has dependencies
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Workflow deleted successfully
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Workflow not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/workflows/{workflowId}/versions:
    post:
      operationId: uploadWorkflowVersion
      summary: Upload a New Version of an Existing Workflow
      description: Upload a new version of an existing workflow package.
      tags:
      - Workflows
      parameters:
      - $ref: '#/components/parameters/workflowId'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
              - file
              - name
              - ownerId
              - othersMayDownload
              - othersCanExecute
              - executionMode
              - makePublished
              - workflowCredentialType
              properties:
                file:
                  type: string
                  format: binary
                  description: The YXZP workflow package file
                name:
                  type: string
                  description: Name of the workflow version
                ownerId:
                  type: string
                  description: ID of the workflow owner
                othersMayDownload:
                  type: boolean
                  description: Whether other users may download
                othersCanExecute:
                  type: boolean
                  description: Whether other users can execute
                executionMode:
                  type: string
                  enum:
                  - Safe
                  - SemiSafe
                  - Standard
                hasPrivateDataExemption:
                  type: boolean
                comments:
                  type: string
                makePublished:
                  type: boolean
                  description: Whether to make this version the published version
                workflowCredentialType:
                  type: string
                  enum:
                  - Default
                  - Required
                  - Specific
                credentialId:
                  type: string
                bypassWorkflowVersionCheck:
                  type: boolean
      responses:
        '200':
          description: Workflow version uploaded successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowDetail'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Workflow not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/workflows/{workflowId}/package:
    get:
      operationId: downloadWorkflowPackage
      summary: Download a Workflow Package
      description: Download the YXZP package file for a specific workflow.
      tags:
      - Workflows
      parameters:
      - $ref: '#/components/parameters/workflowId'
      - name: versionId
        in: query
        description: Specific version ID to download
        schema:
          type: string
      responses:
        '200':
          description: Workflow package file
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '400':
          description: Invalid version ID
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Workflow not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/workflows/{workflowId}/questions:
    get:
      operationId: getWorkflowQuestions
      summary: Retrieve Analytic App Questions
      description: Retrieve question (input) information for an analytic app workflow.
      tags:
      - Workflows
      parameters:
      - $ref: '#/components/parameters/workflowId'
      - name: versionId
        in: query
        description: Specific version ID
        schema:
          type: string
      responses:
        '200':
          description: List of workflow questions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkflowQuestion'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Workflow not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/workflows/{workflowId}/jobs:
    get:
      operationId: getWorkflowJobs
      summary: Get Jobs for a Workflow
      description: Retrieve execution jobs associated with a specific workflow.
      tags:
      - Jobs
      parameters:
      - $ref: '#/components/parameters/workflowId'
      - name: sortField
        in: query
        description: Field to sort results by
        schema:
          type: string
      - name: direction
        in: query
        description: Sort direction
        schema:
          type: string
          enum:
          - asc
          - desc
      - name: offset
        in: query
        description: Number of records to skip for pagination
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of records to return
        schema:
          type: string
      - name: status
        in: query
        description: Filter by job status
        schema:
          type: string
          enum:
          - Complete
          - Error
          - Running
          - Queued
      - name: resultCode
        in: query
        description: Filter by result code
        schema:
          type: string
          enum:
          - Success
          - Warning
          - Error
      responses:
        '200':
          description: List of jobs
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/JobSummary'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Workflow not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createJob
      summary: Create a New Job for a Workflow
      description: Queue a new execution job for a specific workflow.
      tags:
      - Jobs
      parameters:
      - $ref: '#/components/parameters/workflowId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateJobContract'
      responses:
        '200':
          description: Job created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobDetail'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Workflow not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/workflows/{workflowId}/transfer:
    put:
      operationId: transferWorkflow
      summary: Transfer Workflow Ownership
      description: Transfer a specific workflow to a different owner, optionally including associated schedules.
      tags:
      - Workflows
      parameters:
      - $ref: '#/components/parameters/workflowId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - ownerId
              - transferSchedules
              properties:
                ownerId:
                  type: string
                  description: ID of the new owner
                transferSchedules:
                  type: boolean
                  description: Whether to also transfer associated schedules
      responses:
        '200':
          description: Workflow transferred successfully
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Workflow not found
        '500':
          description: Internal server error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/schedules:
    post:
      operationId: createSchedule
      summary: Create a New Schedule
      description: Create a new execution schedule for a workflow.
      tags:
      - Schedules
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateScheduleContract'
      responses:
        '201':
          description: Schedule created successfully
          content:
            application/json:
              schema:
                type: string
                description: The ID of the newly created schedule
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: getSchedules
      summary: Retrieve All Schedules
      description: Retrieve information about all schedules with optional filtering.
      tags:
      - Schedules
      parameters:
      - name: view
        in: query
        description: Level of detail in the response
        schema:
          type: string
          enum:
          - Default
          - Full
          default: Default
      - name: ownerId
        in: query
        description: Filter by schedule owner
        schema:
          type: string
      - name: workflowId
        in: query
        description: Filter by associated workflow
        schema:
          type: string
      - name: runsAfter
        in: query
        description: Filter schedules that run after this date (ISO 8601, max 45-day range)
        schema:
          type: string
          format: date-time
      - name: runsBefore
        in: query
        description: Filter schedules that run before this date (ISO 8601, max 45-day range)
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: List of schedules
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScheduleSummary'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/schedules/{scheduleId}:
    get:
      operationId: getSchedule
      summary: Retrieve a Specific Schedule
      description: Retrieve detailed information about a specific schedule.
      tags:
      - Schedules
      parameters:
      - $ref: '#/components/parameters/scheduleId'
      responses:
        '200':
          description: Schedule details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleDetail'
        '401':
          description: Unauthorized
        '404':
          description: Schedule not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateSchedule
      summary: Update a Schedule
      description: Update all properties of an existing schedule. All required fields must be provided.
      tags:
      - Schedules
      parameters:
      - $ref: '#/components/parameters/scheduleId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateScheduleContract'
      responses:
        '200':
          description: Schedule updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleDetail'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Schedule not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: patchSchedule
      summary: Partially Update a Schedule
      description: Update specific properties of an existing schedule without requiring all fields.
      tags:
      - Schedules
      parameters:
      - $ref: '#/components/parameters/scheduleId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchScheduleContract'
      responses:
        '200':
          description: Schedule updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleDetail'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Schedule not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteSchedule
      summary: Delete a Schedule
      description: Remove a schedule from the system.
      tags:
      - Schedules
      parameters:
      - $ref: '#/components/parameters/scheduleId'
      responses:
        '200':
          description: Schedule deleted successfully
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Schedule not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/users:
    post:
      operationId: createUser
      summary: Create a New User
      description: Create a new user account on the Alteryx Server. Requires Curator role.
      tags:
      - Users
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserContract'
      responses:
        '201':
          description: User created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetail'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient permissions
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: getUsers
      summary: Retrieve All Users
      description: Retrieve information about all user records with optional filtering. Requires Curator role.
      tags:
      - Users
      parameters:
      - name: view
        in: query
        description: Level of detail in the response
        schema:
          type: string
          enum:
          - Default
          - Full
          default: Default
      - name: active
        in: query
        description: Filter by active status
        schema:
          type: boolean
      - name: email
        in: query
        description: Filter by email address
        schema:
          type: string
      - name: role
        in: query
        description: Filter by user role
        schema:
          type: string
          enum:
          - NoAccess
          - Viewer
          - Member
          - Artisan
          - Curator
          - Evaluated
      - name: firstName
        in: query
        description: Filter by first name
        schema:
          type: string
      - name: lastName
        in: query
        description: Filter by last name
        schema:
          type: string
      - name: createdAfter
        in: query
        description: Filter users created after this date (ISO 8601)
        schema:
          type: string
          format: date-time
      - name: createdBefore
        in: query
        description: Filter users created before this date (ISO 8601)
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: List of user records
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserDetail'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/users/{userId}:
    get:
      operationId: getUser
      summary: Retrieve a Specific User
      description: Retrieve detailed information about a specific user. Requires Curator role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/userId'
      responses:
        '200':
          description: User details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetail'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: User not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateUser
      summary: Update a User
      description: Update user account details and permissions. Requires Curator role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserContract'
      responses:
        '200':
          description: User updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetail'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: User not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteUser
      summary: Delete a User
      description: >-
        Delete a user from the system. The user must not own any assets or
        belong to any groups. Requires Curator role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/userId'
      responses:
        '200':
          description: User deleted successfully
        '400':
          description: Bad request - user owns assets or belongs to groups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: User not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/users/{userId}/deactivate:
    post:
      operationId: deactivateUser
      summary: Deactivate a User
      description: Deactivate a user account and remove them from all user groups. Requires Curator role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/userId'
      responses:
        '200':
          description: User deactivated successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                description: Array of user group IDs from which the user was removed
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: User not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/users/{userId}/passwordReset:
    post:
      operationId: resetUserPassword
      summary: Send Password Reset Email
      description: >-
        Send a password reset email to the user. Not available for Windows
        or SAML authentication methods. Requires Curator role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/userId'
      responses:
        '200':
          description: Password reset email sent successfully
        '400':
          description: Bad request - authentication method not supported
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: User not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/users/{userId}/assets:
    get:
      operationId: getUserAssets
      summary: Retrieve User Assets
      description: List all assets (workflows, schedules, collections) owned by a specific user. Requires Curator role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/userId'
      - name: assetType
        in: query
        description: Filter by asset type
        schema:
          type: string
          default: All
      responses:
        '200':
          description: List of user assets
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserAsset'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: User not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v3/users/{userId}/assetTransfer:
    put:
      operationId: transferUserAssets
      summary: Transfer User Assets
      description: >-
        Transfer all assets (workflows, schedules, and collections) owned by
        one user to another. The receiving user must have Artisan or Curator
        role. Requires Curator role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/userId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - ownerId
              - transferWorkflows
              - transferSchedules
              - transferCollections
              pro

# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alteryx/refs/heads/main/openapi/alteryx-server-api-v3.yml