Ledger Requests API

A Request represents the intent of creating or changing an object in the system. For example, when you create a transaction, a *Create transaction* request is created. You can observe all the changes in the system via `GET /requests`. Every request has a `target_type` and `target_id` that you can use to fetch the object targeted by this request. For example, you can list all requests waiting for approval: ``` GET /requests?status=PENDING_APPROVAL { "edges": [ { "cursor": 0, "node": { "created_by": 5, "created_on": "2020-09-25T13:52:38.377654+00:00", "expires_at": "2020-10-02T13:52:38.377605+00:00", "id": 20, "status": "PENDING_APPROVAL", "target_id": 13, "target_type": "USER", "type": "REVOKE_USER" } }, { "cursor": 1, "node": { "created_by": 11, "created_on": "2020-09-25T13:52:53.421567+00:00", "expires_at": "2020-10-02T13:52:53.421502+00:00", "id": 21, "status": "PENDING_APPROVAL", "target_id": 3681, "target_type": "TRANSACTION", "type": "CREATE_TRANSACTION" } } ], "page_info": { "count": 2, "has_next_page": false } } ``` Here we have 2 requests waiting for approval. You can have more info on those 2 objects via ``` GET /users/13 GET /transactions/3681 ```

Operations 8

GET /requests Search Request #
POST /requests Create Request #
GET /requests/{request_id} Get request by id #
POST /requests/{request_id}/approve Approve Request #
GET /requests/{request_id}/challenge Get request challenge #
GET /requests/{request_id}/challenge/reject Get request challenge #
GET /requests/{request_id}/governance-status Get request's governance progress status #
POST /requests/{request_id}/reject Reject Request #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ledger-requests-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ledger-requests-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vault Requests API
  version: 1.35.0
  x-logo:
    url: https://www.ledger.com/wp-content/themes/ledger-v2/public/images/ledger-logo-long.svg
  description: '# Authentication


    The Ledger Vault API offers several methods of authentication.'
security:
- Ledger_API_User: []
- Ledger_API_User: []
  Ledger_API_Key: []
- Ledger_API_User: []
  Ledger_Store_Auth_Token: []
- Ledger_API_User: []
  Ledger_API_Key: []
  Ledger_Store_Auth_Token: []
tags:
- description: A Request represents the intent of creating or changing an object in the system.
  name: Requests
paths:
  /requests:
    get:
      summary: Search Request
      tags:
      - Requests
      description: Use the following parameters to search requests.
      parameters:
      - name: approved_by
        in: query
        description: Returns requests which have been approved by the specified user.
        required: false
        schema:
          default: null
          example: 42
          type:
          - integer
          - 'null'
      - name: created_after
        in: query
        description: Returns objects created after the entered date.
        required: false
        schema:
          default: null
          example: '2020-09-12T14:15:22Z'
          format: date-time
          type:
          - string
          - 'null'
      - name: created_before
        in: query
        description: Returns objects created before the entered date.
        required: false
        schema:
          default: null
          example: '2020-12-13T16:17:28Z'
          format: date-time
          type:
          - string
          - 'null'
      - name: created_by
        in: query
        description: Returns requests which have been created by the specified user.
        required: false
        schema:
          default: null
          example: 42
          type:
          - integer
          - 'null'
      - name: id
        in: query
        description: Returns the object corresponding to the entered ID
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      - name: order
        in: query
        description: Orders the list of results
        required: false
        schema:
          default: null
          enum:
          - null
          - asc
          - desc
          example: desc
          type:
          - string
          - 'null'
      - name: order_by
        in: query
        description: criteria to order by
        required: false
        schema:
          default: null
          example: name
          type:
          - string
          - 'null'
      - name: page
        in: query
        description: Defines the page number to be fetched.
        required: false
        schema:
          default: 1
          example: 3
          minimum: 1
          type:
          - integer
          - 'null'
      - name: page_size
        in: query
        description: "Defines the number of elements displayed on a page.\n        Must be a positive number with 0 and -1 return a maximum defined in the gate"
        required: false
        schema:
          default: 20
          example: 40
          minimum: -1
          type:
          - integer
          - 'null'
      - name: pending_by
        in: query
        description: Returns requests which are pending the specified user's approval.
        required: false
        schema:
          default: null
          example: 42
          type:
          - integer
          - 'null'
      - name: rejected_by
        in: query
        description: Returns requests which have been rejected by the specified user.
        required: false
        schema:
          default: null
          example: 42
          type:
          - integer
          - 'null'
      - name: status
        in: query
        description: Returns objects that match the selected status.
        required: false
        explode: true
        schema:
          default: null
          items:
            enum:
            - ACTIVE
            - APPROVED
            - BLOCKED
            - EXPIRED
            - PENDING_APPROVAL
            - PENDING_FIRST_APPROVAL
            - PENDING_REGISTRATION
            - REJECTED
            - SIGNED
            - SUBMITTED
            type: string
          type:
          - array
          - 'null'
        style: form
      - name: target_id
        in: query
        description: Search by ID of the target object.
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      - name: target_type
        in: query
        description: Search requests by object type.
        required: false
        explode: true
        schema:
          default: null
          items:
            enum:
            - ACCOUNT
            - ADMIN_GROUP
            - DIGESTS
            - ENTITY
            - FORCED_UNPLEDGE
            - GROUP
            - MESSAGE
            - PLEDGE_INCREMENT
            - POLICY
            - REPLEDGE
            - TRADELINK
            - TRADELINK_ASSET_MANAGER
            - TRADELINK_EXCHANGE
            - TRANSACTION
            - USER
            - WHITELIST
            type: string
          type:
          - array
          - 'null'
        style: form
      - name: type
        in: query
        description: Search requests by request type.
        required: false
        explode: true
        schema:
          default: null
          items:
            enum:
            - ACTIVATE
            - CREATE_ACCOUNT
            - CREATE_ADMIN
            - CREATE_ADMIN_GROUP
            - CREATE_API_USER
            - CREATE_API_USER_ACCESS
            - CREATE_DAPPS_CONFIG
            - CREATE_ENTITY
            - CREATE_FORCED_UNPLEDGE
            - CREATE_GROUP
            - CREATE_OPERATOR
            - CREATE_PLEDGE_INCREMENT
            - CREATE_POLICY
            - CREATE_REPLEDGE
            - CREATE_TRADELINK
            - CREATE_TRADELINK_ASSET_MANAGER
            - CREATE_TRADELINK_EXCHANGE
            - CREATE_TRANSACTION
            - CREATE_WHITELIST
            - EDIT_ACCOUNT
            - EDIT_ADMIN_GROUP
            - EDIT_DAPPS_CONFIG
            - EDIT_ENTITY
            - EDIT_GROUP
            - EDIT_POLICY
            - EDIT_WHITELIST
            - MESSAGE_SIGNING
            - MIGRATE_ACCOUNT
            - MIGRATE_ADMIN
            - MIGRATE_GROUP
            - MIGRATE_OPERATOR
            - MIGRATE_WHITELIST
            - REVOKE_ENTITY
            - REVOKE_GROUP
            - REVOKE_USER
            - SIGN_DIGESTS
            - UPDATE_QUORUM
            type: string
          type:
          - array
          - 'null'
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_APISearchRequestResults'
          description: Request search results
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid search parameters
      operationId: getRequests
      x-operation-id-source: derived
    post:
      summary: Create Request
      tags:
      - Requests
      description: Use the following parameters to create a request.
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/TransactionCreationRequestDataV2'
              - $ref: '#/components/schemas/MessageSigningRequestData'
              - $ref: '#/components/schemas/PledgeIncrementRequestData'
              - $ref: '#/components/schemas/ForcedUnpledgeRequestData'
              discriminator:
                mapping:
                  CREATE_FORCED_UNPLEDGE: '#/components/schemas/ForcedUnpledgeRequestData'
                  CREATE_MESSAGE_SIGNING: '#/components/schemas/MessageSigningRequestData'
                  CREATE_PLEDGE_INCREMENT: '#/components/schemas/PledgeIncrementRequestData'
                  CREATE_TRANSACTION: '#/components/schemas/TransactionCreationRequestDataV2'
                propertyName: type
        description: request creation payload
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultRequest'
          description: Request result
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid request data
      operationId: postRequests
      x-operation-id-source: derived
  /requests/{request_id}:
    get:
      summary: Get request by id
      tags:
      - Requests
      description: This method returns the request that matches the entered ID + the corresponding challenge.
      parameters:
      - name: request_id
        in: path
        description: The request's ID.
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestWithChallenge'
          description: Request object with corresponding challenge
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: RequestWithChallenge not found
      operationId: getRequestsByRequestId
      x-operation-id-source: derived
  /requests/{request_id}/approve:
    post:
      summary: Approve Request
      tags:
      - Requests
      description: Approve a request.
      parameters:
      - name: request_id
        in: path
        description: The request's ID.
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_RequestApprovePayload'
        description: Request approve payload
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultRequest'
          description: Request result
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Request not found
      operationId: postRequestsByRequestIdApprove
      x-operation-id-source: derived
  /requests/{request_id}/challenge:
    get:
      summary: Get request challenge
      tags:
      - Requests
      description: This method returns the challenge of a given request.
      parameters:
      - name: request_id
        in: path
        description: The request's ID.
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIRequestChallenge'
          description: Request challenge object
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Request not found
      operationId: getRequestsByRequestIdChallenge
      x-operation-id-source: derived
  /requests/{request_id}/challenge/reject:
    get:
      summary: Get request challenge
      tags:
      - Requests
      description: This method returns the challenge to reject a given request.
      parameters:
      - name: request_id
        in: path
        description: The request's ID.
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIRequestChallenge'
          description: Request challenge object to reject the request
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Request not found
      operationId: getRequestsByRequestIdChallengeReject
      x-operation-id-source: derived
  /requests/{request_id}/governance-status:
    get:
      summary: Get request's governance progress status
      tags:
      - Requests
      description: This method returns the governance progress status for the given request ID.
      parameters:
      - name: request_id
        in: path
        description: The request's ID.
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultRequestGovernance'
          description: Request's governance status object
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Request not found
      operationId: getRequestsByRequestIdGovernanceStatus
      x-operation-id-source: derived
  /requests/{request_id}/reject:
    post:
      summary: Reject Request
      tags:
      - Requests
      description: Reject a request.
      parameters:
      - name: request_id
        in: path
        description: The request's ID.
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_RequestApprovePayload'
        description: Request reject payload
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaultRequest'
          description: Request result
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Request not found
      operationId: postRequestsByRequestIdReject
      x-operation-id-source: derived
components:
  schemas:
    EthereumFeesStrategyData:
      properties:
        gas_limit:
          description: The gas limit for the Ethereum transaction, in the smallest currency unit.
          example: '21000'
          type: string
        gas_price:
          description: The gas price for the Ethereum transaction, in the smallest currency unit.
          example: '2000'
          type: string
      required:
      - gas_limit
      - gas_price
      type: object
    TezosSendTransactionCreationData:
      properties:
        account_id:
          description: Unique identifier of the sender's account.
          example: '101'
          type: integer
        fees_strategy:
          allOf:
          - $ref: '#/components/schemas/GenericFeesStrategy'
          description: Strategy for calculating transaction fees.
        transaction_data:
          allOf:
          - $ref: '#/components/schemas/TezosSendTransactionData'
          description: Data specific to a Tezos send transaction.
        transaction_type:
          description: Type indicator for Tezos-like send transactions.
          enum:
          - TEZOS_LIKE_SEND
          example: TEZOS_LIKE_SEND
      required:
      - account_id
      - fees_strategy
      - transaction_data
      - transaction_type
      type: object
    VaultRequestGovernance:
      properties:
        governance_steps:
          description: The list of steps for this request's governance
          items:
            $ref: '#/components/schemas/VaultGovernanceStep'
          type: array
        is_complete:
          description: Weither the request is in its final state or not
          example: false
          type: boolean
        request:
          allOf:
          - $ref: '#/components/schemas/VaultTargetRequest'
          description: The request concerned by this governance status
      required:
      - governance_steps
      - is_complete
      - request
      type: object
    ForcedUnpledgeDetails:
      properties:
        account_name:
          description: The name of the account.
          example: TL-0001-ETH-XXX-XXX
          type: string
        currency:
          description: The currency of the increment.
          example: ethereum_sepolia
          type: string
        exchange_name:
          description: The name of the exchange.
          example: Crypto.com
          type: string
      required:
      - account_name
      - currency
      - exchange_name
      type: object
    SolanaSendSplTokenTransactionData:
      properties:
        account_name:
          description: Sender account name for Solana transaction.
          example: Solana Wallet 1
          type: string
        amount:
          description: Transaction amount for Solana, in the smallest currency unit.
          example: '100000'
          type: string
        currency:
          description: Account currency for Solana transactions.
          enum:
          - solana
          - solana_devnet
          - solana_testnet
          example: solana
        max_priority_fee:
          default: null
          description: Max priority fee to use for the transaction. Please refer to the `recommended_max_priority_fees` field from fee estimation or choose your own value. Once the feature is enabled, this field will become mandatory.
          example: '5000'
          type:
          - string
          - 'null'
        recipient:
          description: Transaction recipient address for Solana.
          example: 4Pf...Nmo
          type: string
        token_mint:
          description: The token mint address of the token to interact with
          example: Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
          type: string
      required:
      - account_name
      - amount
      - currency
      - recipient
      - token_mint
      type: object
    APISearchPageInfo:
      properties:
        count:
          example: 1
          type: integer
        has_next_page:
          example: false
          type: boolean
      required:
      - count
      - has_next_page
      type: object
    SolanaSendSplTokenTransactionCreationData:
      properties:
        account_id:
          description: Unique identifier of the sender's account.
          example: '101'
          type: integer
        transaction_data:
          allOf:
          - $ref: '#/components/schemas/SolanaSendSplTokenTransactionData'
          description: Data to send SPL tokens.
        transaction_type:
          description: Type indicator for Solana-like light token send transactions.
          enum:
          - SOLANA_LIKE_SEND_SPL_TOKEN_CHECKED
          example: SOLANA_LIKE_SEND_SPL_TOKEN_CHECKED
      required:
      - account_id
      - transaction_data
      - transaction_type
      type: object
    BitcoinSendTransactionCreationData:
      properties:
        account_id:
          description: Unique identifier of the sender's account.
          example: '101'
          type: integer
        fees_strategy:
          description: The fee strategy for a Bitcoin send transaction.
          oneOf:
          - $ref: '#/components/schemas/BitcoinFeesStrategy'
          - $ref: '#/components/schemas/GenericFeesStrategy'
        transaction_data:
          allOf:
          - $ref: '#/components/schemas/BitcoinSendTransactionData'
          description: Data specific to a Bitcoin send transaction.
        transaction_type:
          description: Type indicator for Bitcoin-like send transactions.
          enum:
          - BITCOIN_LIKE_SEND
          example: BITCOIN_LIKE_SEND
      required:
      - account_id
      - fees_strategy
      - transaction_data
      - transaction_type
      type: object
    MessageSigningData:
      properties:
        account_id:
          description: Unique identifier of the sender's account.
          example: '101'
          type: integer
        message_data:
          allOf:
          - $ref: '#/components/schemas/MessageData'
          description: Detailed data about the message
        message_type:
          description: The type of message to sign
          enum:
          - EIP-191
          example: EIP-191
      required:
      - account_id
      - message_data
      - message_type
      type: object
    PolkadotSendTransactionData:
      properties:
        account_name:
          description: Account name to execute transaction.
          example: Polkadot Wallet 1
          type: string
        amount:
          description: Transaction amount for Polkadot, in the smallest currency unit.
          example: '100000'
          type: string
        currency:
          description: Account currency for Polkadot transactions.
          enum:
          - polkadot
          - westend
          example: polkadot
        recipient:
          description: Transaction recipient address for Polkadot.
          example: 1FR...4fg
          type: string
      required:
      - account_name
      - amount
      - currency
      - recipient
      type: object
    APIRequestChallenge:
      properties:
        challenge:
          description: The request's challenge.
          type: string
        id:
          description: The request id.
          type: integer
      required:
      - challenge
      - id
      type: object
    StellarMemoText1:
      properties:
        MEMO_TEXT:
          description: Text Memo (at most a 28 bytes string)
          maxLength: 28
          minLength: 0
          type: string
      required:
      - MEMO_TEXT
      type: object
    EthereumSCDTransactionData:
      properties:
        account_name:
          description: The name of the account initiating the transaction.
          example: ETH Wallet 1
          type: string
        amount:
          default: null
          description: The amount to be transferred, in the smallest currency unit.
          example: '1267887898998'
          type:
          - string
          - 'null'
        currency:
          description: Specific currency for Ethereum Smart Contract deployment.
          enum:
          - arbitrum
          - arbitrum_goerli
          - arbitrum_sepolia
          - avalanche_c_chain
          - avalanche_c_chain_fuji
          - base
          - base_goerli
          - base_sepolia
          - blast
          - blast_sepolia
          - bsc
          - celo
          - celo_alfajores
          - cronos
          - cronos_testnet
          - ethereum
          - ethereum_classic
          - ethereum_goerli
          - ethereum_holesky
          - ethereum_hoodi
          - ethereum_pow
          - ethereum_ropsten
          - ethereum_sepolia
          - etherlink
          - fantom
          - fantom_testnet
          - filecoin
          - filecoin_calibration
          - flare
          - flare_coston
          - kava_evm
          - kava_evm_testnet
          - klaytn
          - klaytn_baobab
          - komodo
          - linea
          - mantle
          - mantle_sepolia
          - neon_evm
          - optimism
          - optimism_goerli
          - optimism_sepolia
          - polygon
          - polygon_amoy
          - polygon_mumbai
          - polygon_zk_evm
          - polygon_zk_evm_testnet
          - pulsechain
          - pulsechain_testnet
          - scroll
          - scroll_sepolia
          - sonic
          - tomo
          - tomo_testnet
          - tron
          - viction
          - viction_testnet
          example: ethereum
          type: string
        encoded_contract_bytecode:
          description: Encoded bytecode for the smart contract deployment.
          example: 0x123abc...
          type: string
        max_fees:
          description: The maximum fees the user is willing to pay for the transaction, in the smallest currency unit. Set to '0' when estimating transaction fees.
          example: '123908790'
          type: string
      required:
      - account_name
      - currency
      - encoded_contract_bytecode
      - max_fees
      type: object
    EthereumSCITransactionData:
      properties:
        account_name:
          description: The name of the account initiating the transaction.
          example: ETH Wallet 1
          type: string
        amount:
          description: The amount to be transferred, in the smallest currency unit.
          example: '1267887898998'
          type: string
        contract_data:
          default: null
          oneOf:
          - $ref: '#/components/schemas/SCIData'
          - type: string
        currency:
          description: Specific currency for Ethereum Smart Contract transactions.
          enum:
          - arbitrum
          - arbitrum_goerli
          - arbitrum_sepolia
          - avalanche_c_chain
          - avalanche_c_chain_fuji
          - base
          - base_goerli
          - base_sepolia
          - blast
          - blast_sepolia
          - bsc
          - celo
          - celo_alfajores
          - cronos
          - cronos_testnet
          - ethereum
          - ethereum_classic
          - ethereum_goerli
          - ethereum_holesky
          - ethereum_hoodi
          - ethereum_pow
          - ethereum_ropsten
          - ethereum_sepolia
          - etherlink
          - fantom
          - fantom_testnet
          - filecoin
          - filecoin_calibration
          - flare
          - flare_coston
          - kava_evm
          - kava_evm_testnet
          - klaytn
          - klaytn_baobab
          - komodo
          - linea
          - mantle
          - mantle_sepolia
          - neon_evm
          - optimism
          - optimism_goerli
          - optimism_sepolia
          - polygon
          - polygon_amoy
          - polygon_mumbai
          - polygon_zk_evm
          - polygon_zk_evm_testnet
          - pulsechain
          - pulsechain_testnet
          - scroll
          - scroll_sepolia
          - sonic
          - tomo
          - tomo_testnet
          - tron
          - viction
          - viction_testnet
          example: ethereum
          type: string
        encoded_contract_data:
          default: null
          description: (DEPRECATED) Encoded data for the smart contract interaction. This field is deprecated and will be removed in the future. Use contract_data instead.
          example: 0x123abc...
          type:
          - string
          - 'null'
        max_fees:
          description: The maximum fees the user is willing to pay for the transaction, in the smallest currency unit. Set to '0' when estimating transaction fees.
          example: '123908790'
          type: string
        recipient:
          description: The recipient's address for the transaction.
          example: 0x1234...abcd
          type: string
      required:
      - account_name
      - amount
      - currency
      - max_fees
      - recipient
      type: object
    TronSendTransactionData:
      properties:
        account_name:
          description: The name of the account initiating the transaction.
          example: ETH Wallet 1
          type: string
        amount:
          description: The amount to be transferred, in the smallest currency unit.
          example: '1267887898998'
          type: string
        currency:
          description: Specific currency for Tron transactions.
          enum:
          - tron
          example: tron
        max_fees:
          description: The maximum fees the user is willing to pay for the transaction, in the smallest currency unit. Set to '0' when estimating transaction fees.
          example: '123908790'
          type: string
        recipient:
          description: The recipient's address for the transaction.
          example: 0x1234...abcd
          type: string
      required:
      - account_name
      - amount
      - currency
      - max_fees
      - recipient
      type: object
    BitcoinFeesStrategy:
      properties:
        data:
          allOf:
          - $ref: '#/components/schemas/BitcoinFeesStrategyData'
          description: Data specific to the Bitcoin fee strategy.
        type:
          description: Indicates a custom fee strategy for Bitcoin transactions.
          enum:
          - CUSTOM
          example: CUSTOM
      required:
      - data
      - type
      type: object
    RippleSendTransactionData:
      properties:
        account_name:
          description: The name of the account initiating the transaction.
          example: ETH Wallet 1
          type: string
        amount:
          description: The amount to be transferred, in the smallest currency unit.
          example: '1267887898998'
          type: string
        currency:
          description: Specific currency for Ripple transactions.
          enum:
          - ripple
          example: ripple
        max_fees:
          description: The maximum fees the user is willing to pay for the transaction, in the smallest currency unit. Set to '0' when estimating transaction fees.
          example: '123908790'
          type: string
        recipient:
          description: The recipient's address for the transaction.
          example: 0x1234...abcd
          type: string
        tag:
          default: null
          description: Destination tag for identifying Ripple transactions.
          example: 12345
          type:
          - integer
          - 'null'
      required:
      - account_name
      - amount
      - currency
      - max_fees
      - recipient
      type: object
    IncrementDetails:
      properties:
        account_name:
          description: The name of the account.
          example: TL-0001-ETH-XXX-XXX
          type: string
        amount:
          description: The amount of the increment.
          example: '100'
          type: string
        contract_address:
          default: null
          description: The contract address for a token.
          example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          type:
          - string
          - 'null'
        currency:
          description: The currency of the increment.
          example: ethereum_sepolia
          type: string
        exchange_name:
          description: The name of the exchange.
          example: Crypto.com
          type: string
      required:
      - account_name
      - amount
      - currency
      - exchange_name
      type: object
    EthereumFeesStrategy:
      properties:
        data:
          description: Data specific to the Ethereum fee strategy.
          oneOf:
          - $ref: '#/components/schemas/EthereumFeesStrategyData'
          - $ref: '#/components/schemas/EthereumEIP1559FeesStrategyData'
        type:
          description: Indicates a custom fee strategy for Ethereum transactions.
          enum:
          - CUSTOM
          example: CUSTOM
      required:
      - data
      - type
      type: object
    VaultTargetRequest:
      properties:
        created_by:
          allOf:
          - $ref: '#/components/schemas/VaultUserRef'
          description: The request's creator.
        created_on:
          format: date-time
          type: string
        current_step_index:
          description: The request's current step's index.
          example: 2
          type: integer
        expired_at:
          default: null
          description: The request's expiration date.
          example: '2020-12-11T12:56:35.370946+00:00'
          format: date-time
          type:
          - string
          - 'null'
        id:
          type: integer
        status:
          description: The request's current status.
          enum:
          - ABORTED
          - ACTIVE
          - APPROVED
          - BLOCKED
          - EXPIRED
          - PENDING_APPROVAL
          - PENDING_REGISTRATION
          - SIGNED
          - SUBMITTED
          example: PENDING_APPROVAL
          type: string
        target_id:
          description: The object's ID concerned by this request.
          example: 42
          type: integer
        target_type:
          description: The request's target type
          example: TRANSACTION
          type: string
        type:
          description: The request's type.
          enum:
          - ACTIVATE
          - CREATE_ACCOUNT
          - CREATE_ADMIN
          - CREATE_ADMIN_GROUP
          - CREATE_API_USER
          - CREATE_API_USER_ACCESS
          - CREATE_DAPPS_CONFIG
          - CREATE_ENTITY
          - CREATE_FORCED_UNPLEDGE
          - CREATE_GROUP
          - CREATE_OPERATOR
          - CREATE_PLEDGE_INCREMENT
          - CREATE_POL

# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ledger/refs/heads/main/openapi/ledger-requests-api-openapi.yml