OpenGov Steps API

A Record's Workflow is represented as a collection of **Steps**. Steps are automatically created on a Record at the time it is submitted, based on the Workflow Template defined in the Record Type settings of that Record's Type. Steps are instantiated on Records and can be added or deleted on individual Records, so a given Record's Steps may not always match its Workflow Template.

Operations 3

GET /v1/{community}/records/{recordID}/workflow-steps List record steps #
GET /v1/{community}/records/{recordID}/workflow-steps/{stepID} Retrieve a record step #
PUT /v1/{community}/records/{recordID}/workflow-steps/{stepID}/state Update a record step #

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-steps-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 email required.

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

OpenAPI Specification

opengov-steps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Opengov Steps API
  version: v1
  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: 'Operations tagged Steps across 2 of this provider''s published API definitions: opengov-permitting-licensing-v1-openapi-original.yml, opengov-permitting-licensing-v1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.plce.opengov.com/plce
  description: Production
security:
- bearerAuth: []
tags:
- name: Steps
  description: 'A Record''s Workflow is represented as a collection of **Steps**. Steps are automatically created on a Record at the time it is submitted, based on the Workflow Template defined in the Record Type settings of that Record''s Type.


    Steps are instantiated on Records and can be added or deleted on individual Records, so a given Record''s Steps may not always match its Workflow Template.


    '
paths:
  /v1/{community}/records/{recordID}/workflow-steps:
    get:
      summary: List record steps
      operationId: listRecordSteps
      tags:
      - Steps
      parameters:
      - $ref: '#/components/parameters/community'
      - $ref: '#/components/parameters/recordID'
      responses:
        '200':
          description: Returns record steps
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/RecordStep'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Resource not found
        '500':
          description: Internal Server Error
    servers:
    - url: https://api.plce.opengov.com/plce
      description: Production
  /v1/{community}/records/{recordID}/workflow-steps/{stepID}:
    get:
      summary: Retrieve a record step
      operationId: getStepDetails
      tags:
      - Steps
      parameters:
      - $ref: '#/components/parameters/community'
      - $ref: '#/components/parameters/recordID'
      - $ref: '#/components/parameters/stepID'
      responses:
        '200':
          description: Returns the record step object
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/RecordStep'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Resource not found
        '500':
          description: Internal Server Error
    servers:
    - url: https://api.plce.opengov.com/plce
      description: Production
  /v1/{community}/records/{recordID}/workflow-steps/{stepID}/state:
    put:
      summary: Update a record step
      operationId: setStepState
      tags:
      - Steps
      description: Update the status of a workflow step
      parameters:
      - $ref: '#/components/parameters/community'
      - $ref: '#/components/parameters/recordID'
      - $ref: '#/components/parameters/stepID'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  $ref: '#/components/schemas/RecordStepState'
      responses:
        '200':
          description: Step Updated
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RecordStep'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Resource not found
        '500':
          description: Internal Server Error
    servers:
    - url: https://api.plce.opengov.com/plce
      description: Production
components:
  parameters:
    community:
      name: community
      in: path
      description: Name of the community
      required: true
      schema:
        type: string
    recordID:
      name: recordID
      in: path
      description: ID of the record
      required: true
      schema:
        type: integer
    stepID:
      name: stepID
      in: path
      description: ID of workflow step on a record
      required: true
      schema:
        type: integer
  schemas:
    relationship:
      type: object
      properties:
        links:
          type: object
          properties:
            related:
              type: string
              description: Link to the related resource
    step_status:
      type: string
      enum:
      - REJECTED
      - INACTIVE
      - ACTIVE
      - COMPLETE
      - SKIPPED
      - ON_HOLD
      description: Status of the workflow step
    RecordStep:
      x-tags:
      - Steps
      type: object
      title: The record step object
      example:
        type: record_step
        id: '59577'
        attributes:
          id: 59577
          label: Intake Review
          type: APPROVAL
          templateID: 962
          ordinal: 0
          sequence: 'true'
          status: COMPLETED
          assigneeID: auth0|56x389536x623x407x134487
          activatedAt: '2022-07-08T16:30:12.120Z'
          dueBy: null
        relationships:
          comments:
            links:
              related: /plce/v1/community/records/31598/workflow-steps/59577/comments
      properties:
        type:
          type: string
          enum:
          - record_step
        id:
          type: integer
        attributes:
          type: object
          properties:
            id:
              type: integer
              description: Identifier for a step in record's workflow
            label:
              type: string
              description: Short text that describes the workflow step
            type:
              type: string
              enum:
              - APPROVAL
              - PAYMENT
              - INSPECTION
              - DOCUMENT
              - API_INTEGRATION
              description: A value that indicates the kind of process that this step represents
            templateID:
              type: integer
              description: Identifier for the template of this workflow stemp
            ordinal:
              type: integer
              description: Order in which the steps are activated in the workflow
            sequence:
              type: integer
              description: ''
            status:
              $ref: '#/components/schemas/step_status'
            assigneeID:
              type: integer
            activatedAt:
              type: string
              format: date-time
            dueBy:
              type: string
              format: date-time
        relationships:
          type: object
          properties:
            comments:
              $ref: '#/components/schemas/relationship'
    RecordStepState:
      type: object
      properties:
        id:
          type: string
          description: ID of the resource
        type:
          type: string
          description: Type of the resource
          enum:
          - record_step_state
        attributes:
          type: object
          properties:
            state:
              type: string
              enum:
              - REJECTED
              - INACTIVATED
              - ACTIVATED
              - COMPLETED
              - SKIPPED
              - ON_HOLD
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-refined-from:
- opengov-permitting-licensing-v1-openapi-original.yml
- opengov-permitting-licensing-v1-openapi.yml
x-og-spec-id: bnp-api-v1
x-og-env-servers:
  production: https://api.bnp.opengov.com
  development: https://api.bnp.ogintegration.us