OpenGov Record Form 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-form-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: Permitting Licensing & Code Enforcement Record Form API
  x-logo:
    url: https://viewpointcloud.blob.core.windows.net/profile-pictures/Frame_778_Sun_Nov_12_2023_17:18:36_GMT+0000_(Coordinated_Universal_Time).png
  description: "The OpenGov Permitting & Licensing API is organized around REST. The API is based on the JSON API specification and uses standard HTTP response codes, authentication, and verbs.\n\n## Authentication\nThe OpenGov Permitting & Licensing API is authenticated using the [OAuth2](https://www.rfc-editor.org/rfc/rfc6749) Client Credentials flow. Access tokens are provided as a [bearer token](https://datatracker.ietf.org/doc/html/rfc6750) Authorization header in all API requests.\n\nTo obtain an access token, you must have an OpenGov-provided **Client ID** and **Client Secret** and make a POST request to https://accounts.viewpointcloud.com/oauth/token\n\nExample request:\n\n```bash\ncurl --request POST \\\n  --url https://accounts.viewpointcloud.com/oauth/token \\\n  --header 'content-type: application/x-www-form-urlencoded' \\\n  --data 'grant_type=client_credentials' \\\n  --data 'client_id=YOUR_CLIENT_ID' \\\n  --data 'client_secret=YOUR_CLIENT_SECRET' \\\n  --data 'audience=viewpointcloud.com/api/production'\n```\n\nThe response will include:\n- `access_token`: Access token issued by the authorization server\n- `token_type`: Type of token issued (typically `Bearer`)\n- `expires_in`: The lifetime in seconds of the access token\n<br />\n<br />\nThe API will return a 401 error if a token is invalid.\n<br />\n<br />\n"
servers:
- url: https://api.plce.opengov.com/plce
  description: Production
security:
- bearerAuth: []
tags:
- name: Record Form
  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:
  /v1/{community}/records/{recordID}/details:
    get:
      summary: List record form fields
      operationId: getRecordDetails
      tags:
      - Record Form
      parameters:
      - $ref: '#/components/parameters/community'
      - $ref: '#/components/parameters/recordID'
      responses:
        '200':
          description: Returns form fields and sections
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/RecordDetails'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Resource not found
        '500':
          description: Internal Server Error
components:
  parameters:
    recordID:
      name: recordID
      in: path
      description: ID of the record
      required: true
      schema:
        type: integer
    community:
      name: community
      in: path
      description: Name of the community
      required: true
      schema:
        type: string
  schemas:
    RecordDetails:
      x-tags:
      - Record Form
      type: object
      title: The record form object
      example:
        type: record_details
        id: '31598'
        attributes:
          id: '31598'
          sections:
          - id: 6179
            label: Construction Details
            helpText: "Provide the following information for your project.  When writing the description below, please remember: \n1. Include dimensions of structure. 2. List number of bedrooms and bathrooms if structure is a new home or addition. 3. If applicable, include building plans/specs, plot or site plans as attachments.\n"
            isRequired: false
            internal: true
            ordinal: 0
          fields:
          - id: 11995
            label: Total Sq. Footage Involved in Project
            type: NUMBER_FIELD
            required: false
            internal: true
            ordinal: 0
            sectionID: 6179
            groupID: 6179S
            value: '1000'
      properties:
        type:
          type: string
          enum:
          - record_details
        id:
          type: integer
          description: The Record ID
        attributes:
          type: object
          properties:
            id:
              type: integer
              description: The Record ID
            fields:
              type: array
              description: Form fields of a specific record
              items:
                type: object
                properties:
                  id:
                    type: integer
                    description: The Form Field ID
                  label:
                    type: string
                    description: The Form Field label
                  type:
                    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 required
                  internal:
                    type: boolean
                    description: When true, indicates that the field is visible only to employees
                  ordinal:
                    type: integer
                    description: Position of a field within a section or field group
                  sectionID:
                    type: integer
                    description: The Form Section ID of the field
                  groupID:
                    type: integer
                    description: The Group ID of the field
                  value:
                    type: string
                    description: Value of the field (represented as a string)
            sections:
              type: array
              description: Sections within a form
              items:
                type: object
                properties:
                  id:
                    type: integer
                    description: The Form Section ID
                  label:
                    type: string
                    description: The Form Section label
                  internal:
                    type: boolean
                    description: When true, indicates that the section is visible only to employees
                  ordinal:
                    type: integer
                    description: Position of a section within the form
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-tagGroups:
- name: Records
  tags:
  - Records
  - Record Contacts
  - Record Locations
  - Record Form
- name: Workflow
  tags:
  - Steps
  - Step Comments
- name: Events
  tags:
  - Event Types