> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://virtuous.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://virtuous.ferndocs.com/_mcp/server.

# Query gifts based on the specified filter.

POST https://prod-api.raisedonors.com/api/Gift/query
Content-Type: application/json

When `includeDetails=true`, the response includes all related entities (Donor, Gateway, Segment, etc.)
similar to the GET by ID endpoint. This may impact performance for large result sets.

Reference: https://virtuous.ferndocs.com/reference/raise/gift/querygifts

## Authentication

- `Authorization` header (required) — JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer \{token}"

## Request

### Body (application/json)

This endpoint expects a Gift_querygifts_Request.

- `Gift_querygifts_Request`
  - QueryRequestModel: QueryRequestModel
  - ParsedQueryResponseModel: ParsedQueryResponseModel

## Response

### 200

OK

- `items` (list of GiftModel, optional)
- `total` (integer, optional)

## Errors

### 400 Bad Request Error

Bad Request

- `Gift_QueryGiftsRequestBadRequestError`
  - ProblemDetails: ProblemDetails
  - HttpValidationProblemDetails: HttpValidationProblemDetails

## Types

### QueryRequestModel

Request body for advanced query endpoints such as donor and campaign queries.

- `filter` (string, optional, nullable)
- `skip` (integer, optional)
- `take` (integer, optional)
- `sortBy` (enum, optional, nullable) — Field to sort by (case-insensitive). Valid options: createdate, createddatetime, email, firstname, gifts, giftsum, id, lastname, modifieddatetimeutc, name, phone
  - Allowed values: `createdate`, `createddatetime`, `email`, `firstname`, `gifts`, `giftsum`, `id`, `lastname`, `modifieddatetimeutc`, `name`, `phone`
- `descending` (boolean, optional)
- `includeDetails` (boolean, optional)
- `queryType` (enum, optional) — The logical type of query being executed.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`
- `groups` (list of QueryGroupModel, optional, nullable) — The groups of conditions that make up the query.
- `selectedColumns` (list of string, optional, nullable) — The list of result columns to return for each item.
- `empty` (boolean, optional) — Indicates whether the query has any conditions defined.

### ParsedQueryResponseModel

Represents a parsedquery response model.

- `descending` (boolean, optional)
- `empty` (boolean, optional) — Indicates whether the query has any conditions defined.
- `filter` (string, optional, nullable)
- `groups` (list of QueryGroupModel, optional, nullable) — The groups of conditions that make up the query.
- `includeDetails` (boolean, optional)
- `queryType` (enum, optional) — The logical type of query being executed.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`
- `selectedColumns` (list of string, optional, nullable) — The list of result columns to return for each item.
- `skip` (integer, optional)
- `sortBy` (enum, optional, nullable) — Field to sort by (case-insensitive). Valid options: createdate, createddatetime, email, firstname, gifts, giftsum, id, lastname, modifieddatetimeutc, name, phone
  - Allowed values: `createdate`, `createddatetime`, `email`, `firstname`, `gifts`, `giftsum`, `id`, `lastname`, `modifieddatetimeutc`, `name`, `phone`
- `take` (integer, optional)

### GiftModel

Represents a detailed model for a gift, including donor, payment, and project information.

- `id` (long, optional) — Gets or sets the unique identifier of the gift.
- `currency` (string, optional, nullable) — Gets or sets the currency format for the gift amount.
- `amount` (double, optional) — Gets or sets the amount of the gift.
- `formattedAmount` (string, optional, nullable) — Gets the formatted amount of the gift in the specified currency.
- `date` (string, optional, nullable) — Gets or sets the date of the gift in local timezone.
- `createdDate` (string, optional, nullable) — Gets or sets the created date of the gift in local timezone.
- `modifiedDate` (string, optional, nullable) — Gets or sets the modified date of the gift in local timezone.
- `status` (enum, optional) — Gets or sets the status of the gift.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`
- `statusText` (string, optional, nullable) — Gets or sets the display text for the gift's status.
- `gateway` (string, optional, nullable) — Gets or sets the internal display name of the payment gateway.
- `authorizationNumber` (string, optional, nullable) — Gets or sets the authorization number for the gift transaction.
- `transactionId` (string, optional, nullable) — Gets or sets the transaction ID of the gift.
- `donationId` (string, optional, nullable) — Gets or sets the donation ID associated with the gift.
- `paymentInfo` (string, optional, nullable) — Gets or sets the payment information of the gift.
- `paymentType` (string, optional, nullable) — Gets or sets the payment type of the gift.
- `segment` (string, optional, nullable) — Gets or sets the segment code associated with the gift.
- `motivation` (string, optional, nullable) — Gets or sets the motivation for the gift.
- `campaignName` (string, optional, nullable) — Gets or sets the campaign name associated with the gift.
- `segmentName` (string, optional, nullable) — Gets or sets the segment name associated with the gift.
- `notes` (string, optional, nullable) — Gets or sets the notes associated with the gift.
- `comment` (string, optional, nullable) — Gets or sets the comment associated with the gift.
- `donorId` (long, optional) — Gets or sets the unique identifier of the donor.
- `billingName` (string, optional, nullable) — Gets or sets the billing name for the gift.
- `shippingName` (string, optional, nullable) — Gets or sets the shipping name for the gift.
- `recurringGiftId` (long, optional, nullable) — Gets or sets the recurring gift ID, if applicable.
- `giftAidRequested` (boolean, optional) — Gets or sets a value indicating whether gift aid was requested.
- `canRefund` (boolean, optional) — Gets or sets a value indicating whether the gift can be refunded.
- `donorPaidCosts` (boolean, optional) — Gets or sets a value indicating whether the donor paid the processing costs.
- `paymentProviderTransactionUrl` (string, optional, nullable) — Gets or sets the URL for the payment provider transaction.
- `submissionUrl` (string, optional, nullable) — Gets or sets the Submission URL.
- `billingAddress` (GiftModelBillingAddress, optional, nullable) — Gets or sets the billing address associated with the gift.
- `shippingAddress` (GiftModelShippingAddress, optional, nullable) — Gets or sets the shipping address associated with the gift.
- `projects` (list of GiftGiftProjectAllocationModel, optional, nullable) — Gets or sets the list of project allocations associated with the gift.
- `browserInfo` (GiftBrowserInfoModel, optional, nullable) — Gets or sets the browser information associated with the gift.
- `premiumItem` (GiftPremiumItem, optional, nullable) — Gets or sets the premium item associated with the gift, if applicable.
- `form` (GiftFormModel, optional, nullable) — Gets or sets the form details associated with the gift.
- `donorStatistic` (DonorStatisticModel, optional, nullable) — Gets or sets the donor statistics associated with the gift.
- `recurringScheduleInfo` (GiftRecurringScheduleInfo, optional, nullable) — Gets or sets the recurring schedule information for the gift, if applicable.
- `tribute` (GiftTributeModel, optional, nullable) — Gets or sets the tribute information associated with the gift, if applicable.
- `donor` (DonorModel, optional, nullable) — Gets or sets the donor details associated with the gift.
- `isAnonymous` (boolean, optional) — Gets or sets a value indicating whether the gift is anonymous.
- `isTestMode` (boolean, optional) — Gets or sets a value indicating whether the gift is in test mode.
- `virtualTerminalId` (long, optional, nullable) — Gets or sets the virtual terminal ID associated with the gift, if applicable.
- `virtualTerminal` (string, optional, nullable) — Gets or sets the virtual terminal name associated with the gift, if applicable.
- `googleUtmCampaign` (string, optional, nullable) — Gets or sets the Google UTM campaign associated with the gift.
- `googleUtmContent` (string, optional, nullable) — Gets or sets the Google UTM content associated with the gift.
- `googleUtmMedium` (string, optional, nullable) — Gets or sets the Google UTM medium associated with the gift.
- `googleUtmSource` (string, optional, nullable) — Gets or sets the Google UTM source associated with the gift.
- `googleUtmTerm` (string, optional, nullable) — Gets or sets the Google UTM term associated with the gift.
- `googleUtmId` (string, optional, nullable) — Gets or sets the Google UTM ID associated with the gift.
- `googleGclid` (string, optional, nullable) — Gets or sets the Google GCLID associated with the gift.
- `motivationCodeGroupId` (long, optional, nullable) — Gets or sets the motivation code group ID associated with the gift.
- `motivationCodeGroupName` (string, optional, nullable) — Gets or sets the motivation code group name associated with the gift.
- `motivationCodeId` (long, optional, nullable) — Gets or sets the motivation code ID associated with the gift.
- `motivationCodeName` (string, optional, nullable) — Gets or sets the motivation code name associated with the gift.
- `currencyExchange` (CurrencyExchange, optional, nullable) — Gets or sets the currency exchange information for the gift.

### ProblemDetails

- `type` (string, optional, nullable)
- `title` (string, optional, nullable)
- `status` (integer, optional, nullable)
- `detail` (string, optional, nullable)
- `instance` (string, optional, nullable)

### HttpValidationProblemDetails

- `detail` (string, optional, nullable)
- `errors` (map from string to list of string, optional, nullable)
- `instance` (string, optional, nullable)
- `status` (integer, optional, nullable)
- `title` (string, optional, nullable)
- `type` (string, optional, nullable)

### QueryGroupModel

- `conditions` (list of QueryConditionModel, optional, nullable) — Gets or sets the conditions.
- `conjunct` (enum, optional) — Gets or sets the operator.
  - Allowed values: `0`, `1`

### GiftModelBillingAddress

Gets or sets the billing address associated with the gift.

- AddressModel: AddressModel
- DonorAddressModel: DonorAddressModel

### GiftModelShippingAddress

Gets or sets the shipping address associated with the gift.

- AddressModel: AddressModel
- DonorAddressModel: DonorAddressModel

### GiftGiftProjectAllocationModel

Represents a giftprojectallocation model.

- `projectId` (long, optional) — Gets or sets the project identifier.
- `name` (string, optional, nullable) — Gets or sets the name.
- `amount` (string, optional, nullable) — Gets or sets the amount.
- `currencyExchange` (CurrencyExchange, optional, nullable) — Gets or sets the currency exchange.

### GiftBrowserInfoModel

Represents a giftbrowserinfo model.

- `name` (string, optional, nullable) — Gets or sets the name.
- `version` (string, optional, nullable) — Gets or sets the version.
- `platform` (string, optional, nullable) — Gets or sets the platform.
- `userAgent` (string, optional, nullable) — Gets or sets the user agent.
- `javaScriptVersion` (string, optional, nullable) — Gets or sets the java script version.
- `isBeta` (boolean, optional) — Gets or sets a value indicating whether beta.
- `isCrawler` (boolean, optional) — Gets or sets a value indicating whether crawler.
- `supportsCookies` (boolean, optional) — Gets or sets the supports cookies.
- `supportsJavaApplets` (boolean, optional) — Gets or sets the supports java applets.
- `supportsActiveXControls` (boolean, optional) — Gets or sets the supports active xcontrols.

### GiftPremiumItem

Represents a giftpremiumitem.

- `qualifies` (boolean, optional) — Gets or sets the qualifies.
- `premium` (PremiumModel, optional, nullable) — Gets or sets the premium.

### GiftFormModel

Represents a giftform model.

- `id` (long, optional, nullable) — Gets or sets the identifier.
- `title` (string, optional, nullable) — Gets or sets the title.
- `landingUrl` (string, optional, nullable) — Gets or sets the landing URL.
- `referringUrl` (string, optional, nullable) — Gets or sets the referring URL.
- `isLegacy` (boolean, optional) — Gets or sets a value indicating whether legacy.

### DonorStatisticModel

Represents a donorstatistic model.

- `totalGift` (string, optional, nullable) — Gets or sets the total gift.
- `totalGiftAmount` (string, optional, nullable) — Gets or sets the total gift amount.
- `lastGift` (GiftListModel, optional, nullable) — Gets or sets the last gift.
- `lastGiftAmount` (string, optional, nullable) — Gets or sets the last gift amount.

### GiftRecurringScheduleInfo

Represents a giftrecurringscheduleinfo.

- `amount` (string, optional, nullable) — Gets or sets the amount.
- `currencyCode` (string, optional, nullable) — Gets or sets the currency code.
- `frequency` (string, optional, nullable) — Gets or sets the frequency.
- `status` (enum, optional) — Gets or sets the status.
  - Allowed values: `1`, `2`, `3`, `4`, `5`, `6`
- `statusText` (string, optional, nullable) — Gets or sets the status text.
- `successfulCycles` (integer, optional) — Gets or sets the successful cycles.
- `startDate` (string, optional, nullable) — Gets or sets the start date.
- `nextCharge` (string, optional, nullable) — Gets or sets the next charge.
- `currentCharge` (string, optional, nullable) — Gets or sets the current charge.
- `previousCharge` (string, optional, nullable) — Gets or sets the previous charge.
- `currencyExchange` (CurrencyExchange, optional, nullable) — Gets or sets the currency exchange information.

### GiftTributeModel

Represents a gifttribute model.

- `isInMemoryOf` (boolean, optional) — Gets or sets a value indicating whether in memory of.
- `isInHonorOf` (boolean, optional) — Gets or sets a value indicating whether in honor of.
- `sendByEmail` (boolean, optional) — Gets or sets the sendby email address.
- `sendByPostal` (boolean, optional) — Gets or sets the send by postal.
- `tributeFirstName` (string, optional, nullable) — Gets or sets the tributefirst name.
- `tributeLastName` (string, optional, nullable) — Gets or sets the tributelast name.
- `tributeAddress` (GiftTributeModelTributeAddress, optional, nullable) — Gets or sets the address.
- `acknowledgeeFirstName` (string, optional, nullable) — Gets or sets the acknowledgeefirst name.
- `acknowledgeeLastName` (string, optional, nullable) — Gets or sets the acknowledgeelast name.
- `acknowledgeeAddress` (GiftTributeModelAcknowledgeeAddress, optional, nullable) — Gets or sets the address.
- `acknowledgeeEmailAddress` (string, optional, nullable) — Gets or sets the address.
- `message` (string, optional, nullable) — Gets or sets the message.

### DonorModel

Represents a donor model.

- `id` (long, optional) — Gets or sets the identifier.
- `name` (string, optional, nullable) — Gets or sets the name.
- `title` (string, optional, nullable) — Gets or sets the title.
- `firstName` (string, optional, nullable) — Gets or sets the first name.
- `middleName` (string, optional, nullable) — Gets or sets the middle name.
- `lastName` (string, optional, nullable) — Gets or sets the last name.
- `suffix` (string, optional, nullable) — Gets or sets the suffix.
- `email` (string, optional, nullable) — Gets or sets the email address.
- `phone` (string, optional, nullable) — Gets or sets the phone.
- `createdDate` (string, optional, nullable) — Gets or sets the created date.
- `modifiedDate` (string, optional, nullable) — Gets or sets the modified date.
- `notes` (string, optional, nullable) — Gets or sets any additional notes.
- `isOrganization` (boolean, optional) — Gets or sets a value indicating whether organization.
- `organizationName` (string, optional, nullable) — Gets or sets the organization name.
- `crmKeyUrls` (map from string to CrmUrlInfo, optional, nullable) — Gets or sets the CRM URLs by integration type.
- `crmKey` (string, optional, nullable) — Gets or sets the crmkey.
- `crmSecondKey` (string, optional, nullable) — Gets or sets the crmsecond key.
- `isTestMode` (boolean, optional) — Gets or sets a value indicating whether test mode.
- `isArchived` (boolean, optional) — Gets or sets a value indicating whether archived.
- `isGDPRDeleted` (boolean, optional) — Gets or sets a value indicating whether gdprdeleted.
- `primaryAddress` (DonorAddressModel, optional, nullable) — Gets or sets the address.
- `donorAddresses` (list of DonorAddressModel, optional, nullable) — Gets or sets the donor addresses.
- `donorEmailAddresses` (list of DonorContactMethodModel, optional, nullable) — Gets or sets the donor email addresses.
- `donorPhoneNumbers` (list of DonorContactMethodModel, optional, nullable) — Gets or sets the donor phone numbers.

### CurrencyExchange

- `nativeAmount` (string, optional, nullable)
- `nativeCurrencyCode` (string, optional, nullable)
- `settledExchangeRate` (double, optional, nullable)
- `settledAmount` (string, optional, nullable)
- `settledCurrencyCode` (string, optional, nullable)
- `baseExchangeRate` (double, optional, nullable)
- `baseAmount` (string, optional, nullable)
- `baseCurrencyCode` (string, optional, nullable)
- `isDifferentCurrency` (boolean, optional)

### QueryConditionModel

- `parameter` (string, optional, nullable) — Gets or sets the parameter.
- `operator` (enum, optional) — Gets or sets the operator.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `22`, `23`, `24`, `25`, `26`, `27`, `28`, `29`
- `value` (string, optional, nullable) — Gets or sets the value.
- `secondaryValue` (string, optional, nullable) — Gets or sets the secondary value.
- `values` (list of string, optional, nullable) — Gets or sets the values.
- `conjunct` (enum, optional) — Gets or sets the operator.
  - Allowed values: `0`, `1`

### AddressModel

Represents a address model.

- `address1` (string, optional, nullable) — Gets or sets the address1.
- `address2` (string, optional, nullable) — Gets or sets the address2.
- `city` (string, optional, nullable) — Gets or sets the city name.
- `state` (string, optional, nullable) — Gets or sets the state or province.
- `postal` (string, optional, nullable) — Gets or sets the postal or ZIP code.
- `countryString` (string, optional, nullable) — Gets or sets the country string.
- `addressType` (enum, optional) — Gets or sets the address type.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`
- `addressTypeDisplay` (string, optional, nullable) — Gets or sets the address type display.

### DonorAddressModel

Represents a donoraddress model.

- `address1` (string, optional, nullable) — Gets or sets the address1.
- `address2` (string, optional, nullable) — Gets or sets the address2.
- `addressType` (enum, optional) — Gets or sets the address type.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`
- `addressTypeDisplay` (string, optional, nullable) — Gets or sets the address type display.
- `city` (string, optional, nullable) — Gets or sets the city name.
- `countryString` (string, optional, nullable) — Gets or sets the country string.
- `donorId` (long, optional) — Gets or sets the donor identifier.
- `id` (long, optional) — Gets or sets the identifier.
- `isPrimary` (boolean, optional) — Gets or sets whether this is the primary address for the donor.
- `postal` (string, optional, nullable) — Gets or sets the postal or ZIP code.
- `state` (string, optional, nullable) — Gets or sets the state or province.

### PremiumModel

Represents a premium model.

- `id` (long, optional) — Gets or sets the identifier.
- `currency` (string, optional, nullable) — Gets or sets the currency.
- `name` (string, optional, nullable) — Gets or sets the name.
- `nameShort` (string, optional, nullable) — Gets or sets the name short.
- `code` (string, optional, nullable) — Gets or sets the code.
- `description` (string, optional, nullable) — Gets or sets the description.
- `isActive` (boolean, optional) — Gets or sets a value indicating whether active.
- `price` (double, optional) — Gets or sets the price.
- `formattedPrice` (string, optional, nullable)
- `fairMarketValue` (double, optional, nullable) — Gets or sets the fair market value.
- `formattedFairMarketValue` (string, optional, nullable)
- `inventory` (integer, optional, nullable) — Gets or sets the inventory.
- `keepActiveWhenHasNoInventory` (boolean, optional) — Gets or sets the keep active when has no inventory.
- `recurringPremiumId` (long, optional, nullable) — Gets or sets the recurringpremium identifier.
- `recurringPremiumName` (string, optional, nullable) — Gets or sets the recurringpremium name.
- `image` (string, optional, nullable) — Gets or sets the image.
- `externalIdentifier` (string, optional, nullable) — Gets or sets the external identifier.
- `otherMinimumAmounts` (list of PremiumAmount, optional, nullable) — Gets or sets the other minimum amounts.

### GiftListModel

Represents a model for displaying gift information in a list format.

- `id` (long, optional) — Gets or sets the unique identifier of the gift.
- `date` (string, optional, nullable) — Gets or sets the date of the gift in local timezone.
- `amount` (string, optional, nullable) — Gets or sets the formatted amount of the gift.
- `paymentInfo` (string, optional, nullable) — Gets or sets the payment information of the gift.
- `donorId` (long, optional, nullable) — Gets or sets the donor's unique identifier.
- `donorImage` (string, optional, nullable) — Gets or sets the donor's image.
- `donorName` (string, optional, nullable) — Gets or sets the donor's name.
- `donorEmail` (string, optional, nullable) — Gets or sets the donor's email.
- `form` (string, optional, nullable) — Gets or sets the form title associated with the gift.
- `projects` (list of GiftGiftProjectAllocationModel, optional, nullable) — Gets or sets the list of projects associated with the gift.
- `status` (enum, optional) — Gets or sets the status of the gift.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`
- `statusText` (string, optional, nullable) — Gets or sets the display text for the gift's status.
- `donorIsGDPRDeleted` (boolean, optional) — Gets or sets a value indicating whether the donor is GDPR deleted.
- `isAnonymous` (boolean, optional) — Gets or sets a value indicating whether the gift is anonymous.
- `canRefund` (boolean, optional) — Gets or sets a value indicating whether the gift can be refunded.
- `transactionId` (string, optional, nullable) — Gets or sets the transaction ID of the gift.
- `isTribute` (boolean, optional) — Gets or sets a value indicating whether the gift is a tribute.
- `isFromTerminal` (boolean, optional) — Gets or sets a value indicating whether the gift is from a virtual terminal.
- `donorPaidCosts` (boolean, optional) — Gets or sets a value indicating whether the donor paid the processing costs.
- `metadata` (list of string, optional, nullable) — Gets or sets the metadata associated with the gift.
- `segmentCode` (string, optional, nullable) — Gets or sets the segment code associated with the gift.
- `currencyExchange` (CurrencyExchange, optional, nullable) — Gets or sets the currency exchange information for the gift.

### GiftTributeModelTributeAddress

Gets or sets the address.

- AddressModel: AddressModel
- DonorAddressModel: DonorAddressModel

### GiftTributeModelAcknowledgeeAddress

Gets or sets the address.

- AddressModel: AddressModel
- DonorAddressModel: DonorAddressModel

### CrmUrlInfo

- `crmKey` (string, optional, nullable)
- `url` (string, optional, nullable)

### DonorContactMethodModel

Represents a donorcontactmethod model.

- `id` (long, optional) — Gets or sets the identifier.
- `donorId` (long, optional) — Gets or sets the donor identifier.
- `type` (enum, optional) — Gets or sets the type.
  - Allowed values: `0`, `10`, `11`, `12`, `20`, `21`, `22`, `99`
- `typeDisplay` (string, optional, nullable) — Gets or sets the type display.
- `value` (string, optional, nullable) — Gets or sets the value.
- `secondaryValue` (string, optional, nullable) — Gets or sets the secondary value.
- `isPrimary` (boolean, optional) — Gets or sets a value indicating whether primary.
- `isOptedIn` (boolean, optional) — Gets or sets a value indicating whether opted in.
- `isValid` (boolean, optional) — Gets or sets the isval identifier.
- `isEmail` (boolean, optional) — Gets or sets the is email address.
- `isPhone` (boolean, optional) — Gets or sets a value indicating whether phone.
- `isBounced` (boolean, optional) — Gets or sets a value indicating whether bounced.
- `countryCode` (string, optional, nullable) — Gets or sets the country code.

### PremiumAmount

- `currency` (string, optional, nullable)
- `value` (double, optional)

## Examples

**Request**

```json
{}
```

**Response**

```json
{
  "items": [
    {
      "id": 1,
      "currency": "string",
      "amount": 1.1,
      "formattedAmount": "string",
      "date": "string",
      "createdDate": "string",
      "modifiedDate": "string",
      "status": 0,
      "statusText": "string",
      "gateway": "string",
      "authorizationNumber": "string",
      "transactionId": "string",
      "donationId": "string",
      "paymentInfo": "string",
      "paymentType": "string",
      "segment": "string",
      "motivation": "string",
      "campaignName": "string",
      "segmentName": "string",
      "notes": "string",
      "comment": "string",
      "donorId": 1,
      "billingName": "string",
      "shippingName": "string",
      "recurringGiftId": 1,
      "giftAidRequested": true,
      "canRefund": true,
      "donorPaidCosts": true,
      "paymentProviderTransactionUrl": "string",
      "submissionUrl": "string",
      "billingAddress": {
        "address1": "string",
        "address2": "string",
        "city": "string",
        "state": "string",
        "postal": "string",
        "countryString": "string",
        "addressType": 0,
        "addressTypeDisplay": "string"
      },
      "shippingAddress": {
        "address1": "string",
        "address2": "string",
        "city": "string",
        "state": "string",
        "postal": "string",
        "countryString": "string",
        "addressType": 0,
        "addressTypeDisplay": "string"
      },
      "projects": [
        {
          "projectId": 1,
          "name": "string",
          "amount": "string",
          "currencyExchange": {
            "nativeAmount": "string",
            "nativeCurrencyCode": "string",
            "settledExchangeRate": 1.1,
            "settledAmount": "string",
            "settledCurrencyCode": "string",
            "baseExchangeRate": 1.1,
            "baseAmount": "string",
            "baseCurrencyCode": "string",
            "isDifferentCurrency": true
          }
        }
      ],
      "browserInfo": {
        "name": "string",
        "version": "string",
        "platform": "string",
        "userAgent": "string",
        "javaScriptVersion": "string",
        "isBeta": true,
        "isCrawler": true,
        "supportsCookies": true,
        "supportsJavaApplets": true,
        "supportsActiveXControls": true
      },
      "premiumItem": {
        "qualifies": true,
        "premium": {
          "id": 1,
          "currency": "string",
          "name": "string",
          "nameShort": "string",
          "code": "string",
          "description": "string",
          "isActive": true,
          "price": 1.1,
          "formattedPrice": "string",
          "fairMarketValue": 1.1,
          "formattedFairMarketValue": "string",
          "inventory": 1,
          "keepActiveWhenHasNoInventory": true,
          "recurringPremiumId": 1,
          "recurringPremiumName": "string",
          "image": "string",
          "externalIdentifier": "string",
          "otherMinimumAmounts": [
            {
              "currency": "string",
              "value": 1.1
            }
          ]
        }
      },
      "form": {
        "id": 1,
        "title": "string",
        "landingUrl": "string",
        "referringUrl": "string",
        "isLegacy": true
      },
      "donorStatistic": {
        "totalGift": "string",
        "totalGiftAmount": "string",
        "lastGift": {
          "id": 1,
          "date": "string",
          "amount": "string",
          "paymentInfo": "string",
          "donorId": 1,
          "donorImage": "string",
          "donorName": "string",
          "donorEmail": "string",
          "form": "string",
          "projects": [
            {
              "projectId": 1,
              "name": "string",
              "amount": "string",
              "currencyExchange": {
                "nativeAmount": "string",
                "nativeCurrencyCode": "string",
                "settledExchangeRate": 1.1,
                "settledAmount": "string",
                "settledCurrencyCode": "string",
                "baseExchangeRate": 1.1,
                "baseAmount": "string",
                "baseCurrencyCode": "string",
                "isDifferentCurrency": true
              }
            }
          ],
          "status": 0,
          "statusText": "string",
          "donorIsGDPRDeleted": true,
          "isAnonymous": true,
          "canRefund": true,
          "transactionId": "string",
          "isTribute": true,
          "isFromTerminal": true,
          "donorPaidCosts": true,
          "metadata": [
            "string"
          ],
          "segmentCode": "string",
          "currencyExchange": {
            "nativeAmount": "string",
            "nativeCurrencyCode": "string",
            "settledExchangeRate": 1.1,
            "settledAmount": "string",
            "settledCurrencyCode": "string",
            "baseExchangeRate": 1.1,
            "baseAmount": "string",
            "baseCurrencyCode": "string",
            "isDifferentCurrency": true
          }
        },
        "lastGiftAmount": "string"
      },
      "recurringScheduleInfo": {
        "amount": "string",
        "currencyCode": "string",
        "frequency": "string",
        "status": 1,
        "statusText": "string",
        "successfulCycles": 1,
        "startDate": "string",
        "nextCharge": "string",
        "currentCharge": "string",
        "previousCharge": "string",
        "currencyExchange": {
          "nativeAmount": "string",
          "nativeCurrencyCode": "string",
          "settledExchangeRate": 1.1,
          "settledAmount": "string",
          "settledCurrencyCode": "string",
          "baseExchangeRate": 1.1,
          "baseAmount": "string",
          "baseCurrencyCode": "string",
          "isDifferentCurrency": true
        }
      },
      "tribute": {
        "isInMemoryOf": true,
        "isInHonorOf": true,
        "sendByEmail": true,
        "sendByPostal": true,
        "tributeFirstName": "string",
        "tributeLastName": "string",
        "tributeAddress": {
          "address1": "string",
          "address2": "string",
          "city": "string",
          "state": "string",
          "postal": "string",
          "countryString": "string",
          "addressType": 0,
          "addressTypeDisplay": "string"
        },
        "acknowledgeeFirstName": "string",
        "acknowledgeeLastName": "string",
        "acknowledgeeAddress": {
          "address1": "string",
          "address2": "string",
          "city": "string",
          "state": "string",
          "postal": "string",
          "countryString": "string",
          "addressType": 0,
          "addressTypeDisplay": "string"
        },
        "acknowledgeeEmailAddress": "string",
        "message": "string"
      },
      "donor": {
        "id": 1,
        "name": "string",
        "title": "string",
        "firstName": "string",
        "middleName": "string",
        "lastName": "string",
        "suffix": "string",
        "email": "string",
        "phone": "string",
        "createdDate": "string",
        "modifiedDate": "string",
        "notes": "string",
        "isOrganization": true,
        "organizationName": "string",
        "crmKeyUrls": {},
        "crmKey": "string",
        "crmSecondKey": "string",
        "isTestMode": true,
        "isArchived": true,
        "isGDPRDeleted": true,
        "primaryAddress": {
          "address1": "string",
          "address2": "string",
          "addressType": 0,
          "addressTypeDisplay": "string",
          "city": "string",
          "countryString": "string",
          "donorId": 1,
          "id": 1,
          "isPrimary": true,
          "postal": "string",
          "state": "string"
        },
        "donorAddresses": [
          {
            "address1": "string",
            "address2": "string",
            "addressType": 0,
            "addressTypeDisplay": "string",
            "city": "string",
            "countryString": "string",
            "donorId": 1,
            "id": 1,
            "isPrimary": true,
            "postal": "string",
            "state": "string"
          }
        ],
        "donorEmailAddresses": [
          {
            "id": 1,
            "donorId": 1,
            "type": 0,
            "typeDisplay": "string",
            "value": "string",
            "secondaryValue": "string",
            "isPrimary": true,
            "isOptedIn": true,
            "isValid": true,
            "isEmail": true,
            "isPhone": true,
            "isBounced": true,
            "countryCode": "string"
          }
        ],
        "donorPhoneNumbers": [
          {
            "id": 1,
            "donorId": 1,
            "type": 0,
            "typeDisplay": "string",
            "value": "string",
            "secondaryValue": "string",
            "isPrimary": true,
            "isOptedIn": true,
            "isValid": true,
            "isEmail": true,
            "isPhone": true,
            "isBounced": true,
            "countryCode": "string"
          }
        ]
      },
      "isAnonymous": true,
      "isTestMode": true,
      "virtualTerminalId": 1,
      "virtualTerminal": "string",
      "googleUtmCampaign": "string",
      "googleUtmContent": "string",
      "googleUtmMedium": "string",
      "googleUtmSource": "string",
      "googleUtmTerm": "string",
      "googleUtmId": "string",
      "googleGclid": "string",
      "motivationCodeGroupId": 1,
      "motivationCodeGroupName": "string",
      "motivationCodeId": 1,
      "motivationCodeName": "string",
      "currencyExchange": {
        "nativeAmount": "string",
        "nativeCurrencyCode": "string",
        "settledExchangeRate": 1.1,
        "settledAmount": "string",
        "settledCurrencyCode": "string",
        "baseExchangeRate": 1.1,
        "baseAmount": "string",
        "baseCurrencyCode": "string",
        "isDifferentCurrency": true
      }
    }
  ],
  "total": 1
}
```

**SDK Code**

```python
import requests

url = "https://prod-api.raisedonors.com/api/Gift/query"

payload = {}
headers = {
    "Authorization": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://prod-api.raisedonors.com/api/Gift/query';
const options = {
  method: 'POST',
  headers: {Authorization: '<apiKey>', 'Content-Type': 'application/json'},
  body: '{}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://prod-api.raisedonors.com/api/Gift/query"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://prod-api.raisedonors.com/api/Gift/query")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://prod-api.raisedonors.com/api/Gift/query")
  .header("Authorization", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://prod-api.raisedonors.com/api/Gift/query', [
  'body' => '{}',
  'headers' => [
    'Authorization' => '<apiKey>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://prod-api.raisedonors.com/api/Gift/query");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://prod-api.raisedonors.com/api/Gift/query")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```