Postman · Arazzo Workflow

Postman Monitor Lifecycle

Version 1.0.0

Create, update the schedule, run, and delete a Postman monitor.

1 workflow 1 source API 1 provider
View Spec View on GitHub AI Agent BuilderAI AgentsAPI CatalogAPI ClientAPI DesignAPI DevelopmentAPI DocumentationAPI GovernanceAPI LifecycleAPI MonitoringAPI NetworkAPI PlatformAPI TestingAudit LogsAutomationCI/CDCollaborationCollectionsComplianceDiscoveryEnvironmentsFlowsGraphQLgRPCHTTPInsightsMCPMCP GeneratorMock ServersMockingMonitorsNewmanOpenAPIPlatformPrivate API NetworkPublic API NetworkSecret ScanningSpec HubSpecificationsSSOTestingVaultWebSocketWorkflowsWorkspacesArazzoWorkflows

Provider

postman

Workflows

monitor-lifecycle
Create a monitor, reschedule it, run it, then delete it.
Creates a monitor, updates its cron schedule, triggers a run to validate, and deletes it, chaining the monitor ID through each step.
4 steps inputs: collectionUid, cron, monitorName, timezone, updatedCron outputs: deletedId, monitorId, runStatus
1
createMonitor
createMonitor
Create the monitor on its initial schedule.
2
updateMonitor
updateMonitor
Update the monitor's cron schedule.
3
runMonitor
runMonitor
Trigger a manual run to validate the rescheduled monitor.
4
deleteMonitor
deleteMonitor
Delete the monitor, stopping all scheduled runs. This action is irreversible.

Source API Descriptions

Arazzo Workflow Specification

postman-monitor-lifecycle-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Postman Monitor Lifecycle
  summary: Create, update the schedule, run, and delete a Postman monitor.
  description: >-
    Manages a monitor across its full lifecycle. The workflow creates a monitor,
    updates its schedule, triggers a manual run to validate the change, and
    deletes the monitor to stop all scheduled runs. Each step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: monitorsApi
  url: ../openapi/postman-monitors-api-openapi.yml
  type: openapi
workflows:
- workflowId: monitor-lifecycle
  summary: Create a monitor, reschedule it, run it, then delete it.
  description: >-
    Creates a monitor, updates its cron schedule, triggers a run to validate,
    and deletes it, chaining the monitor ID through each step.
  inputs:
    type: object
    required:
    - monitorName
    - collectionUid
    - cron
    - updatedCron
    properties:
      monitorName:
        type: string
        description: The name of the monitor to create.
      collectionUid:
        type: string
        description: The UID of the collection to monitor.
      cron:
        type: string
        description: The initial cron expression for the schedule.
      updatedCron:
        type: string
        description: The new cron expression to apply on update.
      timezone:
        type: string
        description: The timezone for the schedule.
        default: America/New_York
  steps:
  - stepId: createMonitor
    description: >-
      Create the monitor on its initial schedule.
    operationId: createMonitor
    requestBody:
      contentType: application/json
      payload:
        monitor:
          name: $inputs.monitorName
          collection: $inputs.collectionUid
          schedule:
            cron: $inputs.cron
            timezone: $inputs.timezone
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      monitorId: $response.body#/monitor/id
  - stepId: updateMonitor
    description: >-
      Update the monitor's cron schedule.
    operationId: updateMonitor
    parameters:
    - name: monitorId
      in: path
      value: $steps.createMonitor.outputs.monitorId
    requestBody:
      contentType: application/json
      payload:
        monitor:
          name: $inputs.monitorName
          collection: $inputs.collectionUid
          schedule:
            cron: $inputs.updatedCron
            timezone: $inputs.timezone
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      updatedId: $response.body#/monitor/id
  - stepId: runMonitor
    description: >-
      Trigger a manual run to validate the rescheduled monitor.
    operationId: runMonitor
    parameters:
    - name: monitorId
      in: path
      value: $steps.createMonitor.outputs.monitorId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      runStatus: $response.body#/run/info/status
  - stepId: deleteMonitor
    description: >-
      Delete the monitor, stopping all scheduled runs. This action is
      irreversible.
    operationId: deleteMonitor
    parameters:
    - name: monitorId
      in: path
      value: $steps.createMonitor.outputs.monitorId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deletedId: $response.body#/monitor/id
  outputs:
    monitorId: $steps.createMonitor.outputs.monitorId
    runStatus: $steps.runMonitor.outputs.runStatus
    deletedId: $steps.deleteMonitor.outputs.deletedId