---
title: "Get Cosigner Policies Route"
method: GET
path: "/v0/platform/cosigners/{id}/policies/"
tags: ["cosigner"]
---

# Get Cosigner Policies Route

`GET /v0/platform/cosigners/{id}/policies/`

## Request

- Base URL: `https://api.blockaid.io`
- URL: `https://api.blockaid.io/v0/platform/cosigners/{id}/policies/`
- Auth: none declared
- TypeScript: <https://skmtc.dev/blockaid-official/apis/blockaid-api/docs/v0/platform/cosigners/:id/policies/get.ts> (a function with typed inputs; its response is checked against the schema)

Get all policies for a cosigner by ID.

## Path parameters

- `id` string, required: Cosigner ID

## Response `200`

Successful Response

- GetPoliciesResponse: Response containing all policies for a cosigner (per chain).
  - `policies` PoliciesResponse, required: Response containing policy arrays per chain as returned by the API.
    - `evm` EVMPolicyResponse[], nullable
      - `name` string, required
      - `action` 'approve' | 'reject', required: What the cosigner should do when a transaction is proposed (e.g. sign, reject).
      - `policy` union, required
        - CalledAddressPolicyResponse
          - `type` 'called_address', required
          - `rules` CalledAddressRulesOutput, required
            - `called_addresses` CalledAddressesRule, required
              - …
        - Eip712SignaturePolicyResponse: Resolved EIP-712 signature policy returned to API consumers.
          - `rules` Eip712SignatureRulesOutput, required: Aggregated rules for evaluating EIP-712 typed-data signatures.
            - `primary_type` Eip712PrimaryTypeRule, required: Rule matching the EIP-712 primaryType field.
              - …
            - `verifying_contracts` Eip712VerifyingContractsRule: Rule matching EIP-712 domain verifying contract addresses.
              - …
          - `type` 'eip_712_signature', required
        - EventEmittedPolicyResponse
          - `type` 'event_emitted', required
          - `rules` EventEmittedRulesOutput, required
            - `event_name` EventName, required
              - …
            - `event_parameters` EventParameter[], nullable
              - …
          - `target` union[], required
            - union
              - …
        - FunctionCallPolicyResponse
          - `type` 'function_call', required
          - `rules` FunctionCallRulesOutput, required
            - `function_name` FunctionName, required
              - …
            - `function_parameters` FunctionParameter[], nullable
              - …
          - `target` union[], required
            - union
              - …
        - GainingAddressesPolicyResponse
          - `type` 'gaining_addresses', required
          - `rules` GainingAddressesRulesOutput, required
            - `approved_gaining_addresses` ApprovedGainingAddresses, required
              - …
            - `transaction_filter` TransactionFilter, required
              - …
            - `ignore_threshold` IgnoreThresholdRule
              - …
            - `non_approved_gaining_percentage` NonApprovedGainingPercentage
              - …
        - MerklCampaignPolicyResponse
          - `rules` MerklCampaignRulesOutput, required
            - `campaigns` MerklCampaignItem[], required
              - …
          - `type` 'merkl_campaign', required
        - MovedAssetsPolicyResponse
          - `rules` MovedAssetsRulesOutput, required
            - `direction` MovedAssetsDirection
              - …
            - `moved_assets` MovedAssetsRule, required
              - …
          - `type` 'moved_assets', required
        - RiskExposurePolicyResponse
          - `rules` RiskExposureRulesOutput, required
            - `category_thresholds` CategoryThresholdOutput[], required
              - …
            - `proximity` 'overall' | 'ownership' | 'counterparty' | 'indirect': Proximity ring relative to the scanned address (hops measured outward, the address itself is hop 0). `overall`: aggregated across all rings (default). `ownership`: hop 1 only. `counterparty`: hop 2 only. `indirect`: hop 3 and deeper.
          - `type` 'risk_exposure', required
        - RollingUsdLimitPolicyResponse
          - `rules` RollingUsdLimitRulesOutput, required
            - `max_usd_value` MaxUsdValueRule, required
              - …
            - `time_window` TimeWindowRule, required
              - …
          - `type` 'rolling_usd_limit', required
        - SafeConfigTransactionPolicyResponse
          - `rules` SafeConfigTransactionRulesOutput, required
            - `config_action` SafeConfigActionRule, required: Rule matching the Safe config action(s) in a transaction.
              - …
          - `type` 'safe_config_transaction', required
        - TokenSpendApprovalPolicyResponse
          - `rules` TokenSpendApprovalRulesOutput, required
            - `approval_amount` TokenSpendApprovalAmountRule
              - …
            - `approval_usd_value` TokenSpendApprovalUsdValueRule, required
              - …
          - `type` 'token_spend_approval', required
        - TransactionUSDValuePolicyResponse
          - `type` 'transaction_usd_value', required
          - `rules` TransactionUSDValueRulesOutput, required
            - `transaction_usd_value` TransactionUSDValueRule, required
              - …
        - BaseCompositePolicyResponse: Composite policy response; rules may be various policy response types or unknown.
          - `type` 'composite'
          - `operator` 'and' | 'or', required
          - `rules` unknown[], required
            - unknown
        - UnknownPolicyResponse: Policy response for an unknown or future policy type; clients should handle gracefully.
          - `type` string, required
          - `rules` object, nullable
          - `target` object, nullable
    - `solana` SolanaPolicyResponse[], nullable
      - `name` string, required
      - `action` 'approve' | 'reject', required: What the cosigner should do when a transaction is proposed (e.g. sign, reject).
      - `policy` union, required
        - FunctionCallPolicyResponse
          - `type` 'function_call', required
          - `rules` FunctionCallRulesOutput, required
            - `function_name` FunctionName, required
              - …
            - `function_parameters` FunctionParameter[], nullable
              - …
          - `target` union[], required
            - union
              - …
        - GainingAddressesPolicyResponse
          - `type` 'gaining_addresses', required
          - `rules` GainingAddressesRulesOutput, required
            - `approved_gaining_addresses` ApprovedGainingAddresses, required
              - …
            - `transaction_filter` TransactionFilter, required
              - …
            - `ignore_threshold` IgnoreThresholdRule
              - …
            - `non_approved_gaining_percentage` NonApprovedGainingPercentage
              - …
        - SquadsConfigTransactionPolicyResponse
          - `rules` SquadsConfigTransactionRulesOutput, required
            - `squads_config_action` ConfigActionRule, required: Rule matching the Squads multisig config action(s) in a transaction.
              - …
          - `type` 'squads_config_transaction', required
        - TransactionUSDValuePolicyResponse
          - `type` 'transaction_usd_value', required
          - `rules` TransactionUSDValueRulesOutput, required
            - `transaction_usd_value` TransactionUSDValueRule, required
              - …
        - RollingUsdLimitPolicyResponse
          - `rules` RollingUsdLimitRulesOutput, required
            - `max_usd_value` MaxUsdValueRule, required
              - …
            - `time_window` TimeWindowRule, required
              - …
          - `type` 'rolling_usd_limit', required
        - BaseCompositePolicyResponse: Composite policy response; rules may be various policy response types or unknown.
          - `type` 'composite'
          - `operator` 'and' | 'or', required
          - `rules` unknown[], required
            - unknown
        - UnknownPolicyResponse: Policy response for an unknown or future policy type; clients should handle gracefully.
          - `type` string, required
          - `rules` object, nullable
          - `target` object, nullable
    - `bitcoin` BitcoinPolicyResponse[], nullable
      - `name` string, required
      - `action` 'approve' | 'reject', required: What the cosigner should do when a transaction is proposed (e.g. sign, reject).
      - `policy` union, required
        - GainingAddressesPolicyResponse
          - `type` 'gaining_addresses', required
          - `rules` GainingAddressesRulesOutput, required
            - `approved_gaining_addresses` ApprovedGainingAddresses, required
              - …
            - `transaction_filter` TransactionFilter, required
              - …
            - `ignore_threshold` IgnoreThresholdRule
              - …
            - `non_approved_gaining_percentage` NonApprovedGainingPercentage
              - …
        - TransactionUSDValuePolicyResponse
          - `type` 'transaction_usd_value', required
          - `rules` TransactionUSDValueRulesOutput, required
            - `transaction_usd_value` TransactionUSDValueRule, required
              - …
        - BaseCompositePolicyResponse: Composite policy response; rules may be various policy response types or unknown.
          - `type` 'composite'
          - `operator` 'and' | 'or', required
          - `rules` unknown[], required
            - unknown
        - UnknownPolicyResponse: Policy response for an unknown or future policy type; clients should handle gracefully.
          - `type` string, required
          - `rules` object, nullable
          - `target` object, nullable
    - `sui` SuiPolicyResponse[], nullable
      - `name` string, required
      - `action` 'approve' | 'reject', required: What the cosigner should do when a transaction is proposed (e.g. sign, reject).
      - `policy` union, required
        - GainingAddressesPolicyResponse
          - `type` 'gaining_addresses', required
          - `rules` GainingAddressesRulesOutput, required
            - `approved_gaining_addresses` ApprovedGainingAddresses, required
              - …
            - `transaction_filter` TransactionFilter, required
              - …
            - `ignore_threshold` IgnoreThresholdRule
              - …
            - `non_approved_gaining_percentage` NonApprovedGainingPercentage
              - …
        - TransactionUSDValuePolicyResponse
          - `type` 'transaction_usd_value', required
          - `rules` TransactionUSDValueRulesOutput, required
            - `transaction_usd_value` TransactionUSDValueRule, required
              - …
        - RollingUsdLimitPolicyResponse
          - `rules` RollingUsdLimitRulesOutput, required
            - `max_usd_value` MaxUsdValueRule, required
              - …
            - `time_window` TimeWindowRule, required
              - …
          - `type` 'rolling_usd_limit', required
        - BaseCompositePolicyResponse: Composite policy response; rules may be various policy response types or unknown.
          - `type` 'composite'
          - `operator` 'and' | 'or', required
          - `rules` unknown[], required
            - unknown
        - UnknownPolicyResponse: Policy response for an unknown or future policy type; clients should handle gracefully.
          - `type` string, required
          - `rules` object, nullable
          - `target` object, nullable
    - `other` OtherChainPolicyResponse[], nullable
      - `name` string, required
      - `action` 'approve' | 'reject', required: What the cosigner should do when a transaction is proposed (e.g. sign, reject).
      - `policy` UnsupportedChainPolicyResponse, required
        - `type` 'unsupported_chain', required

## Other responses

- `422`: Validation Error

## Changes

> 120 revisions in range; 1 not diffed.

- **2026-10-29** `da18d8528c60`: 3 breaking, 3 warning
  - the `operator` response property const value `lte` was removed for the status `200`
  - the `operator` response property const value `lte` was removed for the status `200`
  - the `operator` response property const value `lte` was removed for the status `200`
  - added the new `gte` enum value to the `policies/evm/anyOf[subschema #1]/items/policy/anyOf[subschema #9: RollingUsdLimitPolicyResponse]/rules/max_usd_value/operator` response property for the response status `200`
  - …2 more
- **2026-10-29** `eb516188e5fa`: 1 info
  - added the optional property `policies/evm/anyOf[subschema #1]/items/policy/anyOf[subschema #8: RiskExposurePolicyResponse]/rules/category_thresholds/items/proximity` to the response with the `200` status
- **2026-09-23** `cb12d1ef42f6`: 1 info
  - added `#/components/schemas/SafeConfigTransactionPolicyResponse` to the `policies/evm/anyOf[subschema #1]/items/policy` response property `anyOf` list for the response status `200`
- **2026-08-03** `1637384d3be3`: 1 info
  - added the optional property `policies/evm/anyOf[subschema #1]/items/policy/anyOf[subschema #8: RiskExposurePolicyResponse]/rules/proximity` to the response with the `200` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/blockaid-official/apis/blockaid-api/changes/v0/platform/cosigners/:id/policies/get.md)

---

[API](https://skmtc.dev/blockaid-official/apis/blockaid-api.md) - [All operations](https://skmtc.dev/blockaid-official/apis/blockaid-api/llms.txt) - [OpenAPI document](https://skmtc.dev/blockaid-official/apis/blockaid-api/revisions/104550c9d3f1?raw)
