---
title: "Get transaction requests by enterprise filtering by wallet permissions"
method: GET
path: "/api/v2/enterprise/{enterpriseId}/txrequests/bypermission"
tags: ["Transaction request"]
---

# Get transaction requests by enterprise filtering by wallet permissions

`GET /api/v2/enterprise/{enterpriseId}/txrequests/bypermission`

Supports both lite and full transaction requests. Use the apiVersion query parameter to filter by version.

## Path parameters

- `enterpriseId` string, required

## Query parameters

- `apiVersion` 'lite' | 'full'
- `walletTypes` string[]
- `excludeIntentTypes` string[]
- `states` string[]
- `walletPermissions` string[]
- `limit` string, number
- `prevId` string
- `sortBy` 'id' | 'createdDate'
- `sortDirection` 'ASC' | 'DESC'
- `dateLt` string, date-time
- `dateGte` string, date-time

## Response `200`

OK

- GetTransactionRequestsWithWalletPermissionsResponse
  - `nextBatchPrevId` string
  - `txRequests` object[], required
    - `transactions` object[]
      - `state` 'initialized' | 'pendingSignature' | 'eddsaPendingCommitment' | 'eddsaPendingRShare' | 'eddsaPendingGShare' | 'ecdsaMPCv2Round1' | 'ecdsaMPCv2Round2' | 'ecdsaMPCv2Round3' | 'eddsaMPCv2Round1' | 'eddsaMPCv2Round2' | 'eddsaMPCv2Round3' | 'readyToCombineShares' | 'signed' | 'held' | 'delivered' | 'invalidSignature' | 'rejected', required — If supplied, only transaction request transaction state changes from the provided list will trigger notifications. If not provided, all transaction request transaction state changes will trigger notifications.
      - `unsignedTx` UnsignedTransaction, required
        - `parsedTx` ParsedTx, required
          - `inputs` object[], required
            - `valueString` string, required
            - `_id` string
            - `address` string
            - `chain` number
            - `derivationIndex` number
            - `index` number
            - `value` union
              - …
          - `minerFee` union, required
            - string
            - number
          - `outputs` object[], required
            - `valueString` string, required
            - `address` string
            - `change` boolean
            - `coinName` string
            - `data` string
            - `isPayGo` boolean
            - `value` union
              - …
            - `wallet` string
            - `walletV1` string
            - `baseAddress` string
            - `enterprise` string
          - `spendAmount` union, required
            - string
            - number
          - `gasPrice` number
          - `hasUnvalidatedData` boolean
          - `payGoFee` union
            - string
            - number
          - `spendAmounts` object[]
          - `type` string
        - `serializedTxHex` string, required — The unsigned transaction as a hex string.
        - `signableHex` string, required — The portion of a transaction used to generate a signature (may or may not be the same as serializedTxHex) as a hex string.
        - `derivationPath` string — A bip32 path.
        - `coinSpecific` object — Coin specific information.
          - `nonceAddress` string
          - `stakingAddress` string
          - `signature` string
        - `feeInfo` object
          - `fee` union, required
            - string
            - number
          - `feeString` string, required
      - `signatureShares` object[]
        - `vssProof` string — The VSS proof of the signature share
        - `privateShareProof` string — The private share proof
        - `publicShare` string — The public share
        - `from` 'user' | 'backup' | 'bitgo', required
        - `to` 'user' | 'backup' | 'bitgo', required
        - `share` string, required — The signature share
      - `commitmentShares` object[]
        - `type` 'commitment', required — The type of the commitment share
        - `from` 'user' | 'backup' | 'bitgo', required
        - `to` 'user' | 'backup' | 'bitgo', required
        - `share` string, required — The commitment share.
      - `txHash` string
      - `updatedDate` string, date-time
      - `createdDate` string, date-time
    - `messages` object[]
      - `state` 'initialized' | 'pendingSignature' | 'eddsaPendingCommitment' | 'eddsaPendingRShare' | 'eddsaPendingGShare' | 'ecdsaMPCv2Round1' | 'ecdsaMPCv2Round2' | 'ecdsaMPCv2Round3' | 'eddsaMPCv2Round1' | 'eddsaMPCv2Round2' | 'eddsaMPCv2Round3' | 'readyToCombineShares' | 'signed' | 'held' | 'delivered' | 'invalidSignature' | 'rejected', required — If supplied, only transaction request transaction state changes from the provided list will trigger notifications. If not provided, all transaction request transaction state changes will trigger notifications.
      - `messageRaw` string, required — The raw message to be signed
      - `signatureShares` object[]
        - `vssProof` string — The VSS proof of the signature share
        - `privateShareProof` string — The private share proof
        - `publicShare` string — The public share
        - `from` 'user' | 'backup' | 'bitgo', required
        - `to` 'user' | 'backup' | 'bitgo', required
        - `share` string, required — The signature share
      - `privateSignatureShares` object[]
        - `vssProof` string — The VSS proof of the signature share
        - `privateShareProof` string — The private share proof
        - `publicShare` string — The public share
        - `from` 'user' | 'backup' | 'bitgo', required
        - `to` 'user' | 'backup' | 'bitgo', required
        - `share` string, required — The signature share
      - `commitmentShares` object[]
        - `type` 'commitment', required — The type of the commitment share
        - `from` 'user' | 'backup' | 'bitgo', required
        - `to` 'user' | 'backup' | 'bitgo', required
        - `share` string, required — The commitment share.
      - `encryptedShares` object[]
        - `type` 'encryptedSignerShare' | 'encryptedRShare', required
        - `from` 'user' | 'backup' | 'bitgo', required
        - `to` 'user' | 'backup' | 'bitgo', required
        - `share` string, required — The commitment share.
      - `txHash` string — Transaction hash
      - `updatedDate` string, date-time — Date when the message was last updated
      - `createdDate` string, date-time — Date when the message was created
      - `messageEncoded` string — The encoded message
      - `messageBroadcastable` string — The broadcastable message
      - `messageStandardType` string — The encoded message
      - `derivationPath` string — Derivation path for the message
      - `combineSigShare` string — Combined signature share
      - `coin` string — Coin type for the message
      - `bitgoPaillierChallenge` unknown
      - `encryptedChallenge` string — BitGo's encrypted challenge for ECDSA with Range Proofs
    - `apiVersion` 'lite' | 'full' — The API version of the transaction request
    - `txRequestId` string, uuid, required
    - `idempotencyKey` string — The idempotency key of the transaction request
    - `walletId` string, required
    - `walletType` 'backing' | 'cold' | 'custodial' | 'custodialPaired' | 'hot' | 'advanced' | 'trading' — The type describes who owns the keys to the wallet associated to the TxRequest.
    - `version` number, required — The version of the transaction request
    - `enterpriseId` string — If the wallet that owns the TxRequest is owned by an enterprise then this is the Id of said enterprise.
    - `organizationId` string — The id of the organization the TxRequest's wallet belongs to.
    - `state` 'pendingApproval' | 'canceled' | 'rejected' | 'initialized' | 'pendingDelivery' | 'delivered' | 'pendingUserSignature' | 'pendingUserCommitment' | 'pendingUserRShare' | 'pendingUserGShare' | 'readyToSend' | 'signed' | 'failed', required
    - `date` string, date-time, required — The date and time this version of the TxRequest document was created.
    - `createdDate` string, date-time, required — The date and time the version 1 TxRequest document was created.
    - `userId` string, required — The Id of the User that produced this version of the TxRequest document. Could have created a new document or updated an existing document.
    - `initiatedBy` string, required — The Id of the User that originally created the TxRequest document (initiated the TxRequest).
    - `updatedBy` string, required — The Id of the User that last updated the TxRequest document. This is an alias for the userId field.
    - `intent` unknown
    - `intents` unknown[], required
      - unknown
    - `pendingApprovalId` string — The id of the Pending Approval that was created for the TxRequest if one was required.
    - `policiesChecked` boolean
    - `latest` boolean, required — Indicates if this is the latest transaction request
    - `isCanceled` boolean — True, if the transaction request is canceled.
    - `cancelReason` string — The reason the transaction request was canceled, if applicable.
    - `initiatedByDAppClient` boolean — True when the txRequest was initiated by a dApp OAuth client (e.g. Narval).
    - `txChannel` object — Immutable DeFi / marketplace channel classification (DEFI-300).
      - `clientId` string — OAuth dApp client id (Narval).
      - `connector` 'narval' | 'walletconnect' — External entry connector (narval, walletconnect). Omitted for internal BitGo flows.
      - `defiAction` 'approve' | 'deposit' | 'withdraw'
      - `protocol` 'morpho' | 'aave' | 'concrete' — DeFi protocol (morpho, aave, concrete).
      - `source` 'internal' | 'external', required
      - `type` 'defi', required
      - `vaultId` string
      - `walletConnectRequestId` string — defi-service walletconnect_requests.id when supplied on the intent.

## Other responses

- `400` — Bad Request
- `404` — Not Found

---

[API](https://skmtc.net/bitgo/apis/bitgo-api.md) · [All operations](https://skmtc.net/bitgo/apis/bitgo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitgo/bitgo-api/revisions/e445c15e5bee/schema)
