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

# Approve or reject many held steps in one call, each against the authority its own step names.

> Every step is decided exactly as it would be on its own, so one that is not yours, that is waiting
on an acknowledgement, or whose level still wants a field filled in is reported with the reason
rather than silently passed over. A signature that does not settle a rung needing several is
reported as signed and still open, because the request has not moved.



## OpenAPI

````yaml /api-reference/openapi.json post /rpc/bulk_decide_tasks
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: Assets
  - name: Asset lifecycle
  - name: Work lifecycle
  - name: Maintenance
  - name: Inventory
  - name: Inventory detail
  - name: Procurement
  - name: Contracts
  - name: Workforce
  - name: Capacity
  - name: Dispatch
  - name: Tools
  - name: Inspections
  - name: Verification
  - name: Reliability
  - name: Parts demand
  - name: Sensors and meters
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Root cause analysis
  - name: Reports
  - name: Audit center
  - name: Activity
  - name: Notifications
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Files
  - name: Sync
  - name: Support
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Platform
  - name: Amendments
  - name: Asset clone
  - name: Asset components
  - name: Asset register
  - name: Asset transfer
  - name: Audit feed
  - name: Billing
  - name: Bookings
  - name: Budgets
  - name: Bulk jobs
  - name: Calibration history
  - name: Capex plans
  - name: Conversations
  - name: Costing
  - name: Currency
  - name: Dashboards
  - name: Directory sync
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Documents
  - name: Energy
  - name: Extracts
  - name: Features
  - name: Feeds
  - name: File exchange
  - name: Filing exceptions
  - name: Finance
  - name: Inbound mail
  - name: Keys
  - name: Knowledge
  - name: Licence
  - name: List views
  - name: Locations
  - name: Mapping
  - name: Mcp
  - name: Mcp oauth
  - name: Mfa
  - name: Numbering
  - name: Permits
  - name: Readers
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: Release
  - name: Scim
  - name: Security streams
  - name: Self verification
  - name: Setup
  - name: Shutdown
  - name: Sso
  - name: Telegram
  - name: Tenant switch
  - name: The caller's own work
  - name: The checklist library
  - name: Tools on a job, and who has them out
  - name: Tray
  - name: Vendor spend forecast
  - name: Vendors and contracts
  - name: Visitors
  - name: Work order execution
  - name: Work sequencing
  - name: Workforce detail
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /rpc/bulk_decide_tasks:
    post:
      tags:
        - Workflows
      summary: >-
        Approve or reject many held steps in one call, each against the
        authority its own step names.
      description: >-
        Every step is decided exactly as it would be on its own, so one that is
        not yours, that is waiting

        on an acknowledgement, or whose level still wants a field filled in is
        reported with the reason

        rather than silently passed over. A signature that does not settle a
        rung needing several is

        reported as signed and still open, because the request has not moved.
      parameters:
        - $ref: '#/components/parameters/preferParams'
      requestBody:
        content:
          application/json:
            schema:
              description: >-
                Approve or reject many held steps in one call, each against the
                authority its own step names.


                Every step is decided exactly as it would be on its own, so one
                that is not yours, that is waiting

                on an acknowledgement, or whose level still wants a field filled
                in is reported with the reason

                rather than silently passed over. A signature that does not
                settle a rung needing several is

                reported as signed and still open, because the request has not
                moved.
              properties:
                p_approved:
                  format: boolean
                  type: boolean
                p_notes:
                  format: text
                  type: string
                p_on_behalf_of_role_id:
                  format: uuid
                  type: string
                p_on_behalf_of_user_id:
                  format: uuid
                  type: string
                p_task_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
              required:
                - p_task_ids
                - p_approved
              type: object
          application/vnd.pgrst.object+json:
            schema:
              description: >-
                Approve or reject many held steps in one call, each against the
                authority its own step names.


                Every step is decided exactly as it would be on its own, so one
                that is not yours, that is waiting

                on an acknowledgement, or whose level still wants a field filled
                in is reported with the reason

                rather than silently passed over. A signature that does not
                settle a rung needing several is

                reported as signed and still open, because the request has not
                moved.
              properties:
                p_approved:
                  format: boolean
                  type: boolean
                p_notes:
                  format: text
                  type: string
                p_on_behalf_of_role_id:
                  format: uuid
                  type: string
                p_on_behalf_of_user_id:
                  format: uuid
                  type: string
                p_task_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
              required:
                - p_task_ids
                - p_approved
              type: object
          application/vnd.pgrst.object+json;nulls=stripped:
            schema:
              description: >-
                Approve or reject many held steps in one call, each against the
                authority its own step names.


                Every step is decided exactly as it would be on its own, so one
                that is not yours, that is waiting

                on an acknowledgement, or whose level still wants a field filled
                in is reported with the reason

                rather than silently passed over. A signature that does not
                settle a rung needing several is

                reported as signed and still open, because the request has not
                moved.
              properties:
                p_approved:
                  format: boolean
                  type: boolean
                p_notes:
                  format: text
                  type: string
                p_on_behalf_of_role_id:
                  format: uuid
                  type: string
                p_on_behalf_of_user_id:
                  format: uuid
                  type: string
                p_task_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
              required:
                - p_task_ids
                - p_approved
              type: object
          text/csv:
            schema:
              description: >-
                Approve or reject many held steps in one call, each against the
                authority its own step names.


                Every step is decided exactly as it would be on its own, so one
                that is not yours, that is waiting

                on an acknowledgement, or whose level still wants a field filled
                in is reported with the reason

                rather than silently passed over. A signature that does not
                settle a rung needing several is

                reported as signed and still open, because the request has not
                moved.
              properties:
                p_approved:
                  format: boolean
                  type: boolean
                p_notes:
                  format: text
                  type: string
                p_on_behalf_of_role_id:
                  format: uuid
                  type: string
                p_on_behalf_of_user_id:
                  format: uuid
                  type: string
                p_task_ids:
                  format: uuid[]
                  items:
                    type: string
                  type: array
              required:
                - p_task_ids
                - p_approved
              type: object
        required: true
      responses:
        '200':
          description: OK
components:
  parameters:
    preferParams:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - params=single-object
        type: string

````