> ## Documentation Index
> Fetch the complete documentation index at: https://docs.emergence.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Workflow Definition

> Create a new workflow definition (template).

Workflow definitions are the deployed pipeline templates that can be configured
with custom settings, schedules, and triggers.

This endpoint is typically used by administrators to define new workflow types.

Required:
- `name`: Human-readable workflow name
- `workflow_type`: Type of workflow (generate-pii-tags, generate-dq-tags, etc.)
- `data_asset_types`: List of supported data asset types

Optional:
- `description`: Workflow description
- `default_config`: Default configuration for this workflow type
- `is_active`: Whether the workflow is active (default: true)



## OpenAPI

````yaml /openapi/em-data-readiness-v2.yaml post /api/data-readiness/workflows/definitions
openapi: 3.1.0
info:
  title: EM Data Readiness Service
  description: Data Readiness Service API for managing workflows, metrics, and data quality
  version: 4.3.0-dev1
servers: []
security:
  - BearerAuth: []
tags:
  - name: Health
    description: Service health monitoring. Check service status and version information.
  - name: Root
    description: Root endpoint providing service information and navigation links.
  - name: Configuration
    description: Service configuration endpoints. View current configuration values.
  - name: Workflows
    description: >-
      Workflow configuration and execution management. Create, configure, and
      run data quality workflows including definitions, configurations, runs,
      and tasks.
  - name: Data Assets
    description: >-
      Data catalog entity management. Manage databases, schemas, and tables
      metadata.
  - name: Metrics
    description: >-
      Data quality metrics and scorecards. Calculate scores, view trends, and
      analyze dimensions.
  - name: Violations
    description: >-
      Data quality violation management. View, acknowledge, and remediate
      detected violations.
  - name: Glossary
    description: >-
      Business glossary management. Create, verify, and organize business terms
      and definitions.
paths:
  /api/data-readiness/workflows/definitions:
    post:
      tags:
        - Workflows
      summary: Create Workflow Definition
      description: >-
        Create a new workflow definition (template).


        Workflow definitions are the deployed pipeline templates that can be
        configured

        with custom settings, schedules, and triggers.


        This endpoint is typically used by administrators to define new workflow
        types.


        Required:

        - `name`: Human-readable workflow name

        - `workflow_type`: Type of workflow (generate-pii-tags,
        generate-dq-tags, etc.)

        - `data_asset_types`: List of supported data asset types


        Optional:

        - `description`: Workflow description

        - `default_config`: Default configuration for this workflow type

        - `is_active`: Whether the workflow is active (default: true)
      operationId: create_workflow_definition
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowDefinitionCreateRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowDefinitionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerAuth: []
components:
  schemas:
    WorkflowDefinitionCreateRequest:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          title: Name
          description: Human-readable workflow name
          examples:
            - Table Profiling Workflow
            - PII Detection Workflow
        workflow_type:
          $ref: '#/components/schemas/WorkflowType'
          description: Type of workflow
          examples:
            - generate-pii-tags
            - generate-dq-tags
            - generate-table-description
        category:
          $ref: '#/components/schemas/WorkflowCategory'
          description: Workflow category for grouping
          examples:
            - enrichment
            - data_quality
            - assessment
            - ingestion
        data_asset_types:
          items:
            type: string
          type: array
          title: Data Asset Types
          description: List of supported data asset types
          examples:
            - - table
            - - table
              - topic
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Optional workflow description
          examples:
            - Profiles table schema and data quality
        default_config:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Default Config
          description: Default configuration for this workflow type
        is_active:
          type: boolean
          title: Is Active
          description: Whether the workflow is active and available for use
          default: true
      type: object
      required:
        - name
        - workflow_type
        - category
        - data_asset_types
      title: WorkflowDefinitionCreateRequest
      description: Request body for creating a workflow definition.
    WorkflowDefinitionResponse:
      properties:
        workflow_type:
          $ref: '#/components/schemas/WorkflowType'
          description: Type of workflow
          examples:
            - generate-pii-tags
        id:
          type: string
          format: uuid
          title: Id
          description: Unique workflow definition identifier
          examples:
            - 123e4567-e89b-12d3-a456-426614174001
        name:
          type: string
          title: Name
          description: Workflow name
          examples:
            - Generate PII Tags
        category:
          $ref: '#/components/schemas/WorkflowCategory'
          description: Workflow category
          examples:
            - enrichment
        data_asset_types:
          items:
            type: string
          type: array
          title: Data Asset Types
          description: Supported data asset types
          examples:
            - - table
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Workflow description
          examples:
            - Detects and tags PII data in tables
        is_active:
          type: boolean
          title: Is Active
          description: Whether workflow is active
          examples:
            - true
        created_at:
          type: string
          title: Created At
          description: Creation timestamp (ISO 8601)
          examples:
            - '2024-01-01T00:00:00Z'
        default_config:
          additionalProperties: true
          type: object
          title: Default Config
          description: Default configuration
          examples:
            - confidence_threshold: 0.8
        require_reference_pack:
          type: boolean
          title: Require Reference Pack
          readOnly: true
        supports_multi_table_selection:
          type: boolean
          title: Supports Multi Table Selection
          readOnly: true
        requires_approval:
          type: boolean
          title: Requires Approval
          readOnly: true
        stream:
          type: boolean
          title: Stream
          readOnly: true
      type: object
      required:
        - workflow_type
        - id
        - name
        - category
        - data_asset_types
        - is_active
        - created_at
        - require_reference_pack
        - supports_multi_table_selection
        - requires_approval
        - stream
      title: WorkflowDefinitionResponse
      description: |-
        Response for workflow definition operations.

        Inherits common fields from WorkflowDefinitionBaseFields.
      example:
        category: enrichment
        created_at: '2024-01-01T00:00:00Z'
        data_asset_types:
          - table
        default_config:
          confidence_threshold: 0.8
        description: Detects and tags PII data in tables
        id: 123e4567-e89b-12d3-a456-426614174001
        is_active: true
        name: Generate PII Tags
        require_reference_pack: true
        requires_approval: true
        supports_multi_table_selection: false
        workflow_type: generate-pii-tags
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    WorkflowType:
      type: string
      enum:
        - generate-table-description
        - generate-pii-tags
        - generate-dq-tags
        - generate-sensitivity-tags
        - enrich-table-columns
        - service-ingestion
        - profiling
        - dq-rule-generation
        - dq-execution
        - metadata-assessment
        - dq-assessment
        - dq-tag-generation
        - intelligence
        - metadata-enrichment
        - run-all-enrichment
      title: WorkflowType
      description: >-
        Workflow types available in the system.


        These values match the Prefect deployment names defined in

        ``scripts/prefect/deploy.py`` to enable direct mapping when triggering
        workflows.
    WorkflowCategory:
      type: string
      enum:
        - ingestion
        - enrichment
        - data_quality
        - assessment
        - intelligence
      title: WorkflowCategory
      description: |-
        Workflow categories for grouping workflows.

        Categories help organize workflows into logical groups for UI display
        and filtering purposes.
    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
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT Bearer token authentication. Include the token in the Authorization
        header as: `Authorization: Bearer <token>`. The JWT must contain valid
        client_id, and project_id claims for tenant isolation and SDK routing.

````