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

# Get a gift by its ID.

GET https://prod-api.raisedonors.com/api/Gift/{id}

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

## Authentication

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

## Request

### Path parameters

- `id` (long, required) — The ID of the gift.

## Response

### 200

OK

- `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.

## Errors

### 404 Not Found Error

Not Found

- `Gift_GetGiftByIdRequestNotFoundError`
  - ProblemDetails: ProblemDetails
  - HttpValidationProblemDetails: HttpValidationProblemDetails

## Types

### 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)

### 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)

### 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

**Response**

```json
{
  "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
  }
}
```

**SDK Code**

```python
import requests

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

headers = {"Authorization": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://prod-api.raisedonors.com/api/Gift/1';
const options = {method: 'GET', headers: {Authorization: '<apiKey>'}};

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"
	"net/http"
	"io"
)

func main() {

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

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "<apiKey>")

	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/1")

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

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<apiKey>'

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.get("https://prod-api.raisedonors.com/api/Gift/1")
  .header("Authorization", "<apiKey>")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://prod-api.raisedonors.com/api/Gift/1', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://prod-api.raisedonors.com/api/Gift/1");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "<apiKey>"]

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

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()
```