---
title: "Create one or multiple documentTypes"
method: POST
path: "/api/servicecompliancev2/documentTypes"
tags: ["documentTypes"]
---

# Create one or multiple documentTypes

`POST /api/servicecompliancev2/documentTypes`

## Request body

- union
  - DocumentTypeDtoInput
    - `uuid` string
    - `companyUuid` string
    - `name` string, required
    - `category` 'custom' | 'Identity Documents' | 'Medical & Health' | 'Insurance & Compliance' | 'Employment & Administrative' | 'Training & Certifications' | 'Vehicle & Transportation' | 'Professional Licences', required
    - `description` string, required
    - `fields` object[], required
      - `uuid` string, required
      - `label` string, required
      - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN', required
      - `isActive` boolean, required
      - `isRequired` boolean, required
      - `autoApproveConditions` object[], required
        - `operator` 'EQUAL' | 'BEFORE' | 'AFTER' | 'NOT_EQUAL' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'GREATER_THAN_MONTHS' | 'GREATER_THAN_MONTHS_PAST' | 'IS_MONTHS_PAST' | 'IS_MONTHS_FUTURE' | 'IS_PAST' | 'IS_FUTURE', required
        - `value` union
          - string
          - boolean
          - string
          - number
        - `workerAttributeKey` string
      - `autoRejectConditions` object[]
        - `operator` 'EQUAL' | 'BEFORE' | 'AFTER' | 'NOT_EQUAL' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'GREATER_THAN_MONTHS' | 'GREATER_THAN_MONTHS_PAST' | 'IS_MONTHS_PAST' | 'IS_MONTHS_FUTURE' | 'IS_PAST' | 'IS_FUTURE', required
        - `value` union
          - string
          - boolean
          - string
          - number
        - `workerAttributeKey` string
      - `workerCustomAttributeUuid` string
      - `workerCustomAttributeKey` string
      - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
    - `expirableFieldUuid` string, nullable, required
    - `startDateFieldUuid` string, nullable
    - `forceExpirationInDays` number, nullable
    - `forceExpirationUnits` 'days' | 'months' | 'years'
    - `isAutoApprovalEnabled` boolean, required
    - `isFraudDetectionEnabled` boolean, required
    - `doubleSidedEnabled` boolean
    - `recollectionPeriodDays` number, required
    - `externalProcessingUrl` string
    - `externalProcessingAuthHeader` string
    - `instructions` string
    - `enabledOcrProvider` 'base64' | 'claude' | 'openai' | 'pulse' | 'dibby', nullable
    - `ocrConfidenceThreshold` number, nullable, required
    - `ocrProviderConfigs` object, nullable
      - `base64` object
        - `ocrModel` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `claude` object
        - `model` string
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `openai` object
        - `model` string
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `pulse` object
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `dibby` object
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
        - `inputKey` string, required
        - `workflowId` string, required
    - `enabledFraudDetectionProvider` 'openai', nullable
    - `fraudDetectionProviderConfigs` object, nullable
      - `openai` object
        - `model` string
        - `documentType` string, required
    - `hireMapping` object
      - `enabled` boolean, required
      - `fileSource` 'placeholder' | 'file' | 'signedDocumentPdf'
      - `hireSecureDocumentNames` string[]
      - `hireEmbeddedSignatureTemplateId` string
      - `fieldMappings` object[]
        - `fieldUuid` string
        - `hireDataKeys` string[]
      - `hireDataKeyForApprovalDate` string
      - `hireDataKeyForRecollectionDate` string
    - `autoRejectionConfig` object
      - `wrongDocumentType` boolean, required
      - `documentExpired` boolean, required
      - `imageNotReadable` boolean, required
      - `fieldConditionsEnabled` boolean
      - `imageVerification` boolean
      - `imageVerificationQuestion` string
    - `useProxyImage` boolean
    - `acceptedFileTypes` string[]
    - `createdAt` string, date-time
    - `createdBy` string
    - `updatedAt` string, date-time
    - `updatedBy` string
  - DocumentTypeDtoInput[]
    - `uuid` string
    - `companyUuid` string
    - `name` string, required
    - `category` 'custom' | 'Identity Documents' | 'Medical & Health' | 'Insurance & Compliance' | 'Employment & Administrative' | 'Training & Certifications' | 'Vehicle & Transportation' | 'Professional Licences', required
    - `description` string, required
    - `fields` object[], required
      - `uuid` string, required
      - `label` string, required
      - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN', required
      - `isActive` boolean, required
      - `isRequired` boolean, required
      - `autoApproveConditions` object[], required
        - `operator` 'EQUAL' | 'BEFORE' | 'AFTER' | 'NOT_EQUAL' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'GREATER_THAN_MONTHS' | 'GREATER_THAN_MONTHS_PAST' | 'IS_MONTHS_PAST' | 'IS_MONTHS_FUTURE' | 'IS_PAST' | 'IS_FUTURE', required
        - `value` union
          - string
          - boolean
          - string
          - number
        - `workerAttributeKey` string
      - `autoRejectConditions` object[]
        - `operator` 'EQUAL' | 'BEFORE' | 'AFTER' | 'NOT_EQUAL' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'GREATER_THAN_MONTHS' | 'GREATER_THAN_MONTHS_PAST' | 'IS_MONTHS_PAST' | 'IS_MONTHS_FUTURE' | 'IS_PAST' | 'IS_FUTURE', required
        - `value` union
          - string
          - boolean
          - string
          - number
        - `workerAttributeKey` string
      - `workerCustomAttributeUuid` string
      - `workerCustomAttributeKey` string
      - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
    - `expirableFieldUuid` string, nullable, required
    - `startDateFieldUuid` string, nullable
    - `forceExpirationInDays` number, nullable
    - `forceExpirationUnits` 'days' | 'months' | 'years'
    - `isAutoApprovalEnabled` boolean, required
    - `isFraudDetectionEnabled` boolean, required
    - `doubleSidedEnabled` boolean
    - `recollectionPeriodDays` number, required
    - `externalProcessingUrl` string
    - `externalProcessingAuthHeader` string
    - `instructions` string
    - `enabledOcrProvider` 'base64' | 'claude' | 'openai' | 'pulse' | 'dibby', nullable
    - `ocrConfidenceThreshold` number, nullable, required
    - `ocrProviderConfigs` object, nullable
      - `base64` object
        - `ocrModel` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `claude` object
        - `model` string
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `openai` object
        - `model` string
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `pulse` object
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `dibby` object
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
        - `inputKey` string, required
        - `workflowId` string, required
    - `enabledFraudDetectionProvider` 'openai', nullable
    - `fraudDetectionProviderConfigs` object, nullable
      - `openai` object
        - `model` string
        - `documentType` string, required
    - `hireMapping` object
      - `enabled` boolean, required
      - `fileSource` 'placeholder' | 'file' | 'signedDocumentPdf'
      - `hireSecureDocumentNames` string[]
      - `hireEmbeddedSignatureTemplateId` string
      - `fieldMappings` object[]
        - `fieldUuid` string
        - `hireDataKeys` string[]
      - `hireDataKeyForApprovalDate` string
      - `hireDataKeyForRecollectionDate` string
    - `autoRejectionConfig` object
      - `wrongDocumentType` boolean, required
      - `documentExpired` boolean, required
      - `imageNotReadable` boolean, required
      - `fieldConditionsEnabled` boolean
      - `imageVerification` boolean
      - `imageVerificationQuestion` string
    - `useProxyImage` boolean
    - `acceptedFileTypes` string[]
    - `createdAt` string, date-time
    - `createdBy` string
    - `updatedAt` string, date-time
    - `updatedBy` string

## Response `201`

One or many documentTypes documents created.

- object
  - `data` DocumentTypeDto[]
    - `uuid` string, required
    - `companyUuid` string, required
    - `name` string, required
    - `category` 'custom' | 'Identity Documents' | 'Medical & Health' | 'Insurance & Compliance' | 'Employment & Administrative' | 'Training & Certifications' | 'Vehicle & Transportation' | 'Professional Licences', required
    - `description` string, required
    - `fields` object[], required
      - `uuid` string, required
      - `label` string, required
      - `translatedLabel` string
      - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN', required
      - `isActive` boolean, required
      - `isRequired` boolean, required
      - `autoApproveConditions` object[], required
        - `operator` 'EQUAL' | 'BEFORE' | 'AFTER' | 'NOT_EQUAL' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'GREATER_THAN_MONTHS' | 'GREATER_THAN_MONTHS_PAST' | 'IS_MONTHS_PAST' | 'IS_MONTHS_FUTURE' | 'IS_PAST' | 'IS_FUTURE', required
        - `value` union
          - string
          - boolean
          - string
          - number
        - `workerAttributeKey` string
      - `autoRejectConditions` object[]
        - `operator` 'EQUAL' | 'BEFORE' | 'AFTER' | 'NOT_EQUAL' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'GREATER_THAN_MONTHS' | 'GREATER_THAN_MONTHS_PAST' | 'IS_MONTHS_PAST' | 'IS_MONTHS_FUTURE' | 'IS_PAST' | 'IS_FUTURE', required
        - `value` union
          - string
          - boolean
          - string
          - number
        - `workerAttributeKey` string
      - `workerCustomAttributeUuid` string
      - `workerCustomAttributeKey` string
      - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
    - `expirableFieldUuid` string, nullable, required
    - `startDateFieldUuid` string, nullable
    - `forceExpirationInDays` number, nullable
    - `forceExpirationUnits` 'days' | 'months' | 'years'
    - `isAutoApprovalEnabled` boolean, required
    - `isFraudDetectionEnabled` boolean, required
    - `doubleSidedEnabled` boolean
    - `recollectionPeriodDays` number, required
    - `externalProcessingUrl` string
    - `externalProcessingAuthHeader` string
    - `instructions` string
    - `enabledOcrProvider` 'base64' | 'claude' | 'openai' | 'pulse' | 'dibby', nullable
    - `ocrConfidenceThreshold` number, nullable, required
    - `ocrProviderConfigs` object, nullable
      - `base64` object
        - `ocrModel` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `claude` object
        - `model` string
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `openai` object
        - `model` string
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `pulse` object
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
      - `dibby` object
        - `documentType` string, required
        - `fields` object[], required
          - `fieldUuid` string, required
          - `providerFieldKey` string, required
          - `description` string
          - `promptHint` string
          - `type` 'STRING' | 'NUMBER' | 'DATE' | 'BOOLEAN'
          - `fieldType` 'firstName' | 'lastName' | 'fullName' | 'startDate'
        - `isAsyncEnabled` boolean, required
        - `wholeDocTextSearch` string[]
        - `inputKey` string, required
        - `workflowId` string, required
    - `enabledFraudDetectionProvider` 'openai', nullable
    - `fraudDetectionProviderConfigs` object, nullable
      - `openai` object
        - `model` string
        - `documentType` string, required
    - `hireMapping` object
      - `enabled` boolean, required
      - `fileSource` 'placeholder' | 'file' | 'signedDocumentPdf'
      - `hireSecureDocumentNames` string[]
      - `hireEmbeddedSignatureTemplateId` string
      - `fieldMappings` object[]
        - `fieldUuid` string
        - `hireDataKeys` string[]
      - `hireDataKeyForApprovalDate` string
      - `hireDataKeyForRecollectionDate` string
    - `autoRejectionConfig` object
      - `wrongDocumentType` boolean, required
      - `documentExpired` boolean, required
      - `imageNotReadable` boolean, required
      - `fieldConditionsEnabled` boolean
      - `imageVerification` boolean
      - `imageVerificationQuestion` string
    - `useProxyImage` boolean
    - `acceptedFileTypes` string[]
    - `createdAt` string, date-time, required
    - `createdBy` string, required
    - `updatedAt` string, date-time, required
    - `updatedBy` string, required
  - `meta` ResponsesPartMeta
    - `timestamp` string, date-time, required
    - `verb` 'OPTION' | 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'
    - `path` string
    - `jti` string
    - `rid` string
    - `count` number
    - `status` string
    - `duration` number
    - `size` number

## Other responses

- `500` — default error response

---

[API](https://skmtc.dev/fountain/apis/hire-public-api.md) · [All operations](https://skmtc.dev/fountain/apis/hire-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fountain/hire-public-api/revisions/5f406c0e9462/schema)
