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

# Get form metadata

> Given the formId, returns all the questions in that form and other metadata

<Warning>
  New field types are added regularly. Your application should discard fields with unknown types.
</Warning>


## OpenAPI

````yaml GET /forms/{formId}
openapi: 3.0.1
info:
  title: Fillout REST API
  description: A REST API for managing forms, submissions, and webhooks in Fillout
  version: 1.0.0
servers:
  - url: https://api.fillout.com/v1/api
    description: US server
  - url: https://eu-api.fillout.com/v1/api
    description: EU server
security:
  - bearerAuth: []
paths:
  /forms/{formId}:
    get:
      summary: Get form metadata
      description: >-
        Given the formId, returns all the questions in that form and other
        metadata
      operationId: getFormMetadata
      parameters:
        - name: formId
          in: path
          required: true
          schema:
            type: string
          description: The public ID of your form
      responses:
        '200':
          description: Form metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormMetadata'
components:
  schemas:
    FormMetadata:
      type: object
      properties:
        id:
          type: string
          description: The public identifier of the form
        name:
          type: string
          description: The name of the form
        questions:
          type: array
          items:
            $ref: '#/components/schemas/Question'
          description: List of questions in the form
        calculations:
          type: array
          items:
            $ref: '#/components/schemas/Calculation'
          description: List of calculations in the form
        urlParameters:
          type: array
          items:
            $ref: '#/components/schemas/UrlParameter'
          description: List of URL parameters
        scheduling:
          type: array
          items:
            $ref: '#/components/schemas/SchedulingField'
          description: List of scheduling fields (if using Fillout Scheduling)
        payments:
          type: array
          items:
            $ref: '#/components/schemas/PaymentField'
          description: List of payment fields (if using Fillout Payments)
        quiz:
          $ref: '#/components/schemas/QuizConfig'
          description: Quiz configuration (only defined if quiz mode is enabled)
      required:
        - id
        - name
        - questions
    Question:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the question
        name:
          type: string
          description: The question text
        type:
          type: string
          enum:
            - Address
            - AudioRecording
            - Calcom
            - Calendly
            - Captcha
            - Checkbox
            - Checkboxes
            - ColorPicker
            - CurrencyInput
            - DatePicker
            - DateRange
            - DateTimePicker
            - Dropdown
            - EmailInput
            - FileUpload
            - ImagePicker
            - LocationCoordinates
            - LongAnswer
            - Matrix
            - MultiSelect
            - MultipleChoice
            - NumberInput
            - OpinionScale
            - Password
            - Payment
            - PhoneNumber
            - Ranking
            - RecordPicker
            - ShortAnswer
            - Signature
            - Slider
            - StarRating
            - Subform
            - SubmissionPicker
            - Switch
            - Table
            - TimePicker
            - URLInput
          description: The type of the question
      required:
        - id
        - name
        - type
    Calculation:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the calculation
        name:
          type: string
          description: The name of the calculation
        type:
          type: string
          enum:
            - number
            - text
            - duration
          description: The type of the calculation
      required:
        - id
        - name
        - type
    UrlParameter:
      type: object
      properties:
        id:
          type: string
          description: Identifier for the URL parameter
        name:
          type: string
          description: Name of the URL parameter
      required:
        - id
        - name
    SchedulingField:
      type: object
      properties:
        id:
          type: string
          description: Identifier for the scheduling field
        name:
          type: string
          description: Name of the scheduling field
      required:
        - id
        - name
    PaymentField:
      type: object
      properties:
        id:
          type: string
          description: Identifier for the payment field
        name:
          type: string
          description: Name of the payment field
      required:
        - id
        - name
    QuizConfig:
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether quiz mode is enabled
      required:
        - enabled
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Enter your [Fillout API
        key](https://build.fillout.com/home/settings/developer). Format: Bearer
        <api_key>

````