OpenGov Inspection Events API

An Inspection Event is a single inspection appointment, during which one or more Inspection Results are typically created.

Business capability
Inspection and Compliance Verification BC-3240.40

Operations 3

GET /v2/{community}/inspection-events/{inspectionEventID} Get inspection event #
GET /v2/{community}/inspection-events List inspection events #
POST /v2/{community}/inspection-events Create an inspection event #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/opengov-inspection-events-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

opengov-inspection-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v2
  title: Permitting & Licensing Inspection Events 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.
  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: Inspection Events
  description: An Inspection Event is a single inspection appointment, during which one or more Inspection Results are typically created.
paths:
  /v2/{community}/inspection-events/{inspectionEventID}:
    parameters:
    - $ref: '#/paths/~1v2~1{community}~1approval-steps/parameters/0'
    get:
      summary: Get inspection event
      description: 'Retrieve an inspection event by ID.

        ### Permissions Required

        `Workflow Read`'
      operationId: getInspectionEvent
      x-og-claims-required:
      - PLC_RECORD_STEP_READ
      tags:
      - Inspection Events
      parameters:
      - name: inspectionEventID
        in: path
        description: ID of the inspection event
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Inspection event
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    x-tags:
                    - Inspection Events
                    title: Inspection Event
                    required:
                    - type
                    - id
                    - attributes
                    properties:
                      type:
                        type: string
                        enum:
                        - inspectionEvent
                        example: inspectionEvent
                      id:
                        type: string
                        example: inspection-event-345678
                      attributes:
                        type: object
                        properties:
                          status:
                            type: string
                            enum:
                            - Requested
                            - Scheduled
                            - Active
                            - Complete
                            description: The status of the inspection event
                            example: Scheduled
                          inspectionScheduleType:
                            type:
                            - string
                            - 'null'
                            enum:
                            - Date
                            - DateTime
                            - Range
                            - AMPM
                            - AMPM_Scheduled
                            description: Specifies how the inspection time is scheduled. `Date` indicates any time on the given startAt date. `DateTime` indicates a specific time on the given startAt date. `Range` indicates within a defined time window. May be null if the schedule service was used, or it was inspected without being scheduled. `AMPM` is a legacy scheduling type that indicates a specific time window within a day. `AMPM_Scheduled` indicates a scheduled AM/PM time window.
                            example: Date
                          startAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: When the inspection should start. If inspection schedule type is `Date`, this is a speciifc day. If inspection schedule type is `DateTime`, this is a specific time on that day. If inspection schedule type is `Range`, this is the start of the range.
                          endAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: When the inspection should end. If inspection schedule type is `Date` or `DateTime`, this field may be null. If inspection schedule type is `Range`, this is the end of the range.
                          inspectionStartedAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: Timestamp of when the inspection was started. Not to be confused with the `startAt` attribute.
                          inspectionCompletedAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: Timestamp of when the inspection was completed, if status is `Complete`. Not to be confused with the `endAt` attribute.
                          requestedTimes:
                            type:
                            - array
                            - 'null'
                            items:
                              type: object
                              description: List of time slots requested by the applicant for the inspection. Each entry represents a preferred time window with its scheduling type.
                              properties:
                                scheduledType:
                                  type: string
                                  enum:
                                  - Date
                                  - DateTime
                                  - Range
                                  - AMPM
                                  - AMPM_Scheduled
                                  description: Specifies how the inspection time is scheduled
                                requestedStart:
                                  type:
                                  - string
                                  - 'null'
                                  format: date-time
                                  description: The requested start time for the inspection
                                requestedEnd:
                                  type:
                                  - string
                                  - 'null'
                                  format: date-time
                                  description: The requested end time for the inspection
                          isEnabled:
                            type: boolean
                            description: Whether the inspection event is enabled
                            example: true
                          note:
                            type:
                            - string
                            - 'null'
                            description: Notes and comments about the inspection
                            example: Initial foundation inspection for building permit BP-2024-001
                          sequenceNo:
                            type: integer
                            description: The order of the event in the series
                            example: 1
                          updatedAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: Last updated date
                          isOffHours:
                            type: boolean
                            description: Whether this is an off-hours inspection. Derived from the presence of offHoursInfo.
                            example: false
                          offHoursInfo:
                            type: object
                            description: Off-hours inspection request information. When provided, all fields are required.
                            nullable: true
                            required:
                            - version
                            - desiredTime
                            - reasonForRequest
                            properties:
                              version:
                                type: integer
                                description: Version of the off-hours info schema
                                example: 1
                              desiredTime:
                                type: string
                                description: The desired time for the off-hours inspection
                                example: 3am to 5am
                              reasonForRequest:
                                type: string
                                description: The reason for requesting an off-hours inspection
                                example: Construction crew only available on weekends
                      relationships:
                        type: object
                        required:
                        - inspectionStep
                        properties:
                          inspectionStep:
                            type: object
                            properties:
                              $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/200/content/application~1vnd.api+json/schema/properties/data/items/properties/relationships/properties/step/properties'
                            description: The related `Inspection Step`.
                          inspectionResult:
                            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: Any related `Inspection Result`.
                          inspector:
                            type: object
                            properties:
                              $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/200/content/application~1vnd.api+json/schema/properties/data/items/properties/relationships/properties/step/properties'
                            description: The user assigned as the inspector.
                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'
  /v2/{community}/inspection-events:
    parameters:
    - $ref: '#/paths/~1v2~1{community}~1approval-steps/parameters/0'
    get:
      summary: List inspection events
      description: 'Retrieve inspection events that match the specified filters.

        ### Permissions Required

        `Workflow Read`'
      operationId: getInspectionEvents
      x-og-claims-required:
      - PLC_RECORD_STEP_READ
      tags:
      - Inspection Events
      parameters:
      - name: filter[inspectionStepId]
        in: query
        description: ID of the inspection step
        required: false
        schema:
          type: string
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/0'
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/1'
      - name: filter[inspectorUserIds]
        in: query
        description: IDs of the inspectors
        required: false
        schema:
          type: array
          items:
            type: string
      - name: filter[status]
        in: query
        description: Filter by inspection event status, in the event of no filters, will filter by active status
        required: false
        schema:
          type: string
          description: Status of the inspection event
          enum:
          - Scheduled
          - Requested
          - Active
          - Complete
          nullable: true
      - name: filter[scheduledBetween]
        in: query
        description: Inspection date range for scheduled inspections format YYYY-MM-DD, YYYY-MM-DD in the order start, end
        required: false
        schema:
          type: string
      - name: filter[requestedBetween]
        in: query
        description: Inspection date range for requested inspections format YYYY-MM-DD, YYYY-MM-DD in the order start, end
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Inspection events
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/paths/~1v2~1{community}~1inspection-events~1{inspectionEventID}/get/responses/200/content/application~1vnd.api+json/schema/properties/data'
                  links:
                    $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/200/content/application~1vnd.api+json/schema/properties/links'
                  meta:
                    $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/200/content/application~1vnd.api+json/schema/properties/meta'
                required:
                - data
                - links
                - meta
        '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'
    post:
      summary: Create an inspection event
      description: 'Create an inspection event.

        ### Permissions Required

        `Workflow Write`'
      operationId: postInspectionEvent
      x-og-claims-required:
      - PLC_RECORD_STEP_UPDATE
      tags:
      - Inspection Events
      parameters:
      - $ref: '#/paths/~1v2~1{community}~1approval-steps~1{approvalStepID}/patch/parameters/0'
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  x-tags:
                  - Inspection Events
                  title: Inspection Event
                  required:
                  - type
                  - attributes
                  properties:
                    type:
                      type: string
                      enum:
                      - inspectionEvent
                      example: inspectionEvent
                    attributes:
                      type: object
                      properties:
                        inspectionStepID:
                          type: string
                          description: The ID of the inspection step
                          example: inspection-step-700002
                        status:
                          type: string
                          enum:
                          - Scheduled
                          - Active
                          description: The status of the inspection
                          example: Scheduled
                        note:
                          type: string
                          description: Note
                          example: Initial foundation inspection scheduled for BP-2024-001234
                        orderNo:
                          type: integer
                          description: The order of the event in the series
                          example: 1
                        inspectorID:
                          type: string
                          description: The user ID of the assigned inspector
                          example: user-inspector-700003
                        inspectionScheduleType:
                          type: string
                          enum:
                          - Date
                          - DateTime
                          - Range
                          - AMPM_Scheduled
                          description: Specifies how the inspection time is scheduled. `Date` indicates any time on the given startAt date. `DateTime` indicates a specific time on the given startAt date. `Range` indicates within a defined time window. `AMPM_Scheduled` indicates a scheduled AM/PM time window.
                          example: Date
                        startAt:
                          type: string
                          format: date-time
                          description: When the inspection should start. If inspection schedule type is `Date`, this should be the start of the day. If inspection schedule type is `DateTime`, this should be a specific time. If inspection schedule type is `Range`, this should be the start of the range.
                          example: '2024-08-25T15:00:00Z'
                        endAt:
                          type: string
                          format: date-time
                          description: When the inspection should end. If inspection schedule type is `Date` or `DateTime`, this field is ignored. If inspection schedule type is `Range`, this should be the end of the range.
                          example: '2024-08-26T15:00:00Z'
                        inspectionTemplateTypeIDs:
                          type: array
                          items:
                            type: string
                          description: The IDs of the inspection template types
                          example:
                          - template-type-700004
                          - template-type-700005
                        offHoursInfo:
                          $ref: '#/paths/~1v2~1{community}~1inspection-events~1{inspectionEventID}/get/responses/200/content/application~1vnd.api+json/schema/properties/data/properties/attributes/properties/offHoursInfo'
                      required:
                      - inspectionStepID
                      - inspectionScheduleType
                      - status
                      - startAt
      responses:
        '201':
          description: Created
          headers:
            X-RateLimit-Limit:
              $ref: '#/paths/~1v2~1{community}~1files/post/responses/201/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/paths/~1v2~1{community}~1files/post/responses/201/headers/X-RateLimit-Remaining'
            Location:
              description: URL of the newly created resource
              schema:
                type: string
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    x-tags:
                    - Inspection Events
                    title: Inspection Event
                    required:
                    - type
                    - id
                    - attributes
                    properties:
                      type:
                        type: string
                        enum:
                        - inspectionEvent
                        example: inspectionEvent
                      id:
                        type: string
                        example: inspection-event-345678
                      attributes:
                        type: object
                        properties:
                          status:
                            type: string
                            enum:
                            - Requested
                            - Scheduled
                            - Active
                            - Complete
                            description: The status of the inspection event
                            example: Scheduled
                          inspectionScheduleType:
                            type:
                            - string
                            - 'null'
                            enum:
                            - Date
                            - DateTime
                            - Range
                            - AMPM
                            - AMPM_Scheduled
                            description: Specifies how the inspection time is scheduled. `Date` indicates any time on the given startAt date. `DateTime` indicates a specific time on the given startAt date. `Range` indicates within a defined time window. May be null if the schedule service was used, or it was inspected without being scheduled. `AMPM` is a legacy scheduling type that indicates a specific time window within a day. `AMPM_Scheduled` indicates a scheduled AM/PM time window.
                            example: Date
                          startAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: When the inspection should start. If inspection schedule type is `Date`, this is a speciifc day. If inspection schedule type is `DateTime`, this is a specific time on that day. If inspection schedule type is `Range`, this is the start of the range.
                          endAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: When the inspection should end. If inspection schedule type is `Date` or `DateTime`, this field may be null. If inspection schedule type is `Range`, this is the end of the range.
                          inspectionStartedAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: Timestamp of when the inspection was started. Not to be confused with the `startAt` attribute.
                          inspectionCompletedAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: Timestamp of when the inspection was completed, if status is `Complete`. Not to be confused with the `endAt` attribute.
                          requestedTimes:
                            type:
                            - array
                            - 'null'
                            items:
                              type: object
                              description: List of time slots requested by the applicant for the inspection. Each entry represents a preferred time window with its scheduling type.
                              properties:
                                scheduledType:
                                  type: string
                                  enum:
                                  - Date
                                  - DateTime
                                  - Range
                                  - AMPM
                                  - AMPM_Scheduled
                                  description: Specifies how the inspection time is scheduled
                                requestedStart:
                                  type:
                                  - string
                                  - 'null'
                                  format: date-time
                                  description: The requested start time for the inspection
                                requestedEnd:
                                  type:
                                  - string
                                  - 'null'
                                  format: date-time
                                  description: The requested end time for the inspection
                          isEnabled:
                            type: boolean
                            description: Whether the inspection event is enabled
                            example: true
                          note:
                            type:
                            - string
                            - 'null'
                            description: Notes and comments about the inspection
                            example: Initial foundation inspection for building permit BP-2024-001
                          sequenceNo:
                            type: integer
                            description: The order of the event in the series
                            example: 1
                          updatedAt:
                            type:
                            - string
                            - 'null'
                            format: date-time
                            description: Last updated date
                          isOffHours:
                            type: boolean
                            description: Whether this is an off-hours inspection. Derived from the presence of offHoursInfo.
                            example: false
                          offHoursInfo:
                            $ref: '#/paths/~1v2~1{community}~1inspection-events~1{inspectionEventID}/get/responses/200/content/application~1vnd.api+json/schema/properties/data/properties/attributes/properties/offHoursInfo'
                      relationships:
                        type: object
                        required:
                        - inspectionStep
                        properties:
                          inspectionStep:
                            $ref: '#/paths/~1v2~1{community}~1inspection-events~1{inspectionEventID}/get/responses/200/content/application~1vnd.api+json/schema/properties/data/properties/relationships/properties/inspectionStep'
                          inspectionResult:
                            $ref: '#/paths/~1v2~1{community}~1inspection-events~1{inspectionEventID}/get/responses/200/content/application~1vnd.api+json/schema/properties/data/properties/relationships/properties/inspectionResult'
                          inspector:
                            $ref: '#/paths/~1v2~1{community}~1inspection-events~1{inspectionEventID}/get/responses/200/content/application~1vnd.api+json/schema/properties/data/properties/relationships/properties/inspector'
                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'
        '409':
          $ref: '#/paths/~1v2~1{community}~1approval-steps~1{approvalStepID}/patch/responses/409'
        '415':
          $ref: '#/paths/~1v2~1{community}~1approval-steps~1{approvalStepID}/patch/responses/415'
        '500':
          $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/500'
components:
  securitySchemes:
    basicHttpAuthentication:
      type: http
      scheme: basic
      description: 'Basic HTTP Authentication

        '
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'The OpenGov Permitting & Licensing API is authenticated using the OAuth2 Client Credentials flow. Access tokens are provided as a bearer token Authorization header in all API requests.

        To obtain an access token, you must have an OpenGov-provided Client ID and Client Secret.

        Access tokens are obtained by making a POST request to `https://accounts.viewpointcloud.com/oauth/token`

        '
    auth0Prod:
      type: openIdConnect
      openIdConnectUrl: https://accounts.viewpointcloud.com/.well-known/openid-configuration
      description: 'The OpenGov Permitting & Licensing API is authenticated using the OAuth2 Client Credentials flow. Access tokens are provided as a bearer token Authorization header in all API requests.

        To obtain an access token, you must have an OpenGov-provided Client ID and Client Secret.

        '
    auth0Dev:
      type: openIdConnect
      openIdConnectUrl: https://login.vpctest.com/.well-known/openid-configuration
      description: 'The OpenGov Permitting & Licensing API is authenticated using the OAuth2 Client Credentials flow. Access tokens are provided as a bearer token Authorization header in all API requests.

        To obtain an access token, you must have an OpenGov-provided Client ID and Client Secret.

        '
x-og-spec-id: plc-api-v2
x-og-claims:
  PLC_RECORD_READ: Record Read
  PLC_RECORD_WRITE: Record Write
  PLC_RECORD_ARCHIVE: Record Archive
  PLC_RECORD_STEP_READ: Workflow Read
  PLC_RECORD_STEP_CREATE: Workflow Write
  PLC_RECORD_STEP_UPDATE: Workflow Write
  PLC_RECORD_STEP_COMMENT_READ: Comment Read
  PLC_RECORD_STEP_COMMENT_WRITE: Comment Write
  PLC_USER_READ: User Read
  PLC_USER_WRITE: User Write
  PLC_RECORD_TYPE_READ: Record Type Read
  PLC_SYSTEM_CONFIG_READ: System Config Read
  PLC_LOCATION_READ: Location Read
  PLC_LOCATION_WRITE: Location Write
  PLC_PAYMENT_READ: Payment Read
  PLC_PAYMENT_WRITE: Payment Write
  PLC_FILE_READ: File Read
  PLC_FILE_WRITE: File Write
  PLC_ACTIVITY_LOG_READ: Activity Log Read
x-tagGroups:
- name: Records
  tags:
  - Record
  - Record Applicant
  - Record Guests
  - Record Primary Location
  - Record Additional Locations
  - Record Forms
  - Record Change Requests
  - Record Attachments
  - Record Workflow Steps
  - Record Workflow Step Comments
- name: Locations
  tags:
  - Locations
  - Location Flags
- name: Users
  tags:
  - Users
  - User Flags
- name: Approvals
  tags:
  - Approval Steps
- name: Documents
  tags:
  - Document Steps
  - Issued Documents
- name: Inspections
  tags:
  - Inspection Steps
  - Inspection Types
  - Inspection Events
  - Inspection Results
  - Checklist Results
- name: Payments
  tags:
  - Payment Steps
  - Fees
  - Transactions
  - Ledger Entries
- name: Projects
  tags:
  - Projects
- name: Files
  tags:
  - Files
- name: Configuration
  tags:
  - Organization
  - Departments
  - Record Types
  - Record Type Form
  - Record Type Attachments
  - Record Type Document Templates
  - Record Type Fees
  - Record Type Workflow
  - Inspection Type Templates
  - Checklist Templates
- name: Activity Logs
  tags:
  - Activity Logs