---
title: "POST /api/v1/job-workflows"
method: POST
path: "/api/v1/job-workflows"
tags: ["job-workflow-type-controller"]
---

# POST /api/v1/job-workflows

`POST /api/v1/job-workflows`

## Request body

- JobWorkflowTypeDto
  - `id` string
  - `name` string
  - `jobTypeId` string
  - `roles` string[]
  - `isVisibleInDashboard` boolean
  - `lockStatusSequenceNo` integer
  - `unlockStatusSequenceNo` integer
  - `steps` WorkflowStep[]
    - `sequenceNo` integer
    - `primaryStatus` string
    - `secondaryStatus` string
    - `followupRole` string
    - `roles` Role[]
      - `id` string
      - `name` string
      - `description` string
      - `properties` JobProperty[]
        - `displayOrder` integer
        - `name` string
        - `displayName` string
        - `templateName` string
        - `ocrName` string
        - `dependentFieldNames` string[]
        - `fieldGroup` string
        - `groupColumnLayoutType` string
        - `fieldType` 'Small_Text' | 'ReadOnly_Small_Text' | 'ReadOnly_Auto_Generate' | 'Large_Text' | 'Date_Time' | 'Date' | 'Selection' | 'Large_Selection' | 'Small_Heading' | 'Large_Heading' | 'Radio_OR_CheckBox' | 'Attachment' | 'Hidden_Text_Field' | 'Auto_Date_Time' | 'Auto_Date' | 'Time' | 'MultiMedia' | 'Geo_Location' | 'Numeric_Text' | 'Dates_after_today' | 'SubJob' | 'Email' | 'Report' | 'Service_Type' | 'Date_before' | 'Calc_Text' | 'Calc_Date' | 'Password' | 'Phone_Number' | 'Login_User_Email' | 'Login_User_Name' | 'Read_Only_Login_User_Name' | 'Read_Only_Login_Email' | 'Text_Area' | 'ReadOnly_Auto_Date' | 'API_Small_Text' | 'API_Selection' | 'Inherited_Sub_Job' | 'ReadOnly_Date' | 'Appointment_Booking' | 'Tat' | 'Numeric_Text_With_Commas_US' | 'Special_Filter' | 'Numeric_Text_With_Commas_UK' | 'JSON_KEY' | 'Loqate_Find' | 'BOOLEAN' | 'Data_Filter' | 'File' | 'Geo_Fence' | 'Multi_Currency' | 'Yml_Key'
        - `subJobLimit` integer
        - `allowedValues` string
        - `patternForText` string
        - `rule` string
        - `hiddenDependentField` string
        - `propagateOtherFieldValueToThis` string
        - `englishChatBotQuestion` string
        - `hindiChatBotQuestion` string
        - `enableIncrementalSearch` boolean
        - `isMandatory` boolean
        - `isNotDuplicate` boolean
        - `mask` string
        - `addNewType` string
        - `enableAddMore` boolean
        - `enableMultiSelect` boolean
        - `isSearchable` boolean
        - `enableShowInListView` boolean
        - `propagateValueToSubFormFields` string
        - `propagateValueFromFormFields` string
        - `reportDefaultValue` string
        - `isTrackableField` boolean
        - `isRiskCalculationField` boolean
        - `isChatBotEnabledField` boolean
        - `isLimitedFields` boolean
        - `enableShowReview` boolean
        - `enableShowAppointment` boolean
        - `defaultValue` string
        - `description` string
        - `isReportParam` boolean
        - `isPivotParam` boolean
        - `isPivotRowParam` boolean
        - `isPivotColumnParam` boolean
        - `isAggregate` boolean
        - `isHidden` boolean
        - `tags` string
        - `isHParam` boolean
        - `enableSimilarTo` boolean
        - `similarToConfig` string
        - `ruleAllowedValues` RuleAllowedValues
          - `ruleType` string
          - `ruleText` string
          - `definedParams` string
        - `isAllowPublicAccess` boolean
        - `isAllowPublicPost` boolean
        - `uniqueFieldId` string
        - `label` boolean
        - `dataFormat` string
        - `fieldCharLimit` integer
        - `linkUrl` string
        - `isPublicAttachment` boolean
        - `isMetadataKeyword` boolean
        - `isDownloadMisParam` boolean
        - `enableAddNew` boolean
        - `isHTMLViewOnly` boolean
        - `fieldDescription` string
        - `compareLabel` boolean
        - `configData` object
        - `isFieldAddMore` boolean
        - `versionPattern` CloningConfig
          - `pattern` string
          - `fieldName` string
          - `clonedLimit` integer
          - `fieldMappings` object
          - `cloneConfig` object
        - `allowNegativeValue` boolean
        - `isReadOnly` boolean
        - `isFieldForStatusReport` boolean
        - `precision` integer
        - `fieldTransformation` string
        - `alwaysResetToDefault` boolean
        - `dynamicValue` string
        - `horder` string
      - `scope` string[]
      - `routerUrl` string
    - `subJobTypeIds` string[]
    - `emailTemplates` WorkflowEmailTemplate[]
      - `templateInstanceId` string
    - `attachmentEmailTemplateIds` string[]
    - `nextWorkflowSteps` integer[]
    - `isInitialStatus` boolean
    - `isPendingStatus` boolean
    - `isTerminationStatus` boolean
    - `fieldsForGroupingTotal` string
    - `apiOnStatusChange` string
    - `jobStatusRule` string
    - `condition` ConditionStatement
      - `leftOperand` string
      - `rightOperand` string
      - `conditionalOperator` string
      - `nextStep` integer
    - `primaryDisplayName` string
    - `secondaryDisplayName` string
    - `taskActionTemplateIds` string[]
    - `isHidden` boolean

## Response `200`

OK

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/gosure/apis/gosure-api.md) · [All operations](https://skmtc.net/gosure/apis/gosure-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gosure/gosure-api/revisions/785f532b1250/schema)
