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

# Update form

> Update form by id



## OpenAPI

````yaml put /v1.0/{company_id}/forms/application/{form_id}
openapi: 3.0.0
info:
  title: HireHive API reference
  termsOfService: https://www.hirehive.com/terms/
  contact:
    email: support@hirehive.com
  version: v1.0
servers:
  - url: https://api.hirehive.com
security:
  - bearerAuth: []
paths:
  /v1.0/{company_id}/forms/application/{form_id}:
    put:
      tags:
        - JobForms
      operationId: JobForms_UpdateForm
      parameters:
        - name: company_id
          in: path
          required: true
          schema:
            type: string
            format: string
          x-position: 1
        - name: form_id
          in: path
          required: true
          schema:
            type: string
            format: string
          x-position: 2
      requestBody:
        x-name: request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFormRequest'
        required: true
        x-position: 3
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingleResponseOfDefaultFormOptionDto'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    UpdateFormRequest:
      type: object
      additionalProperties: false
      required:
        - name
        - type
      properties:
        questions:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFormQuestion'
        name:
          type: string
          minLength: 1
        type:
          $ref: '#/components/schemas/FormTypeEnum'
    SingleResponseOfDefaultFormOptionDto:
      type: object
      additionalProperties: false
      properties:
        data:
          $ref: '#/components/schemas/DefaultFormOptionDto'
    ValidationProblemDetails:
      type: object
      additionalProperties:
        nullable: true
      properties:
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
    ProblemDetails:
      type: object
      additionalProperties:
        nullable: true
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
    UpdateFormQuestion:
      type: object
      additionalProperties: false
      required:
        - type
        - question
      properties:
        id:
          type: string
          description: The id of an existing question, leave blank to create a new question
          format: int32
          nullable: true
        type:
          $ref: '#/components/schemas/Elements'
        question:
          type: string
          minLength: 1
        description:
          type: string
        options:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFormOptions'
        required:
          type: boolean
          description: A flag to indicate if the question requires an answer.
        restricted:
          type: boolean
        archived:
          type: boolean
          description: A flag to indicate if the question has been archived.
        display_order:
          type: integer
          format: int32
    FormTypeEnum:
      type: string
      description: ''
      x-enumNames:
        - ApplicationQuestions
        - FollowUpQuestions
        - FeedbackForm
      enum:
        - application_questions
        - follow_up_questions
        - feedback_form
    DefaultFormOptionDto:
      type: object
      additionalProperties: false
      properties:
        current_title:
          $ref: '#/components/schemas/JobFieldStatusEnum'
          nullable: true
        current_company:
          $ref: '#/components/schemas/JobFieldStatusEnum'
          nullable: true
        location:
          $ref: '#/components/schemas/JobFieldStatusEnum'
          nullable: true
        phone:
          $ref: '#/components/schemas/JobFieldStatusEnum'
          nullable: true
        resume:
          $ref: '#/components/schemas/JobFieldStatusEnum'
          nullable: true
        cover_letter:
          $ref: '#/components/schemas/JobFieldStatusEnum'
          nullable: true
    Elements:
      type: string
      description: ''
      x-enumNames:
        - Textbox
        - TextArea
        - Radio
        - Checkbox
        - Dropdown
        - Upload
        - Header
        - Scorecard
      enum:
        - textbox
        - text_area
        - radio
        - checkbox
        - dropdown
        - upload
        - header
        - scorecard
    UpdateFormOptions:
      type: object
      additionalProperties: false
      required:
        - label
      properties:
        id:
          type: string
          format: int32
          nullable: true
        label:
          type: string
          minLength: 1
        description:
          type: string
        archived:
          type: boolean
        tag:
          $ref: '#/components/schemas/CreateTagOption'
    JobFieldStatusEnum:
      type: string
      description: ''
      x-enumNames:
        - 'Off'
        - Optional
        - Required
      enum:
        - 'off'
        - optional
        - required
    CreateTagOption:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          format: int32
        name:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````