> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whirl.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Edit pending action

> Change a draft before it is approved.



## OpenAPI

````yaml PATCH /pending-actions/{actionId}
openapi: 3.1.0
info:
  title: Whirl API
  version: 1.0.0
  description: >-
    Read and change Whirl workspaces, tasks, reminders, agents' instructions and
    approvals as the signed-in user. The same operations are available as tools
    on the MCP server at /mcp.
servers:
  - url: https://api.whirl.sh/api/v1
security:
  - oauth2: []
paths:
  /pending-actions/{actionId}:
    patch:
      tags:
        - approvals
      summary: Edit pending action
      description: >-
        Edit a pending action's draft before it is approved, like editing it
        inline in Whirl (for example to change an email's body or recipients).
        Pass only the payload fields to change, using the field names from
        get_pending_action; each one replaces the current value. Always pass
        complete values: never copy a value get_pending_action showed as
        truncated. The edited draft is validated like the agent's original, and
        editing does not approve it.
      operationId: update_pending_action
      parameters:
        - name: actionId
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 64
            description: Pending action id from list_pending_actions.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                payload:
                  type: object
                  propertyNames:
                    type: string
                    minLength: 1
                    maxLength: 200
                  additionalProperties:
                    $ref: '#/components/schemas/update_pending_action___schema0'
                  description: Payload fields to replace, as a JSON object.
              required:
                - payload
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/Problem'
        '401':
          $ref: '#/components/responses/Problem'
        '403':
          $ref: '#/components/responses/Problem'
        '404':
          $ref: '#/components/responses/Problem'
        '409':
          $ref: '#/components/responses/Problem'
        '429':
          $ref: '#/components/responses/Problem'
      security:
        - oauth2:
            - approvals:write
components:
  schemas:
    update_pending_action___schema0:
      anyOf:
        - type: string
        - type: number
        - type: boolean
        - type: 'null'
        - type: array
          items:
            $ref: '#/components/schemas/update_pending_action___schema0'
        - type: object
          propertyNames:
            type: string
          additionalProperties:
            $ref: '#/components/schemas/update_pending_action___schema0'
    Problem:
      type: object
      properties:
        type:
          type: string
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        code:
          type: string
      required:
        - title
        - status
        - code
  responses:
    Problem:
      description: RFC 9457 problem details
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.whirl.sh/oauth/authorize
          tokenUrl: https://api.whirl.sh/oauth/token
          refreshUrl: https://api.whirl.sh/oauth/token
          scopes:
            workspace:read: >-
              Workspaces, tasks, notes, messages, reminders, and pending
              approvals.
            workspace:write: Create and update tasks, notes, tags, reminders, and workspaces.
            agents:read: >-
              Agents, their runs, instructions, handbook, knowledge, and
              scheduled tasks.
            agents:write: >-
              Edit instructions, handbook, knowledge, and scheduled tasks, and
              give agents tasks.
            approvals:write: Approve, reject, or edit actions agents want to take.
            offline_access: >-
              Keep access without asking you to sign in again, until you
              disconnect it.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.