post:
  tags:
    - Custom Forms
  summary: Generate JSON Schema dynamically.
  operationId: createFormDefinitionDynamicSchema
  requestBody:
    description: Body is the request payload to create a form definition dynamic
      schema
    content:
      application/json:
        schema:
          $ref: '../schemas/forms/FormDefinitionDynamicSchemaRequest.yaml'
        example: {
          "id": "sp:forms",
          "attributes": {
            "formDefinitionId": "00000000-0000-0000-0000-000000000000"
          },
          "description": "AnotherDescription",
          "type": "action",
          "versionNumber": 1
        }
    required: false
  responses:
    "200":
      description: Returns a form elements dynamic schema
      content:
        application/json:
          schema:
            $ref: '../schemas/forms/FormDefinitionDynamicSchemaResponse.yaml'
    "400":
      description: An error with the request occurred
      content:
        application/json:
          schema:
            type: object
            properties:
              detailCode:
                type: string
                x-go-name: DetailCode
              messages:
                type: array
                items:
                  $ref: '../schemas/forms/ErrorMessage.yaml'
                x-go-name: Messages
              statusCode:
                type: integer
                format: int64
                x-go-name: StatusCode
              trackingId:
                type: string
                x-go-name: TrackingID
    "401":
      description: An error with the authorization occurred
      content:
        application/json:
          schema:
            type: object
            properties:
              detailCode:
                type: string
                x-go-name: DetailCode
              messages:
                type: array
                items:
                  $ref: '../schemas/forms/ErrorMessage.yaml'
                x-go-name: Messages
              statusCode:
                type: integer
                format: int64
                x-go-name: StatusCode
              trackingId:
                type: string
                x-go-name: TrackingID
    "403":
      description: An error with the user permissions occurred
      content:
        application/json:
          schema:
            type: object
            properties:
              detailCode:
                type: string
                x-go-name: DetailCode
              messages:
                type: array
                items:
                  $ref: '../schemas/forms/ErrorMessage.yaml'
                x-go-name: Messages
              statusCode:
                type: integer
                format: int64
                x-go-name: StatusCode
              trackingId:
                type: string
                x-go-name: TrackingID
    "404":
      description: An error with the item not found
      content:
        application/json:
          schema:
            type: object
            properties:
              detailCode:
                type: string
                x-go-name: DetailCode
              messages:
                type: array
                items:
                  $ref: '../schemas/forms/ErrorMessage.yaml'
                x-go-name: Messages
              statusCode:
                type: integer
                format: int64
                x-go-name: StatusCode
              trackingId:
                type: string
                x-go-name: TrackingID
    "429":
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '../schemas/forms/Error.yaml'
    "500":
      description: An internal server error occurred
      content:
        application/json:
          schema:
            type: object
            properties:
              detailCode:
                type: string
                x-go-name: DetailCode
              messages:
                type: array
                items:
                  $ref: '../schemas/forms/ErrorMessage.yaml'
                x-go-name: Messages
              statusCode:
                type: integer
                format: int64
                x-go-name: StatusCode
              trackingId:
                type: string
                x-go-name: TrackingID
  security:
    - oauth2:
        - sp:forms:manage
  x-codegen-request-body-name: Body