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 email required.

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.

    Depending on your LAM configuration you''ll require several of the following headers

    to process API calls. Please refer to the

    [help center](https://help.vault.ledger.com/Content/api/api_overview.html) for more details.


    The `X-Ledger-API-User` header is required for all API calls to LAM

    (except when you register

    [API users on LAM](https://help.vault.ledger.com/Content/api/api_apiusers.html)).


    Note that the `X-Ledger-API-Key` authorization header can be used alongside the

    `X-Ledger-Store-Auth-Token` if both a LAM API key and HashiCorp Vault have

    been set up on your LAM.

    In this case, for every call made to LAM,

    you''ll need to pass all three headers

    `X-Ledger-API-User`, `X-Ledger-API-Key`, and `X-Ledger-Store-Auth-Token`.

    '
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.\n\nFor example, when you create a transaction, a *Create transaction* request is created.\n\nYou can observe all the changes in the system via `GET /requests`.\nEvery request has a `target_type` and `target_id` that you can use to fetch\nthe object targeted by this request.\n\nFor example, you can list all requests waiting for approval:\n```\nGET /requests?status=PENDING_APPROVAL\n{\n  \"edges\": [\n    {\n      \"cursor\": 0,\n      \"node\": {\n        \"created_by\": 5,\n        \"created_on\": \"2020-09-25T13:52:38.377654+00:00\",\n        \"expires_at\": \"2020-10-02T13:52:38.377605+00:00\",\n        \"id\": 20,\n        \"status\": \"PENDING_APPROVAL\",\n        \"target_id\": 13,\n        \"target_type\": \"USER\",\n        \"type\": \"REVOKE_USER\"\n      }\n    },\n    {\n      \"cursor\": 1,\n      \"node\": {\n        \"created_by\": 11,\n        \"created_on\": \"2020-09-25T13:52:53.421567+00:00\",\n        \"expires_at\": \"2020-10-02T13:52:53.421502+00:00\",\n        \"id\": 21,\n        \"status\": \"PENDING_APPROVAL\",\n        \"target_id\": 3681,\n        \"target_type\": \"TRANSACTION\",\n        \"type\": \"CREATE_TRANSACTION\"\n      }\n    }\n  ],\n  \"page_info\": {\n    \"count\": 2,\n    \"has_next_page\": false\n  }\n}\n```\nHere we have 2 requests waiting for approval. You can have more info on\nthose 2 objects via\n```\nGET /users/13\nGET /transactions/3681\n```"
  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
    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
  /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
  /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
  /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
  /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
  /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
  /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
components:
  schemas:
    SolanaCreateAssociatedTokenAccountTransactionData:
      properties:
        account_name:
          description: Sender account name for Solana transaction.
          example: Solana Wallet 1
          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'
        token_mint:
          description: The token mint address of the token to create an account for
          example: Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
          type: string
      required:
      - account_name
      - currency
      - token_mint
      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
    RequestSearchResult:
      properties:
        cursor:
          example: 0
          type: integer
        node:
          $ref: '#/components/schemas/Request'
      required:
      - cursor
      - node
      type: object
    PledgeIncrementRequestDataDetails:
      properties:
        pledge_data:
          allOf:
          - $ref: '#/components/schemas/IncrementDetails'
          description: The details of the increment.
        pledge_subaccount_id:
          description: The identifier of the pledge account.
          example: 1
          type: integer
      required:
      - pledge_data
      - pledge_subaccount_id
      type: object
    ForcedUnpledgeRequestData:
      properties:
        data:
          allOf:
          - $ref: '#/components/schemas/ForcedUnpledgeRequestDataDetails'
          description: Detailed forced unpledge data.
        type:
          description: Specifies the type of request being made.
          enum:
          - CREATE_FORCED_UNPLEDGE
          example: CREATE_FORCED_UNPLEDGE
      required:
      - data
      - type
      type: object
    BitcoinSendTransactionData:
      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 Bitcoin transactions.
          enum:
          - bitcoin
          - bitcoin_testnet
          example: bitcoin
        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
    CardanoSendTransactionData:
      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 Cardano transactions.
          enum:
          - cardano
          example: cardano
        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
    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
    VaultGovernanceStep:
      properties:
        approvals:
          description: The list of already gathered approvals of rejections.
          items:
            $ref: '#/components/schemas/VaultCollectedApproval'
          type: array
        approvers:
          description: The list of users that can approve this step.
          items:
            $ref: '#/components/schemas/VaultUserRef'
          type: array
        group:
          allOf:
          - $ref: '#/components/schemas/VaultLiteModel'
          default: null
          description: The group that is part of this step.
        quorum:
          description: The number of approval required.
          example: 2
          type: integer
        step_index:
          description: The step's index of the governance.
          example: 1
          type: integer
      required:
      - approvals
      - approvers
      - quorum
      - step_index
      type: object
    APIRequestChallenge:
      properties:
        challenge:
          description: The request's challenge.
          type: string
        id:
          description: The request id.
          type: integer
      required:
      - challenge
      - id
      type: object
    PolkadotSendTransactionCreationData:
      properties:
        account_id:
          description: Unique identifier of the sender's account.
          example: '101'
          type: integer
        transaction_data:
          allOf:
          - $ref: '#/components/schemas/PolkadotSendTransactionData'
          description: Data specific to a Polkadot send transaction.
        transaction_type:
          description: Type indicator for Polkadot-like send transactions.
          enum:
          - POLKADOT_LIKE_SEND
          example: POLKADOT_LIKE_SEND
      required:
      - account_id
      - transaction_data
      - transaction_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
    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
    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
    TronSendTransactionCreationData:
      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/TronSendTransactionData'
          description: Data specific to a Tron send transaction.
        transaction_type:
          description: Type indicator for Tron-like send transactions.
          enum:
          - TRON_LIKE_SEND
          example: TRON_LIKE_SEND
      required:
      - account_id
      - fees_strategy
      - transaction_data
      - transaction_type
      type: object
    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
    PolkadotUnbondStakingTransactionData:
      properties:
        account_name:
          description: Account name to execute transaction.
          example: Polkadot Wallet 1
          type: string
        amount:
          description: Amount for Polkadot unbond transaction, in the smallest currency unit.
          example: '100000'
          type: string
        currency:
          description: Account currency for Polkadot transactions.
          enum:
          - polkadot
          - westend
          example: polkadot
      required:
      - account_name
      - amount
      - currency
      type: object
    CardanoSendTransactionCreationData:
      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/CardanoSendTransactionData'
          description: Data specific to a Cardano send transaction.
        transaction_type:
          description: Type indicator for Cardano-like send transactions.
          enum:
          - CARDANO_LIKE_SEND
          example: CARDANO_LIKE_SEND
      required:
      - account_id
      - fees_strategy
      - transaction_data
      - transaction_type
      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
    SolanaSendTransactionCreationData:
      properties:
        account_id:
          description: Unique identifier of the sender's account.
          example: '101'
          type: integer
        transaction_data:
          allOf:
          - $ref: '#/components/schemas/SolanaSendTransactionData'
          description: Data specific to a Solana send transaction.
        transaction_type:
          description: Type indicator for Solana-like send transactions.
          enum:
          - SOLANA_LIKE_SEND
          example: SOLANA_LIKE_SEND
      required:
      - account_id
      - transaction_data
      - transaction_type
      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
    PolkadotBondExtraStakingTransactionData:
      properties:
        account_name:
          description: Account name to execute transaction.
          example: Polkadot Wallet 1
          type: string
        amount:
          description: Amount for Polkadot bond extra transaction, in the smallest currency unit.
          example: '100000'
          type: string
        currency:
          description: Account currency for Polkadot transactions.
          enum:
          - polkadot
          - westend
          example: polkadot
      required:
      - account_name
      - amount
      - currency
      type: object
    APISearchPageInfo:
      properties:
        count:
          example: 1
          type: integer
        has_next_page:
          example: false
          type: boolean
      required:
      - count
      - has_next_page
      type: object
    RequestWithChallenge:
      additionalProperties: false
      properties:
        challenge:
          additionalProperties: {}
          default: null
          description: (DEPRECATED) challenge for the request
          example: '{"challenge":"eyJhbnRpcmVwbGF5IjoiQUM4NjY3QTU1Qjc0REQwMDI4QkU1N0YzMzBGNjVCQ0Y1M0UyODkzMDc4MzRBQkQxQ0VDNkYyOUFFNTIwNkI5MSIsImRhdGEiOnsidHJhbnNhY3Rpb25fZGF0YSI6eyJhY2NvdW50X25hbWUiOiJteSBidGMgYWNjb3VudCIsImFtb3VudCI6IjEwMDAiLCJjdXJyZW5jeSI6ImJpdGNvaW4gdGVzdG5ldCIsIm1heF9mZWVzIjoiNDAxOCIsInJlY2lwaWVudCI6InRiMXF5N3M5YzJ4d3F5NHF5dmowa3lxN2g1Z2g0cnhnZGxqZHMwdDludiJ9LCJ0cmFuc2FjdGlvbl90eXBlIjoiQklUQ09JTl9MSUtFX1NFTkQifSwidHlwZSI6IkFQUFJPVkVfVFJBTlNBQ1RJT04ifQ","id":6}'
          type:
          - object
          - 'null'
        created_by:
          default: null
          example: 12
          type:
          - integer
          - 'null'
        created_on:
          format: date-time
          type: string
        expires_at:
          format: date-time
          type: string
        id:
          type: integer
        status:
          enum:
          - ACTIVE
          - APPROVED
          - BLOCKED
          - EXPIRED
          - PENDING_APPROVAL
          - PENDING_FIRST_APPROVAL
          - PENDING_REGISTRATION
          - REJECTED
          - SIGNED
          - SUBMITTED
          example: PENDING_APPROVAL
          type: string
        target_id:
          example: 10
          type: integer
        target_type:
          enum:
          - ACCOUNT
          - ADMIN_GROUP
          - DIGESTS
          - ENTITY
          - FORCED_UNPLEDGE
          - GROUP
          - MESSAGE
          - PLEDGE_INCREMENT
          - POLICY
          - REPLEDGE
          - TRADELINK
          - TRADELINK_ASSET_MANAGER
          - TRADELINK_EXCHANGE
          - TRANSACTION
          - USER
          - WHITELIST
          example: TRANSACTION
          type: string
        type:
          enum:
          - ACTIVATE
          - CREATE_ACCOU

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