OpenGov Record Forms API

A Record's Form is based on its Record Type. A Form is comprised of Fields which are contained within Sections. Each Field is of a specific data Type, and has a Label and a Value.

OpenAPI Specification

opengov-record-forms-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v2
  title: Permitting & Licensing Record Forms API
  contact:
    name: OpenGov Permitting & Licensing API
    url: https://opengov.com
    email: developers@opengov.com
  description: "The OpenGov Permitting & Licensing API provides programmatic access to Permitting & Licensing data and workflows. With this API, you can integrate with other systems, build custom applications, or automate tasks. \n\nThe API is designed around REST principles, supports JSON:API standards, and exposes resources such as records, inspections, fees, approvals, and user accounts. This documentation covers available endpoints, request and response formats, and error codes, helping developers extend and integrate OpenGov Permitting & Licensing securely and efficiently.\n"
  license:
    name: OpenGov Permitting & Licensing API
    url: https://opengov.com
servers:
- url: https://api.plce.opengov.com/plce
  description: Production
  x-og-envs:
  - production
  - staging
  - development
  - local
security:
- bearerAuth: []
- basicHttpAuthentication: []
- auth0Prod: []
- auth0Dev: []
tags:
- name: Record Forms
  description: 'A Record''s Form is based on its Record Type.


    A Form is comprised of Fields which are contained within Sections. Each Field is of a specific data Type, and has a Label and a Value.


    '
paths:
  /v2/{community}/records/{recordID}/form:
    parameters:
    - $ref: '#/paths/~1v2~1{community}~1approval-steps/parameters/0'
    - $ref: '#/paths/~1v2~1{community}~1records~1{recordID}~1additional-locations/get/parameters/1'
    get:
      summary: Get record form data
      description: "<div style=\"display: flex; gap: 0.75rem; padding: 1rem; background-color: #fffbeb; border: 1px solid #fef08a; border-left: 4px solid #facc15; border-radius: 0.375rem; margin-bottom: 1rem;\">\n  <div style=\"flex-shrink: 0; margin-top: 0.125rem;\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#eab308\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n      <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"></path>\n      <path d=\"M12 9v4\"></path>\n      <path d=\"M12 17h.01\"></path>\n    </svg>\n  </div>\n  <div style=\"flex: 1;\">\n    <div style=\"font-weight: 600; color: #ca8a04; margin-bottom: 0.5rem; font-size: 0.95rem;\">Forms APIs require the latest version of Forms</div>\n    <div style=\"color: #a16207; line-height: 1.6; font-size: 0.9rem;\">Forms APIs are available only on the latest version of Forms, currently in limited release. A 500 error may indicate the community isn't yet on this version. During the limited release, administrators should contact OpenGov to enable access.</div>\n  </div>\n</div>\n\nRetrieve the form data for a specific record. This returns single-entry form data only. For multi-entry form data, use Form Collection endpoints.\n### Permissions Required\n`Record Read`"
      operationId: getRecordFormData
      x-forms-api-warning: true
      x-og-claims-required:
      - PLC_RECORD_READ
      tags:
      - Record Forms
      parameters:
      - name: include
        in: query
        description: Include related resources
        schema:
          type: array
          items:
            type: string
            enum:
            - sections
        style: form
        explode: false
      responses:
        '200':
          description: Successful response
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    title: Record Form Data
                    x-tags:
                    - Record Forms
                    required:
                    - id
                    - type
                    - attributes
                    properties:
                      type:
                        type: string
                        enum:
                        - formData
                        example: formData
                      id:
                        type: string
                        example: form-data-525354
                      attributes:
                        type: object
                        properties:
                          fields:
                            type: array
                            items:
                              type: object
                              description: Form field definition and value.
                              properties:
                                id:
                                  type: string
                                  description: An ID that uniquely identifies a form field
                                  example: form-field-123456789
                                label:
                                  type: string
                                  description: Short description of the form field
                                  example: I agree to the terms and conditions
                                formFieldType:
                                  type: string
                                  enum:
                                  - CHECKBOX
                                  - DATE
                                  - DROP_DOWN
                                  - E_SIGNATURE
                                  - EIN
                                  - FILE_UPLOAD
                                  - NUMBER
                                  - SHORT_TEXT
                                  - LONG_TEXT
                                  - HELP_TEXT
                                  - SSN
                                  description: Indicates the type of field
                                required:
                                  type: boolean
                                  description: Indicates if a field is a required field
                                internal:
                                  type: boolean
                                  description: When true, indicates that the field is visible only to employees otherwise visible to all
                                ordinal:
                                  type: integer
                                  description: Position of the field within a section or field group
                                  example: 1
                                sectionID:
                                  type: integer
                                  description: Indentifier for the section of the form that this field is part of
                                  example: 1
                                date:
                                  type: string
                                  description: Value of the DATE field
                                  format: date
                                dateTime:
                                  type: string
                                  description: Value of the DATE_TIME field
                                  format: date-time
                                checkbox:
                                  type: boolean
                                  description: Value of the CHECKBOX field
                                signature:
                                  type: string
                                  description: Value of the E_SIGNATURE field
                                  example: John Doe
                                ssn:
                                  type: string
                                  description: Value of the SSN field
                                  example: 123-45-6789
                                number:
                                  type: number
                                  description: Value of the NUMBER field
                                  example: 123456789
                                shortText:
                                  type: string
                                  description: Value of the SHORT_TEXT field
                                  example: Short Text
                                longText:
                                  type: string
                                  description: Value of the LONG_TEXT field
                                  example: Long Text
                                dropDown:
                                  type: string
                                  description: Value of the DROP_DOWN field
                                  example: Option 1
                              required:
                              - label
                              - formFieldType
                              - required
                              - internal
                              - ordinal
                              - sectionID
                              if:
                                properties:
                                  formFieldType:
                                    const: DATE
                              then:
                                properties:
                                  date:
                                    type: string
                                    description: Value of the DATE field
                                    format: date
                                required:
                                - date
                              allOf:
                              - if:
                                  properties:
                                    formFieldType:
                                      const: DATE_TIME
                                then:
                                  properties:
                                    dateTime:
                                      type: string
                                      description: Value of the DATE_TIME field
                                      format: date-time
                                  required:
                                  - dateTime
                              - if:
                                  properties:
                                    formFieldType:
                                      const: CHECKBOX
                                then:
                                  properties:
                                    checkbox:
                                      type: boolean
                                      description: Value of the CHECKBOX field
                                  required:
                                  - checkbox
                              - if:
                                  properties:
                                    formFieldType:
                                      const: E_SIGNATURE
                                then:
                                  properties:
                                    signature:
                                      type: string
                                      description: Value of the E_SIGNATURE field
                                  required:
                                  - signature
                              - if:
                                  properties:
                                    formFieldType:
                                      const: E_SIGNATURE
                                then:
                                  properties:
                                    signature:
                                      type: string
                                      description: Value of the E_SIGNATURE field
                                  required:
                                  - signature
                              - if:
                                  properties:
                                    formFieldType:
                                      const: SSN
                                then:
                                  properties:
                                    ssn:
                                      type: string
                                      description: Value of the SSN field
                                  required:
                                  - ssn
                              - if:
                                  properties:
                                    formFieldType:
                                      const: NUMBER
                                then:
                                  properties:
                                    number:
                                      type: number
                                      description: Value of the NUMBER field
                                  required:
                                  - number
                              - if:
                                  properties:
                                    formFieldType:
                                      const: SHORT_TEXT
                                then:
                                  properties:
                                    shortText:
                                      type: string
                                      description: Value of the SHORT_TEXT field
                                  required:
                                  - shortText
                              - if:
                                  properties:
                                    formFieldType:
                                      const: LONG_TEXT
                                then:
                                  properties:
                                    longText:
                                      type: string
                                      description: Value of the LONG_TEXT field
                                  required:
                                  - longText
                              - if:
                                  properties:
                                    formFieldType:
                                      const: DROP_DOWN
                                then:
                                  properties:
                                    dropDown:
                                      type: string
                                      description: Value of the DROP_DOWN field
                                  required:
                                  - dropDown
                        required:
                        - fields
                      relationships:
                        type: object
                        properties:
                          collections:
                            type: object
                            properties:
                              $ref: '#/paths/~1v2~1{community}~1departments/get/responses/200/content/application~1vnd.api+json/schema/properties/data/items/properties/relationships/properties/recordTypes/properties'
                            description: The related *collections*.
                  included:
                    type: array
                    description: The related *collections* if requested.
                    items:
                      type: object
                      title: Form Collection
                      description: 'Form data collection for a record.

                        This is referred to as a multi-entry section in the UI.

                        It is used to collect repeatable data from multiple entries.


                        The related *entries* are referred to as *items* in the UI.

                        Each entry is a collection of form fields.

                        Each entry must be retrieved or updated individually.

                        '
                      x-tags:
                      - Record Forms
                      required:
                      - id
                      - type
                      - attributes
                      properties:
                        id:
                          type: string
                          example: form-collection-555657
                        type:
                          type: string
                          enum:
                          - formCollection
                          example: formCollection
                        attributes:
                          type: object
                          properties:
                            label:
                              type: string
                              example: Property Details
                            ordinal:
                              type: integer
                              example: 2
                            fields:
                              type: array
                              description: 'Definitions of the fields that make up each entry in this collection.

                                Use each field''s `id` as the field identifier when creating or updating

                                collection entries.

                                '
                              items:
                                type: object
                                description: Form field template definition and value
                                properties:
                                  id:
                                    type: string
                                    description: An ID that uniquely identifies a form field
                                    example: form-field-123456789
                                  label:
                                    type: string
                                    description: Label of the form field
                                    example: I agree to the terms and conditions
                                  description:
                                    type: string
                                    nullable: true
                                    description: Description of the form field
                                    example: Please agree to the terms and conditions
                                  formFieldType:
                                    type: string
                                    enum:
                                    - CHECKBOX
                                    - DATE
                                    - DROP_DOWN
                                    - E_SIGNATURE
                                    - EIN
                                    - FILE_UPLOAD
                                    - NUMBER
                                    - SHORT_TEXT
                                    - LONG_TEXT
                                    - HELP_TEXT
                                    - SSN
                                    description: Indicates the type of field
                                  dataType:
                                    type: string
                                    enum:
                                    - NUMBER
                                    - STRING
                                    - BOOLEAN
                                    - DATETIME
                                    description: Indicates the type of form field's data
                                  helpText:
                                    type: string
                                    nullable: true
                                    description: Help text of the form field
                                    example: By checking this box, you acknowledge.
                                  required:
                                    type: boolean
                                    description: Whether the form field is required
                                  internal:
                                    type: boolean
                                    description: When true, indicates that the field is visible only to employees otherwise visible to all
                        relationships:
                          type: object
                          properties:
                            entries:
                              type: object
                              properties:
                                $ref: '#/paths/~1v2~1{community}~1departments/get/responses/200/content/application~1vnd.api+json/schema/properties/data/items/properties/relationships/properties/recordTypes/properties'
                required:
                - data
        '400':
          $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/400'
        '401':
          $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/401'
        '403':
          $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/403'
        '404':
          $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/404'
        '406':
          $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/406'
        '500':
          $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/500'
        '501':
          description: '**Not Implemented**: The server does not support the functionality required to fulfill the request.

            '
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/400/content/application~1vnd.api+json/schema'
              examples:
                not_implemented:
                  summary: Not Implemented
                  value:
                    errors:
                    - id: error-501-001
                      code: NOT_IMPLEMENTED
                      detail: The request method is not implemented by the server and cannot be handled.
                      status: '501'
                      title: Not Implemented
    patch:
      summary: Update record form data
      description: "<div style=\"display: flex; gap: 0.75rem; padding: 1rem; background-color: #fffbeb; border: 1px solid #fef08a; border-left: 4px solid #facc15; border-radius: 0.375rem; margin-bottom: 1rem;\">\n  <div style=\"flex-shrink: 0; margin-top: 0.125rem;\">\n    <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#eab308\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n      <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"></path>\n      <path d=\"M12 9v4\"></path>\n      <path d=\"M12 17h.01\"></path>\n    </svg>\n  </div>\n  <div style=\"flex: 1;\">\n    <div style=\"font-weight: 600; color: #ca8a04; margin-bottom: 0.5rem; font-size: 0.95rem;\">Forms APIs require the latest version of Forms</div>\n    <div style=\"color: #a16207; line-height: 1.6; font-size: 0.9rem;\">Forms APIs are available only on the latest version of Forms, currently in limited release. A 500 error may indicate the community isn't yet on this version. During the limited release, administrators should contact OpenGov to enable access.</div>\n  </div>\n</div>\n\nUpdate the form data for a specific record. This updates single-entry form data only. For multi-entry form data, use Form Collection endpoints.\n### Permissions Required\n`Record Write`"
      operationId: updateRecordFormData
      x-forms-api-warning: true
      x-og-claims-required:
      - PLC_RECORD_WRITE
      tags:
      - Record Forms
      parameters:
      - $ref: '#/paths/~1v2~1{community}~1approval-steps~1{approvalStepID}/patch/parameters/0'
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  title: Record Form Data
                  x-tags:
                  - Record Forms
                  required:
                  - id
                  - type
                  - attributes
                  properties:
                    type:
                      type: string
                      enum:
                      - formData
                      example: formData
                    id:
                      type: string
                      example: form-data-1000005
                    attributes:
                      type: object
                      properties:
                        fields:
                          type: array
                          items:
                            type: object
                            description: Form field create / update payload.
                            properties:
                              id:
                                type: string
                                description: An ID that uniquely identifies a form field
                                example: form-field-123456789
                              date:
                                type: string
                                description: Value of the DATE field
                                format: date
                              dateTime:
                                type: string
                                description: Value of the DATE_TIME field
                                format: date-time
                              checkbox:
                                type: boolean
                                description: Value of the CHECKBOX field
                              signature:
                                type: string
                                description: Value of the E_SIGNATURE field
                                example: John Doe
                              ssn:
                                type: string
                                description: Value of the SSN field
                                example: 123-45-6789
                              number:
                                type: number
                                description: Value of the NUMBER field
                                example: 123456789
                              shortText:
                                type: string
                                description: Value of the SHORT_TEXT field
                                example: Short Text
                              longText:
                                type: string
                                description: Value of the LONG_TEXT field
                                example: Long Text
                              dropDown:
                                type: string
                                description: Value of the DROP_DOWN field
                                example: Option 1
                            required:
                            - id
                            if:
                              properties:
                                formFieldType:
                                  const: DATE
                            then:
                              properties:
                                date:
                                  type: string
                                  description: Value of the DATE field
                                  format: date
                              required:
                              - date
                            allOf:
                            - if:
                                properties:
                                  formFieldType:
                                    const: DATE_TIME
                              then:
                                properties:
                                  dateTime:
                                    type: string
                                    description: Value of the DATE_TIME field
                                    format: date-time
                                required:
                                - dateTime
                            - if:
                                properties:
                                  formFieldType:
                                    const: CHECKBOX
                              then:
                                properties:
                                  checkbox:
                                    type: boolean
                                    description: Value of the CHECKBOX field
                                required:
                                - checkbox
                            - if:
                                properties:
                                  formFieldType:
                                    const: E_SIGNATURE
                              then:
                                properties:
                                  signature:
                                    type: string
                                    description: Value of the E_SIGNATURE field
                                required:
                                - signature
                            - if:
                                properties:
                                  formFieldType:
                                    const: E_SIGNATURE
                              then:
                                properties:
                                  signature:
                                    type: string
                                    description: Value of the E_SIGNATURE field
                                required:
                                - signature
                            - if:
                                properties:
                                  formFieldType:
                                    const: SSN
                              then:
                                properties:
                                  ssn:
                                    type: string
                                    description: Value of the SSN field
                                required:
                                - ssn
                            - if:
                                properties:
                                  formFieldType:
                                    const: NUMBER
                              then:
                                properties:
                                  number:
                                    type: number
                                    description: Value of the NUMBER field
                                required:
                                - number
                            - if:
                                properties:
                                  formFieldType:
                                    const: SHORT_TEXT
                              then:
                                properties:
                                  shortText:
                                    type: string
                                    description: Value of the SHORT_TEXT field
                                required:
                                - shortText
                            - if:
                                properties:
                                  formFieldType:
                                    const: LONG_TEXT
                              then:
                                properties:
                                  longText:
                                    type: string
                                    description: Value of the LONG_TEXT field
                                required:
                                - longText
                            - if:
                                properties:
                                  formFieldType:
                                    const: DROP_DOWN
                              then:
                                properties:
                                  dropDown:
                                    type: string
                                    description: Value of the DROP_DOWN field
                                required:
                                - dropDown
                      required:
                      - fields
              required:
              - data
      responses:
        '200':
          description: Successful response
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    title: Record Form Data
                    x-tags:
                    - Record Forms
                    required:
                    - id
                    - type
                    - attributes
                    properties:
                      type:
                        type: string
                        enum:
                        - formData
                        example: formData
                      id:
                        type: string
                        example: form-data-525354
                      attributes:
                        type: object
                        

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/opengov/refs/heads/main/openapi/opengov-record-forms-api-openapi.yml