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

# Get Form By ID

> Fetch the full configuration and metadata for a form, including its fields, layout hierarchy, validation rules, and submission settings. Use this endpoint to dynamically render form UIs or integrate with form builders at runtime.

Before calling this endpoint, make sure you’ve generated an API token and picked the correct domain. See [Authentication & Base URLs](/api-reference/authbaseurl).


## OpenAPI

````yaml GET /apis/setting-service/public/v1/forms/{form_id}
openapi: 3.1.0
info:
  title: OpenAPI Plant Store
  description: >-
    A sample API that uses a plant store as an example to demonstrate features
    in the OpenAPI specification
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://apis.experro.app
    description: Admin Server
  - url: https://{base-address}
    description: Custom Server
    variables:
      base-address:
        default: ''
        description: Enter your custom domain or server address.
security:
  - bearerAuth: []
paths:
  /apis/setting-service/public/v1/forms/{form_id}:
    get:
      summary: Retrieve Form Definition by ID
      description: >-
        Fetch the full configuration and metadata for a form, including its
        fields, layout hierarchy, validation rules, and submission settings. Use
        this endpoint to dynamically render form UIs or integrate with form
        builders at runtime.
      parameters:
        - name: form_id
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier of the form to retrieve.
        - $ref: '#/components/parameters/FieldsQryPrm'
        - $ref: '#/components/parameters/LocaleQryPrm'
      responses:
        '200':
          description: Form configuration and metadata returned successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    example: success
                    description: Indicates whether the request was successful.
                  Data:
                    type: object
                    properties:
                      item:
                        type: object
                        description: Detailed form definition.
                        properties:
                          id:
                            type: string
                            format: uuid
                          tenant_id:
                            type: string
                            format: uuid
                          workspace_id:
                            type: string
                            format: uuid
                          name:
                            type: string
                          display_name:
                            type: string
                          description:
                            type: string
                          form_type:
                            type: string
                          form_builder:
                            type: array
                            description: Array of form components in hierarchy order.
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                type:
                                  type: string
                                name:
                                  type: string
                                properties:
                                  type: object
                                  description: Component-specific settings.
                                  additionalProperties: true
                                children:
                                  type: array
                                  description: Nested sub-components.
                                  items:
                                    type: object
                          submit_btn_txt:
                            type: string
                          is_captcha_enabled:
                            type: boolean
                          success_action:
                            type: object
                            properties:
                              redirect:
                                type: string
                          webhook:
                            type: string
                            format: uri
                          created_by:
                            type: string
                            format: uuid
                          created_at:
                            type: string
                            format: date-time
                          modified_by:
                            type: string
                            format: uuid
                          modified_at:
                            type: string
                            format: date-time
                          form_media_base_folder_id:
                            type: string
                            format: uuid
                          form_media_folder_id:
                            type: string
                            format: uuid
        '400':
          description: Bad Request – invalid `form_id` or parameters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    example: failure
                  Data:
                    $ref: '#/components/schemas/Error404'
        '401':
          description: Unauthorized – Missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    example: failure
                  Data:
                    $ref: '#/components/schemas/Error401'
        '500':
          description: Internal Server Error – an unexpected error on the server.
          content:
            application/json:
              schema:
                type: object
                properties:
                  Status:
                    type: string
                    example: failure
                  Data:
                    $ref: '#/components/schemas/Error500'
      security: []
      servers:
        - url: https://{base-address}
          description: Custom Server
          variables:
            base-address:
              default: ''
              description: Enter your custom domain or server address.
components:
  parameters:
    FieldsQryPrm:
      name: fields
      in: query
      description: Comma-separated list of fields to include in the response
      schema:
        type: string
      required: true
    LocaleQryPrm:
      name: locale
      in: query
      description: Specifies the language or region for the response data
      required: true
      schema:
        type: string
  schemas:
    Error404:
      type: object
      properties:
        Status:
          type: string
          example: failure
        Error:
          type: object
          properties:
            message:
              type: string
            name:
              type: string
            code:
              type: string
          required:
            - message
            - name
      required:
        - Status
        - Error
    Error401:
      type: object
      properties:
        Status:
          type: string
          example: failure
        Error:
          type: object
          properties:
            message:
              type: string
            name:
              type: string
            code:
              type: string
          required:
            - message
            - name
      required:
        - Status
        - Error
    Error500:
      type: object
      properties:
        Status:
          type: string
          example: failure
        Error:
          type: object
          properties:
            message:
              type: string
            name:
              type: string
            code:
              type: string
          required:
            - message
            - name
      required:
        - Status
        - Error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````