OpenGov Event Types API

This is a list of all the types of events we currently send. We may add more at any time, so in developing and maintaining your code, you should not assume that only these types exist.

OpenAPI Specification

opengov-event-types-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: Permitting Licensing & Code Enforcement Event Types 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: Event Types
  description: This is a list of all the types of events we currently send. We may add more at any time, so in developing and maintaining your code, you should not assume that only these types exist.
paths: {}
webhooks:
  step_status_changed:
    post:
      summary: Step status changed
      description: Occurs when the status of a step in a record's workflow changes
      operationId: step_status_changed
      tags:
      - Event Types
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/event_common_props'
              - $ref: '#/components/schemas/step_status_changed'
      responses:
        '200':
          description: Return 200 status for successfully acknowledging the webhook delivery
components:
  schemas:
    event_common_props:
      type: object
      properties:
        id:
          type: string
          description: An ID that uniquely identifies the occurrence of an event
          example: b1d98e92-38cc-11ed-a261-0242ac120002
        type:
          type: string
          description: A value that describes the event. See for the complete list of event types
          example: workflow.step.status_changed
        occurred_at:
          type: string
          format: date-time
          description: Timestamp (UTC) when the event has occurred
        community:
          type: string
          description: Name of the community where the event occurred
          example: demo-support
        record:
          type: object
          description: Details of the record whose activity triggered the event
          properties:
            id:
              type: string
              description: ID of the record whose activity triggered the event
            type_id:
              type: string
              description: Type of the record whose activity triggered the event
            url:
              type: string
              format: url
              description: URL of the record whose activity triggered the event
              example: https://plce.api.opengov.com/plce/v1/community/records/73543
        details:
          type: object
          description: An object that describes the details of the event
          properties:
            object:
              type: object
              description: Details of the resource whose activity triggered the event
            previous:
              type: object
    step_status_changed:
      type: object
      properties:
        details:
          type: object
          properties:
            object:
              type: object
              properties:
                object_type:
                  type: string
                  description: Type of the resource whose activity triggered the event
                  enum:
                  - record_step
                object_id:
                  type: string
                  description: ID of the workflow step whose status changed
                  example: 1234
                object_url:
                  type: string
                  format: url
                  description: URL of the record step whose activity triggered the event
                  example: https://plce.api.opengov.com/plce/v1/community/records/73543/workflow-steps/1234
                type:
                  $ref: '#/components/schemas/step_type'
                  example: APPROVAL
                template_id:
                  type: number
                  description: Unique identifier for the workflow step template
                status:
                  $ref: '#/components/schemas/step_status'
                  example: ACTIVE
            previous:
              type: object
              properties:
                status:
                  $ref: '#/components/schemas/step_status'
                  description: Previous status of the workflow step
                  example: COMPLETE
    step_status:
      type: string
      enum:
      - REJECTED
      - INACTIVE
      - ACTIVE
      - COMPLETE
      - SKIPPED
      - ON_HOLD
      description: Status of the workflow step
    step_type:
      type: string
      enum:
      - APPROVAL
      - PAYMENT
      - INSPECTION
      - DOCUMENT
      description: A value that indicates the kind of process that this step represents
  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