---
title: "Current Agent Approval"
method: GET
path: "/api/v1/agents/{agent_id}/approvals/current"
tags: ["approvals"]
---

# Current Agent Approval

`GET /api/v1/agents/{agent_id}/approvals/current`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/agents/{agent_id}/approvals/current`
- Auth: none declared

Members get the full record, or ``200 {"status": "none"}`` (so an agent page
never logs a console 404); everyone else, on a PUBLIC agent only, gets the
bounded record or a 404.

## Path parameters

- `agent_id` string, uuid, required

## Response `200`

Successful Response

- union
  - ApprovalRead
    - `id` string, uuid, required
    - `team_id` string, uuid, required
    - `agent_id` string, uuid, required
    - `agent_name` string, nullable, required
    - `status` 'candidate' | 'approved' | 'rejected' | 'revoked' | 'expired', required
    - `blueprint_version_id` string, uuid, nullable, required
    - `requested_by` string, uuid, nullable, required
    - `requested_by_label` string, nullable, required
    - `evidence_snapshot` object, required
    - `gates` GateResult[], required
      - `gate` string, required
      - `required` unknown, required
      - `observed` unknown, required
      - `passed` boolean, required
    - `decided_at` string, date-time, nullable, required
    - `expires_at` string, date-time, nullable, required
    - `revoked_reason` string, nullable, required
    - `revoke_comment` string, nullable, required
    - `revoked_by_label` string, nullable, required
    - `revoked_at` string, date-time, nullable, required
    - `created_at` string, date-time, required
    - `approvals_count` integer, required
    - `approvals_required` integer, required
    - `decisions` DecisionRead[], required
      - `user_id` string, uuid, nullable, required
      - `user_label` string, nullable, required
      - `decision` 'approve' | 'reject', required
      - `comment` string, required
      - `created_at` string, date-time, required
  - PublicApproval: The ONLY approval fields an anonymous reader ever sees.
    - `status` 'approved', required
    - `workspace` string, required
    - `decided_at` string, date, nullable, required
    - `blueprint_version_id` string, uuid, nullable, required
  - NoCurrentApproval: Workspace members' answer when the agent has no live approval (200, not 404).
    - `status` 'none'

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
