ControlUp Public API API

The Public API API from ControlUp — 11 operation(s) for public api.

OpenAPI Specification

controlup-public-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Flow3 Public Public API API
  description: Public API endpoints for Flow3 - accessible via Bearer authentication using a DEX token
  version: 1.0.0
servers:
- url: https://api.controlup.com
  description: Production API server
- url: https://api.qa.controlup.com
  description: QA API server
tags:
- name: Public API
paths:
  /workflows/v1/flows:
    get:
      tags:
      - Public API
      summary: Get Flows
      description: Retrieve a complete list of workflows available in your organization.
      operationId: get_flows_workflows_v1_flows_get
      parameters:
      - name: _page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: 'Desired page in the paginated result (default: 1)'
          default: 1
          title: ' Page'
        description: 'Desired page in the paginated result (default: 1)'
      - name: _limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          description: Page size
          default: 50
          title: ' Limit'
        description: Page size
      - name: _sortBy
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/FlowSortBy'
          - type: 'null'
          description: Field to sort by
          title: ' Sortby'
        description: Field to sort by
      - name: _order
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrder'
          description: Sorting direction
          default: asc
        description: Sorting direction
      - name: _expand
        in: query
        required: false
        schema:
          type: boolean
          description: Expand flow objects into their full representation
          default: false
          title: ' Expand'
        description: Expand flow objects into their full representation
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by flow name (case-insensitive)
          title: Name
        description: Filter by flow name (case-insensitive)
      - name: description
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by flow description (case-insensitive)
          title: Description
        description: Filter by flow description (case-insensitive)
      - name: createdAt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by flow creation time
          title: Createdat
        description: Filter by flow creation time
      - name: updatedAt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by flow updating time
          title: Updatedat
        description: Filter by flow updating time
      - name: lastRun
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by flow last run time
          title: Lastrun
        description: Filter by flow last run time
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by flow status
          title: Status
        description: Filter by flow status
      - name: scheduleType
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/FlowScheduleType'
          - type: 'null'
          description: Filter by flow schedule type
          title: Scheduletype
        description: Filter by flow schedule type
      - name: creator
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by flow creator
          title: Creator
        description: Filter by flow creator
      - name: lastEditor
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by flow latest editor
          title: Lasteditor
        description: Filter by flow latest editor
      - name: excludeFormFlows
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Filter by excluding form based flows
          default: false
          title: Excludeformflows
        description: Filter by excluding form based flows
      - name: runnableWithoutInputs
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Filter without providing any input variables
          default: false
          title: Runnablewithoutinputs
        description: Filter without providing any input variables
      responses:
        '200':
          description: List of flows
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/flows/{flowId}:
    get:
      tags:
      - Public API
      summary: Get Flow
      description: Retrieve details about a specific workflow by its ID.
      operationId: get_flow_workflows_v1_flows__flowId__get
      parameters:
      - name: flowId
        in: path
        required: true
        schema:
          type: string
          title: Flowid
      - name: _expand
        in: query
        required: false
        schema:
          type: boolean
          description: Expand flow objects into their full representation
          default: false
          title: ' Expand'
        description: Expand flow objects into their full representation
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      responses:
        '200':
          description: Flow details
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    patch:
      tags:
      - Public API
      summary: Enable/Disable Flow
      description: Change the status of a flow (enable or disable)
      operationId: update_flow_status_workflows_v1_flows__flowId__patch
      parameters:
      - name: flowId
        in: path
        required: true
        schema:
          type: string
          title: Flowid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlowEnableDisableRequest'
      responses:
        '200':
          description: Updated flow
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Public API
      summary: Delete Flow
      description: Delete a flow by its ID from your organization.
      operationId: delete_flow_workflows_v1_flows__flowId__delete
      parameters:
      - name: flowId
        in: path
        required: true
        schema:
          type: string
          title: Flowid
      responses:
        '200':
          description: Delete a flow by its ID from your organization.
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/flows/{flowId}/runs:
    get:
      tags:
      - Public API
      summary: Get Flow Runs Status
      description: Retrieve the status and details of runs for a specific workflow.
      operationId: get_flow_runs_workflows_v1_flows__flowId__runs_get
      parameters:
      - name: flowId
        in: path
        required: true
        schema:
          type: string
          title: Flowid
      - name: _limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          description: Page size
          default: 10
          title: ' Limit'
        description: Page size
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      - name: status
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/FlowRunStatus'
          - type: 'null'
          description: Filter by run status
          title: Status
        description: Filter by run status
      responses:
        '200':
          description: List of flow runs
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/flows/launch:
    post:
      tags:
      - Public API
      summary: Launch Flow
      description: Launch a flow by its ID from your organization.
      operationId: launch_flow_workflows_v1_flows_launch_post
      responses:
        '200':
          description: Launch a flow by its ID from your organization.
          content:
            application/json:
              schema: {}
      security:
      - BearerAuth: []
  /workflows/v1/forms:
    get:
      tags:
      - Public API
      summary: Get Forms
      description: Retrieve a complete list of all forms available in your organization.
      operationId: get_all_forms_workflows_v1_forms_get
      parameters:
      - name: _page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: 'Desired page in the paginated result (default: 1)'
          default: 1
          title: ' Page'
        description: 'Desired page in the paginated result (default: 1)'
      - name: _limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          description: Page size
          default: 50
          title: ' Limit'
        description: Page size
      - name: _sortBy
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/FormSortBy'
          - type: 'null'
          description: Field to sort by
          title: ' Sortby'
        description: Field to sort by
      - name: _order
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrder'
          description: Sorting direction
          default: asc
        description: Sorting direction
      - name: _expand
        in: query
        required: false
        schema:
          type: boolean
          description: Expand form objects into their full representation
          default: false
          title: ' Expand'
        description: Expand form objects into their full representation
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by form name (case-insensitive)
          title: Name
        description: Filter by form name (case-insensitive)
      - name: description
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by form description (case-insensitive)
          title: Description
        description: Filter by form description (case-insensitive)
      - name: createdAt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by form creation time
          title: Createdat
        description: Filter by form creation time
      - name: updatedAt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by form updating time
          title: Updatedat
        description: Filter by form updating time
      - name: lastRun
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by form last run time
          title: Lastrun
        description: Filter by form last run time
      responses:
        '200':
          description: List of forms
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/forms/{formId}:
    get:
      tags:
      - Public API
      summary: Get Form
      description: Retrieve details about a specific form by its ID.
      operationId: get_form_workflows_v1_forms__formId__get
      parameters:
      - name: formId
        in: path
        required: true
        schema:
          type: string
          title: Formid
      - name: _expand
        in: query
        required: false
        schema:
          type: boolean
          description: Expand form objects into their full representation
          default: false
          title: ' Expand'
        description: Expand form objects into their full representation
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      responses:
        '200':
          description: Form details
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Public API
      summary: Delete Form
      description: Delete a form by its ID from your organization.
      operationId: delete_form_workflows_v1_forms__formId__delete
      parameters:
      - name: formId
        in: path
        required: true
        schema:
          type: string
          title: Formid
      responses:
        '200':
          description: Deleted form ID
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/integrations:
    get:
      tags:
      - Public API
      summary: Get Integrations
      description: Retrieve a complete list of available integrations in your organization.
      operationId: get_all_integrations_workflows_v1_integrations_get
      parameters:
      - name: _page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: 'Desired page in the paginated result (default: 1)'
          default: 1
          title: ' Page'
        description: 'Desired page in the paginated result (default: 1)'
      - name: _limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          description: Page size
          default: 50
          title: ' Limit'
        description: Page size
      - name: _sortBy
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/IntegrationSortBy'
          - type: 'null'
          description: Field to sort by
          title: ' Sortby'
        description: Field to sort by
      - name: _order
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/SortOrder'
          description: Sorting direction
          default: asc
        description: Sorting direction
      - name: _expand
        in: query
        required: false
        schema:
          type: boolean
          description: Expand integration objects into their full representation
          default: false
          title: ' Expand'
        description: Expand integration objects into their full representation
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by integration name (case-insensitive)
          title: Name
        description: Filter by integration name (case-insensitive)
      - name: integrationType
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by integration type
          title: Integrationtype
        description: Filter by integration type
      - name: createdAt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by integration creation time
          title: Createdat
        description: Filter by integration creation time
      - name: updatedAt
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by integration updating time
          title: Updatedat
        description: Filter by integration updating time
      responses:
        '200':
          description: List of integrations
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/integrations/{integrationId}:
    get:
      tags:
      - Public API
      summary: Get Integration
      description: Retrieve details about a specific integration by its ID.
      operationId: get_integration_workflows_v1_integrations__integrationId__get
      parameters:
      - name: integrationId
        in: path
        required: true
        schema:
          type: string
          title: Integrationid
      - name: _expand
        in: query
        required: false
        schema:
          type: boolean
          description: Expand integration objects into their full representation
          default: false
          title: ' Expand'
        description: Expand integration objects into their full representation
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      responses:
        '200':
          description: Integration details
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Public API
      summary: Delete Integration
      description: Delete an integration by its ID from your organization.
      operationId: delete_integration_workflows_v1_integrations__integrationId__delete
      parameters:
      - name: integrationId
        in: path
        required: true
        schema:
          type: string
          title: Integrationid
      responses:
        '200':
          description: Deleted integration ID
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/integrations/{integration_id}/actions:
    get:
      tags:
      - Public API
      summary: Get Integration Actions
      description: Retrieve a list of all available actions for a specific integration within your organization
      operationId: get_integration_actions_workflows_v1_integrations__integration_id__actions_get
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          title: Integration Id
      - name: _expand
        in: query
        required: false
        schema:
          type: boolean
          description: Expand flow objects into their full representation
          default: false
          title: ' Expand'
        description: Expand flow objects into their full representation
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      responses:
        '200':
          description: List of integration actions
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/integrations/{integration_id}/actions/{node_type}:
    get:
      tags:
      - Public API
      summary: Get Integration Action
      description: Retrieve details for a specific action of a specific integration, including the action input/output schema
      operationId: get_integration_action_workflows_v1_integrations__integration_id__actions__node_type__get
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          title: Integration Id
      - name: node_type
        in: path
        required: true
        schema:
          type: string
          title: Node Type
      - name: _select
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Fetch only selected fields
          title: ' Select'
        description: Fetch only selected fields
      responses:
        '200':
          description: Integration action details
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /workflows/v1/integrations/{integration_id}/actions/{node_type}/execute:
    post:
      tags:
      - Public API
      summary: Execute Integration Action
      description: Execute a single integration action directly (without running a flow). The request body must match the action input schema.
      operationId: execute_integration_action_workflows_v1_integrations__integration_id__actions__node_type__execute_post
      parameters:
      - name: integration_id
        in: path
        required: true
        schema:
          type: string
          title: Integration Id
      - name: node_type
        in: path
        required: true
        schema:
          type: string
          title: Node Type
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - type: object
                additionalProperties: true
              - type: 'null'
              title: Body
      responses:
        '200':
          description: Action execution result
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
components:
  schemas:
    FlowRunStatus:
      type: string
      enum:
      - unspecified
      - running
      - completed
      - failed
      - canceled
      - terminated
      - continued as new
      - time out
      - waiting for action
      title: FlowRunStatus
    IntegrationSortBy:
      type: string
      enum:
      - name
      - createdDate
      - createdAt
      - updatedAt
      title: IntegrationSortBy
    FlowScheduleType:
      type: string
      enum:
      - manual
      - api
      - listener
      - Form
      - time
      title: FlowScheduleType
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SortOrder:
      type: string
      enum:
      - asc
      - desc
      title: SortOrder
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    FlowEnableDisableRequest:
      properties:
        isActive:
          type: boolean
          title: Isactive
      type: object
      required:
      - isActive
      title: FlowEnableDisableRequest
    FormSortBy:
      type: string
      enum:
      - name
      - createdDate
      - createdAt
      - updatedAt
      - lastRun
      title: FormSortBy
    FlowSortBy:
      type: string
      enum:
      - name
      - status
      - createdDate
      - createdAt
      - updatedAt
      - lastRun
      - scheduleType
      - creator
      - lastEditor
      title: FlowSortBy
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Use a DEX token in the Authorization header: Bearer <DEX_TOKEN>'