> ## 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/trlink/get-trlink-policy",
  "feedback": "Description of the issue"
}
```

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

</AgentInstructions>

# Get TRLink policy

> Retrieves the complete TRSupport policy for the authenticated tenant, including pre-screening rules, post-screening rules, and missing TRM rules. Pre-screening rules determine whether transactions should be screened. Post-screening rules determine actions based on screening results. Missing TRM rules handle cases when screening data is unavailable.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml get /screening/trlink/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:
  /screening/trlink/policy:
    get:
      tags:
        - TRLink
      summary: Get TRLink policy
      description: >-
        Retrieves the complete TRSupport policy for the authenticated tenant,
        including pre-screening rules, post-screening rules, and missing TRM
        rules. Pre-screening rules determine whether transactions should be
        screened. Post-screening rules determine actions based on screening
        results. Missing TRM rules handle cases when screening data is
        unavailable.
      operationId: getTRLinkPolicy
      responses:
        '200':
          description: Policy retrieved successfully
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TRLinkPolicyResponse'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response: Promise<FireblocksResponse<TRLinkPolicyResponse>> =
            fireblocks.tRLink.getTRLinkPolicy();
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<TRLinkPolicyResponse>> response =
            fireblocks.tRLink().getTRLinkPolicy();
        - lang: Python
          source: response = fireblocks.t_r_link.get_t_r_link_policy();
components:
  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
  schemas:
    TRLinkPolicyResponse:
      type: object
      description: >-
        TRLink policy response containing pre-screening, post-screening, and
        missing TRM rules
      properties:
        preScreeningRules:
          type: array
          description: >-
            Pre-screening rules that determine whether transactions should be
            screened
          items:
            $ref: '#/components/schemas/TRLinkPreScreeningRule-2'
        postScreeningRules:
          type: array
          description: >-
            Post-screening rules that determine actions based on screening
            results
          items:
            $ref: '#/components/schemas/TRLinkPostScreeningRule-2'
        missingTrmRules:
          type: array
          description: >-
            Rules for handling transactions when TRM screening data is
            unavailable
          items:
            $ref: '#/components/schemas/TRLinkMissingTrmRule-2'
      required:
        - preScreeningRules
        - postScreeningRules
        - missingTrmRules
    TRLinkPreScreeningRule-2:
      type: object
      description: Pre-screening rule that determines if a transaction should be screened
      properties:
        customerId:
          type: string
          description: Customer identifier
          nullable: true
          example: cust_123abc
        direction:
          $ref: '#/components/schemas/TRLinkTransactionDirection'
        sourceType:
          type: string
          description: Source entity type
          nullable: true
          example: VAULT_ACCOUNT
        sourceSubType:
          type: string
          description: Source entity subtype
          nullable: true
        sourceAddress:
          type: string
          description: Source blockchain address
          nullable: true
          example: '0x1234567890abcdef1234567890abcdef12345678'
        destType:
          type: string
          description: Destination entity type
          nullable: true
          example: EXTERNAL_WALLET
        destSubType:
          type: string
          description: Destination entity subtype
          nullable: true
        destAddress:
          type: string
          description: Destination blockchain address
          nullable: true
          example: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'
        sourceId:
          type: string
          description: Source identifier
          nullable: true
        destId:
          type: string
          description: Destination identifier
          nullable: true
        asset:
          type: string
          description: Asset or cryptocurrency type
          nullable: true
          example: BTC
        baseAsset:
          type: string
          description: Base asset for derivatives
          nullable: true
        amount:
          $ref: '#/components/schemas/ScreeningPolicyAmount'
        networkProtocol:
          type: string
          description: Network protocol identifier
          nullable: true
          example: BITCOIN
        operation:
          type: string
          description: Operation type
          nullable: true
          example: TRANSFER
        description:
          type: string
          description: Rule description
          nullable: true
          example: Screen large BTC outbound transactions to external wallets
        isDefault:
          type: boolean
          description: Whether this is a default rule
          nullable: true
          example: false
        action:
          $ref: '#/components/schemas/TRLinkPreScreeningAction-2'
      required:
        - action
    TRLinkPostScreeningRule-2:
      type: object
      description: >-
        Post-screening rule that determines the verdict based on screening
        results
      properties:
        customerId:
          type: string
          description: Customer identifier
          nullable: true
          example: cust_123abc
        direction:
          $ref: '#/components/schemas/TRLinkTransactionDirection'
        sourceType:
          type: string
          description: Source entity type
          nullable: true
          example: EXTERNAL_WALLET
        sourceSubType:
          type: string
          description: Source entity subtype
          nullable: true
        sourceAddress:
          type: string
          description: Source blockchain address
          nullable: true
          example: '0x9876543210fedcba9876543210fedcba98765432'
        destType:
          type: string
          description: Destination entity type
          nullable: true
          example: VAULT_ACCOUNT
        destSubType:
          type: string
          description: Destination entity subtype
          nullable: true
        destAddress:
          type: string
          description: Destination blockchain address
          nullable: true
          example: '0x1234567890abcdef1234567890abcdef12345678'
        sourceId:
          type: string
          description: Source identifier
          nullable: true
        destId:
          type: string
          description: Destination identifier
          nullable: true
        asset:
          type: string
          description: Asset or cryptocurrency type
          nullable: true
          example: ETH
        baseAsset:
          type: string
          description: Base asset for derivatives
          nullable: true
        amount:
          $ref: '#/components/schemas/ScreeningPolicyAmount'
        networkProtocol:
          type: string
          description: Network protocol identifier
          nullable: true
          example: ETHEREUM
        operation:
          type: string
          description: Operation type
          nullable: true
          example: TRANSFER
        description:
          type: string
          description: Rule description
          nullable: true
          example: Accept transactions with TRM approval after January 2024
        isDefault:
          type: boolean
          description: Whether this is a default rule
          nullable: true
          example: false
        providerIdent:
          type: string
          description: TRP provider identifier
          nullable: true
          example: trm-provider-1
        trmStatus:
          $ref: '#/components/schemas/TRLinkTrmStatus'
        validBefore:
          type: integer
          format: int64
          description: Rule is valid before this timestamp (milliseconds)
          nullable: true
          example: 1735689600000
        validAfter:
          type: integer
          format: int64
          description: Rule is valid after this timestamp (milliseconds)
          nullable: true
          example: 1704067200000
        action:
          $ref: '#/components/schemas/TRLinkPostScreeningAction'
      required:
        - action
    TRLinkMissingTrmRule-2:
      type: object
      description: >-
        Rule for handling transactions when TRM screening data is missing or
        unavailable
      properties:
        customerId:
          type: string
          description: Customer identifier
          nullable: true
          example: cust_123abc
        direction:
          $ref: '#/components/schemas/TRLinkTransactionDirection'
        sourceType:
          type: string
          description: Source entity type
          nullable: true
          example: EXTERNAL_WALLET
        sourceSubType:
          type: string
          description: Source entity subtype
          nullable: true
        sourceAddress:
          type: string
          description: Source blockchain address
          nullable: true
          example: '0xabcdef1234567890abcdef1234567890abcdef12'
        destType:
          type: string
          description: Destination entity type
          nullable: true
          example: VAULT_ACCOUNT
        destSubType:
          type: string
          description: Destination entity subtype
          nullable: true
        destAddress:
          type: string
          description: Destination blockchain address
          nullable: true
          example: '0x567890abcdef1234567890abcdef1234567890ab'
        sourceId:
          type: string
          description: Source identifier
          nullable: true
        destId:
          type: string
          description: Destination identifier
          nullable: true
        asset:
          type: string
          description: Asset or cryptocurrency type
          nullable: true
          example: BTC
        baseAsset:
          type: string
          description: Base asset for derivatives
          nullable: true
        amount:
          $ref: '#/components/schemas/ScreeningPolicyAmount'
        networkProtocol:
          type: string
          description: Network protocol identifier
          nullable: true
          example: BITCOIN
        operation:
          type: string
          description: Operation type
          nullable: true
          example: TRANSFER
        description:
          type: string
          description: Rule description
          nullable: true
          example: Wait for TRM screening on inbound transactions
        isDefault:
          type: boolean
          description: Whether this is a default rule
          nullable: true
          example: false
        validBefore:
          type: integer
          format: int64
          description: Rule is valid before this timestamp (milliseconds)
          nullable: true
          example: 1735689600000
        validAfter:
          type: integer
          format: int64
          description: Rule is valid after this timestamp (milliseconds)
          nullable: true
          example: 1704067200000
        action:
          $ref: '#/components/schemas/TRLinkMissingTrmAction-2'
      required:
        - action
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    TRLinkTransactionDirection:
      type: string
      enum:
        - INBOUND
        - OUTBOUND
      description: Transaction direction from workspace perspective
      example: OUTBOUND
    ScreeningPolicyAmount:
      type: object
      description: >-
        Amount specification with range and currency type (screening policy
        rules – BYORK, TRLink, etc.)
      properties:
        range:
          $ref: '#/components/schemas/ScreeningPolicyAmountRange'
        currency:
          $ref: '#/components/schemas/ScreeningPolicyCurrency'
      example:
        range:
          min: '1000'
          max: '100000'
        currency: USD
      required:
        - range
        - currency
    TRLinkPreScreeningAction-2:
      type: string
      enum:
        - SCREEN
        - PASS
    TRLinkTrmStatus:
      type: string
      nullable: true
      enum:
        - PENDING
        - ACCEPTED
        - REJECTED
        - FAILED
      description: Current status of the Travel Rule Message
      example: ACCEPTED
    TRLinkPostScreeningAction:
      type: string
      enum:
        - ACCEPT
        - ALERT
        - REJECT
        - WAIT
    TRLinkMissingTrmAction-2:
      type: string
      description: TRLink missing TRM action
      enum:
        - WAIT
        - REJECT
        - ACCEPT
    ScreeningPolicyAmountRange:
      type: object
      description: Minimum and maximum amount range specification
      properties:
        min:
          type: string
          description: Minimum amount (inclusive)
          nullable: true
          example: '1000'
        max:
          type: string
          description: Maximum amount (inclusive)
          nullable: true
          example: '100000'
    ScreeningPolicyCurrency:
      type: string
      enum:
        - USD
        - NATIVE
      example: USD
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````