# Updates a gift with the specified ID.

This method will update an existing gift with the specified ID.

Endpoint: PUT /gifts/{tenantId}/{id}
Version: v1-2025-04-18
Security: knox-authorizer

## Path parameters:

  - `tenantId` (string, required)
    The id of the tenant being accessed.

  - `id` (string, required)
    The ID of the gift to update.

## Request fields (application/json):

  - `amount` (number, required)
    Gift amount

  - `amount_allocated_to_primary_fund` (number, required)
    When gift is split, this is the amount that is allocated to the primary fund

  - `amount_allocated_to_splits` (number, required)
    When gift is split, this is the amount that is allocated to splits

  - `anonymous` (boolean)
    Anonymous

  - `appeal_id` (string)
    The id for the appeal associated with the gift

  - `campaign_id` (string)
    The id for the campaign associated with the gift

  - `contact_id` (string, required)
    The rolodex contact id for the gift giver

  - `cover_transaction_costs` (boolean)
    If selected, the donor covers the transaction fees

  - `currency_code` (string)
    The currency code of the gift

  - `currency_symbol` (string)
    Currency

  - `custom_field_values` (array)

  - `custom_field_values.boolean_value` (boolean)
    The boolean value

  - `custom_field_values.custom_field_id` (string)
    The unique identifier of the custom field

  - `custom_field_values.file_url_value` (string)
    The pointer to a file value

  - `custom_field_values.list_value` (array)
    The list value

  - `custom_field_values.numeric_value` (number)
    The numeric value

  - `custom_field_values.string_value` (string)
    The string value of the custom field

  - `custom_field_values.table_value` (array)
    A list of objects (a table)

  - `date` (string)
    The creation date for the gift

  - `details` (string)
    Any details about the gift

  - `donor_id` (string, required)
    The donor record associated with this gift

  - `donor_type` (string, required)
    The donor type for the gift
    Enum: "contact", "organization"

  - `fund_id` (string, required)
    The id for the fund associated with the gift

  - `giving_process_id` (string)
    The process of that led to the gift

  - `has_soft_credits` (boolean)
    If true, this gift has soft credits to others

  - `has_splits` (boolean)
    If true, this gift is split into different funds

  - `id` (string, required)
    The unique, string identifier of this gift

  - `make_recurring` (boolean)
    Whether to make this a recurring gift

  - `master_gift_id` (string, required)
    If this gift is linked to another, it is here

  - `notes` (string)
    Notes about the gift

  - `number` (number)
    The gift number

  - `order_id` (string)
    The id for the order associated with the gift

  - `order_line_item_id` (string)
    The id for the order line item associated with the gift

  - `organization_id` (string, required)
    The organization id associated with this gift

  - `payment_id` (string, required)
    The payment that generated this gift

  - `planned_gift_info` (object, required)
    Information about the gift if type is planned

  - `planned_gift_info.anticipated_date` (string, required)
    The creation date for the gift

  - `pledge_id` (string, required)
    The pledge associated with this gift

  - `premium_assignment` (string)
    Enum: "assigned", "declined by donor", "not applicable"

  - `premium_fair_market_value` (number)
    The amount of any premiums associated with the gift

  - `premium_id` (string)
    If the user has selected a premium it is here

  - `recurring_frequency` (string)
    Enum: "monthly", "quarterly", "yearly"

  - `recurring_gift_end_date` (string)
    optional end date for gift

  - `recurring_gift_id` (string)
    The id for the recurring gift associated with this gift

  - `refund_id` (string, required)
    The payment that generated this gift

  - `shipping_address` (object)
    A complete address

  - `shipping_address.city` (string)
    The city of the address

  - `shipping_address.country` (string)
    The country ISO code

  - `shipping_address.country_name` (string)
    The full name of hte country

  - `shipping_address.county` (string)
    The county

  - `shipping_address.latitude` (number)

  - `shipping_address.line1` (string)
    The first line of the address

  - `shipping_address.line2` (string)
    The second line of the address

  - `shipping_address.line3` (string)
    The third line of the address

  - `shipping_address.longitude` (number)

  - `shipping_address.postal_code` (string)
    The zip/postal code

  - `shipping_address.state` (string)
    The state/province of the address

  - `shipping_address.time_zone_id` (string)

  - `soft_credits` (array, required)

  - `soft_credits.amount` (number, required)
    The amount of soft credit that the person should receive

  - `soft_credits.contact_id` (string)

  - `soft_credits.donor_type` (string)
    Enum: same as `donor_type` (2 values)

  - `soft_credits.fund_id` (string, required)
    The fund to which this credit is allocated

  - `soft_credits.organization_id` (string)

  - `soft_credits.percentage` (number, required)
    The percentage to attribute gifts

  - `soft_credits.reason` (string, required)
    Enum: "matching", "other", "relationship", "tribute"

  - `splits` (array)
    An array of fund allocations for this gift

  - `splits.amount` (number, required)
    The amount for this allocation of the gift

  - `splits.fund_id` (string, required)
    The id for the fund associated with the gift allocation

  - `stock_gift_info` (object, required)
    Information about the gift if type is a stock

  - `stock_gift_info.number_of_shares` (number, required)
    The number of shares of the stock gift

  - `stock_gift_info.stock_symbol` (string, required)
    The stock symbol of the stock gift

  - `sys_bulk_load_at` (string)
    If this record was loaded via bulk, the timestamp when the record was processed

  - `sys_bulk_load_id` (string)
    If this record was loaded via bulk, the ID of the bulk load process

  - `sys_bulk_load_pk` (string)
    If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key

  - `sys_bulk_load_record_no` (number)
    If this record was loaded via bulk, the record number in the source file

  - `sys_bulk_load_source_file` (string)
    If this record was loaded via bulk, the source file

  - `sys_calculated_field_error` (string)
    The error associated with the calculated field

  - `sys_calculated_field_errors` (array)

  - `sys_calculated_field_errors.error` (string)

  - `sys_calculated_field_errors.field` (string)

  - `sys_configuration_snapshot_id` (string)
    If a snapshot was restored/applies to this record, the ID of the snapshot

  - `sys_created_at` (string, required)
    The date/time that this record was created, expressed in ISO-8601 date format

  - `sys_created_by_id` (string, required)
    The ID of the user that created this record

  - `sys_deleted_by_id` (string)
    The ID of the user that deleted (or last tried to delete) this object

  - `sys_directive` (string)
    Means for passing directive information into an object processing logic

  - `sys_external_id` (string)
    The ID that a record has from an external system or data import

  - `sys_has_files_in_s3` (boolean)
    If true, this record has files in S3. If false, it doesnt, so no need to hit S3 upon deletion

  - `sys_last_bulk_data_operation_id` (string)
    If this record was last touched by a bulk data operation, the ID of that operation

  - `sys_last_bulk_data_operation_sys_version` (string)
    If this record was last touched by a bulk data operation, the sys_version at the time of that operation

  - `sys_last_modified_at` (string, required)
    The date/time that this record record was last modified, expressed in ISO-8601 date format

  - `sys_last_modified_by_id` (string, required)
    The ID of the user that last modified this record

  - `sys_last_security_context` (object)
    The security context of the last insert, modify, or delete performed on this item

  - `sys_locked` (boolean)
    If set, this record is locked and cannot be changed via the API

  - `sys_snapshot_base_version` (number)
    The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox

  - `sys_version` (number)
    A number representing the version of this record in the database

  - `tax_deductible_amount` (number, required)
    The amount of the gift less any premiums

  - `tribute_gift` (boolean)
    Whether or not this is a tribute gift

  - `tribute_gift_info` (object)

  - `tribute_gift_info.address` (object)
    A complete address

  - `tribute_gift_info.contact_id` (string)
    The optional linked contact

  - `tribute_gift_info.details` (string)
    Additional details

  - `tribute_gift_info.email_address` (string)

  - `tribute_gift_info.inform_honoree` (boolean)
    If true, the honoree is informed about the gift

  - `tribute_gift_info.inform_honoree_by` (string)
    Enum: "email", "mail"

  - `tribute_gift_info.message` (string)
    Message to send when notifying

  - `tribute_gift_info.name` (string, required)
    The name

  - `tribute_gift_info.type` (string, required)
    Enum: "in honor of", "in memory of"

  - `type` (string, required)
    The type of gift
    Enum: "cash", "in kind", "matching", "planned", "pledge payment", "pledge payment reversal", "stock"


## Response 400 fields

## Response 401 fields

## Response 403 fields

## Response 404 fields

## Response 409 fields

## Response 429 fields

## Response 500 fields
