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

# BaseResponse

Base interface for all API responses with data and metadata

All successful API responses follow this wrapper pattern for consistency and debugging.
Errors throw GridError instead of returning error objects.

## Remarks

The BaseResponse wrapper provides:

* **data**: The actual response payload from the API
* **lastResponse**: Request metadata for debugging and tracking

This pattern making it easy to:

* Access response data via the `data` property
* Track requests using `lastResponse.requestId` for support queries
* Debug issues with status codes and headers
* Implement idempotency using `lastResponse.idempotencyKey`

<Note>
  Note: Errors are NOT returned in the response. Instead, they throw GridError with similar metadata.
</Note>

## Examples

```typescript theme={null}
const response = await gridClient.getAccount(accountAddress);

console.log(response.data.address);
console.log(response.data.policies);
```

```typescript theme={null}
const response = await gridClient.createAccount({ email: 'user@example.com' });

console.log('Request ID:', response.lastResponse?.requestId);
console.log('Status:', response.lastResponse?.statusCode);
console.log('Idempotency Key:', response.lastResponse?.idempotencyKey);
```

```typescript theme={null}
try {
  const response = await gridClient.getAccount(accountAddress);
  console.log('Success:', response.data);
} catch (error) {
  if (error instanceof GridError) {
    console.error('Error:', error.message);
    console.error('Request ID:', error.lastResponse?.requestId);
  }
}
```

## Extended by

* [`TransactionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/TransactionResponse)
* [`InitAuthResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/InitAuthResponse)
* [`CompleteAuthResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/CompleteAuthResponse)
* [`CompleteAuthAndCreateAccountResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/CompleteAuthAndCreateAccountResponse)
* [`GetAccountResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/GetAccountResponse)
* [`AccountBalancesResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/AccountBalancesResponse)
* [`GetTransactionsResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/GetTransactionsResponse)
* [`TransactionSubmissionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/TransactionSubmissionResponse)
* [`TransferResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/TransferResponse)
* [`CreateSpendingLimitResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/CreateSpendingLimitResponse)
* [`SpendingLimitTransactionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/SpendingLimitTransactionResponse)
* [`SpendingLimitResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/SpendingLimitResponse)
* [`SpendingLimitsResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/SpendingLimitsResponse)
* [`GetPasskeysResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/GetPasskeysResponse)
* [`AddPasskeyResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/AddPasskeyResponse)
* [`RemovePasskeyResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/RemovePasskeyResponse)
* [`CreatePaymentIntentResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/CreatePaymentIntentResponse)
* [`KycLinkResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/KycLinkResponse)
* [`KycStatusResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/KycStatusResponse)
* [`RefreshSessionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/RefreshSessionResponse)
* [`CreateProposalResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/CreateProposalResponse)
* [`VoteProposalResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/VoteProposalResponse)
* [`ExecuteProposalResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/ExecuteProposalResponse)
* [`CreateTradeSmartTransactionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/CreateTradeSmartTransactionResponse)
* [`GetTradeQuoteResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/GetTradeQuoteResponse)
* [`TradeSmartTransactionQuoteResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/TradeSmartTransactionQuoteResponse)
* [`PrepareTradeSmartTransactionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/PrepareTradeSmartTransactionResponse)
* [`GetTradeSmartTransactionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/GetTradeSmartTransactionResponse)
* [`VirtualAccountResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/VirtualAccountResponse)
* [`VirtualAccountsResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/VirtualAccountsResponse)
* [`CreateStandingOrderResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/CreateStandingOrderResponse)
* [`StandingOrderResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/StandingOrderResponse)
* [`StandingOrdersResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/StandingOrdersResponse)
* [`AuthorizePasskeySessionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/AuthorizePasskeySessionResponse)
* [`SubmitPasskeySessionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/SubmitPasskeySessionResponse)
* [`FindPasskeyAccountResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/FindPasskeyAccountResponse)
* [`GetPasskeySessionResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/GetPasskeySessionResponse)
* [`GetPasskeyAccountResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/GetPasskeyAccountResponse)
* [`CreatePasskeyAccountResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/CreatePasskeyAccountResponse)

## Type Parameters

| Type Parameter | Default type | Description           |
| -------------- | ------------ | --------------------- |
| `T`            | `any`        | Type of response data |

## Properties

| Property                                | Type                                                                                           | Description                                                                                                                                                                                                                                                                                                                |
| --------------------------------------- | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a id="data" /> `data`                  | `T`                                                                                            | Response data from API Contains the actual payload returned by the API endpoint. The type varies based on the specific response interface.                                                                                                                                                                                 |
| <a id="lastresponse" /> `lastResponse?` | [`LastResponse`](/grid/v1/sdk-reference/react-native/reference/latest/interfaces/LastResponse) | Response metadata with request ID and status code Useful for debugging and tracking requests. Contains: - requestId: Unique identifier for this request - statusCode: HTTP status code (200, 201, etc.) - headers: All response headers - idempotencyKey: Key for idempotent requests (if applicable) **See** LastResponse |
