> ## Documentation Index
> Fetch the complete documentation index at: https://developers.portao3.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# /realms/{realmId}/organizations/{organizationId}/policy-requests/{policyRequestId}/force-approve



## OpenAPI

````yaml /api-reference/ruleengine.openapi.json post /realms/{realmId}/organizations/{organizationId}/policy-requests/{policyRequestId}/force-approve
openapi: 3.0.3
info:
  title: Ruleengine
  version: 1.0.0
  description: >-
    Portão 3 ruleengine API. Generated by tools/openapi from code (routes +
    security) and the hand-written spec (request/response bodies). Confidence
    tiers: generated:typed=25 copied:manual=0 unknown=0.
servers:
  - url: https://api.ruleengine.v2.portao3.com.br/
    description: production
  - url: https://api.ruleengine.dev.3pers.com.br/
    description: development
security:
  - bearerAuth: []
tags:
  - name: Business Policies
  - name: Policy Evaluations
  - name: Policy Requests
paths:
  /realms/{realmId}/organizations/{organizationId}/policy-requests/{policyRequestId}/force-approve:
    post:
      tags:
        - Policy Requests
      summary: >-
        /realms/{realmId}/organizations/{organizationId}/policy-requests/{policyRequestId}/force-approve
      operationId: >-
        postRealmsByRealmIdOrganizationsByOrganizationIdPolicyRequestsByPolicyRequestIdForceApprove
      parameters:
        - name: realmId
          in: path
          required: true
          schema:
            type: string
        - name: organizationId
          in: path
          required: true
          schema:
            type: string
        - name: policyRequestId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  minLength: 1
                  maxLength: 500
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  realmId:
                    type: string
                  organizationId:
                    type: string
                  accountId:
                    type: string
                    description: >-
                      Kept from the request payload so the subject can be
                      fulfilled later.
                  walletId:
                    type: string
                  walletName:
                    type: string
                    description: >-
                      Caller-supplied display name of `walletId`, snapshotted at
                      creation like `requester.name` (a later wallet rename does
                      not propagate). Absent on requests created before the
                      field existed and on wallet-less subjects.
                  context:
                    anyOf:
                      - type: string
                        enum:
                          - PAYMENT
                          - SPEND_REVIEW
                          - TRAVEL
                        description: The business surface a policy governs.
                      - type: string
                  subjectType:
                    type: string
                  subjectId:
                    type: string
                  requester:
                    type: object
                    properties:
                      userId:
                        type: string
                      name:
                        type: string
                      email:
                        type: string
                    required:
                      - userId
                      - name
                      - email
                  body:
                    type: object
                    additionalProperties: {}
                    description: Full subject entity snapshot.
                  policyId:
                    type: string
                    description: The matched business policy.
                  status:
                    type: string
                    enum:
                      - REQUESTED
                      - APPROVED
                      - DENIED
                      - CANCELED
                      - EXPIRED
                    description: >-
                      Root lifecycle: REQUESTED → APPROVED | DENIED | CANCELED |
                      EXPIRED (terminal).
                  denialReason:
                    type: string
                    description: >-
                      Why the request was DENIED, as supplied by whoever denied
                      it via `.../deny` or `.../force-deny`. Absent when the
                      denier gave no reason, and on every non-DENIED request.
                  resolution:
                    anyOf:
                      - type: string
                        enum:
                          - AUTO
                        description: >-
                          How the request was resolved. `AUTO` — the matched
                          policy approved automatically (`autoAction:
                          "APPROVE"`): the request was created already APPROVED,
                          with no approvers, and its actions were executed on
                          creation. Absent on a request that went through an
                          approval flow.
                      - type: string
                    description: >-
                      `AUTO` when the matched policy approved automatically and
                      the request was created already APPROVED (no approvers).
                      Absent on a request that went through an approval flow.
                  executionMode:
                    anyOf:
                      - type: string
                        enum:
                          - MOVE_BALANCE_ONLY
                        description: >-
                          Which part of the execution runs after approval.
                          `MOVE_BALANCE_ONLY` — the policy's balance top-up
                          runs, but the subject itself is not confirmed by the
                          policy engine: the module that asked for the execution
                          finalizes its own subject. Absent = the full execution
                          (top-up, then the subject's confirm).
                      - type: string
                    description: >-
                      `MOVE_BALANCE_ONLY` when only the policy's balance top-up
                      ran and the subject was finalized by its own module.
                      Absent on a full execution.
                  executionStatus:
                    type: string
                    enum:
                      - WAITING
                      - PROCESSING
                      - EXECUTED
                      - FAILED
                    description: Runs only after the root reaches APPROVED.
                  executionFailReason:
                    type: string
                  approvalDeadline:
                    anyOf:
                      - type: string
                      - type: string
                        format: date-time
                    description: >-
                      CALLER-supplied at creation (#4971 Q1) and copied verbatim
                      — ruleengine only validates that it is in the future. The
                      business policy no longer carries a deadline: the caller
                      owns the semantics (banking derives it from the payment
                      date), so the same policy can govern subjects with very
                      different natural deadlines.
                  executionMoveBalance:
                    type: object
                    properties:
                      addBalance:
                        type: boolean
                      fromAccountId:
                        type: string
                        description: Required when `addBalance` is true.
                      fromWalletId:
                        type: string
                        description: Required when `addBalance` is true.
                    required:
                      - addBalance
                    description: Copied from the matched policy at creation.
                  approvalHierarchy:
                    type: boolean
                    description: Copied from policy.actions.hierarchy.
                  approvals:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - USER
                            - GROUP
                        id:
                          type: string
                          description: userId when type=USER, groupId when type=GROUP.
                        name:
                          type: string
                        status:
                          type: string
                          enum:
                            - WAITING
                            - REQUESTED
                            - APPROVED
                            - DENIED
                            - CANCELED
                          description: Per-approval / per-approver lifecycle.
                        users:
                          type: array
                          items:
                            type: object
                            properties:
                              userId:
                                type: string
                              userName:
                                type: string
                              userEmail:
                                type: string
                              status:
                                type: string
                                enum:
                                  - WAITING
                                  - REQUESTED
                                  - APPROVED
                                  - DENIED
                                  - CANCELED
                                description: Per-approval / per-approver lifecycle.
                            required:
                              - userId
                              - userName
                              - userEmail
                              - status
                          description: >-
                            1 entry for USER, N for GROUP — resolved from
                            identity at creation.
                        createdAt:
                          anyOf:
                            - type: string
                            - type: string
                              format: date-time
                        requestedAt:
                          anyOf:
                            - type: string
                            - type: string
                              format: date-time
                        decisionAt:
                          anyOf:
                            - type: string
                            - type: string
                              format: date-time
                        decisionReason:
                          type: string
                          description: >-
                            Free-text justification the decision-maker supplied
                            with their vote, alongside `decisionAt`. Optional —
                            a caller may still decide without one.
                      required:
                        - type
                        - id
                        - name
                        - status
                        - users
                  createdAt:
                    anyOf:
                      - type: string
                      - type: string
                        format: date-time
                  updatedAt:
                    anyOf:
                      - type: string
                      - type: string
                        format: date-time
                required:
                  - id
                  - realmId
                  - organizationId
                  - accountId
                  - walletId
                  - context
                  - subjectType
                  - subjectId
                  - requester
                  - body
                  - policyId
                  - status
                  - executionStatus
                  - approvalDeadline
                  - approvalHierarchy
                  - approvals
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````