> 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 specific recurring gift by ID.

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

Reference: https://virtuous.ferndocs.com/reference/raise/recurring-gift/getrecurringgiftbyid

## 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 recurring gift.

## Response

### 200

OK

- `id` (long, optional) — Gets or sets the unique identifier for the recurring gift.
- `organizationId` (long, optional) — Gets or sets the organization identifier.
- `createdDate` (string, optional, nullable) — Gets or sets the created date (localized and formatted).
- `modifiedDate` (string, optional, nullable) — Gets or sets the modified date (localized and formatted).
- `profileNumber` (string, optional, nullable) — Gets or sets the profile number for the recurring gift.
- `amount` (double, optional) — Gets or sets the recurring gift amount.
- `currencyCode` (string, optional, nullable) — Gets or sets the currency code for the recurring gift.
- `baseCurrencyCode` (string, optional, nullable) — Gets or sets the base currency code for the recurring gift, if applicable.
- `formattedAmount` (string, optional, nullable) — Gets the formatted recurring gift amount.
- `donor` (DonorModel, optional, nullable) — Gets or sets the donor associated with the recurring gift.
- `frequency` (enum, optional) — Gets or sets the frequency of the recurring gift.
  - Allowed values: `0`, `1`, `2`, `4`, `12`, `26`, `52`, `100`
- `formattedFrequency` (string, optional, nullable) — Gets the formatted frequency display value.
- `total` (double, optional) — Gets or sets the total amount for the recurring gift.
- `formattedTotal` (string, optional, nullable) — Gets or sets the formatted total amount.
- `successfulCycles` (integer, optional) — Gets or sets the number of successful cycles.
- `startDate` (datetime, optional) — Gets or sets the start date of the recurring gift.
- `startDateFormatted` (string, optional, nullable) — Gets the formatted start date (localized).
- `nextChargeDate` (datetime, optional) — Gets or sets the next charge date.
- `nextChargeDateFormatted` (string, optional, nullable) — Gets the formatted next charge date.
- `nextChargeDateEditFormatted` (string, optional, nullable) — Gets the next charge date formatted for editing.
- `status` (enum, optional) — Gets or sets the status of the recurring gift.
  - Allowed values: `1`, `2`, `3`, `4`, `5`, `6`
- `statusText` (string, optional, nullable) — Gets or sets the display text for the status.
- `gatewayId` (long, optional, nullable) — Gets or sets the gateway identifier.
- `gateway` (string, optional, nullable) — Gets or sets the gateway name.
- `paymentInfo` (string, optional, nullable) — Gets or sets the payment information summary.
- `expMonthAndYear` (string, optional, nullable) — Gets or sets the expiration month and year for the card.
- `cardBrand` (string, optional, nullable) — Gets or sets the card brand.
- `paymentMethodCountryCode` (string, optional, nullable) — Gets or sets the payment method country code.
- `projectAllocation` (list of RecurringGiftProjectAllocationModel, optional, nullable) — Gets or sets the project allocations for the recurring gift.
- `isAnonymous` (boolean, optional) — Gets or sets a value indicating whether the donor is anonymous.
- `isTestMode` (boolean, optional) — Gets or sets a value indicating whether the gift is in test mode.
- `donorCoverCosts` (boolean, optional) — Gets or sets a value indicating whether the donor covers processing costs.
- `motivationCode` (string, optional, nullable) — Gets or sets the motivation code.
- `sourceCode` (string, optional, nullable) — Gets or sets the source code.
- `segmentId` (long, optional, nullable) — Gets or sets the segment identifier.
- `segmentName` (string, optional, nullable) — Gets or sets the segment name.
- `segmentCode` (string, optional, nullable) — Gets or sets the segment code.
- `notes` (string, optional, nullable) — Gets or sets the notes for the recurring gift.
- `comments` (string, optional, nullable) — Gets or sets the comments for the recurring gift.
- `premium` (PremiumModel, optional, nullable) — Gets or sets the premium model associated with the gift.
- `recurringPremium` (PremiumModel, optional, nullable) — Gets or sets the recurring premium model.
- `paymentProviderType` (enum, optional, nullable) — Gets or sets the payment provider type.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`
- `crmKey` (string, optional, nullable) — Gets or sets the CRM key.
- `crmKeyUrls` (map from string to CrmUrlInfo, optional, nullable) — Gets or sets the CRM key URLs.
- `page` (PageResponseModel, optional, nullable) — Gets or sets the page response model.
- `merchantType` (enum, optional) — Gets or sets the merchant type.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`
- `merchantAccount` (string, optional, nullable) — Gets or sets the merchant account identifier.
- `tokenizationKey` (string, optional, nullable) — Gets or sets the tokenization key for payment processing.
- `paymentTenderType` (enum, optional) — Gets or sets the payment tender type.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`
- `gatewayCustomerKey` (string, optional, nullable) — Gets or sets the gateway customer key.
- `hasPaymentFailed` (boolean, optional) — Gets or sets a value indicating whether a payment has failed.
- `isLegacy` (boolean, optional) — Gets or sets a value indicating whether this is a legacy recurring gift.
- `currencyExchange` (CurrencyExchange, optional, nullable) — Gets or sets the currency exchange information for the recurring gift, if applicable.
- `tribute` (TributeModel, optional, nullable) — Gets or sets the Tribute for the recurring gift.
- `paymentMethodId` (string, optional, nullable) — Gets or sets the payment method identifier.
- `costs` (double, optional) — Gets or sets the processing fee costs covered by the donor.

## Errors

### 404 Not Found Error

Not Found

- `RecurringGift_GetRecurringGiftByIdRequestNotFoundError`
  - ProblemDetails: ProblemDetails
  - HttpValidationProblemDetails: HttpValidationProblemDetails

## Types

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

### RecurringGiftProjectAllocationModel

Represents a recurringgiftprojectallocation model.

- `projectId` (long, optional) — Gets or sets the project identifier.
- `projectName` (string, optional, nullable) — Gets or sets the project name.
- `amount` (double, optional) — Gets or sets the amount.
- `formattedAmount` (string, optional, nullable)

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

### CrmUrlInfo

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

### PageResponseModel

Represents a response model for a fundraising or donation page, including configuration, integrations, and settings.

- `id` (long, optional) — Gets the unique identifier for the page.
- `name` (string, optional, nullable) — Gets the name of the page.
- `internalName` (string, optional, nullable) — Gets the internal name of the page.
- `internalDisplayName` (string, optional, nullable) — Gets the display name for internal use. Returns InternalName if set, otherwise returns Name.
- `slug` (string, optional, nullable) — Gets the slug for the page.
- `isPublished` (boolean, optional) — Gets a value indicating whether the page is published.
- `publicId` (string, optional) — Gets the public identifier for the page.
- `type` (enum, optional) — Gets the type of the page.
  - Allowed values: `0`, `1`, `2`
- `typeDisplayName` (string, optional, nullable) — Gets the display value of the page type.
- `formType` (enum, optional) — Gets the form type of the page.
  - Allowed values: `0`, `1`, `2`, `3`
- `externalReferenceId` (string, optional, nullable) — Gets the external reference identifier for the page.
- `json` (string, optional, nullable) — Gets the JSON configuration for the page.
- `gatewayId` (long, optional, nullable) — Gets the gateway identifier associated with the page.
- `merchantAccount` (string, optional, nullable) — Gets the merchant account identifier for the gateway.
- `merchantType` (enum, optional, nullable) — Gets the merchant type for the gateway.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`
- `tokenizationKey` (string, optional, nullable) — Gets the tokenization key for the gateway.
- `payPalGatewayId` (long, optional, nullable) — Gets the PayPal gateway identifier associated with the page.
- `payPalMerchantAccount` (string, optional, nullable) — Gets the PayPal merchant account identifier.
- `payPalTokenizationKey` (string, optional, nullable) — Gets the PayPal tokenization key.
- `defaultSegmentId` (long, optional, nullable) — Gets the default segment identifier for the page.
- `defaultSegmentName` (string, optional, nullable) — Gets or sets the default segment name.
- `defaultSegmentCode` (string, optional, nullable) — Gets the default segment code.
- `defaultLanguage` (string, optional, nullable) — Gets or sets the default language for the application.
- `isTranslationEnabled` (boolean, optional) — Gets or sets a value indicating whether translation functionality is enabled.
- `isAIGenerated` (boolean, optional) — Gets or sets a value indicating whether this page was generated by an AI agent.
- `defaultCampaignId` (long, optional, nullable) — Gets the default campaign identifier for the page.
- `defaultProjectId` (long, optional, nullable) — Gets or sets the default project identifier for the page.
- `defaultProjectName` (string, optional, nullable) — Gets or sets the default project name.
- `defaultProjectCode` (string, optional, nullable) — Gets or sets the default project code.
- `isExpireEnabled` (boolean, optional) — Gets or sets a value indicating whether the page expiration is enabled.
- `expireDateTimeUtc` (datetime, optional, nullable) — Gets or sets the expiration date and time in UTC.
- `redirectPageId` (long, optional, nullable) — Gets or sets the redirect page identifier after expiration.
- `redirectPageName` (string, optional, nullable) — Gets or sets the redirect page name after expiration.
- `redirectUrl` (string, optional, nullable) — Gets or sets the redirect URL after expiration.
- `autoArchiveOnExpire` (boolean, optional) — Gets or sets a value indicating whether to auto-archive the page on expiration.
- `designSettings` (OrganizationDesignSettings, optional, nullable) — Gets or sets the organization design settings for the page.
- `integrations` (list of PublicIntegrationModel, optional, nullable) — Gets or sets the list of public integrations for the page.
- `confirmationEmailId` (long, optional, nullable) — Gets or sets the confirmation email template identifier.
- `confirmationEmailName` (string, optional, nullable) — Gets or sets the confirmation email template name.
- `recurringEmailId` (long, optional, nullable) — Gets or sets the recurring email template identifier.
- `recurringEmailName` (string, optional, nullable) — Gets or sets the recurring email template name.
- `acknowledgementEmailId` (long, optional, nullable) — Gets or sets the acknowledgement email template identifier.
- `acknowledgementEmailName` (string, optional, nullable) — Gets or sets the acknowledgement email template name.
- `achSettlementConfirmationId` (long, optional, nullable)
- `achSettlementConfirmationName` (string, optional, nullable)
- `hasMinAmount` (boolean, optional) — Gets or sets a value indicating whether the page has a minimum donation amount.
- `minAmount` (double, optional, nullable) — Gets or sets the minimum donation amount for the page.
- `minAmountMessage` (string, optional, nullable) — Gets or sets the message to display when the minimum amount is not met.
- `hasExperiment` (boolean, optional) — Gets or sets a value indicating whether this page has an experiment in Draft or Running state.
- `pageExperimentId` (long, optional, nullable) — Gets or sets the experiment identifier if an experiment exists.
- `experimentStatus` (enum, optional, nullable) — Gets or sets the experiment status if an experiment exists.
  - Allowed values: `0`, `1`, `2`, `4`, `5`, `6`
- `createdDateTime` (string, optional, nullable) — Gets or sets the date and time when the page was created in UTC.
- `modifiedDateTime` (string, optional, nullable) — Gets or sets the date and time when the page was last modified in UTC.

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

### TributeModel

- `isInMemoryOf` (boolean, optional)
- `isInHonorOf` (boolean, optional)
- `nameOrOccasion` (string, optional, nullable)
- `tributeFirstName` (string, optional, nullable)
- `tributeLastName` (string, optional, nullable)
- `tributeAddress1` (string, optional, nullable)
- `tributeAddress2` (string, optional, nullable)
- `tributeCity` (string, optional, nullable)
- `tributeState` (string, optional, nullable)
- `tributeCountry` (string, optional, nullable)
- `tributePostal` (string, optional, nullable)
- `acknowledgeeFirstName` (string, optional, nullable)
- `acknowledgeeLastName` (string, optional, nullable)
- `sendByEmail` (boolean, optional)
- `acknowledgeeEmailAddress` (string, optional, nullable)
- `sendByPostal` (boolean, optional)
- `acknowledgeeAddress1` (string, optional, nullable)
- `acknowledgeeAddress2` (string, optional, nullable)
- `acknowledgeeCity` (string, optional, nullable)
- `acknowledgeeState` (string, optional, nullable)
- `acknowledgeeCountry` (string, optional, nullable)
- `acknowledgeePostal` (string, optional, nullable)
- `message` (string, optional, nullable)

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

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

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

### OrganizationDesignSettings

- `websiteUrl` (string, optional, nullable)
- `logoUrl` (string, optional, nullable)
- `faviconUrl` (string, optional, nullable)
- `primaryColor` (string, optional, nullable)
- `secondaryColor` (string, optional, nullable)
- `backgroundColor` (string, optional, nullable)
- `headerColor` (string, optional, nullable)
- `headerTextColor` (string, optional, nullable)
- `bodyTextColor` (string, optional, nullable)
- `footerColor` (string, optional, nullable)
- `footerTextColor` (string, optional, nullable)
- `buttonColor` (string, optional, nullable)
- `buttonTextColor` (string, optional, nullable)
- `buttonHoverColor` (string, optional, nullable)
- `buttonHoverTextColor` (string, optional, nullable)
- `linkColor` (string, optional, nullable)
- `fieldLabelColor` (string, optional, nullable)
- `fieldBorderColor` (string, optional, nullable)
- `borderRadius` (string, optional, nullable)
- `fontFamily` (string, optional, nullable)
- `globalCss` (string, optional, nullable)
- `globalJs` (string, optional, nullable)

### PublicIntegrationModel

Represents a public integration model for client-side integration access.

- `id` (long, optional) — Gets or sets the unique identifier for the integration.
- `name` (string, optional, nullable) — Gets or sets the name of the integration.
- `publicKey` (string, optional, nullable) — Gets or sets the public key for the integration.
- `integrationType` (enum, optional) — Gets or sets the type of integration.
  - Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`

## Examples

**Response**

```json
{
  "id": 1,
  "organizationId": 1,
  "createdDate": "string",
  "modifiedDate": "string",
  "profileNumber": "string",
  "amount": 1.1,
  "currencyCode": "string",
  "baseCurrencyCode": "string",
  "formattedAmount": "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"
      }
    ]
  },
  "frequency": 0,
  "formattedFrequency": "string",
  "total": 1.1,
  "formattedTotal": "string",
  "successfulCycles": 1,
  "startDate": "2024-01-15T09:30:00Z",
  "startDateFormatted": "string",
  "nextChargeDate": "2024-01-15T09:30:00Z",
  "nextChargeDateFormatted": "string",
  "nextChargeDateEditFormatted": "string",
  "status": 1,
  "statusText": "string",
  "gatewayId": 1,
  "gateway": "string",
  "paymentInfo": "string",
  "expMonthAndYear": "string",
  "cardBrand": "string",
  "paymentMethodCountryCode": "string",
  "projectAllocation": [
    {
      "projectId": 1,
      "projectName": "string",
      "amount": 1.1,
      "formattedAmount": "string"
    }
  ],
  "isAnonymous": true,
  "isTestMode": true,
  "donorCoverCosts": true,
  "motivationCode": "string",
  "sourceCode": "string",
  "segmentId": 1,
  "segmentName": "string",
  "segmentCode": "string",
  "notes": "string",
  "comments": "string",
  "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
      }
    ]
  },
  "recurringPremium": {
    "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
      }
    ]
  },
  "paymentProviderType": 0,
  "crmKey": "string",
  "crmKeyUrls": {},
  "page": {
    "id": 1,
    "name": "string",
    "internalName": "string",
    "internalDisplayName": "string",
    "slug": "string",
    "isPublished": true,
    "publicId": "string",
    "type": 0,
    "typeDisplayName": "string",
    "formType": 0,
    "externalReferenceId": "string",
    "json": "string",
    "gatewayId": 1,
    "merchantAccount": "string",
    "merchantType": 0,
    "tokenizationKey": "string",
    "payPalGatewayId": 1,
    "payPalMerchantAccount": "string",
    "payPalTokenizationKey": "string",
    "defaultSegmentId": 1,
    "defaultSegmentName": "string",
    "defaultSegmentCode": "string",
    "defaultLanguage": "string",
    "isTranslationEnabled": true,
    "isAIGenerated": true,
    "defaultCampaignId": 1,
    "defaultProjectId": 1,
    "defaultProjectName": "string",
    "defaultProjectCode": "string",
    "isExpireEnabled": true,
    "expireDateTimeUtc": "2024-01-15T09:30:00Z",
    "redirectPageId": 1,
    "redirectPageName": "string",
    "redirectUrl": "string",
    "autoArchiveOnExpire": true,
    "designSettings": {
      "websiteUrl": "string",
      "logoUrl": "string",
      "faviconUrl": "string",
      "primaryColor": "string",
      "secondaryColor": "string",
      "backgroundColor": "string",
      "headerColor": "string",
      "headerTextColor": "string",
      "bodyTextColor": "string",
      "footerColor": "string",
      "footerTextColor": "string",
      "buttonColor": "string",
      "buttonTextColor": "string",
      "buttonHoverColor": "string",
      "buttonHoverTextColor": "string",
      "linkColor": "string",
      "fieldLabelColor": "string",
      "fieldBorderColor": "string",
      "borderRadius": "string",
      "fontFamily": "string",
      "globalCss": "string",
      "globalJs": "string"
    },
    "integrations": [
      {
        "id": 1,
        "name": "string",
        "publicKey": "string",
        "integrationType": 0
      }
    ],
    "confirmationEmailId": 1,
    "confirmationEmailName": "string",
    "recurringEmailId": 1,
    "recurringEmailName": "string",
    "acknowledgementEmailId": 1,
    "acknowledgementEmailName": "string",
    "achSettlementConfirmationId": 1,
    "achSettlementConfirmationName": "string",
    "hasMinAmount": true,
    "minAmount": 1.1,
    "minAmountMessage": "string",
    "hasExperiment": true,
    "pageExperimentId": 1,
    "experimentStatus": 0,
    "createdDateTime": "string",
    "modifiedDateTime": "string"
  },
  "merchantType": 0,
  "merchantAccount": "string",
  "tokenizationKey": "string",
  "paymentTenderType": 0,
  "gatewayCustomerKey": "string",
  "hasPaymentFailed": true,
  "isLegacy": true,
  "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,
    "nameOrOccasion": "string",
    "tributeFirstName": "string",
    "tributeLastName": "string",
    "tributeAddress1": "string",
    "tributeAddress2": "string",
    "tributeCity": "string",
    "tributeState": "string",
    "tributeCountry": "string",
    "tributePostal": "string",
    "acknowledgeeFirstName": "string",
    "acknowledgeeLastName": "string",
    "sendByEmail": true,
    "acknowledgeeEmailAddress": "string",
    "sendByPostal": true,
    "acknowledgeeAddress1": "string",
    "acknowledgeeAddress2": "string",
    "acknowledgeeCity": "string",
    "acknowledgeeState": "string",
    "acknowledgeeCountry": "string",
    "acknowledgeePostal": "string",
    "message": "string"
  },
  "paymentMethodId": "string",
  "costs": 1.1
}
```

**SDK Code**

```python
import requests

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

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

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

print(response.json())
```

```javascript
const url = 'https://prod-api.raisedonors.com/api/RecurringGift/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/RecurringGift/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/RecurringGift/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/RecurringGift/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/RecurringGift/1', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://prod-api.raisedonors.com/api/RecurringGift/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/RecurringGift/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()
```