---
title: "Create a JSON form"
method: POST
path: "/json-forms/forms"
tags: ["JSON Forms"]
---

# Create a JSON form

`POST /json-forms/forms`

## Request

- Base URL: `https://example.itential.io`
- URL: `https://example.itential.io/json-forms/forms`
- Auth: none declared

Creates a new JSON form document with a unique name.

## Request body

- object
  - `name` string
  - `description` string
  - `struct` JsonFormsFormStruct
    - `nodeId` string
    - `projectId` string
    - `type` string, required
    - `items` JsonFormsFormStructItemsItems[], required
      - union
        - JsonFormsFormStructItemsItems0
          - `nodeId` string, required
          - `type` string, required
          - `title` string, required
          - `required` union
            - boolean
            - unknown[]
              - …
          - `options` JsonFormsFormStructItemsItemsOneOf0Options
          - `description` string
          - `helper` string
          - `items` JsonFormsFormStructItemsItemsOneOf0ItemsItems[], required
            - union
              - …
          - `collapsed` boolean
          - `readOnly` boolean
          - `schemaOption` boolean
          - `combinationType` string
          - `widget` string
          - `uniqueItems` boolean
          - `minItems` number, double
          - `maxItems` number, double
          - `customKey` union
            - string
            - boolean
        - JsonFormsFormStructItemsItems1
          - `nodeId` string, required
          - `customKey` union
            - string
            - boolean
          - `type` 'boolean', required
          - `required` boolean
          - `options` JsonFormsFormStructItemsItemsOneOf1Options
          - `title` string, required
          - `description` string, required
          - `helper` string
          - `default` boolean
          - `enum` JsonFormsFormStructItemsItemsOneOf1EnumItems[]
            - `id` string
            - `value` boolean
          - `readOnly` boolean
          - `widget` string
        - JsonFormsFormStructItemsItems2
          - `customKey` union
            - string
            - boolean
          - `nodeId` string, required
          - `type` 'number', required
          - `widget` string
          - `options` JsonFormsFormStructItemsItemsOneOf2Options
          - `title` string, required
          - `description` string, required
          - `helper` string
          - `placeholder` string, required
          - `required` boolean, required
          - `validation` union
            - object
            - unknown[]
              - …
          - `readOnly` boolean
          - `minimum` number, double, nullable
          - `maximum` number, double, nullable
          - `default` number, double, nullable
          - `disabled` boolean
        - JsonFormsFormStructItemsItems3
          - `nodeId` string, required
          - `type` 'string', required
          - `customKey` union
            - string
            - boolean
          - `title` string, required
          - `options` JsonFormsFormStructItemsItemsOneOf3Options
          - `description` string, required
          - `helper` string
          - `placeholder` string, required
          - `required` boolean, required
          - `pattern` string
          - `validation` union
            - object
            - unknown[]
              - …
          - `readOnly` boolean
          - `binding` boolean
          - `rel` string
          - `targetPointer` string
          - `format` string
          - `minLength` integer
          - `maxLength` integer
          - `default` string
          - `disabled` boolean
        - JsonFormsFormStructItemsItems4
          - `customKey` union
            - string
            - boolean
          - `nodeId` string, required
          - `type` 'string', required
          - `widget` string
          - `title` string, required
          - `options` JsonFormsFormStructItemsItemsOneOf4Options
          - `description` string, required
          - `helper` string
          - `placeholder` string, required
          - `required` boolean, required
          - `pattern` string
          - `validation` union
            - object
            - unknown[]
              - …
          - `readOnly` boolean
          - `format` string
          - `minLength` integer
          - `maxLength` integer
          - `default` string
          - `disabled` boolean
        - JsonFormsFormStructItemsItems5
          - `nodeId` string, required
          - `type` string, required
          - `customKey` union
            - string
            - boolean
          - `title` string, required
          - `options` JsonFormsFormStructItemsItemsOneOf5Options
          - `description` string, required
          - `helper` string
          - `placeholder` string
          - `required` boolean, required
          - `enum` JsonFormsFormStructItemsItemsOneOf5EnumItems[]
            - union
              - …
          - `enumNames` JsonFormsFormStructItemsItemsOneOf5EnumNamesItems[]
          - `binding` boolean
          - `pattern` string
          - `rel` string
          - `targetPointer` string
          - `method` string, nullable
          - `body` JsonFormsFormStructItemsItemsOneOf5Body
          - `sourcePointer` string, nullable
          - `sourceKeyPointer` string, nullable
          - `labelKeyPointer` string, nullable
          - `base` string, nullable
          - `href` string, nullable
          - `validation` union
            - object
            - unknown[]
              - …
          - `readOnly` boolean
          - `transformation` union
            - string
            - object
          - `disabled` boolean
          - `default` union
            - string
            - string[]
          - `widget` string
          - `radio` boolean
          - `inline` boolean
        - JsonFormsFormStructItemsItems6
          - `nodeId` string, required
          - `type` 'string', required
          - `title` string, required
          - `description` string, required
          - `helper` string
          - `required` boolean
          - `format` 'data-url'
          - `customKey` union
            - string
            - boolean
  - `schema` JsonFormsFormSchemaContainer
    - `_id` string
    - `uniqueItems` boolean
    - `minItems` number, double
    - `maxItems` number, double
    - `type` string, required
    - `title` string, required
    - `description` string
    - `required` string[]
    - `readOnly` boolean
    - `options` JsonFormsFormSchemaContainerOptions
    - `properties` JsonFormsFormSchemaContainer (recursive)
    - `items` JsonFormsFormSchemaContainerItems
    - `anyOf` JsonFormsFormSchemaContainerItems[]
    - `oneOf` JsonFormsFormSchemaContainerOneOfItems[]
    - `allOf` JsonFormsFormSchemaContainerItems[]
  - `uiSchema` JsonFormsFormUISchemaContainer
  - `bindingSchema` JsonFormsFormBindingSchemaBindingSchema
  - `validationSchema` JsonFormsFormValidationSchemaValidationSchema

## Response `200`

document that was created from the request

- JsonFormsFormDocumentForm
  - `_id` string
  - `created` string, date-time, required
  - `createdBy` string, required
  - `lastUpdated` string, date-time, required
  - `lastUpdatedBy` string, required
  - `name` string, required
  - `tags` JsonFormsFormDocumentFormTagsItems[]
    - union
      - string
      - object
  - `description` string, nullable, required
  - `struct` JsonFormsFormDocumentFormStruct, required
    - `nodeId` string
    - `projectId` string
    - `type` string, required
    - `items` JsonFormsFormDocumentFormStructItemsItems[], required
      - union
        - JsonFormsFormDocumentFormStructItemsItems0
          - `nodeId` string, required
          - `type` string, required
          - `title` string, required
          - `required` union
            - boolean
            - unknown[]
              - …
          - `options` JsonFormsFormDocumentFormStructItemsItemsOneOf0Options
          - `description` string
          - `helper` string
          - `items` JsonFormsFormDocumentFormStructItemsItemsOneOf0ItemsItems[], required
            - union
              - …
          - `collapsed` boolean
          - `readOnly` boolean
          - `schemaOption` boolean
          - `combinationType` string
          - `widget` string
          - `uniqueItems` boolean
          - `minItems` number, double
          - `maxItems` number, double
          - `customKey` union
            - string
            - boolean
        - JsonFormsFormDocumentFormStructItemsItems1
          - `nodeId` string, required
          - `customKey` union
            - string
            - boolean
          - `type` 'boolean', required
          - `required` boolean
          - `options` JsonFormsFormDocumentFormStructItemsItemsOneOf1Options
          - `title` string, required
          - `description` string, required
          - `helper` string
          - `default` boolean
          - `enum` JsonFormsFormDocumentFormStructItemsItemsOneOf1EnumItems[]
            - `id` string
            - `value` boolean
          - `readOnly` boolean
          - `widget` string
        - JsonFormsFormDocumentFormStructItemsItems2
          - `customKey` union
            - string
            - boolean
          - `nodeId` string, required
          - `type` 'number', required
          - `widget` string
          - `options` JsonFormsFormDocumentFormStructItemsItemsOneOf2Options
          - `title` string, required
          - `description` string, required
          - `helper` string
          - `placeholder` string, required
          - `required` boolean, required
          - `validation` union
            - object
            - unknown[]
              - …
          - `readOnly` boolean
          - `minimum` number, double, nullable
          - `maximum` number, double, nullable
          - `default` number, double, nullable
          - `disabled` boolean
        - JsonFormsFormDocumentFormStructItemsItems3
          - `nodeId` string, required
          - `type` 'string', required
          - `customKey` union
            - string
            - boolean
          - `title` string, required
          - `options` JsonFormsFormDocumentFormStructItemsItemsOneOf3Options
          - `description` string, required
          - `helper` string
          - `placeholder` string, required
          - `required` boolean, required
          - `pattern` string
          - `validation` union
            - object
            - unknown[]
              - …
          - `readOnly` boolean
          - `binding` boolean
          - `rel` string
          - `targetPointer` string
          - `format` string
          - `minLength` integer
          - `maxLength` integer
          - `default` string
          - `disabled` boolean
        - JsonFormsFormDocumentFormStructItemsItems4
          - `customKey` union
            - string
            - boolean
          - `nodeId` string, required
          - `type` 'string', required
          - `widget` string
          - `title` string, required
          - `options` JsonFormsFormDocumentFormStructItemsItemsOneOf4Options
          - `description` string, required
          - `helper` string
          - `placeholder` string, required
          - `required` boolean, required
          - `pattern` string
          - `validation` union
            - object
            - unknown[]
              - …
          - `readOnly` boolean
          - `format` string
          - `minLength` integer
          - `maxLength` integer
          - `default` string
          - `disabled` boolean
        - JsonFormsFormDocumentFormStructItemsItems5
          - `nodeId` string, required
          - `type` string, required
          - `customKey` union
            - string
            - boolean
          - `title` string, required
          - `options` JsonFormsFormDocumentFormStructItemsItemsOneOf5Options
          - `description` string, required
          - `helper` string
          - `placeholder` string
          - `required` boolean, required
          - `enum` JsonFormsFormDocumentFormStructItemsItemsOneOf5EnumItems[]
            - union
              - …
          - `enumNames` JsonFormsFormDocumentFormStructItemsItemsOneOf5EnumNamesItems[]
          - `binding` boolean
          - `pattern` string
          - `rel` string
          - `targetPointer` string
          - `method` string, nullable
          - `body` JsonFormsFormDocumentFormStructItemsItemsOneOf5Body
          - `sourcePointer` string, nullable
          - `sourceKeyPointer` string, nullable
          - `labelKeyPointer` string, nullable
          - `base` string, nullable
          - `href` string, nullable
          - `validation` union
            - object
            - unknown[]
              - …
          - `readOnly` boolean
          - `transformation` union
            - string
            - object
          - `disabled` boolean
          - `default` union
            - string
            - string[]
          - `widget` string
          - `radio` boolean
          - `inline` boolean
        - JsonFormsFormDocumentFormStructItemsItems6
          - `nodeId` string, required
          - `type` 'string', required
          - `title` string, required
          - `description` string, required
          - `helper` string
          - `required` boolean
          - `format` 'data-url'
          - `customKey` union
            - string
            - boolean
  - `schema` JsonFormsFormDocumentFormSchema, required
    - `_id` string
    - `uniqueItems` boolean
    - `minItems` number, double
    - `maxItems` number, double
    - `type` string, required
    - `title` string, required
    - `description` string
    - `required` string[]
    - `readOnly` boolean
    - `options` JsonFormsFormDocumentFormSchemaOptions
    - `properties` JsonFormsFormDocumentFormSchema (recursive)
    - `items` JsonFormsFormDocumentFormSchemaItems
    - `anyOf` JsonFormsFormDocumentFormSchemaItems[]
    - `oneOf` JsonFormsFormDocumentFormSchemaOneOfItems[]
    - `allOf` JsonFormsFormDocumentFormSchemaItems[]
  - `uiSchema` JsonFormsFormDocumentFormUiSchema, required
  - `validationSchema` JsonFormsFormDocumentFormValidationSchema, required
  - `bindingSchema` JsonFormsFormDocumentFormBindingSchema, required
  - `version` string, required
  - `id` string
  - `namespace` JsonFormsFormDocumentFormNamespace
    - `type` unknown
    - `_id` string
    - `name` string
    - `accessControl` JsonFormsFormDocumentFormNamespaceAccessControl
      - `read` string[]
      - `execute` string[]
      - `write` string[]
      - `manage` string[]

## Other responses

- `500`: Error response from API

## Changes

- **2026-10-31** `2095cc90e583`: 2 info
  - api tag `JSON Forms` added
  - api tag `jsonForms` removed

[Operation history](https://skmtc.dev/itential/apis/itential-2/changes/json-forms/forms/post.md)

---

[API](https://skmtc.dev/itential/apis/itential-2.md) - [All operations](https://skmtc.dev/itential/apis/itential-2/llms.txt) - [OpenAPI document](https://skmtc.dev/itential/apis/itential-2/revisions/2095cc90e583?raw)
