# Get realized savings audit detail

> Returns the parent realized_savings_audit row plus all per-usage_type line items. Powers the Savings Audit drill-down side panel.

Source: https://docs.levelfour.ai/api-reference/audit/get-recommendations-audit-realized-by-id


## GET /api/v1/recommendations/audit/realized/{audit_id}

Returns the parent realized_savings_audit row plus all per-usage_type line items. Powers the Savings Audit drill-down side panel.

### Authentication

Send `Authorization: Bearer <token>`.

### Parameters

- `audit_id` (path, integer, required)

### Responses

#### 200: Successful Response

- `success` (boolean, default `true`)
- `timestamp` (date-time string)
- `data` (object, required): Full realized-savings audit row with line-item breakdown
  - `id` (integer, required)
  - `savings_id` (string, required): User-facing savings identifier (alias of recommendation_id)
  - `recommendation_id` (string, required)
  - `approved_by` (string, nullable): Dashboard user who approved the savings (saving_accepted_by); falls back to actor_principal
  - `applied_via` (string, required): How the apply was attributed (sourced from implementation_method)
  - `implementation_method` (string, nullable): How the rec was implemented: one-click / one-click-plus-iac / iac / manual
  - `first_view_at` (string, nullable): Earliest view of this rec on any channel (manual path)
  - `first_view_channel` (string, nullable): Channel of the earliest view: dashboard / cli / sdk-go / sdk-node / sdk-python / api
  - `view_count_at_audit` (integer, nullable): Total view count snapshot at audit reconcile time
  - `verification` (string, default `pending`): Verification state: pending / auto-by-worker / auto-by-worker-and-iac / auto-by-iac / auto-wizard-manual / manual-verified / manual-unverified
  - `technical_details` (object, nullable): Forensic CloudTrail evidence; populated only for manual-verified / manual-unverified rows
    - `cloud_event_id` (string, required)
    - `cloud_event_name` (string, required)
    - `cloud_event_time` (string, nullable)
    - `actor_principal` (string, nullable)
    - `actor_type` (string, nullable)
    - `actor_ip` (string, nullable)
    - `evidence` (object)
  - `implemented_at` (string, nullable): ISO 8601 timestamp of the cloud event that realized the savings
  - `execution_logs` (array of object): Execution log steps from dashboard_potential_savings.actions (apply trace, FINAL SUMMARY)
  - `execution_steps` (array of object): Execution step plan from dashboard_potential_savings.actions
  - `provider` (string, required)
  - `cloud_event_id` (string, required)
  - `cloud_event_name` (string, required)
  - `cloud_event_time` (string, nullable)
  - `actor_principal` (string, nullable)
  - `actor_type` (string, nullable)
  - `actor_ip` (string, nullable)
  - `cloud_resource_id` (string, required)
  - `service` (string, required)
  - `account_id` (string, required)
  - `region` (string, nullable)
  - `environment` (string, nullable)
  - `dashboard_viewer` (string, nullable)
  - `dashboard_view_id` (integer, nullable)
  - `billing_period` (string, required)
  - `billing_period_start` (string, nullable)
  - `billing_period_end` (string, nullable)
  - `days_active_in_period` (integer, required)
  - `estimated_savings_usd` (number, nullable)
  - `realized_savings_usd` (number, nullable)
  - `realized_savings_in_progress_usd` (number, nullable)
  - `settled_at` (string, nullable)
  - `realized_savings_7d_usd` (number, nullable)
  - `realized_savings_30d_usd` (number, nullable)
  - `snapshot_7d_at` (string, nullable)
  - `snapshot_30d_at` (string, nullable)
  - `realized_basis` (string, required)
  - `calculator_version` (string, required)
  - `frozen_at` (string, nullable)
  - `evidence` (object)
  - `detected_at` (string, nullable)
  - `updated_at` (string, nullable)
  - `lines` (array of object)
    - `id` (integer, required)
    - `usage_type` (string, required)
    - `usage_quantity` (number, required)
    - `usage_unit` (string, required)
    - `unit_price_usd` (number, nullable)
    - `savings_usd` (number, required)
    - `operation` (string, nullable)

#### Errors

- `400`: Bad Request
- `401`: Authentication Error
- `403`: Authorization Error
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Rate Limit Exceeded
- `500`: Internal Server Error

Body of `400`, `401`, `403`, `404`, `409`, `422`, `429`, `500`:

- `success` (`false`, required)
- `error` (object, required)
  - `code` (string, required)
  - `message` (string, required)
  - `details` (any)
- `timestamp` (date-time string, required)
