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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/policy-editor-v2-beta/get-the-active-policy-and-its-validation-by-policy-type",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Get the active policy and its validation by policy type

> Returns the active policy and its validation for a specific policy type.

**Note:** This endpoint is currently in beta and subject to change. If you want to participate in the Policies beta, contact your Fireblocks Customer Success Manager or send an email to csm@fireblocks.com.

Endpoint Permissions: Owner, Admin, Non-Signing Admin.




## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml get /policy/active_policy
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /policy/active_policy:
    get:
      tags:
        - Policy Editor V2 (Beta)
      summary: Get the active policy and its validation by policy type
      description: >
        Returns the active policy and its validation for a specific policy type.


        **Note:** This endpoint is currently in beta and subject to change. If
        you want to participate in the Policies beta, contact your Fireblocks
        Customer Success Manager or send an email to csm@fireblocks.com.


        Endpoint Permissions: Owner, Admin, Non-Signing Admin.
      operationId: getActivePolicy
      parameters:
        - name: policyType
          in: query
          required: true
          description: >-
            The policy type(s) to retrieve. Can be a single type or multiple
            types by repeating the parameter (e.g.,
            ?policyType=TRANSFER&policyType=MINT).
          schema:
            $ref: '#/components/schemas/PolicyType'
      responses:
        '200':
          description: A policy object with validation
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyAndValidationResponse'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response:
            Promise<FireblocksResponse<PolicyAndValidationResponse>> =
            fireblocks.policyEditorV2Beta.getActivePolicy(policyEditorV2BetaApiGetActivePolicyRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<PolicyAndValidationResponse>> response
            = fireblocks.policyEditorV2Beta().getActivePolicy(policyType);
        - lang: Python
          source: >-
            response =
            fireblocks.policy_editor_v2_beta.get_active_policy(policy_type);
components:
  schemas:
    PolicyType:
      type: string
      enum:
        - TRANSFER
        - STAKE
        - CONTRACT_CALL
        - TYPED_MESSAGE
        - APPROVE
        - MINT
        - BURN
        - RAW
        - COMPLIANCE
        - DEPLOYMENT
        - PROGRAM_CALL
        - DAPP_CONNECTION
        - UPGRADE
        - ORDER
        - AML_CHAINALYSIS_V2_SCREENING
        - AML_CHAINALYSIS_V2_POST_SCREENING
        - AML_ELLIPTIC_HOLISTIC_SCREENING
        - AML_ELLIPTIC_HOLISTIC_POST_SCREENING
        - TR_NOTABENE_SCREENING
        - TR_NOTABENE_POST_SCREENING
      description: Policy type enumeration
      example: TRANSFER
    PolicyAndValidationResponse:
      type: object
      description: Policy validation
      properties:
        policy:
          $ref: '#/components/schemas/PolicyResponse'
        validation:
          $ref: '#/components/schemas/PolicyValidation'
      required:
        - policy
        - validation
    PolicyResponse:
      type: object
      description: Response object for policy operations
      properties:
        rules:
          type: array
          description: A set of policy rules
          items:
            $ref: '#/components/schemas/PolicyRule'
        metadata:
          $ref: '#/components/schemas/PolicyMetadata'
      required:
        - rules
        - metadata
    PolicyValidation:
      type: object
      description: Policy validation object
      properties:
        status:
          type: string
          description: Validation status
        checkResult:
          $ref: '#/components/schemas/PolicyCheckResult'
      required:
        - status
        - checkResult
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    PolicyRule:
      type: object
      description: V2 Policy rule which is enforced on transactions
      properties:
        name:
          type: string
          description: Name of the policy rule
          example: High Value Transfer Policy
        id:
          type: string
          description: Unique identifier for the policy rule
          example: policy_rule_001
        policyEngineVersion:
          type: string
          enum:
            - v2
          description: Policy engine version
          example: v2
        type:
          $ref: '#/components/schemas/PolicyType'
        subType:
          $ref: '#/components/schemas/PolicyType'
        initiator:
          $ref: '#/components/schemas/InitiatorConfigPattern'
        asset:
          $ref: '#/components/schemas/AssetConfig'
        source:
          $ref: '#/components/schemas/SourceConfig'
        destination:
          $ref: '#/components/schemas/DestinationConfig'
        account:
          $ref: '#/components/schemas/AccountConfig'
        side:
          $ref: '#/components/schemas/OrderSide'
        verdict:
          $ref: '#/components/schemas/VerdictConfig'
        amountOverTime:
          $ref: '#/components/schemas/AmountOverTimeConfig'
        amount:
          $ref: '#/components/schemas/AmountConfig'
        externalDescriptor:
          type: string
          description: External descriptor for the rule
          example: High value transfer policy for institutional clients
        method:
          $ref: '#/components/schemas/ContractMethodPattern'
        isGlobalPolicy:
          type: boolean
          description: Whether this is a global policy
          example: false
        programCall:
          $ref: '#/components/schemas/ProgramCallConfig'
        screeningMetadata:
          $ref: '#/components/schemas/ScreeningMetadataConfig'
        quoteAsset:
          $ref: '#/components/schemas/AssetConfig'
        baseAsset:
          $ref: '#/components/schemas/AssetConfig'
        quoteAmount:
          $ref: '#/components/schemas/AmountRange'
        baseAmount:
          $ref: '#/components/schemas/AmountRange'
        dAppAddress:
          $ref: '#/components/schemas/DAppAddressConfig'
        derivationPath:
          $ref: '#/components/schemas/DerivationPathConfig'
        index:
          type: number
          description: Index for the policy rule
          example: 1
      required:
        - name
        - id
        - policyEngineVersion
        - type
        - initiator
        - source
        - verdict
    PolicyMetadata:
      type: object
      description: Policy metadata
      properties:
        editedBy:
          type: string
          description: The user ID of the user who last edited the policy
          example: user123
        editedAt:
          type: string
          description: The timestamp of the last edit of the policy
          example: '2024-01-15T10:30:00Z'
        publishedBy:
          type: string
          description: The user ID of the user who last published the policy
          example: user456
        publishedAt:
          type: string
          description: The timestamp of the last publish of the policy
          example: '2024-01-15T11:00:00Z'
        policyType:
          $ref: '#/components/schemas/PolicyType'
      required:
        - policyType
    PolicyCheckResult:
      type: object
      description: Policy rules validation result
      properties:
        errors:
          type: number
          description: Number of errors
        results:
          type: array
          description: A set of validation results
          items:
            $ref: '#/components/schemas/PolicyRuleCheckResult'
      required:
        - errors
        - results
    InitiatorConfigPattern:
      oneOf:
        - type: string
          enum:
            - '*'
          description: All users are allowed
          example: '*'
        - $ref: '#/components/schemas/InitiatorConfig'
    AssetConfig:
      type: object
      description: Policy asset configuration
      properties:
        nftTransfer:
          type: boolean
          description: Whether this is an NFT transfer
          example: false
        assetTypes:
          $ref: '#/components/schemas/AssetTypesConfig'
        operator:
          $ref: '#/components/schemas/PolicyOperator'
      required:
        - nftTransfer
    SourceConfig:
      type: object
      description: Source account configuration for policy rules
      properties:
        type:
          type: array
          items:
            $ref: '#/components/schemas/AccountType-2'
          description: Source account types
          example:
            - VAULT
            - UNMANAGED
        subType:
          type: array
          items:
            $ref: '#/components/schemas/AccountIdentifier'
          description: Source account subtypes
        ids:
          type: array
          items:
            $ref: '#/components/schemas/AccountIdentifier'
          description: Source account identifiers
        tags:
          type: array
          items:
            $ref: '#/components/schemas/PolicyTag'
          description: Tags for source matching
        operator:
          $ref: '#/components/schemas/PolicyOperator'
        matchFrom:
          type: string
          enum:
            - ACCOUNT
          description: Whether to match from account (relevant only for ORDER policy type)
          example: ACCOUNT
      required:
        - operator
    DestinationConfig:
      type: object
      description: Destination configuration for policy rules
      properties:
        type:
          type: array
          items:
            $ref: '#/components/schemas/AccountType-2'
          description: Destination account types
        subType:
          type: array
          items:
            $ref: '#/components/schemas/AccountIdentifier'
        ids:
          type: array
          items:
            $ref: '#/components/schemas/AccountIdentifier'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/PolicyTag'
          description: Tags for destination matching
        operator:
          $ref: '#/components/schemas/PolicyOperator'
        matchFrom:
          type: string
          enum:
            - ACCOUNT
            - SOURCE
          description: >-
            Whether to match from account or source (relevant only for ORDER
            policy type). If set to ACCOUNT, only matchFrom is allowed and other
            fields are not required.
          example: ACCOUNT
        addressType:
          type: string
          enum:
            - '*'
            - WHITELISTED
            - ONE_TIME
          description: Type of destination addresses allowed
          example: WHITELISTED
      required:
        - operator
        - addressType
      example:
        type:
          - EXTERNAL
        operator: INCLUDES
        addressType: WHITELISTED
    AccountConfig:
      type: object
      description: Policy account configuration
      properties:
        type:
          type: array
          items:
            $ref: '#/components/schemas/AccountType-2'
          description: Account types
        subType:
          type: array
          items:
            $ref: '#/components/schemas/AccountIdentifier'
        ids:
          type: array
          items:
            $ref: '#/components/schemas/AccountIdentifier'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/PolicyTag'
          description: Tags for account matching
        operator:
          $ref: '#/components/schemas/PolicyOperator'
        matchFrom:
          type: string
          enum:
            - ACCOUNT
            - SOURCE
          description: Whether to match from account or source
          example: ACCOUNT
      required:
        - operator
    OrderSide:
      type: string
      enum:
        - BUY
        - SELL
        - ANY
      description: Order side for trading operations
      example: BUY
    VerdictConfig:
      type: object
      description: Verdict configuration
      properties:
        action:
          type: string
          enum:
            - ALLOW
            - BLOCK
            - 2-TIER
            - ACCEPT
            - REJECT
            - ALERT
            - SCREEN
            - PASS
            - WAIT
            - FREEZE
            - CANCEL
          description: Verdict action
          example: ALLOW
        approvers:
          $ref: '#/components/schemas/ApproversConfig'
        designatedSigners:
          $ref: '#/components/schemas/DesignatedSignersConfig'
      required:
        - action
    AmountOverTimeConfig:
      type: object
      description: Amount over time configuration
      properties:
        range:
          $ref: '#/components/schemas/AmountRangeMinMax-2'
        currency:
          $ref: '#/components/schemas/PolicyCurrency'
        timePeriod:
          $ref: '#/components/schemas/TimePeriodConfig'
      required:
        - range
        - currency
        - timePeriod
    AmountConfig:
      allOf:
        - $ref: '#/components/schemas/AmountRange'
        - $ref: '#/components/schemas/AmountConfigCurrency'
      example:
        range:
          min: '100'
          max: '10000'
        currency: USD
    ContractMethodPattern:
      oneOf:
        - type: string
          enum:
            - '*'
          description: All methods allowed
          example: '*'
        - $ref: '#/components/schemas/ContractMethodConfig'
    ProgramCallConfig:
      type: object
      description: Program call configuration
      properties:
        allowedSolanaProgramCalls:
          type: string
          enum:
            - '*'
            - WHITELISTED
          description: Whether Solana program calls are allowed
          example: WHITELISTED
      required:
        - allowedSolanaProgramCalls
    ScreeningMetadataConfig:
      type: object
      description: Screening metadata configuration
      properties:
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
            - ANY
          description: Direction of transaction
          example: OUTBOUND
        provider:
          type: string
          enum:
            - CHAINALYSIS
            - CHAINALYSIS_V2
            - ELLIPTIC
            - ELLIPTIC_HOLISTIC
            - NOTABENE
          nullable: true
          description: Screening provider
          example: CHAINALYSIS
        riskRating:
          type: string
          enum:
            - LOW
            - MEDIUM
            - HIGH
            - SEVERE
            - ANY
          description: Risk rating threshold
          example: MEDIUM
        riskScore:
          type: string
          description: Risk score threshold
          example: '0.8'
        exposureType:
          type: string
          enum:
            - DIRECT
            - INDIRECT
            - ANY
          description: Exposure type
          example: DIRECT
        category:
          type: array
          items:
            type: string
        name:
          type: array
          items:
            type: string
        categoryId:
          type: array
          items:
            type: string
        status:
          type: string
          enum:
            - COMPLETED
            - PENDING
            - REJECTED
            - FAILED
            - CANCELED
            - BLOCKING_TIME_EXPIRED
          description: Transaction status
          example: COMPLETED
        sourceAddress:
          type: string
          description: Source address
          example: 0x123...
        destAddress:
          type: string
          description: Destination address
          example: 0x456...
    AmountRange:
      type: object
      description: Amount range with minimum and maximum values
      properties:
        range:
          $ref: '#/components/schemas/AmountRangeMinMax-2'
      required:
        - range
      example:
        range:
          min: '100'
          max: '10000'
    DAppAddressConfig:
      type: object
      description: dApp address configuration for policy rules
      properties:
        globalWhitelisted:
          type: array
          items:
            type: string
          description: Globally whitelisted addresses
          example:
            - rabby.io
            - jup.ag
        tenantWhitelisted:
          type: array
          items:
            type: string
          description: Tenant whitelisted addresses
          example:
            - uniswap.com
            - opensea.io
        urls:
          type: array
          items:
            type: string
          description: Allowed all address
          example:
            - '*'
        operator:
          $ref: '#/components/schemas/PolicyOperator'
      required:
        - globalWhitelisted
        - tenantWhitelisted
        - urls
        - operator
    DerivationPathConfig:
      type: object
      description: Derivation path configuration
      properties:
        path:
          type: array
          items:
            type: number
          description: Derivation path as array of numbers
          example:
            - 44
            - 0
            - 0
            - 0
            - 0
        partial:
          type: boolean
          description: Whether this is a partial path
          example: false
      required:
        - path
      example:
        path:
          - 44
          - 0
          - 0
          - 0
          - 0
        partial: false
    PolicyRuleCheckResult:
      type: object
      description: The rule validation result
      properties:
        index:
          type: number
          description: Rule index number in the policy
        status:
          type: string
          description: Validation status
          enum:
            - ok
            - failure
        errors:
          type: array
          description: A set of rule validation error objects
          items:
            $ref: '#/components/schemas/PolicyRuleError'
      required:
        - index
        - status
        - errors
    InitiatorConfig:
      type: object
      description: Policy rule initiator configuration
      properties:
        users:
          $ref: '#/components/schemas/PolicyUserIds'
        groups:
          $ref: '#/components/schemas/PolicyGroupIds'
        services:
          type: array
          items:
            type: string
        fbAdminGroups:
          type: array
          items:
            type: string
        exchange:
          type: array
          items:
            type: string
        operator:
          $ref: '#/components/schemas/PolicyOperator'
    AssetTypesConfig:
      type: array
      items:
        oneOf:
          - type: string
          - enum:
              - '*'
      description: List of asset types
      example:
        - FUNGIBLE
        - NFT
        - '*'
    PolicyOperator:
      type: string
      enum:
        - INCLUDES
      description: Operator for selection
      example: INCLUDES
    AccountType-2:
      type: string
      enum:
        - EXCHANGE
        - UNMANAGED
        - VAULT
        - GLOBAL_WHITELIST
        - NETWORK_CONNECTION
        - FIAT_ACCOUNT
        - CONNECTED_ACCOUNT
        - ONE_TIME_ADDRESS
        - SRC_DST_NA
        - MULTIPLE_VENUES
        - END_USER_WALLET
        - OEC_PARTNER
        - CONTRACT
        - INTERNAL
        - EXTERNAL
        - DAPP_CONNECTION
        - UNKNOWN
        - '*'
        - ANY
      description: Type of account
      example: VAULT
    AccountIdentifier:
      type: object
      description: Account identifier with type, ID, subtype, and address
      properties:
        type:
          $ref: '#/components/schemas/AccountType-2'
        id:
          type: string
          description: Account ID
          example: account123
        subType:
          type: string
          description: Account subtype
          example: INTERNAL
        address:
          type: string
          description: Account address
          example: 0x123...
      required:
        - type
    PolicyTag:
      type: object
      description: Policy tag for matching
      properties:
        id:
          type: string
          description: Tag identifier
          example: tag_001
      required:
        - id
    ApproversConfig:
      type: object
      description: Approvers configuration
      properties:
        canInitiatorApprove:
          type: boolean
          description: Whether initiator can approve
          example: false
        operator:
          type: string
          enum:
            - AND
            - OR
          description: Operator for approval groups
          example: AND
        allowOperatorAsAuthorizer:
          type: boolean
          description: Whether operator can be authorizer
          example: false
        approvalGroups:
          type: array
          items:
            type: object
            properties:
              threshold:
                type: number
                description: Approval threshold
                example: 2
              users:
                $ref: '#/components/schemas/PolicyUserIds'
              groups:
                $ref: '#/components/schemas/PolicyGroupIds'
            required:
              - threshold
          description: List of approval groups
          example:
            - threshold: 2
              users:
                - user1
                - user2
      required:
        - canInitiatorApprove
    DesignatedSignersConfig:
      type: object
      description: Designated signers configuration
      properties:
        type:
          type: string
          enum:
            - SINGLE
            - MULTIPLE
            - INITIATOR
          description: Type of designated signers
          example: SINGLE
        users:
          $ref: '#/components/schemas/PolicyUserIds'
        groups:
          $ref: '#/components/schemas/PolicyGroupIds'
      required:
        - type
    AmountRangeMinMax-2:
      type: object
      description: Amount range with minimum and maximum values
      properties:
        min:
          type: string
          description: Minimum amount
          example: '100'
        max:
          type: string
          description: Maximum amount
          example: '10000'
      required:
        - min
      example:
        min: '100'
        max: '10000'
    PolicyCurrency:
      type: string
      enum:
        - NATIVE
        - USD
        - EUR
      description: Currency for the amount
      example: USD
    TimePeriodConfig:
      type: object
      description: Time period configuration
      properties:
        seconds:
          type: string
          description: Time period in seconds
          example: '86400'
        initiator:
          $ref: '#/components/schemas/TimePeriodMatchType'
        source:
          $ref: '#/components/schemas/TimePeriodMatchType'
        destination:
          $ref: '#/components/schemas/TimePeriodMatchType'
      required:
        - seconds
        - initiator
        - source
        - destination
    AmountConfigCurrency:
      type: object
      description: Currency property for amount configuration
      properties:
        currency:
          $ref: '#/components/schemas/PolicyCurrency'
    ContractMethodConfig:
      type: object
      description: Contract method configuration
      properties:
        methodCalls:
          type: array
          items:
            type: string
        operator:
          type: string
          enum:
            - EITHER
            - EXACT
          description: Operator for method calls
          example: EITHER
        payloadSuffix:
          type: string
          description: Payload suffix for method calls
          example: 0x123...
      required:
        - methodCalls
        - operator
      example:
        methodCalls:
          - transfer
          - approve
        operator: EITHER
    PolicyRuleError:
      type: object
      description: Rule validation result error
      properties:
        errorMessage:
          type: string
          description: Error message
        errorCode:
          type: number
          description: error code
        errorCodeName:
          type: string
          description: error code name
        errorField:
          type: string
          enum:
            - operator
            - operators
            - authorizationGroups
            - designatedSigner
            - designatedSigners
            - contractMethods
            - amountAggregation
            - src
            - dst
          description: |
            The field which the error relates to
            * operator - transaction initiator
            * operators - transaction initiators
            * authorizationGroups - transaction authorizer groups
            * designatedSigner - transaction signer
            * designatedSigners - transaction signers
            * contractMethods - contract methods
            * amountAggregation - transaction amount aggregation configuration
            * src - transaction source asset configuration
            * dst - transaction destination asset configuration
      required:
        - errorMessage
        - errorCode
        - errorCodeName
        - errorField
    PolicyUserIds:
      type: array
      items:
        type: string
      description: List of user IDs
      example:
        - user1
        - user2
    PolicyGroupIds:
      type: array
      items:
        type: string
      description: List of policy group IDs
      example:
        - group1
        - group2
    TimePeriodMatchType:
      type: string
      enum:
        - PER_SINGLE_MATCH
        - ACROSS_ALL_MATCHES
      description: Type of match for time period application
      example: PER_SINGLE_MATCH
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````