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

# List workspace approval requests

> Lists approval requests newest first, including proposed actions, evidence, potential impact, and time remaining. Filter by fleet, request kind, or status. All states are included by default. Follow the cursor to continue.



## OpenAPI

````yaml https://raw.githubusercontent.com/agentsfleet/agentsfleet/main/public/openapi.json get /v1/workspaces/{workspace_id}/approvals
openapi: 3.1.0
info:
  title: agentsfleet API
  description: API for managing workspaces, fleets, triggers, and runs.
  contact:
    name: agentsfleet
    url: https://agentsfleet.net
  license:
    name: MIT
    identifier: MIT
  version: 1.0.0
servers:
  - url: https://api.agentsfleet.net
    description: Production
security: []
paths:
  /v1/workspaces/{workspace_id}/approvals:
    get:
      tags:
        - Approvals
      summary: List workspace approval requests
      description: >-
        Lists approval requests newest first, including proposed actions,
        evidence, potential impact, and time remaining. Filter by fleet, request
        kind, or status. All states are included by default. Follow the cursor
        to continue.
      operationId: list_workspace_approvals
      parameters:
        - name: workspace_id
          in: path
          description: >-
            Workspace identifier (version 7 universally unique identifier, or
            UUID).
          required: true
          schema:
            type: string
        - name: status
          in: query
          description: >-
            Narrows to one state: "pending", "approved", "denied", "timed_out"
            or "auto_killed". Omit it for every state.
          required: false
          schema:
            type: string
        - name: fleet_id
          in: query
          required: false
          schema:
            type: string
        - name: gate_type
          in: query
          required: false
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: string
        - name: cursor
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalsResponse'
        '400':
          description: The request is invalid
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemBody'
        '401':
          description: Authentication is missing, invalid, or not accepted by this endpoint
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemBody'
        '403':
          description: You do not have permission for this action
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemBody'
        '429':
          description: A request or capacity limit has been reached
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemBody'
        '500':
          description: An internal server error occurred
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemBody'
        '503':
          description: A required service is unavailable
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemBody'
      security:
        - BearerAuth: []
components:
  schemas:
    ApprovalsResponse:
      type: object
      description: '`GET /v1/workspaces/{workspace_id}/approvals` — the queue.'
      required:
        - items
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalSummary'
          description: The gates on this page, newest first.
        next_cursor:
          type:
            - string
            - 'null'
          description: Where the next page resumes, or `null` on the last one.
    ProblemBody:
      type: object
      description: The body every refusal carries, under `application/problem+json`.
      required:
        - docs_uri
        - title
        - detail
        - error_code
        - request_id
      properties:
        action_id:
          type:
            - string
            - 'null'
          description: 'On that 409 only: the action the gate held.'
        current_state:
          type:
            - string
            - 'null'
          description: 'On a 409 only: the state that forbade the transition.'
        detail:
          type: string
          description: One sentence on what was refused and why.
        docs_uri:
          type: string
          description: Where the error code is documented.
        error_code:
          type: string
          description: The registry code, stable across releases.
        etag:
          type:
            - string
            - 'null'
          description: >-
            On a 412 only: the resource's current entity tag, to refetch and
            retry.
        gate_id:
          type:
            - string
            - 'null'
          description: 'On an answered approval gate''s 409 only: the gate that was answered.'
        outcome:
          type:
            - string
            - 'null'
          description: 'On that 409 only: the answer that stands.'
        request_id:
          type: string
          description: The request this refusal answers, for support.
        resolved_at:
          type:
            - string
            - 'null'
          format: date-time
          description: 'On that 409 only: when the standing answer was given.'
        resolved_by:
          type:
            - string
            - 'null'
          description: 'On that 409 only: who gave it.'
        title:
          type: string
          description: A short name for the refusal, safe to show a person.
        user_message:
          type:
            - string
            - 'null'
          description: A curated sentence for end users, where the code has one.
    ApprovalSummary:
      type: object
      description: One gate as the inbox lists it.
      required:
        - gate_id
        - fleet_id
        - fleet_name
        - workspace_id
        - action_id
        - tool_name
        - action_name
        - gate_type
        - proposed_action
        - blast_radius
        - status
        - detail
        - created_at
        - expires_at
        - resolved_by
        - resolved_by_name
      properties:
        action_id:
          type: string
          description: The action it gates.
        action_name:
          type: string
          description: The verb it wants.
        blast_radius:
          type: string
          description: How far the consequences reach.
        created_at:
          type: string
          format: date-time
          description: When it was raised.
        detail:
          type: string
          description: The resolver's note, empty while pending.
        evidence:
          type:
            - object
            - 'null'
          description: The evidence behind the proposal, verbatim.
        expires_at:
          type: string
          format: date-time
          description: When it stops waiting.
        fleet_id:
          type: string
          description: The fleet that raised it.
        fleet_name:
          type: string
          description: That fleet's name, joined at read time so a rename is visible.
        gate_id:
          type: string
          description: The gate's own row id — what a decision addresses it by.
        gate_type:
          type: string
          description: Which family of gate this is.
        proposed_action:
          type: string
          description: What the fleet proposes, in a person's words.
        resolved_at:
          type:
            - string
            - 'null'
          format: date-time
          description: When it was resolved, or `null` while pending.
        resolved_by:
          type: string
          description: Who resolved it, empty while pending.
        resolved_by_name:
          type: string
          description: >-
            Resolver's display name, or an empty string when unavailable. Fall
            back to

            `resolved_by` when empty.
        status:
          type: string
          description: Where the gate stands.
        tool_name:
          type: string
          description: The tool asking.
        workspace_id:
          type: string
          description: The workspace it belongs to.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Send a dashboard session token, an account API key (`agt_t`), or a
        command-line credential (`afc_`) as a Bearer token. Each endpoint lists
        accepted credential types.

````

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