---
title: "List policy controls"
method: GET
path: "/v1/policies"
tags: ["Policies"]
---

# List policy controls

`GET /v1/policies`

Lists wallet and API-key control targets in one paginated inventory. Every target, profile, binding, and evaluation is scoped to the authenticated organization and exact project.

## Query parameters

- `target` 'wallet' | 'api_key' | 'all' — Control-target family to return.
- `status` 'default_allow' | 'draft' | 'active' | 'disabled' — Optional computed control status.
- `query` string — Case-insensitive substring match on wallet display name or API-key label.
- `page` integer — Page number (1-based).
- `pageSize` integer — Items per page (max 100).

## Headers

- `x-project-id` string — Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

## Response `200`

Policy-control inventory

- object — Standard success response envelope.
  - `data` object, required — Paginated target-bound policy controls plus status and API-key binding counts. Summary counts apply target and query filters before the optional status filter.
    - `controls` union[], required
      - union
        - object — Wallet policy-control inventory row.
          - `targetId` string, required — Stable control-target identifier.
          - `displayName` string, required — Wallet display name or API-key label.
          - `controlProfileId` string, nullable, required — Selected target-bound control profile ID, or null for implicit default allow.
          - `status` 'default_allow' | 'draft' | 'active' | 'disabled', required — Computed inventory status. Disabled profiles remain disabled, not default allow.
          - `activeRevisionId` string, nullable, required — Active immutable revision ID, when the selected profile has one.
          - `activeRevisionNumber` integer, nullable, required — Active immutable revision number, when available.
          - `defaultAction` 'allow' | 'deny' | 'approval_required' | 'review', required — Default action from the active or latest draft revision.
          - `ruleCount` integer, required — Rule count from the active or latest draft revision.
          - `updatedAt` string, date-time, required — Last target-control update timestamp.
          - `activatedAt` string, date-time, nullable, required — Profile activation timestamp, when active or previously activated.
          - `latestEvaluation` object, nullable, required — Latest redacted policy evaluation summary, when available.
            - `decision` 'allow' | 'deny' | 'approval_required' | 'provider_approval_required' | 'review' | 'not_evaluated', required — Latest policy evaluation decision.
            - `evaluatedAt` string, date-time, required — Timestamp of the latest policy evaluation.
          - `targetType` 'wallet', required
          - `walletId` string, required — Provider-facing wallet ID.
          - `walletAddress` string, required — Wallet public address.
          - `providerMappingStatus` 'not_applicable' | 'pending' | 'synced' | 'partial' | 'failed', required — Mapping status for the wallet's custody provider.
        - object — API-key policy-control inventory row.
          - `targetId` string, required — Stable control-target identifier.
          - `displayName` string, required — Wallet display name or API-key label.
          - `controlProfileId` string, nullable, required — Selected target-bound control profile ID, or null for implicit default allow.
          - `status` 'default_allow' | 'draft' | 'active' | 'disabled', required — Computed inventory status. Disabled profiles remain disabled, not default allow.
          - `activeRevisionId` string, nullable, required — Active immutable revision ID, when the selected profile has one.
          - `activeRevisionNumber` integer, nullable, required — Active immutable revision number, when available.
          - `defaultAction` 'allow' | 'deny' | 'approval_required' | 'review', required — Default action from the active or latest draft revision.
          - `ruleCount` integer, required — Rule count from the active or latest draft revision.
          - `updatedAt` string, date-time, required — Last target-control update timestamp.
          - `activatedAt` string, date-time, nullable, required — Profile activation timestamp, when active or previously activated.
          - `latestEvaluation` object, nullable, required — Latest redacted policy evaluation summary, when available.
            - `decision` 'allow' | 'deny' | 'approval_required' | 'provider_approval_required' | 'review' | 'not_evaluated', required — Latest policy evaluation decision.
            - `evaluatedAt` string, date-time, required — Timestamp of the latest policy evaluation.
          - `targetType` 'api_key', required
          - `apiKeyPrefix` string, required — Redacted API-key prefix. Secret key material is never returned.
          - `bindingScope` 'all' | 'selected' | 'null', nullable, required — Whether policy bindings apply to all or selected wallets, when configured.
          - `selectedWalletCount` integer, required — Number of selected-wallet policy bindings.
    - `total` integer, required — Rows matching target, query, and status filters.
    - `page` integer, required — Current page number.
    - `pageSize` integer, required — Items per page.
    - `summary` object, required
      - `total` integer, required
      - `defaultAllow` integer, required
      - `draft` integer, required
      - `active` integer, required
      - `disabled` integer, required
      - `totalApiKeyBindings` integer, required
  - `meta` object, required — Response metadata.
    - `requestId` string, required — Request identifier for tracing.
    - `timestamp` string, date-time, required — ISO 8601 timestamp.

## Other responses

- `400` — Error
- `401` — Error
- `403` — Error
- `500` — Error

---

[API](https://skmtc.net/solana/apis/solana-developer-platform-api.md) · [All operations](https://skmtc.net/solana/apis/solana-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solana/solana-developer-platform-api/revisions/672b1916ba61/schema)
