openapi: 3.1.1
info:
  title: Form
  version: 2.0.0
  description: Describes a form
  license:
    name: CC-BY-NC-SA 4.0 International
  contact:
    name: Beckn Labs
    url: https://beckn.io
components:
  schemas:
    Form:
      x-iri: https://schema.nfh.global/Form/v2.0
      description: Describes a form
      title: Form
      type: object
      properties:
        '@context':
          type: string
          format: uri
          example: https://raw.githubusercontent.com/beckn/protocol-specifications-new/refs/heads/main/schema/core/v2/context.jsonld
        '@type':
          type: string
          enum:
          - beckn:Form
          x-jsonld:
            '@id': beckn:Form
        url:
          description: The URL from where the form can be fetched. The content fetched from the url must be processed as per the mime_type specified in this object. Once fetched, the rendering platform can choosed to render the form as-is as an embeddable element; or process it further to blend with the theme of the application. In case the interface is non-visual, the the render can process the form data and reproduce it as per the standard specified in the form.
          type: string
          format: uri
        data:
          description: The form submission data
          type: object
          additionalProperties:
            type: string
        mime_type:
          description: This field indicates the nature and format of the form received by querying the url. MIME types are defined and standardized in IETF's RFC 6838.
          type: string
          enum:
          - text/html
          - application/xml
        submission_id:
          type: string
          format: uuid
      required:
      - '@context'
      - '@type'
