OpenGov Document Steps API

Document Steps are one step type that can be found in a record's workflow.

OpenAPI Specification

opengov-document-steps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v2
  title: Permitting & Licensing Document Steps 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: Document Steps
  description: Document Steps are one step type that can be found in a record's workflow.
paths:
  /v2/{community}/document-steps:
    parameters:
    - $ref: '#/paths/~1v2~1{community}~1approval-steps/parameters/0'
    get:
      summary: List document generation steps
      description: 'List document generation steps that match the specified filters.

        ### Permissions Required

        `Workflow Read`'
      operationId: listDocumentGenerationTasks
      x-og-claims-required:
      - PLC_RECORD_STEP_READ
      tags:
      - Document Steps
      parameters:
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/0'
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/1'
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/2'
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/3'
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/4'
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/5'
      - $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/6'
      responses:
        '200':
          description: Document generation task
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      x-tags:
                      - Issued Documents
                      title: Document
                      required:
                      - type
                      - id
                      - attributes
                      properties:
                        type:
                          type: string
                          enum:
                          - documentStep
                          example: documentStep
                        id:
                          type: string
                          example: document-step-200001
                        attributes:
                          type: object
                          properties:
                            label:
                              type: string
                              nullable: true
                              description: Short text that describes the workflow step
                              example: Building Permit Certificate Generation
                            stepType:
                              type: string
                              enum:
                              - APPROVAL
                              - PAYMENT
                              - INSPECTION
                              - DOCUMENT
                              - API_INTEGRATION
                              - ASSET_MANAGEMENT
                              - RELATED_RECORD
                              - SHADOW
                              - REVIEW
                              description: A value that indicates the kind of process that this step represents
                              example: DOCUMENT
                            ordinal:
                              type: integer
                              description: Order in which the steps are activated in the workflow
                              example: 4
                            sequence:
                              type: boolean
                              description: ''
                              example: true
                            status:
                              $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/4/schema'
                            activatedAt:
                              type: string
                              format: date-time
                              description: When the step was activated
                            completedAt:
                              type: string
                              nullable: true
                              format: date-time
                              description: When the step was completed
                            documentTitle:
                              type: string
                              description: Document title
                              example: Building Permit Certificate BP-2024-001234
                            dateIssued:
                              type: string
                              format: date-time
                              description: Date issued
                            expiresAt:
                              type: string
                              format: date-time
                              description: Expiration date
                            documentType:
                              type: string
                              enum:
                              - Permit/License
                              - Letter
                              - Certificate
                              - Other
                              description: Type of document
                            html:
                              type: string
                              nullable: true
                              description: HTML content of the document
                              example: <html><body><h1>Building Permit Certificate</h1><p>This certificate is issued for permit {{permit_number}} at {{address}}.</p></body></html>
                            portrait:
                              type: boolean
                              nullable: true
                              description: Whether the document is in portrait format
                              example: true
                            publicCanPrint:
                              type: boolean
                              nullable: true
                              description: Indicates if the document can be printed by the public
                              example: true
                            createdAt:
                              type: string
                              format: date-time
                              description: Date the document was created
                              readOnly: true
                            lastUpdatedByUserID:
                              type: string
                              nullable: true
                              description: User ID of the last person who updated the document
                              example: user-admin-200002
                            updatedAt:
                              type: string
                              format: date-time
                              description: Timestamp of the last update
                              readOnly: true
                        relationships:
                          type: object
                          properties:
                            step:
                              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: Relationship to the step entity
                            documents:
                              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: Related documents
                  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'
  /v2/{community}/document-steps/{documentStepID}:
    parameters:
    - $ref: '#/paths/~1v2~1{community}~1approval-steps/parameters/0'
    - name: documentStepID
      in: path
      description: ID of a document step
      required: true
      schema:
        type: string
    get:
      summary: Get a document generation step
      description: 'Retrieve a document generation step.

        ### Permissions Required

        `Workflow Read`'
      operationId: getDocumentGenerationTask
      x-og-claims-required:
      - PLC_RECORD_STEP_READ
      tags:
      - Document Steps
      responses:
        '200':
          description: Document generation task
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    x-tags:
                    - Issued Documents
                    title: Document
                    required:
                    - type
                    - id
                    - attributes
                    properties:
                      type:
                        type: string
                        enum:
                        - documentStep
                        example: documentStep
                      id:
                        type: string
                        example: document-step-200001
                      attributes:
                        type: object
                        properties:
                          label:
                            type: string
                            nullable: true
                            description: Short text that describes the workflow step
                            example: Building Permit Certificate Generation
                          stepType:
                            type: string
                            enum:
                            - APPROVAL
                            - PAYMENT
                            - INSPECTION
                            - DOCUMENT
                            - API_INTEGRATION
                            - ASSET_MANAGEMENT
                            - RELATED_RECORD
                            - SHADOW
                            - REVIEW
                            description: A value that indicates the kind of process that this step represents
                            example: DOCUMENT
                          ordinal:
                            type: integer
                            description: Order in which the steps are activated in the workflow
                            example: 4
                          sequence:
                            type: boolean
                            description: ''
                            example: true
                          status:
                            $ref: '#/paths/~1v2~1{community}~1approval-steps/get/parameters/4/schema'
                          activatedAt:
                            type: string
                            format: date-time
                            description: When the step was activated
                          completedAt:
                            type: string
                            nullable: true
                            format: date-time
                            description: When the step was completed
                          documentTitle:
                            type: string
                            description: Document title
                            example: Building Permit Certificate BP-2024-001234
                          dateIssued:
                            type: string
                            format: date-time
                            description: Date issued
                          expiresAt:
                            type: string
                            format: date-time
                            description: Expiration date
                          documentType:
                            type: string
                            enum:
                            - Permit/License
                            - Letter
                            - Certificate
                            - Other
                            description: Type of document
                          html:
                            type: string
                            nullable: true
                            description: HTML content of the document
                            example: <html><body><h1>Building Permit Certificate</h1><p>This certificate is issued for permit {{permit_number}} at {{address}}.</p></body></html>
                          portrait:
                            type: boolean
                            nullable: true
                            description: Whether the document is in portrait format
                            example: true
                          publicCanPrint:
                            type: boolean
                            nullable: true
                            description: Indicates if the document can be printed by the public
                            example: true
                          createdAt:
                            type: string
                            format: date-time
                            description: Date the document was created
                            readOnly: true
                          lastUpdatedByUserID:
                            type: string
                            nullable: true
                            description: User ID of the last person who updated the document
                            example: user-admin-200002
                          updatedAt:
                            type: string
                            format: date-time
                            description: Timestamp of the last update
                            readOnly: true
                      relationships:
                        type: object
                        properties:
                          step:
                            $ref: '#/paths/~1v2~1{community}~1document-steps/get/responses/200/content/application~1vnd.api+json/schema/properties/data/items/properties/relationships/properties/step'
                          documents:
                            $ref: '#/paths/~1v2~1{community}~1document-steps/get/responses/200/content/application~1vnd.api+json/schema/properties/data/items/properties/relationships/properties/documents'
                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'
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