OpenGov Activity Logs API

Activity Log APIs allow you to retrieve historical changes and actions performed on entities in the system. Activity logs track create, update, soft delete, and hard delete operations. Employee access required.

OpenAPI Specification

opengov-activity-logs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v2
  title: Permitting & Licensing Activity Logs 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: Activity Logs
  description: Activity Log APIs allow you to retrieve historical changes and actions performed on entities in the system. Activity logs track create, update, soft delete, and hard delete operations. Employee access required.
paths:
  /v2/{community}/activity-logs:
    parameters:
    - $ref: '#/paths/~1v2~1{community}~1approval-steps/parameters/0'
    get:
      summary: List activity logs
      description: 'List all activity logs in the community with optional filtering, sorting, and pagination.

        This endpoint requires employee access.


        ### Permissions Required

        `Activity Log Read`'
      operationId: listActivityLogs
      x-og-claims-required:
      - PLC_ACTIVITY_LOG_READ
      tags:
      - Activity Logs
      parameters:
      - name: filter[timestamp]
        in: query
        description: Filter by activity timestamp
        required: false
        style: deepObject
        explode: true
        schema:
          oneOf:
          - type: string
            format: date-time
          - type: object
            properties:
              lt:
                type: string
                format: date-time
                description: Less than the specified timestamp
              lte:
                type: string
                format: date-time
                description: Less than or equal to the specified timestamp
              gt:
                type: string
                format: date-time
                description: Greater than the specified timestamp
              gte:
                type: string
                format: date-time
                description: Greater than or equal to the specified timestamp
      - name: filter[userId]
        in: query
        description: Filter by user ID who performed the activity
        required: false
        schema:
          type: string
        example: '12345'
      - name: filter[entityTypeId]
        in: query
        description: Filter by entity type ID (e.g., Records, Attachments, Record_Steps)
        required: false
        schema:
          type: string
        example: Records
      - name: filter[entityName]
        in: query
        description: Filter by entity name
        required: false
        schema:
          type: string
        example: Building Permit Application
      - name: filter[operationName]
        in: query
        description: Filter by operation name/description
        required: false
        schema:
          type: string
        example: Status Changed
      - name: filter[recordTypeName]
        in: query
        description: Filter by record type name (for record-related activities)
        required: false
        schema:
          type: string
        example: Building Permit
      - name: filter[recordNumber]
        in: query
        description: Filter by record number (for record-related activities)
        required: false
        schema:
          type: string
        example: BP-2024-001
      - name: filter[entityId]
        in: query
        description: Filter by specific entity ID
        required: false
        schema:
          type: string
        example: Records|12345
      - name: sort[field]
        in: query
        description: Field to sort by
        required: false
        schema:
          type: string
          enum:
          - TIMESTAMP
          - ENTITYTYPEID
          - ENTITYNAME
          - OPERATIONNAME
          - USERNAME
          - RECORDTYPENAME
          - RECORDNUMBER
          default: TIMESTAMP
        example: TIMESTAMP
      - name: sort[direction]
        in: query
        description: Sort direction
        required: false
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: DESC
        example: DESC
      - name: page[current]
        in: query
        description: Cursor for the current page (opaque string returned from previous response)
        required: false
        schema:
          type: string
        example: eyJsYXN0SWQiOiIxMjM0NSIsInRpbWVzdGFtcCI6IjIwMjQtMTEtMDNUMTA6MzA6MDBaIn0=
      - name: page[size]
        in: query
        description: 'Number of records to return per page. (Default: 20)'
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
        example: 20
      responses:
        '200':
          description: List of Activity Logs
          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'
          content:
            application/vnd.api+json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      x-tags:
                      - Activity Logs
                      title: Activity Log
                      description: An activity log entry represents a change or action performed on an entity in the system. Activity logs track create, update, soft delete, and hard delete operations across various entity types.
                      required:
                      - id
                      - type
                      - attributes
                      properties:
                        id:
                          type: string
                          description: Unique identifier of the activity, represented as {entityTypeId}|{entityId}|{timestamp|idempotenceKey}
                        type:
                          type: string
                          enum:
                          - activityLog
                        attributes:
                          type: object
                          required:
                          - entityId
                          - entityPK
                          - entityTypeId
                          - entityName
                          - entityKey
                          - timestamp
                          - operation
                          - operationName
                          - updatedBy
                          properties:
                            entityId:
                              type: string
                              description: Entity identifier
                            entityPK:
                              type: string
                              description: Entity primary key
                            entityTypeId:
                              type: string
                              description: Entity type identifier (e.g., Records, Attachments, Record_Steps)
                            parentEntityId:
                              type: string
                              nullable: true
                              description: Parent entity identifier, if applicable
                            parentPK:
                              type: string
                              nullable: true
                              description: Parent entity primary key
                            parentEntityTypeId:
                              type: string
                              nullable: true
                              description: Parent entity type identifier
                            entityName:
                              type: string
                              description: Human-readable name of the entity
                            entityKey:
                              type: string
                              description: Key parameter of the entity (e.g., RecordNumber, AttachmentID)
                            timestamp:
                              type: string
                              format: date-time
                              description: Date and time (UTC) when the activity occurred
                              readOnly: true
                            operation:
                              type: string
                              description: Type of operation performed on the entity
                              enum:
                              - CREATE
                              - UPDATE
                              - SOFTDELETE
                              - HARDDELETE
                              - OTHER
                            operationName:
                              type: string
                              description: Extended description of the operation/action performed
                            updatedBy:
                              type: object
                              description: Information about who initiated this activity
                              properties:
                                updatedById:
                                  type: string
                                  nullable: true
                                  description: ID of the user who performed the action
                                updatedByName:
                                  type: string
                                  nullable: true
                                  description: Name of the user who performed the action
                            recordTypeName:
                              type: string
                              nullable: true
                              description: Name of the record type (for record-related activities)
                            recordNumber:
                              type: string
                              nullable: true
                              description: Record number (for record-related activities)
                            values:
                              type: array
                              description: Values that were changed
                              items:
                                type: object
                                x-tags:
                                - Activity Logs
                                title: Activity Log Field Value
                                description: Represents a field value change in an activity log entry. Shows the old and new values for a specific field that was modified.
                                required:
                                - id
                                - type
                                - attributes
                                properties:
                                  id:
                                    type: string
                                    description: Unique identifier for this field value change
                                  type:
                                    type: string
                                    enum:
                                    - activityLogFieldValue
                                  attributes:
                                    type: object
                                    required:
                                    - fieldName
                                    - tracked
                                    properties:
                                      fieldName:
                                        type: string
                                        description: Name of the field that changed
                                      tracked:
                                        type: boolean
                                        description: Indicates if this field is tracked in the activity log configuration
                                      order:
                                        type: integer
                                        nullable: true
                                        description: Order/sequence number for tracked fields
                                      oldValue:
                                        type: string
                                        nullable: true
                                        description: Previous value of the field before the change
                                      newValue:
                                        type: string
                                        nullable: true
                                        description: New value of the field after the change
                  included:
                    type: array
                    description: Optional included resources (entities, field values)
                    items:
                      oneOf:
                      - type: object
                        x-tags:
                        - Activity Logs
                        title: Activity Log Entity
                        description: Represents an entity in the activity log system. Entities are tracked objects that can have activities recorded against them.
                        required:
                        - id
                        - type
                        - attributes
                        properties:
                          id:
                            type: string
                            description: Entity identifier, usually consists of {entityTypeId}|{entityId}
                          type:
                            type: string
                            enum:
                            - activityLogEntity
                          attributes:
                            type: object
                            required:
                            - entityTypeId
                            - name
                            - lastUpdatedInfo
                            - overflown
                            properties:
                              entityTypeId:
                                type: string
                                description: Entity type identifier (e.g., Records, Attachments, Record_Steps)
                              name:
                                type: string
                                description: Human-readable name of the entity
                              parentId:
                                type: string
                                nullable: true
                                description: Parent entity identifier, if applicable
                              lastUpdatedInfo:
                                type: object
                                description: Information about when and by whom the entity was last updated
                                required:
                                - updatedAt
                                properties:
                                  updatedAt:
                                    type: string
                                    format: date-time
                                    description: Date and time (UTC) when the entity was last updated
                                    readOnly: true
                                  updatedBy:
                                    type: object
                                    nullable: true
                                    description: Information about who last updated the entity
                                    properties:
                                      updatedById:
                                        type: string
                                        nullable: true
                                        description: ID of the user who last updated the entity
                                      updatedByName:
                                        type: string
                                        nullable: true
                                        description: Name of the user who last updated the entity
                              overflown:
                                type: boolean
                                description: Indicates when not all activities fit inside the entity model
                      - type: object
                        x-tags:
                        - Activity Logs
                        title: Activity Log Field Value
                        description: Represents a field value change in an activity log entry. Shows the old and new values for a specific field that was modified.
                        required:
                        - id
                        - type
                        - attributes
                        properties:
                          id:
                            type: string
                            description: Unique identifier for this field value change
                          type:
                            type: string
                            enum:
                            - activityLogFieldValue
                          attributes:
                            type: object
                            required:
                            - fieldName
                            - tracked
                            properties:
                              fieldName:
                                type: string
                                description: Name of the field that changed
                              tracked:
                                type: boolean
                                description: Indicates if this field is tracked in the activity log configuration
                              order:
                                type: integer
                                nullable: true
                                description: Order/sequence number for tracked fields
                              oldValue:
                                type: string
                                nullable: true
                                description: Previous value of the field before the change
                              newValue:
                                type: string
                                nullable: true
                                description: New value of the field after the change
                  page:
                    type: object
                    required:
                    - pageSize
                    properties:
                      current:
                        type: string
                        nullable: true
                        description: Cursor for the current page (opaque string)
                      next:
                        type: string
                        nullable: true
                        description: Cursor for the next page (null if no more pages)
                      pageSize:
                        type: integer
                        description: Number of items per page
                  limitReached:
                    type: boolean
                    description: Indicates if the query result limit was reached
        '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'
        '500':
          $ref: '#/paths/~1v2~1{community}~1approval-steps/get/responses/500'
  /v2/{community}/activity-logs/entities/{entityTypeId}/{entityId}:
    parameters:
    - $ref: '#/paths/~1v2~1{community}~1approval-steps/parameters/0'
    - name: entityTypeId
      in: path
      description: Entity type ID of activity
      required: true
      schema:
        type: string
    - name: entityId
      in: path
      description: ID of the entity for the activity log
      required: true
      schema:
        type: string
    get:
      summary: List activity logs for an entity
      description: 'List all activity logs for a specific entity (of any type) with optional filtering, sorting, and pagination.

        This endpoint requires employee access and returns activities related to the entity and its child entities.

        Works for any entity type (Records, Attachments, Record_Steps, etc.).


        ### Permissions Required

        `Activity Log Read`'
      operationId: listEntityActivityLogs
      x-og-claims-required:
      - PLC_ACTIVITY_LOG_READ
      tags:
      - Activity Logs
      parameters:
      - name: filter[timestamp]
        in: query
        description: Filter by activity timestamp
        required: false
        style: deepObject
        explode: true
        schema:
          oneOf:
          - type: string
            format: date-time
          - type: object
            properties:
              lt:
                type: string
                format: date-time
                description: Less than the specified timestamp
              lte:
                type: string
                format: date-time
                description: Less than or equal to the specified timestamp
              gt:
                type: string
                format: date-time
                description: Greater than the specified timestamp
              gte:
                type: string
                format: date-time
                description: Greater than or equal to the specified timestamp
      - name: filter[userId]
        in: query
        description: Filter by user ID who performed the activity
        required: false
        schema:
          type: string
        example: '12345'
      - name: filter[entityTypeId]
        in: query
        description: Filter by entity type ID (e.g., Records, Attachments, Record_Steps)
        required: false
        schema:
          type: string
        example: Records
      - name: filter[entityName]
        in: query
        description: Filter by entity name
        required: false
        schema:
          type: string
        example: Building Permit Application
      - name: filter[operationName]
        in: query
        description: Filter by operation name/description
        required: false
        schema:
          type: string
        example: Status Changed
      - name: sort[field]
        in: query
        description: Field to sort by
        required: false
        schema:
          type: string
          enum:
          - TIMESTAMP
          - ENTITYTYPEID
          - ENTITYNAME
          - OPERATIONNAME
          - USERNAME
          - RECORDTYPENAME
          - RECORDNUMBER
          default: TIMESTAMP
        example: TIMESTAMP
      - name: sort[direction]
        in: query
        description: Sort direction
        required: false
        schema:
          type: string
          enum:
          - ASC
          - DESC
          default: DESC
        example: DESC
      - name: page[current]
        in: query
        description: Cursor for the current page (opaque string returned from previous response)
        required: false
        schema:
          type: string
        example: eyJsYXN0SWQiOiIxMjM0NSIsInRpbWVzdGFtcCI6IjIwMjQtMTEtMDNUMTA6MzA6MDBaIn0=
      - name: page[size]
        in: query
        description: 'Number of records to return per page. (Default: 20)'
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
        example: 20
      responses:
        '200':
          description: List of Activity Logs for the entity {entityTypeId} with ID {entityId}
          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'
          content:
            application/vnd.api+json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      x-tags:
                      - Activity Logs
                      title: Activity Log
                      description: An activity log entry represents a change or action performed on an entity in the system. Activity logs track create, update, soft delete, and hard delete operations across various entity types.
                      required:
                      - id
                      - type
                      - attributes
                      properties:
                        id:
                          type: string
                          description: Unique identifier of the activity, represented as {entityTypeId}|{entityId}|{timestamp|idempotenceKey}
                        type:
                          type: string
                          enum:
                          - activityLog
                        attributes:
                          type: object
                          required:
                          - entityId
                          - entityPK
                          - entityTypeId
                          - entityName
                          - entityKey
                          - timestamp
                          - operation
                          - operationName
                          - updatedBy
                          properties:
                            entityId:
                              type: string
                              description: Entity identifier
                            entityPK:
                              type: string
                              description: Entity primary key
                            entityTypeId:
                              type: string
                              description: Entity type identifier (e.g., Records, Attachments, Record_Steps)
                            parentEntityId:
                              type: string
                              nullable: true
                              description: Parent entity identifier, if applicable
                            parentPK:
                              type: string
                              nullable: true
                              description: Parent entity primary key
                            parentEntityTypeId:
                              type: string
                              nullable: true
                              description: Parent entity type identifier
                            entityName:
                              type: string
                              description: Human-readable name of the entity
                            entityKey:
                              type: string
                              description: Key parameter of the entity (e.g., RecordNumber, AttachmentID)
                            timestamp:
                              type: string
                              format: date-time
                              description: Date and time (UTC) when the activity occurred
                              readOnly: true
                            operation:
                              type: string
                              description: Type of operation performed on the entity
                              enum:
                              - CREATE
                              - UPDATE
                              - SOFTDELETE
                              - HARDDELETE
                              - OTHER
                            operationName:
                              type: string
                              description: Extended description of the operation/action performed
                            updatedBy:
                              type: object
                              description: Information about who initiated this activity
                              properties:
                                updatedById:
                                  type: string
                                  nullable: true
                                  description: ID of the user who performed the action
                                updatedByName:
                                  type: string
                                  nullable: true
                                  description: Name of the user who performed the action
                            recordTypeName:
                              type: string
                              nullable: true
                              description: Name of the record type (for record-related activities)
                            recordNumber:
                              type: string
                              nullable: true
                              description: Record number (for record-related activities)
                            values:
                              type: array
                              description: Values that were changed
                              items:
                                $ref: '#/paths/~1v2~1{community}~1activity-logs/get/responses/200/content/application~1vnd.api+json/schema/properties/data/items/properties/attributes/properties/values/items'
                  included:
                    type: array
                    description: Optional included resources (entities, field values)
                    items:
                      oneOf:
                      - type: object
                        x-tags:
                        - Activity Logs
                        title: Activity Log Entity
                        description: Represents an entity in the activity log system. Entities are tracked objects that can have activities recorded against them.
                        required:
                        - id
                        - type
                        - attributes
                        properties:
                          id:
                            type: string
                            description: Entity identifier, usually consists of {entityTypeId}|{entityId}
                          type:
                            type: string
                            enum:
                            - activityLogEntity
                          attributes:
                            type: object
                            required:
                            - entityTypeId
                            - name
                            - lastUpdatedInfo
                            - overflown
                            properties:
                              entityTypeId:
                                type: string
                                description: Entity type identifier (e.g., Records, Attachments, Record_Steps)
                              name:
                                type: string
                                description: Human-readable name of the entity
                              parentId:
                                type: string
                                nullable: true
                                description: Parent entity identifier, if applicable
                              lastUpdatedInfo:
                                type: object
                                description: Information about when and by whom the entity was last updated
                                required:
                                - updatedAt
                                properties:
                                  updatedAt:
                                    type: string
                                    format: date-time
                                    description: Date and time (UTC) when the entity was last updated
      

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