Pomo Change Management API

The change-management API from Pomo — 10 operation(s) for change-management.

Operations 14

GET /api/change-management/settings Get Settings #
PUT /api/change-management/settings Update Settings #
GET /api/change-management/approval-groups Get Approval Groups #
POST /api/change-management/approval-groups Create Approval Group #
PUT /api/change-management/approval-groups/{group_id} Update Approval Group #
DELETE /api/change-management/approval-groups/{group_id} Delete Approval Group #
PUT /api/change-management/approval-groups/{group_id}/members Set Approval Group Members #
POST /api/change-management/requests Create Request #
GET /api/change-management/requests List Requests #
GET /api/change-management/requests/summary Get Requests Summary #
GET /api/change-management/requests/{change_request_id} Get Request #
GET /api/change-management/requests/{change_request_id}/preview Get Request Preview #
POST /api/change-management/requests/{change_request_id}/approvals Approve Request #
POST /api/change-management/requests/{change_request_id}/execute Execute Request #

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/pomo-change-management-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

pomo-change-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GPT Backend Change Management API
  version: 0.1.0
servers:
- url: https://api.usepomo.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: change-management
paths:
  /api/change-management/settings:
    get:
      tags:
      - change-management
      summary: Get Settings
      operationId: get_settings_api_change_management_settings_get
      security:
      - HTTPBearer: []
      parameters:
      - name: force_refresh
        in: query
        required: false
        schema:
          type: boolean
          description: Bypass the shared response cache
          default: false
          title: Force Refresh
        description: Bypass the shared response cache
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeManagementSettingsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - change-management
      summary: Update Settings
      operationId: update_settings_api_change_management_settings_put
      security:
      - HTTPBearer: []
      parameters:
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeManagementSettingsUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeManagementSettingsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/approval-groups:
    get:
      tags:
      - change-management
      summary: Get Approval Groups
      operationId: get_approval_groups_api_change_management_approval_groups_get
      security:
      - HTTPBearer: []
      parameters:
      - name: force_refresh
        in: query
        required: false
        schema:
          type: boolean
          description: Bypass the shared response cache
          default: false
          title: Force Refresh
        description: Bypass the shared response cache
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApprovalGroupResponse'
                title: Response Get Approval Groups Api Change Management Approval Groups Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - change-management
      summary: Create Approval Group
      operationId: create_approval_group_api_change_management_approval_groups_post
      security:
      - HTTPBearer: []
      parameters:
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalGroupCreateRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalGroupResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/approval-groups/{group_id}:
    put:
      tags:
      - change-management
      summary: Update Approval Group
      operationId: update_approval_group_api_change_management_approval_groups__group_id__put
      security:
      - HTTPBearer: []
      parameters:
      - name: group_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Group Id
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalGroupUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalGroupResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - change-management
      summary: Delete Approval Group
      operationId: delete_approval_group_api_change_management_approval_groups__group_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: group_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Group Id
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: 'null'
                title: Response Delete Approval Group Api Change Management Approval Groups  Group Id  Delete
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/approval-groups/{group_id}/members:
    put:
      tags:
      - change-management
      summary: Set Approval Group Members
      operationId: set_approval_group_members_api_change_management_approval_groups__group_id__members_put
      security:
      - HTTPBearer: []
      parameters:
      - name: group_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Group Id
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalGroupSetMembersRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalGroupResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/requests:
    post:
      tags:
      - change-management
      summary: Create Request
      operationId: create_request_api_change_management_requests_post
      security:
      - HTTPBearer: []
      parameters:
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeRequestCreateRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - change-management
      summary: List Requests
      operationId: list_requests_api_change_management_requests_get
      security:
      - HTTPBearer: []
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          default: 50
          title: Limit
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChangeRequestResponse'
                title: Response List Requests Api Change Management Requests Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/requests/summary:
    get:
      tags:
      - change-management
      summary: Get Requests Summary
      operationId: get_requests_summary_api_change_management_requests_summary_get
      security:
      - HTTPBearer: []
      parameters:
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestSummaryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/requests/{change_request_id}:
    get:
      tags:
      - change-management
      summary: Get Request
      operationId: get_request_api_change_management_requests__change_request_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: change_request_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Change Request Id
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/requests/{change_request_id}/preview:
    get:
      tags:
      - change-management
      summary: Get Request Preview
      operationId: get_request_preview_api_change_management_requests__change_request_id__preview_get
      security:
      - HTTPBearer: []
      parameters:
      - name: change_request_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Change Request Id
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestPreviewResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/requests/{change_request_id}/approvals:
    post:
      tags:
      - change-management
      summary: Approve Request
      operationId: approve_request_api_change_management_requests__change_request_id__approvals_post
      security:
      - HTTPBearer: []
      parameters:
      - name: change_request_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Change Request Id
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeRequestApproveRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/change-management/requests/{change_request_id}/execute:
    post:
      tags:
      - change-management
      summary: Execute Request
      operationId: execute_request_api_change_management_requests__change_request_id__execute_post
      security:
      - HTTPBearer: []
      parameters:
      - name: change_request_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Change Request Id
      - name: allow_inactive_subscription
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Allow Inactive Subscription
      - name: X-Organization-Id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Organization-Id
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/ChangeRequestExecuteRequest'
              - type: 'null'
              title: Payload
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ChangeRequestCommentResponse:
      properties:
        id:
          type: string
          title: Id
        author_user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Author User Id
        author_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Author Name
        author_email:
          anyOf:
          - type: string
          - type: 'null'
          title: Author Email
        kind:
          type: string
          title: Kind
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
        decision:
          anyOf:
          - type: string
          - type: 'null'
          title: Decision
        source_approval_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Approval Id
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - kind
      - created_at
      title: ChangeRequestCommentResponse
    ApprovalGroupUpdateRequest:
      properties:
        name:
          anyOf:
          - type: string
            maxLength: 100
            minLength: 1
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 2000
          - type: 'null'
          title: Description
      type: object
      title: ApprovalGroupUpdateRequest
    ApprovalGroupMemberResponse:
      properties:
        user_id:
          type: string
          title: User Id
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - user_id
      - created_at
      title: ApprovalGroupMemberResponse
    ChangeManagementSettingsResponse:
      properties:
        enabled:
          type: boolean
          title: Enabled
          default: false
        enforce_writes:
          type: boolean
          title: Enforce Writes
          default: false
        budget_guardrail:
          $ref: '#/components/schemas/BudgetGuardrailConfig'
      type: object
      title: ChangeManagementSettingsResponse
    ChangeOperationExecuteOverride:
      properties:
        operation_id:
          type: string
          title: Operation Id
        job_data:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Job Data
      type: object
      required:
      - operation_id
      title: ChangeOperationExecuteOverride
    ApprovalGroupSetMembersRequest:
      properties:
        user_ids:
          items:
            type: string
          type: array
          title: User Ids
      type: object
      title: ApprovalGroupSetMembersRequest
    JobResponse:
      properties:
        job_id:
          type: string
          title: Job Id
          description: Unique job identifier
        status:
          type: string
          title: Status
          description: Initial job status (typically 'running')
        stream_url:
          type: string
          title: Stream Url
          description: SSE endpoint for real-time progress
        poll_url:
          type: string
          title: Poll Url
          description: HTTP endpoint for polling status
      type: object
      required:
      - job_id
      - status
      - stream_url
      - poll_url
      title: JobResponse
      description: Response after submitting a job
      example:
        job_id: 987fcdeb-51a2-43f7-9876-543210987654
        poll_url: /api/chat/agentic/jobs/987fcdeb-51a2-43f7-9876-543210987654
        status: running
        stream_url: /api/chat/agentic/jobs/987fcdeb-51a2-43f7-9876-543210987654/stream
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ChangeOperationCreateRequest:
      properties:
        kind:
          type: string
          maxLength: 50
          minLength: 1
          title: Kind
        title:
          anyOf:
          - type: string
            maxLength: 300
          - type: 'null'
          title: Title
        tool_name:
          anyOf:
          - type: string
            maxLength: 200
          - type: 'null'
          title: Tool Name
        tool_arguments:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Tool Arguments
        job_type:
          anyOf:
          - type: string
            maxLength: 200
          - type: 'null'
          title: Job Type
        job_data:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Job Data
        diff:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Diff
      type: object
      required:
      - kind
      title: ChangeOperationCreateRequest
    ChangeRequestSummaryResponse:
      properties:
        enabled:
          type: boolean
          title: Enabled
        enforce_writes:
          type: boolean
          title: Enforce Writes
        pending_total:
          type: integer
          title: Pending Total
        awaiting_my_review:
          type: integer
          title: Awaiting My Review
        is_approver:
          type: boolean
          title: Is Approver
      type: object
      required:
      - enabled
      - enforce_writes
      - pending_total
      - awaiting_my_review
      - is_approver
      title: ChangeRequestSummaryResponse
    ChangeRequestCreateRequest:
      properties:
        company_profile_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Company Profile Id
        source:
          type: string
          maxLength: 50
          title: Source
          default: manual
        title:
          type: string
          maxLength: 300
          minLength: 1
          title: Title
        description:
          anyOf:
          - type: string
            maxLength: 5000
          - type: 'null'
          title: Description
        risk_score:
          type: integer
          maximum: 100.0
          minimum: 0.0
          title: Risk Score
          default: 0
        risk_factors:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Risk Factors
        policy_results:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Policy Results
        required_approvals:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Required Approvals
        operations:
          items:
            $ref: '#/components/schemas/ChangeOperationCreateRequest'
          type: array
          title: Operations
      type: object
      required:
      - title
      title: ChangeRequestCreateRequest
    ChangeRequestApproveRequest:
      properties:
        decision:
          type: string
          pattern: ^(approved|rejected|changes_requested)$
          title: Decision
        rationale:
          anyOf:
          - type: string
            maxLength: 5000
          - type: 'null'
          title: Rationale
        requirement_key:
          anyOf:
          - type: string
            maxLength: 200
          - type: 'null'
          title: Requirement Key
      type: object
      required:
      - decision
      title: ChangeRequestApproveRequest
    ChangeManagementSettingsUpdateRequest:
      properties:
        enabled:
          type: boolean
          title: Enabled
          default: false
        enforce_writes:
          type: boolean
          title: Enforce Writes
          default: false
        budget_guardrail:
          anyOf:
          - $ref: '#/components/schemas/BudgetGuardrailConfig'
          - type: 'null'
      type: object
      title: ChangeManagementSettingsUpdateRequest
    ChangeRequestExecuteRequest:
      properties:
        operation_overrides:
          anyOf:
          - items:
              $ref: '#/components/schemas/ChangeOperationExecuteOverride'
            type: array
          - type: 'null'
          title: Operation Overrides
      type: object
      title: ChangeRequestExecuteRequest
    ChangeApprovalResponse:
      properties:
        id:
          type: string
          title: Id
        approver_user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Approver User Id
        approver_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Approver Name
        approver_email:
          anyOf:
          - type: string
          - type: 'null'
          title: Approver Email
        decision:
          type: string
          title: Decision
        rationale:
          anyOf:
          - type: string
          - type: 'null'
          title: Rationale
        requirement_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Requirement Key
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - decision
      - created_at
      title: ChangeApprovalResponse
    BudgetLimitConfig:
      properties:
        amount:
          type: number
          exclusiveMinimum: 0.0
          title: Amount
        currency:
          type: string
          maxLength: 8
          minLength: 3
          title: Currency
      type: object
      required:
      - amount
      - currency
      title: BudgetLimitConfig
    ApprovalGroupResponse:
      properties:
        id:
          type: string
          title: Id
        organization_id:
          type: string
          title: Organization Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        members:
          items:
            $ref: '#/components/schemas/ApprovalGroupMemberResponse'
          type: array
          title: Members
      type: object
      required:
      - id
      - organization_id
      - name
      - created_at
      - updated_at
      title: ApprovalGroupResponse
    BudgetGuardrailConfig:
      properties:
        enabled:
          type: boolean
          title: Enabled
          default: false
        default_limit:
          anyOf:
          - $ref: '#/components/schemas/BudgetLimitConfig'
          - type: 'null'
        brand_overrides:
          additionalProperties:
            $ref: '#/components/schemas/BudgetLimitConfig'
          type: object
          title: Brand Overrides
      type: object
      title: BudgetGuardrailConfig
    ChangeRequestPreviewResponse:
      properties:
        platform_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Platform Type
        ad_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Ad Id
        ad:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Ad
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
      type: object
      title: ChangeRequestPreviewResponse
    ApprovalGroupCreateRequest:
      properties:
        name:
          type: string
          maxLength: 100
          minLength: 1
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 2000
          - type: 'null'
          title: Description
      type: object
      required:
      - name
      title: ApprovalGroupCreateRequest
    ChangeRequestResponse:
      properties:
        id:
          type: string
          title: Id
        organization_id:
          type: string
          title: Organization Id
        company_profile_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Company Profile Id
        created_by_user_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By User Id
        source:
          type: string
          title: Source
        proposer_kind:
          type: string
          title: Proposer Kind
          default: user
        proposer_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Proposer Key
        evidence_references:
          items:
            type: string
          type: array
          title: Evidence References
        title:
          type: string
          title: Title
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        status:
          type: string
          title: Status
        can_approve:
          type: boolean
          title: Can Approve
          default: false
        can_execute:
          type: boolean
          title: Can Execute
          default: false
        risk_score:
          type: integer
          title: Risk Score
        risk_factors:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Risk Factors
        policy_result

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pomo/refs/heads/main/openapi/pomo-change-management-api-openapi.yml