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

# Create a Gift Transaction

POST https://api.virtuoussoftware.com/api/v2/Gift/Transaction
Content-Type: application/json

HMAC or OAuth Auth valid. This is the recommended way to create a gift.
This ensures the gift is matched using the Virtuous matching algorithms for Contacts, Recurring gifts, Designations, etc.

Reference: https://virtuous.ferndocs.com/reference/crm-plus/giving/create-a-gift-transaction

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://api.virtuoussoftware.com` (https://api.virtuoussoftware.com, default)
- `{{baseUrl}}api` ({{baseUrl}}api)

## Request

### Body (application/json)

This endpoint expects an object.

- `transactionSource` (string, optional)
- `transactionId` (string, optional)
- `contact` (ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaContact, optional)
- `giftDate` (string, optional)
- `cancelDate` (string, optional)
- `giftType` (string, optional)
- `amount` (string, optional)
- `currencyCode` (string, optional)
- `exchangeRate` (string, optional)
- `frequency` (string, optional)
- `recurringGiftTransactionId` (string, optional)
- `recurringGiftTransactionUpdate` (string, optional)
- `pledgeFrequency` (string, optional)
- `pledgeTransactionId` (string, optional)
- `pledgeExpectedFullfillmentDate` (string, optional)
- `batch` (string, optional)
- `notes` (string, optional)
- `segment` (string, optional)
- `mediaOutlet` (string, optional)
- `receiptDate` (string, optional)
- `receiptSegment` (string, optional)
- `cashAccountingCode` (string, optional)
- `tribute` (string, optional)
- `tributeDedication` (ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaTributeDedication, optional)
- `isPrivate` (string, optional)
- `isTaxDeductible` (string, optional)
- `checkNumber` (string, optional)
- `creditCardType` (string, optional)
- `nonCashGiftTypeId` (string, optional)
- `nonCashGiftType` (string, optional)
- `nonCashGiftDescription` (string, optional)
- `stockTickerSymbol` (string, optional)
- `stockNumberOfShares` (string, optional)
- `iraCustodian` (string, optional)
- `submissionUrl` (string, optional)
- `designations` (list of ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaDesignationsItems, optional)
- `premiums` (list of ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaPremiumsItems, optional)
- `customFields` (ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaCustomFields, optional)
- `customObjects` (list of ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaCustomObjectsItems, optional)
- `contactIndividualId` (string, optional)
- `passthroughContact` (ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaPassthroughContact, optional)
- `eventAttendee` (ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaEventAttendee, optional)

## Response

### 200

OK

## Types

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaContact

- `referenceId` (string, optional)
- `id` (string, optional)
- `name` (string, optional)
- `type` (string, optional)
- `title` (string, optional)
- `firstname` (string, optional)
- `middlename` (string, optional)
- `lastname` (string, optional)
- `suffix` (string, optional)
- `birthMonth` (string, optional)
- `birthDay` (string, optional)
- `birthYear` (string, optional)
- `gender` (string, optional)
- `emailType` (string, optional)
- `email` (string, optional)
- `phoneType` (string, optional)
- `phone` (string, optional)
- `address` (ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaContactAddress, optional)
- `tags` (string, optional)
- `emailLists` (list of string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaTributeDedication

- `tributeId` (string, optional)
- `tributeType` (string, optional)
- `tributeFirstName` (string, optional)
- `tributeLastName` (string, optional)
- `tributeCity` (string, optional)
- `tributeState` (string, optional)
- `acknowledgeeIndividualId` (string, optional)
- `acknowledgeeFirstName` (string, optional)
- `acknowledgeeLastName` (string, optional)
- `acknowledgeeAddress` (string, optional)
- `acknowledgeeCity` (string, optional)
- `acknowledgeeState` (string, optional)
- `acknowledgeePostal` (string, optional)
- `acknowledgeeEmail` (string, optional)
- `acknowledgeePhone` (string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaDesignationsItems

- `id` (string, optional)
- `name` (string, optional)
- `code` (string, optional)
- `amountDesignated` (string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaPremiumsItems

- `id` (string, optional)
- `name` (string, optional)
- `code` (string, optional)
- `quantity` (string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaCustomFields

- `fieldName` (string, optional)
- `fieldName2` (string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaCustomObjectsItems

- `name` (string, optional)
- `fields` (list of ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaCustomObjectsItemsFieldsItems, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaPassthroughContact

- `referenceId` (string, optional)
- `id` (string, optional)
- `name` (string, optional)
- `type` (string, optional)
- `title` (string, optional)
- `firstname` (string, optional)
- `middlename` (string, optional)
- `lastname` (string, optional)
- `suffix` (string, optional)
- `birthMonth` (string, optional)
- `birthDay` (string, optional)
- `birthYear` (string, optional)
- `gender` (string, optional)
- `emailType` (string, optional)
- `email` (string, optional)
- `phoneType` (string, optional)
- `phone` (string, optional)
- `address` (ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaPassthroughContactAddress, optional)
- `tags` (string, optional)
- `emailLists` (list of string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaEventAttendee

- `eventId` (string, optional)
- `eventName` (string, optional)
- `invited` (string, optional)
- `rsvp` (string, optional)
- `rsvpResponse` (string, optional)
- `attended` (string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaContactAddress

- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `state` (string, optional)
- `postal` (string, optional)
- `country` (string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaCustomObjectsItemsFieldsItems

- `name` (string, optional)
- `value` (string, optional)

### ApiV2GiftTransactionPostRequestBodyContentApplicationJsonSchemaPassthroughContactAddress

- `address1` (string, optional)
- `address2` (string, optional)
- `city` (string, optional)
- `state` (string, optional)
- `postal` (string, optional)
- `country` (string, optional)

## Examples

**Request**

```json
{
  "transactionSource": "<string>",
  "transactionId": "<string>",
  "contact": {
    "referenceId": "<string>",
    "id": "<integer>",
    "name": "<string>",
    "type": "<string>",
    "title": "<string>",
    "firstname": "<string>",
    "middlename": "<string>",
    "lastname": "<string>",
    "suffix": "<string>",
    "birthMonth": "<string>",
    "birthDay": "<string>",
    "birthYear": "<string>",
    "gender": "<string>",
    "emailType": "<string>",
    "email": "<string>",
    "phoneType": "<string>",
    "phone": "<string>",
    "address": {
      "address1": "<string>",
      "address2": "<string>",
      "city": "<string>",
      "state": "<string>",
      "postal": "<string>",
      "country": "<string>"
    },
    "tags": "<string>",
    "emailLists": [
      "<string>",
      "<string>"
    ]
  },
  "giftDate": "<string>",
  "cancelDate": "<string>",
  "giftType": "<string>",
  "amount": "<string>",
  "currencyCode": "<string>",
  "exchangeRate": "<decimal>",
  "frequency": "<string>",
  "recurringGiftTransactionId": "<string>",
  "recurringGiftTransactionUpdate": "<boolean>",
  "pledgeFrequency": "<string>",
  "pledgeTransactionId": "<string>",
  "pledgeExpectedFullfillmentDate": "<string>",
  "batch": "<string>",
  "notes": "<string>",
  "segment": "<string>",
  "mediaOutlet": "<string>",
  "receiptDate": "<string>",
  "receiptSegment": "<string>",
  "cashAccountingCode": "<string>",
  "tribute": "<string>",
  "tributeDedication": {
    "tributeId": "<integer>",
    "tributeType": "<string>",
    "tributeFirstName": "<string>",
    "tributeLastName": "<string>",
    "tributeCity": "<string>",
    "tributeState": "<string>",
    "acknowledgeeIndividualId": "<integer>",
    "acknowledgeeFirstName": "<string>",
    "acknowledgeeLastName": "<string>",
    "acknowledgeeAddress": "<string>",
    "acknowledgeeCity": "<string>",
    "acknowledgeeState": "<string>",
    "acknowledgeePostal": "<string>",
    "acknowledgeeEmail": "<string>",
    "acknowledgeePhone": "<string>"
  },
  "isPrivate": "<boolean>",
  "isTaxDeductible": "<boolean>",
  "checkNumber": "<string>",
  "creditCardType": "<string>",
  "nonCashGiftTypeId": "<integer>",
  "nonCashGiftType": "<string>",
  "nonCashGiftDescription": "<string>",
  "stockTickerSymbol": "<string>",
  "stockNumberOfShares": "<integer>",
  "iraCustodian": "<string>",
  "submissionUrl": "<string>",
  "designations": [
    {
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "amountDesignated": "<string>"
    },
    {
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "amountDesignated": "<string>"
    }
  ],
  "premiums": [
    {
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "quantity": "<string>"
    },
    {
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "quantity": "<string>"
    }
  ],
  "customFields": {
    "fieldName": "fieldValue",
    "fieldName2": "fieldValue2"
  },
  "customObjects": [
    {
      "name": "<string>",
      "fields": [
        {
          "name": "<string>",
          "value": "<string>"
        },
        {
          "name": "<string>",
          "value": "<string>"
        }
      ]
    },
    {
      "name": "<string>",
      "fields": [
        {
          "name": "<string>",
          "value": "<string>"
        },
        {
          "name": "<string>",
          "value": "<string>"
        }
      ]
    }
  ],
  "contactIndividualId": "<integer>",
  "passthroughContact": {
    "referenceId": "<string>",
    "id": "<integer>",
    "name": "<string>",
    "type": "<string>",
    "title": "<string>",
    "firstname": "<string>",
    "middlename": "<string>",
    "lastname": "<string>",
    "suffix": "<string>",
    "birthMonth": "<string>",
    "birthDay": "<string>",
    "birthYear": "<string>",
    "gender": "<string>",
    "emailType": "<string>",
    "email": "<string>",
    "phoneType": "<string>",
    "phone": "<string>",
    "address": {
      "address1": "<string>",
      "address2": "<string>",
      "city": "<string>",
      "state": "<string>",
      "postal": "<string>",
      "country": "<string>"
    },
    "tags": "<string>",
    "emailLists": [
      "<string>",
      "<string>"
    ]
  },
  "eventAttendee": {
    "eventId": "<integer>",
    "eventName": "<string>",
    "invited": "<boolean>",
    "rsvp": "<boolean>",
    "rsvpResponse": "<boolean>",
    "attended": "<boolean>"
  }
}
```

**Response**

```json
{}
```

**SDK Code**

```python
import requests

url = "https://api.virtuoussoftware.com/api/v2/Gift/Transaction"

payload = {
    "transactionSource": "<string>",
    "transactionId": "<string>",
    "contact": {
        "referenceId": "<string>",
        "id": "<integer>",
        "name": "<string>",
        "type": "<string>",
        "title": "<string>",
        "firstname": "<string>",
        "middlename": "<string>",
        "lastname": "<string>",
        "suffix": "<string>",
        "birthMonth": "<string>",
        "birthDay": "<string>",
        "birthYear": "<string>",
        "gender": "<string>",
        "emailType": "<string>",
        "email": "<string>",
        "phoneType": "<string>",
        "phone": "<string>",
        "address": {
            "address1": "<string>",
            "address2": "<string>",
            "city": "<string>",
            "state": "<string>",
            "postal": "<string>",
            "country": "<string>"
        },
        "tags": "<string>",
        "emailLists": ["<string>", "<string>"]
    },
    "giftDate": "<string>",
    "cancelDate": "<string>",
    "giftType": "<string>",
    "amount": "<string>",
    "currencyCode": "<string>",
    "exchangeRate": "<decimal>",
    "frequency": "<string>",
    "recurringGiftTransactionId": "<string>",
    "recurringGiftTransactionUpdate": "<boolean>",
    "pledgeFrequency": "<string>",
    "pledgeTransactionId": "<string>",
    "pledgeExpectedFullfillmentDate": "<string>",
    "batch": "<string>",
    "notes": "<string>",
    "segment": "<string>",
    "mediaOutlet": "<string>",
    "receiptDate": "<string>",
    "receiptSegment": "<string>",
    "cashAccountingCode": "<string>",
    "tribute": "<string>",
    "tributeDedication": {
        "tributeId": "<integer>",
        "tributeType": "<string>",
        "tributeFirstName": "<string>",
        "tributeLastName": "<string>",
        "tributeCity": "<string>",
        "tributeState": "<string>",
        "acknowledgeeIndividualId": "<integer>",
        "acknowledgeeFirstName": "<string>",
        "acknowledgeeLastName": "<string>",
        "acknowledgeeAddress": "<string>",
        "acknowledgeeCity": "<string>",
        "acknowledgeeState": "<string>",
        "acknowledgeePostal": "<string>",
        "acknowledgeeEmail": "<string>",
        "acknowledgeePhone": "<string>"
    },
    "isPrivate": "<boolean>",
    "isTaxDeductible": "<boolean>",
    "checkNumber": "<string>",
    "creditCardType": "<string>",
    "nonCashGiftTypeId": "<integer>",
    "nonCashGiftType": "<string>",
    "nonCashGiftDescription": "<string>",
    "stockTickerSymbol": "<string>",
    "stockNumberOfShares": "<integer>",
    "iraCustodian": "<string>",
    "submissionUrl": "<string>",
    "designations": [
        {
            "id": "<integer>",
            "name": "<string>",
            "code": "<string>",
            "amountDesignated": "<string>"
        },
        {
            "id": "<integer>",
            "name": "<string>",
            "code": "<string>",
            "amountDesignated": "<string>"
        }
    ],
    "premiums": [
        {
            "id": "<integer>",
            "name": "<string>",
            "code": "<string>",
            "quantity": "<string>"
        },
        {
            "id": "<integer>",
            "name": "<string>",
            "code": "<string>",
            "quantity": "<string>"
        }
    ],
    "customFields": {
        "fieldName": "fieldValue",
        "fieldName2": "fieldValue2"
    },
    "customObjects": [
        {
            "name": "<string>",
            "fields": [
                {
                    "name": "<string>",
                    "value": "<string>"
                },
                {
                    "name": "<string>",
                    "value": "<string>"
                }
            ]
        },
        {
            "name": "<string>",
            "fields": [
                {
                    "name": "<string>",
                    "value": "<string>"
                },
                {
                    "name": "<string>",
                    "value": "<string>"
                }
            ]
        }
    ],
    "contactIndividualId": "<integer>",
    "passthroughContact": {
        "referenceId": "<string>",
        "id": "<integer>",
        "name": "<string>",
        "type": "<string>",
        "title": "<string>",
        "firstname": "<string>",
        "middlename": "<string>",
        "lastname": "<string>",
        "suffix": "<string>",
        "birthMonth": "<string>",
        "birthDay": "<string>",
        "birthYear": "<string>",
        "gender": "<string>",
        "emailType": "<string>",
        "email": "<string>",
        "phoneType": "<string>",
        "phone": "<string>",
        "address": {
            "address1": "<string>",
            "address2": "<string>",
            "city": "<string>",
            "state": "<string>",
            "postal": "<string>",
            "country": "<string>"
        },
        "tags": "<string>",
        "emailLists": ["<string>", "<string>"]
    },
    "eventAttendee": {
        "eventId": "<integer>",
        "eventName": "<string>",
        "invited": "<boolean>",
        "rsvp": "<boolean>",
        "rsvpResponse": "<boolean>",
        "attended": "<boolean>"
    }
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript
const url = 'https://api.virtuoussoftware.com/api/v2/Gift/Transaction';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"transactionSource":"<string>","transactionId":"<string>","contact":{"referenceId":"<string>","id":"<integer>","name":"<string>","type":"<string>","title":"<string>","firstname":"<string>","middlename":"<string>","lastname":"<string>","suffix":"<string>","birthMonth":"<string>","birthDay":"<string>","birthYear":"<string>","gender":"<string>","emailType":"<string>","email":"<string>","phoneType":"<string>","phone":"<string>","address":{"address1":"<string>","address2":"<string>","city":"<string>","state":"<string>","postal":"<string>","country":"<string>"},"tags":"<string>","emailLists":["<string>","<string>"]},"giftDate":"<string>","cancelDate":"<string>","giftType":"<string>","amount":"<string>","currencyCode":"<string>","exchangeRate":"<decimal>","frequency":"<string>","recurringGiftTransactionId":"<string>","recurringGiftTransactionUpdate":"<boolean>","pledgeFrequency":"<string>","pledgeTransactionId":"<string>","pledgeExpectedFullfillmentDate":"<string>","batch":"<string>","notes":"<string>","segment":"<string>","mediaOutlet":"<string>","receiptDate":"<string>","receiptSegment":"<string>","cashAccountingCode":"<string>","tribute":"<string>","tributeDedication":{"tributeId":"<integer>","tributeType":"<string>","tributeFirstName":"<string>","tributeLastName":"<string>","tributeCity":"<string>","tributeState":"<string>","acknowledgeeIndividualId":"<integer>","acknowledgeeFirstName":"<string>","acknowledgeeLastName":"<string>","acknowledgeeAddress":"<string>","acknowledgeeCity":"<string>","acknowledgeeState":"<string>","acknowledgeePostal":"<string>","acknowledgeeEmail":"<string>","acknowledgeePhone":"<string>"},"isPrivate":"<boolean>","isTaxDeductible":"<boolean>","checkNumber":"<string>","creditCardType":"<string>","nonCashGiftTypeId":"<integer>","nonCashGiftType":"<string>","nonCashGiftDescription":"<string>","stockTickerSymbol":"<string>","stockNumberOfShares":"<integer>","iraCustodian":"<string>","submissionUrl":"<string>","designations":[{"id":"<integer>","name":"<string>","code":"<string>","amountDesignated":"<string>"},{"id":"<integer>","name":"<string>","code":"<string>","amountDesignated":"<string>"}],"premiums":[{"id":"<integer>","name":"<string>","code":"<string>","quantity":"<string>"},{"id":"<integer>","name":"<string>","code":"<string>","quantity":"<string>"}],"customFields":{"fieldName":"fieldValue","fieldName2":"fieldValue2"},"customObjects":[{"name":"<string>","fields":[{"name":"<string>","value":"<string>"},{"name":"<string>","value":"<string>"}]},{"name":"<string>","fields":[{"name":"<string>","value":"<string>"},{"name":"<string>","value":"<string>"}]}],"contactIndividualId":"<integer>","passthroughContact":{"referenceId":"<string>","id":"<integer>","name":"<string>","type":"<string>","title":"<string>","firstname":"<string>","middlename":"<string>","lastname":"<string>","suffix":"<string>","birthMonth":"<string>","birthDay":"<string>","birthYear":"<string>","gender":"<string>","emailType":"<string>","email":"<string>","phoneType":"<string>","phone":"<string>","address":{"address1":"<string>","address2":"<string>","city":"<string>","state":"<string>","postal":"<string>","country":"<string>"},"tags":"<string>","emailLists":["<string>","<string>"]},"eventAttendee":{"eventId":"<integer>","eventName":"<string>","invited":"<boolean>","rsvp":"<boolean>","rsvpResponse":"<boolean>","attended":"<boolean>"}}'
};

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://api.virtuoussoftware.com/api/v2/Gift/Transaction"

	payload := strings.NewReader("{\n  \"transactionSource\": \"<string>\",\n  \"transactionId\": \"<string>\",\n  \"contact\": {\n    \"referenceId\": \"<string>\",\n    \"id\": \"<integer>\",\n    \"name\": \"<string>\",\n    \"type\": \"<string>\",\n    \"title\": \"<string>\",\n    \"firstname\": \"<string>\",\n    \"middlename\": \"<string>\",\n    \"lastname\": \"<string>\",\n    \"suffix\": \"<string>\",\n    \"birthMonth\": \"<string>\",\n    \"birthDay\": \"<string>\",\n    \"birthYear\": \"<string>\",\n    \"gender\": \"<string>\",\n    \"emailType\": \"<string>\",\n    \"email\": \"<string>\",\n    \"phoneType\": \"<string>\",\n    \"phone\": \"<string>\",\n    \"address\": {\n      \"address1\": \"<string>\",\n      \"address2\": \"<string>\",\n      \"city\": \"<string>\",\n      \"state\": \"<string>\",\n      \"postal\": \"<string>\",\n      \"country\": \"<string>\"\n    },\n    \"tags\": \"<string>\",\n    \"emailLists\": [\n      \"<string>\",\n      \"<string>\"\n    ]\n  },\n  \"giftDate\": \"<string>\",\n  \"cancelDate\": \"<string>\",\n  \"giftType\": \"<string>\",\n  \"amount\": \"<string>\",\n  \"currencyCode\": \"<string>\",\n  \"exchangeRate\": \"<decimal>\",\n  \"frequency\": \"<string>\",\n  \"recurringGiftTransactionId\": \"<string>\",\n  \"recurringGiftTransactionUpdate\": \"<boolean>\",\n  \"pledgeFrequency\": \"<string>\",\n  \"pledgeTransactionId\": \"<string>\",\n  \"pledgeExpectedFullfillmentDate\": \"<string>\",\n  \"batch\": \"<string>\",\n  \"notes\": \"<string>\",\n  \"segment\": \"<string>\",\n  \"mediaOutlet\": \"<string>\",\n  \"receiptDate\": \"<string>\",\n  \"receiptSegment\": \"<string>\",\n  \"cashAccountingCode\": \"<string>\",\n  \"tribute\": \"<string>\",\n  \"tributeDedication\": {\n    \"tributeId\": \"<integer>\",\n    \"tributeType\": \"<string>\",\n    \"tributeFirstName\": \"<string>\",\n    \"tributeLastName\": \"<string>\",\n    \"tributeCity\": \"<string>\",\n    \"tributeState\": \"<string>\",\n    \"acknowledgeeIndividualId\": \"<integer>\",\n    \"acknowledgeeFirstName\": \"<string>\",\n    \"acknowledgeeLastName\": \"<string>\",\n    \"acknowledgeeAddress\": \"<string>\",\n    \"acknowledgeeCity\": \"<string>\",\n    \"acknowledgeeState\": \"<string>\",\n    \"acknowledgeePostal\": \"<string>\",\n    \"acknowledgeeEmail\": \"<string>\",\n    \"acknowledgeePhone\": \"<string>\"\n  },\n  \"isPrivate\": \"<boolean>\",\n  \"isTaxDeductible\": \"<boolean>\",\n  \"checkNumber\": \"<string>\",\n  \"creditCardType\": \"<string>\",\n  \"nonCashGiftTypeId\": \"<integer>\",\n  \"nonCashGiftType\": \"<string>\",\n  \"nonCashGiftDescription\": \"<string>\",\n  \"stockTickerSymbol\": \"<string>\",\n  \"stockNumberOfShares\": \"<integer>\",\n  \"iraCustodian\": \"<string>\",\n  \"submissionUrl\": \"<string>\",\n  \"designations\": [\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"amountDesignated\": \"<string>\"\n    },\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"amountDesignated\": \"<string>\"\n    }\n  ],\n  \"premiums\": [\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"quantity\": \"<string>\"\n    },\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"quantity\": \"<string>\"\n    }\n  ],\n  \"customFields\": {\n    \"fieldName\": \"fieldValue\",\n    \"fieldName2\": \"fieldValue2\"\n  },\n  \"customObjects\": [\n    {\n      \"name\": \"<string>\",\n      \"fields\": [\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        }\n      ]\n    },\n    {\n      \"name\": \"<string>\",\n      \"fields\": [\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        }\n      ]\n    }\n  ],\n  \"contactIndividualId\": \"<integer>\",\n  \"passthroughContact\": {\n    \"referenceId\": \"<string>\",\n    \"id\": \"<integer>\",\n    \"name\": \"<string>\",\n    \"type\": \"<string>\",\n    \"title\": \"<string>\",\n    \"firstname\": \"<string>\",\n    \"middlename\": \"<string>\",\n    \"lastname\": \"<string>\",\n    \"suffix\": \"<string>\",\n    \"birthMonth\": \"<string>\",\n    \"birthDay\": \"<string>\",\n    \"birthYear\": \"<string>\",\n    \"gender\": \"<string>\",\n    \"emailType\": \"<string>\",\n    \"email\": \"<string>\",\n    \"phoneType\": \"<string>\",\n    \"phone\": \"<string>\",\n    \"address\": {\n      \"address1\": \"<string>\",\n      \"address2\": \"<string>\",\n      \"city\": \"<string>\",\n      \"state\": \"<string>\",\n      \"postal\": \"<string>\",\n      \"country\": \"<string>\"\n    },\n    \"tags\": \"<string>\",\n    \"emailLists\": [\n      \"<string>\",\n      \"<string>\"\n    ]\n  },\n  \"eventAttendee\": {\n    \"eventId\": \"<integer>\",\n    \"eventName\": \"<string>\",\n    \"invited\": \"<boolean>\",\n    \"rsvp\": \"<boolean>\",\n    \"rsvpResponse\": \"<boolean>\",\n    \"attended\": \"<boolean>\"\n  }\n}")

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

	req.Header.Add("Authorization", "Bearer <token>")
	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://api.virtuoussoftware.com/api/v2/Gift/Transaction")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"transactionSource\": \"<string>\",\n  \"transactionId\": \"<string>\",\n  \"contact\": {\n    \"referenceId\": \"<string>\",\n    \"id\": \"<integer>\",\n    \"name\": \"<string>\",\n    \"type\": \"<string>\",\n    \"title\": \"<string>\",\n    \"firstname\": \"<string>\",\n    \"middlename\": \"<string>\",\n    \"lastname\": \"<string>\",\n    \"suffix\": \"<string>\",\n    \"birthMonth\": \"<string>\",\n    \"birthDay\": \"<string>\",\n    \"birthYear\": \"<string>\",\n    \"gender\": \"<string>\",\n    \"emailType\": \"<string>\",\n    \"email\": \"<string>\",\n    \"phoneType\": \"<string>\",\n    \"phone\": \"<string>\",\n    \"address\": {\n      \"address1\": \"<string>\",\n      \"address2\": \"<string>\",\n      \"city\": \"<string>\",\n      \"state\": \"<string>\",\n      \"postal\": \"<string>\",\n      \"country\": \"<string>\"\n    },\n    \"tags\": \"<string>\",\n    \"emailLists\": [\n      \"<string>\",\n      \"<string>\"\n    ]\n  },\n  \"giftDate\": \"<string>\",\n  \"cancelDate\": \"<string>\",\n  \"giftType\": \"<string>\",\n  \"amount\": \"<string>\",\n  \"currencyCode\": \"<string>\",\n  \"exchangeRate\": \"<decimal>\",\n  \"frequency\": \"<string>\",\n  \"recurringGiftTransactionId\": \"<string>\",\n  \"recurringGiftTransactionUpdate\": \"<boolean>\",\n  \"pledgeFrequency\": \"<string>\",\n  \"pledgeTransactionId\": \"<string>\",\n  \"pledgeExpectedFullfillmentDate\": \"<string>\",\n  \"batch\": \"<string>\",\n  \"notes\": \"<string>\",\n  \"segment\": \"<string>\",\n  \"mediaOutlet\": \"<string>\",\n  \"receiptDate\": \"<string>\",\n  \"receiptSegment\": \"<string>\",\n  \"cashAccountingCode\": \"<string>\",\n  \"tribute\": \"<string>\",\n  \"tributeDedication\": {\n    \"tributeId\": \"<integer>\",\n    \"tributeType\": \"<string>\",\n    \"tributeFirstName\": \"<string>\",\n    \"tributeLastName\": \"<string>\",\n    \"tributeCity\": \"<string>\",\n    \"tributeState\": \"<string>\",\n    \"acknowledgeeIndividualId\": \"<integer>\",\n    \"acknowledgeeFirstName\": \"<string>\",\n    \"acknowledgeeLastName\": \"<string>\",\n    \"acknowledgeeAddress\": \"<string>\",\n    \"acknowledgeeCity\": \"<string>\",\n    \"acknowledgeeState\": \"<string>\",\n    \"acknowledgeePostal\": \"<string>\",\n    \"acknowledgeeEmail\": \"<string>\",\n    \"acknowledgeePhone\": \"<string>\"\n  },\n  \"isPrivate\": \"<boolean>\",\n  \"isTaxDeductible\": \"<boolean>\",\n  \"checkNumber\": \"<string>\",\n  \"creditCardType\": \"<string>\",\n  \"nonCashGiftTypeId\": \"<integer>\",\n  \"nonCashGiftType\": \"<string>\",\n  \"nonCashGiftDescription\": \"<string>\",\n  \"stockTickerSymbol\": \"<string>\",\n  \"stockNumberOfShares\": \"<integer>\",\n  \"iraCustodian\": \"<string>\",\n  \"submissionUrl\": \"<string>\",\n  \"designations\": [\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"amountDesignated\": \"<string>\"\n    },\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"amountDesignated\": \"<string>\"\n    }\n  ],\n  \"premiums\": [\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"quantity\": \"<string>\"\n    },\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"quantity\": \"<string>\"\n    }\n  ],\n  \"customFields\": {\n    \"fieldName\": \"fieldValue\",\n    \"fieldName2\": \"fieldValue2\"\n  },\n  \"customObjects\": [\n    {\n      \"name\": \"<string>\",\n      \"fields\": [\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        }\n      ]\n    },\n    {\n      \"name\": \"<string>\",\n      \"fields\": [\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        }\n      ]\n    }\n  ],\n  \"contactIndividualId\": \"<integer>\",\n  \"passthroughContact\": {\n    \"referenceId\": \"<string>\",\n    \"id\": \"<integer>\",\n    \"name\": \"<string>\",\n    \"type\": \"<string>\",\n    \"title\": \"<string>\",\n    \"firstname\": \"<string>\",\n    \"middlename\": \"<string>\",\n    \"lastname\": \"<string>\",\n    \"suffix\": \"<string>\",\n    \"birthMonth\": \"<string>\",\n    \"birthDay\": \"<string>\",\n    \"birthYear\": \"<string>\",\n    \"gender\": \"<string>\",\n    \"emailType\": \"<string>\",\n    \"email\": \"<string>\",\n    \"phoneType\": \"<string>\",\n    \"phone\": \"<string>\",\n    \"address\": {\n      \"address1\": \"<string>\",\n      \"address2\": \"<string>\",\n      \"city\": \"<string>\",\n      \"state\": \"<string>\",\n      \"postal\": \"<string>\",\n      \"country\": \"<string>\"\n    },\n    \"tags\": \"<string>\",\n    \"emailLists\": [\n      \"<string>\",\n      \"<string>\"\n    ]\n  },\n  \"eventAttendee\": {\n    \"eventId\": \"<integer>\",\n    \"eventName\": \"<string>\",\n    \"invited\": \"<boolean>\",\n    \"rsvp\": \"<boolean>\",\n    \"rsvpResponse\": \"<boolean>\",\n    \"attended\": \"<boolean>\"\n  }\n}"

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://api.virtuoussoftware.com/api/v2/Gift/Transaction")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"transactionSource\": \"<string>\",\n  \"transactionId\": \"<string>\",\n  \"contact\": {\n    \"referenceId\": \"<string>\",\n    \"id\": \"<integer>\",\n    \"name\": \"<string>\",\n    \"type\": \"<string>\",\n    \"title\": \"<string>\",\n    \"firstname\": \"<string>\",\n    \"middlename\": \"<string>\",\n    \"lastname\": \"<string>\",\n    \"suffix\": \"<string>\",\n    \"birthMonth\": \"<string>\",\n    \"birthDay\": \"<string>\",\n    \"birthYear\": \"<string>\",\n    \"gender\": \"<string>\",\n    \"emailType\": \"<string>\",\n    \"email\": \"<string>\",\n    \"phoneType\": \"<string>\",\n    \"phone\": \"<string>\",\n    \"address\": {\n      \"address1\": \"<string>\",\n      \"address2\": \"<string>\",\n      \"city\": \"<string>\",\n      \"state\": \"<string>\",\n      \"postal\": \"<string>\",\n      \"country\": \"<string>\"\n    },\n    \"tags\": \"<string>\",\n    \"emailLists\": [\n      \"<string>\",\n      \"<string>\"\n    ]\n  },\n  \"giftDate\": \"<string>\",\n  \"cancelDate\": \"<string>\",\n  \"giftType\": \"<string>\",\n  \"amount\": \"<string>\",\n  \"currencyCode\": \"<string>\",\n  \"exchangeRate\": \"<decimal>\",\n  \"frequency\": \"<string>\",\n  \"recurringGiftTransactionId\": \"<string>\",\n  \"recurringGiftTransactionUpdate\": \"<boolean>\",\n  \"pledgeFrequency\": \"<string>\",\n  \"pledgeTransactionId\": \"<string>\",\n  \"pledgeExpectedFullfillmentDate\": \"<string>\",\n  \"batch\": \"<string>\",\n  \"notes\": \"<string>\",\n  \"segment\": \"<string>\",\n  \"mediaOutlet\": \"<string>\",\n  \"receiptDate\": \"<string>\",\n  \"receiptSegment\": \"<string>\",\n  \"cashAccountingCode\": \"<string>\",\n  \"tribute\": \"<string>\",\n  \"tributeDedication\": {\n    \"tributeId\": \"<integer>\",\n    \"tributeType\": \"<string>\",\n    \"tributeFirstName\": \"<string>\",\n    \"tributeLastName\": \"<string>\",\n    \"tributeCity\": \"<string>\",\n    \"tributeState\": \"<string>\",\n    \"acknowledgeeIndividualId\": \"<integer>\",\n    \"acknowledgeeFirstName\": \"<string>\",\n    \"acknowledgeeLastName\": \"<string>\",\n    \"acknowledgeeAddress\": \"<string>\",\n    \"acknowledgeeCity\": \"<string>\",\n    \"acknowledgeeState\": \"<string>\",\n    \"acknowledgeePostal\": \"<string>\",\n    \"acknowledgeeEmail\": \"<string>\",\n    \"acknowledgeePhone\": \"<string>\"\n  },\n  \"isPrivate\": \"<boolean>\",\n  \"isTaxDeductible\": \"<boolean>\",\n  \"checkNumber\": \"<string>\",\n  \"creditCardType\": \"<string>\",\n  \"nonCashGiftTypeId\": \"<integer>\",\n  \"nonCashGiftType\": \"<string>\",\n  \"nonCashGiftDescription\": \"<string>\",\n  \"stockTickerSymbol\": \"<string>\",\n  \"stockNumberOfShares\": \"<integer>\",\n  \"iraCustodian\": \"<string>\",\n  \"submissionUrl\": \"<string>\",\n  \"designations\": [\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"amountDesignated\": \"<string>\"\n    },\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"amountDesignated\": \"<string>\"\n    }\n  ],\n  \"premiums\": [\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"quantity\": \"<string>\"\n    },\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"quantity\": \"<string>\"\n    }\n  ],\n  \"customFields\": {\n    \"fieldName\": \"fieldValue\",\n    \"fieldName2\": \"fieldValue2\"\n  },\n  \"customObjects\": [\n    {\n      \"name\": \"<string>\",\n      \"fields\": [\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        }\n      ]\n    },\n    {\n      \"name\": \"<string>\",\n      \"fields\": [\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        }\n      ]\n    }\n  ],\n  \"contactIndividualId\": \"<integer>\",\n  \"passthroughContact\": {\n    \"referenceId\": \"<string>\",\n    \"id\": \"<integer>\",\n    \"name\": \"<string>\",\n    \"type\": \"<string>\",\n    \"title\": \"<string>\",\n    \"firstname\": \"<string>\",\n    \"middlename\": \"<string>\",\n    \"lastname\": \"<string>\",\n    \"suffix\": \"<string>\",\n    \"birthMonth\": \"<string>\",\n    \"birthDay\": \"<string>\",\n    \"birthYear\": \"<string>\",\n    \"gender\": \"<string>\",\n    \"emailType\": \"<string>\",\n    \"email\": \"<string>\",\n    \"phoneType\": \"<string>\",\n    \"phone\": \"<string>\",\n    \"address\": {\n      \"address1\": \"<string>\",\n      \"address2\": \"<string>\",\n      \"city\": \"<string>\",\n      \"state\": \"<string>\",\n      \"postal\": \"<string>\",\n      \"country\": \"<string>\"\n    },\n    \"tags\": \"<string>\",\n    \"emailLists\": [\n      \"<string>\",\n      \"<string>\"\n    ]\n  },\n  \"eventAttendee\": {\n    \"eventId\": \"<integer>\",\n    \"eventName\": \"<string>\",\n    \"invited\": \"<boolean>\",\n    \"rsvp\": \"<boolean>\",\n    \"rsvpResponse\": \"<boolean>\",\n    \"attended\": \"<boolean>\"\n  }\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.virtuoussoftware.com/api/v2/Gift/Transaction', [
  'body' => '{
  "transactionSource": "<string>",
  "transactionId": "<string>",
  "contact": {
    "referenceId": "<string>",
    "id": "<integer>",
    "name": "<string>",
    "type": "<string>",
    "title": "<string>",
    "firstname": "<string>",
    "middlename": "<string>",
    "lastname": "<string>",
    "suffix": "<string>",
    "birthMonth": "<string>",
    "birthDay": "<string>",
    "birthYear": "<string>",
    "gender": "<string>",
    "emailType": "<string>",
    "email": "<string>",
    "phoneType": "<string>",
    "phone": "<string>",
    "address": {
      "address1": "<string>",
      "address2": "<string>",
      "city": "<string>",
      "state": "<string>",
      "postal": "<string>",
      "country": "<string>"
    },
    "tags": "<string>",
    "emailLists": [
      "<string>",
      "<string>"
    ]
  },
  "giftDate": "<string>",
  "cancelDate": "<string>",
  "giftType": "<string>",
  "amount": "<string>",
  "currencyCode": "<string>",
  "exchangeRate": "<decimal>",
  "frequency": "<string>",
  "recurringGiftTransactionId": "<string>",
  "recurringGiftTransactionUpdate": "<boolean>",
  "pledgeFrequency": "<string>",
  "pledgeTransactionId": "<string>",
  "pledgeExpectedFullfillmentDate": "<string>",
  "batch": "<string>",
  "notes": "<string>",
  "segment": "<string>",
  "mediaOutlet": "<string>",
  "receiptDate": "<string>",
  "receiptSegment": "<string>",
  "cashAccountingCode": "<string>",
  "tribute": "<string>",
  "tributeDedication": {
    "tributeId": "<integer>",
    "tributeType": "<string>",
    "tributeFirstName": "<string>",
    "tributeLastName": "<string>",
    "tributeCity": "<string>",
    "tributeState": "<string>",
    "acknowledgeeIndividualId": "<integer>",
    "acknowledgeeFirstName": "<string>",
    "acknowledgeeLastName": "<string>",
    "acknowledgeeAddress": "<string>",
    "acknowledgeeCity": "<string>",
    "acknowledgeeState": "<string>",
    "acknowledgeePostal": "<string>",
    "acknowledgeeEmail": "<string>",
    "acknowledgeePhone": "<string>"
  },
  "isPrivate": "<boolean>",
  "isTaxDeductible": "<boolean>",
  "checkNumber": "<string>",
  "creditCardType": "<string>",
  "nonCashGiftTypeId": "<integer>",
  "nonCashGiftType": "<string>",
  "nonCashGiftDescription": "<string>",
  "stockTickerSymbol": "<string>",
  "stockNumberOfShares": "<integer>",
  "iraCustodian": "<string>",
  "submissionUrl": "<string>",
  "designations": [
    {
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "amountDesignated": "<string>"
    },
    {
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "amountDesignated": "<string>"
    }
  ],
  "premiums": [
    {
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "quantity": "<string>"
    },
    {
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "quantity": "<string>"
    }
  ],
  "customFields": {
    "fieldName": "fieldValue",
    "fieldName2": "fieldValue2"
  },
  "customObjects": [
    {
      "name": "<string>",
      "fields": [
        {
          "name": "<string>",
          "value": "<string>"
        },
        {
          "name": "<string>",
          "value": "<string>"
        }
      ]
    },
    {
      "name": "<string>",
      "fields": [
        {
          "name": "<string>",
          "value": "<string>"
        },
        {
          "name": "<string>",
          "value": "<string>"
        }
      ]
    }
  ],
  "contactIndividualId": "<integer>",
  "passthroughContact": {
    "referenceId": "<string>",
    "id": "<integer>",
    "name": "<string>",
    "type": "<string>",
    "title": "<string>",
    "firstname": "<string>",
    "middlename": "<string>",
    "lastname": "<string>",
    "suffix": "<string>",
    "birthMonth": "<string>",
    "birthDay": "<string>",
    "birthYear": "<string>",
    "gender": "<string>",
    "emailType": "<string>",
    "email": "<string>",
    "phoneType": "<string>",
    "phone": "<string>",
    "address": {
      "address1": "<string>",
      "address2": "<string>",
      "city": "<string>",
      "state": "<string>",
      "postal": "<string>",
      "country": "<string>"
    },
    "tags": "<string>",
    "emailLists": [
      "<string>",
      "<string>"
    ]
  },
  "eventAttendee": {
    "eventId": "<integer>",
    "eventName": "<string>",
    "invited": "<boolean>",
    "rsvp": "<boolean>",
    "rsvpResponse": "<boolean>",
    "attended": "<boolean>"
  }
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://api.virtuoussoftware.com/api/v2/Gift/Transaction");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"transactionSource\": \"<string>\",\n  \"transactionId\": \"<string>\",\n  \"contact\": {\n    \"referenceId\": \"<string>\",\n    \"id\": \"<integer>\",\n    \"name\": \"<string>\",\n    \"type\": \"<string>\",\n    \"title\": \"<string>\",\n    \"firstname\": \"<string>\",\n    \"middlename\": \"<string>\",\n    \"lastname\": \"<string>\",\n    \"suffix\": \"<string>\",\n    \"birthMonth\": \"<string>\",\n    \"birthDay\": \"<string>\",\n    \"birthYear\": \"<string>\",\n    \"gender\": \"<string>\",\n    \"emailType\": \"<string>\",\n    \"email\": \"<string>\",\n    \"phoneType\": \"<string>\",\n    \"phone\": \"<string>\",\n    \"address\": {\n      \"address1\": \"<string>\",\n      \"address2\": \"<string>\",\n      \"city\": \"<string>\",\n      \"state\": \"<string>\",\n      \"postal\": \"<string>\",\n      \"country\": \"<string>\"\n    },\n    \"tags\": \"<string>\",\n    \"emailLists\": [\n      \"<string>\",\n      \"<string>\"\n    ]\n  },\n  \"giftDate\": \"<string>\",\n  \"cancelDate\": \"<string>\",\n  \"giftType\": \"<string>\",\n  \"amount\": \"<string>\",\n  \"currencyCode\": \"<string>\",\n  \"exchangeRate\": \"<decimal>\",\n  \"frequency\": \"<string>\",\n  \"recurringGiftTransactionId\": \"<string>\",\n  \"recurringGiftTransactionUpdate\": \"<boolean>\",\n  \"pledgeFrequency\": \"<string>\",\n  \"pledgeTransactionId\": \"<string>\",\n  \"pledgeExpectedFullfillmentDate\": \"<string>\",\n  \"batch\": \"<string>\",\n  \"notes\": \"<string>\",\n  \"segment\": \"<string>\",\n  \"mediaOutlet\": \"<string>\",\n  \"receiptDate\": \"<string>\",\n  \"receiptSegment\": \"<string>\",\n  \"cashAccountingCode\": \"<string>\",\n  \"tribute\": \"<string>\",\n  \"tributeDedication\": {\n    \"tributeId\": \"<integer>\",\n    \"tributeType\": \"<string>\",\n    \"tributeFirstName\": \"<string>\",\n    \"tributeLastName\": \"<string>\",\n    \"tributeCity\": \"<string>\",\n    \"tributeState\": \"<string>\",\n    \"acknowledgeeIndividualId\": \"<integer>\",\n    \"acknowledgeeFirstName\": \"<string>\",\n    \"acknowledgeeLastName\": \"<string>\",\n    \"acknowledgeeAddress\": \"<string>\",\n    \"acknowledgeeCity\": \"<string>\",\n    \"acknowledgeeState\": \"<string>\",\n    \"acknowledgeePostal\": \"<string>\",\n    \"acknowledgeeEmail\": \"<string>\",\n    \"acknowledgeePhone\": \"<string>\"\n  },\n  \"isPrivate\": \"<boolean>\",\n  \"isTaxDeductible\": \"<boolean>\",\n  \"checkNumber\": \"<string>\",\n  \"creditCardType\": \"<string>\",\n  \"nonCashGiftTypeId\": \"<integer>\",\n  \"nonCashGiftType\": \"<string>\",\n  \"nonCashGiftDescription\": \"<string>\",\n  \"stockTickerSymbol\": \"<string>\",\n  \"stockNumberOfShares\": \"<integer>\",\n  \"iraCustodian\": \"<string>\",\n  \"submissionUrl\": \"<string>\",\n  \"designations\": [\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"amountDesignated\": \"<string>\"\n    },\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"amountDesignated\": \"<string>\"\n    }\n  ],\n  \"premiums\": [\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"quantity\": \"<string>\"\n    },\n    {\n      \"id\": \"<integer>\",\n      \"name\": \"<string>\",\n      \"code\": \"<string>\",\n      \"quantity\": \"<string>\"\n    }\n  ],\n  \"customFields\": {\n    \"fieldName\": \"fieldValue\",\n    \"fieldName2\": \"fieldValue2\"\n  },\n  \"customObjects\": [\n    {\n      \"name\": \"<string>\",\n      \"fields\": [\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        }\n      ]\n    },\n    {\n      \"name\": \"<string>\",\n      \"fields\": [\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        },\n        {\n          \"name\": \"<string>\",\n          \"value\": \"<string>\"\n        }\n      ]\n    }\n  ],\n  \"contactIndividualId\": \"<integer>\",\n  \"passthroughContact\": {\n    \"referenceId\": \"<string>\",\n    \"id\": \"<integer>\",\n    \"name\": \"<string>\",\n    \"type\": \"<string>\",\n    \"title\": \"<string>\",\n    \"firstname\": \"<string>\",\n    \"middlename\": \"<string>\",\n    \"lastname\": \"<string>\",\n    \"suffix\": \"<string>\",\n    \"birthMonth\": \"<string>\",\n    \"birthDay\": \"<string>\",\n    \"birthYear\": \"<string>\",\n    \"gender\": \"<string>\",\n    \"emailType\": \"<string>\",\n    \"email\": \"<string>\",\n    \"phoneType\": \"<string>\",\n    \"phone\": \"<string>\",\n    \"address\": {\n      \"address1\": \"<string>\",\n      \"address2\": \"<string>\",\n      \"city\": \"<string>\",\n      \"state\": \"<string>\",\n      \"postal\": \"<string>\",\n      \"country\": \"<string>\"\n    },\n    \"tags\": \"<string>\",\n    \"emailLists\": [\n      \"<string>\",\n      \"<string>\"\n    ]\n  },\n  \"eventAttendee\": {\n    \"eventId\": \"<integer>\",\n    \"eventName\": \"<string>\",\n    \"invited\": \"<boolean>\",\n    \"rsvp\": \"<boolean>\",\n    \"rsvpResponse\": \"<boolean>\",\n    \"attended\": \"<boolean>\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "transactionSource": "<string>",
  "transactionId": "<string>",
  "contact": [
    "referenceId": "<string>",
    "id": "<integer>",
    "name": "<string>",
    "type": "<string>",
    "title": "<string>",
    "firstname": "<string>",
    "middlename": "<string>",
    "lastname": "<string>",
    "suffix": "<string>",
    "birthMonth": "<string>",
    "birthDay": "<string>",
    "birthYear": "<string>",
    "gender": "<string>",
    "emailType": "<string>",
    "email": "<string>",
    "phoneType": "<string>",
    "phone": "<string>",
    "address": [
      "address1": "<string>",
      "address2": "<string>",
      "city": "<string>",
      "state": "<string>",
      "postal": "<string>",
      "country": "<string>"
    ],
    "tags": "<string>",
    "emailLists": ["<string>", "<string>"]
  ],
  "giftDate": "<string>",
  "cancelDate": "<string>",
  "giftType": "<string>",
  "amount": "<string>",
  "currencyCode": "<string>",
  "exchangeRate": "<decimal>",
  "frequency": "<string>",
  "recurringGiftTransactionId": "<string>",
  "recurringGiftTransactionUpdate": "<boolean>",
  "pledgeFrequency": "<string>",
  "pledgeTransactionId": "<string>",
  "pledgeExpectedFullfillmentDate": "<string>",
  "batch": "<string>",
  "notes": "<string>",
  "segment": "<string>",
  "mediaOutlet": "<string>",
  "receiptDate": "<string>",
  "receiptSegment": "<string>",
  "cashAccountingCode": "<string>",
  "tribute": "<string>",
  "tributeDedication": [
    "tributeId": "<integer>",
    "tributeType": "<string>",
    "tributeFirstName": "<string>",
    "tributeLastName": "<string>",
    "tributeCity": "<string>",
    "tributeState": "<string>",
    "acknowledgeeIndividualId": "<integer>",
    "acknowledgeeFirstName": "<string>",
    "acknowledgeeLastName": "<string>",
    "acknowledgeeAddress": "<string>",
    "acknowledgeeCity": "<string>",
    "acknowledgeeState": "<string>",
    "acknowledgeePostal": "<string>",
    "acknowledgeeEmail": "<string>",
    "acknowledgeePhone": "<string>"
  ],
  "isPrivate": "<boolean>",
  "isTaxDeductible": "<boolean>",
  "checkNumber": "<string>",
  "creditCardType": "<string>",
  "nonCashGiftTypeId": "<integer>",
  "nonCashGiftType": "<string>",
  "nonCashGiftDescription": "<string>",
  "stockTickerSymbol": "<string>",
  "stockNumberOfShares": "<integer>",
  "iraCustodian": "<string>",
  "submissionUrl": "<string>",
  "designations": [
    [
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "amountDesignated": "<string>"
    ],
    [
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "amountDesignated": "<string>"
    ]
  ],
  "premiums": [
    [
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "quantity": "<string>"
    ],
    [
      "id": "<integer>",
      "name": "<string>",
      "code": "<string>",
      "quantity": "<string>"
    ]
  ],
  "customFields": [
    "fieldName": "fieldValue",
    "fieldName2": "fieldValue2"
  ],
  "customObjects": [
    [
      "name": "<string>",
      "fields": [
        [
          "name": "<string>",
          "value": "<string>"
        ],
        [
          "name": "<string>",
          "value": "<string>"
        ]
      ]
    ],
    [
      "name": "<string>",
      "fields": [
        [
          "name": "<string>",
          "value": "<string>"
        ],
        [
          "name": "<string>",
          "value": "<string>"
        ]
      ]
    ]
  ],
  "contactIndividualId": "<integer>",
  "passthroughContact": [
    "referenceId": "<string>",
    "id": "<integer>",
    "name": "<string>",
    "type": "<string>",
    "title": "<string>",
    "firstname": "<string>",
    "middlename": "<string>",
    "lastname": "<string>",
    "suffix": "<string>",
    "birthMonth": "<string>",
    "birthDay": "<string>",
    "birthYear": "<string>",
    "gender": "<string>",
    "emailType": "<string>",
    "email": "<string>",
    "phoneType": "<string>",
    "phone": "<string>",
    "address": [
      "address1": "<string>",
      "address2": "<string>",
      "city": "<string>",
      "state": "<string>",
      "postal": "<string>",
      "country": "<string>"
    ],
    "tags": "<string>",
    "emailLists": ["<string>", "<string>"]
  ],
  "eventAttendee": [
    "eventId": "<integer>",
    "eventName": "<string>",
    "invited": "<boolean>",
    "rsvp": "<boolean>",
    "rsvpResponse": "<boolean>",
    "attended": "<boolean>"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.virtuoussoftware.com/api/v2/Gift/Transaction")! 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()
```