Recipients

Update Recipient

Changed on

Update details of a specific recipient by ID. Leave out absentee_address to keep the current absentee address. Sending it replaces the stored absentee address as a whole, so send it together with any of absentee_city, absentee_province and absentee_postal_code: those on their own, for example only a new ZIP, are refused with a 400 and nothing is updated. Send absentee_address as an empty string or null to remove the absentee address; if the same request also sets custom1 to absentee with an address in custom2, that address is copied in instead.

put/recipients/{recipientId}

Request

  • Base URL: https://api.thanks.io/api/v2
  • URL: https://api.thanks.io/api/v2/recipients/{recipientId}
  • Auth: HTTP bearer

Request body

idinteger
mailing_list_idinteger
namestring
companystring
addressstring
address2string
citystring
provincestring

State or Province

postal_codestring
countrystring
dobstring

Date of Birth in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.

anniversarystring

Can be used for house purchase anniversaries, move-in dates, or any recurring annual milestone. Anniversary date in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.

emailstring
phonestring
custom1string

Custom field for additional information about the recipient

custom2string

Custom field for additional information about the recipient

custom3string

Custom field for additional information about the recipient

custom4string

Custom field for additional information about the recipient

custom5string

Custom field for additional information about the recipient

custom6string

Custom field for additional information about the recipient

custom7string

Custom field for additional information about the recipient

custom8string

Custom field for additional information about the recipient

custom9string

Custom field for additional information about the recipient

custom10string

Custom field for additional information about the recipient

absentee_addressstring nullable

The property (absentee) address the absentee image template and message variables use, or null when none is set. Mail is delivered to address, not here.

created_atstring
updated_atstring
absentee_citystring

City of the absentee (property) address. Requires absentee_address in the same request.

absentee_provincestring

State or province of the absentee (property) address. Requires absentee_address in the same request.

absentee_postal_codestring

ZIP or postal code of the absentee (property) address. Requires absentee_address in the same request.

Example request

{
  "id": 18113288,
  "mailing_list_id": 1,
  "name": "Tobias Example",
  "company": "thanks.io",
  "address": "123 Main Street",
  "address2": "Apartment 1",
  "city": "Any Town",
  "province": "KS",
  "postal_code": "12345",
  "country": "US",
  "dob": "1981-04-23",
  "anniversary": "2025-07-21",
  "email": "tobias@example.com",
  "phone": "+1 (555) 123-4567",
  "custom1": "Unique Info",
  "custom2": "For example a product code or customer ID",
  "custom3": "Any Extra Info",
  "custom4": "Any Extra Info",
  "custom5": "Any Extra Info",
  "custom6": "Any Extra Info",
  "custom7": "Any Extra Info",
  "custom8": "Any Extra Info",
  "custom9": "Any Extra Info",
  "custom10": "Any Extra Info",
  "absentee_address": "742 Evergreen Terrace, Springfield, IL 62704",
  "mailing-list": {
    "id": 1,
    "user_id": 2,
    "type": "manual",
    "description": "Test",
    "total_recipients": 1,
    "processed": true,
    "api_key": "abcd1234efgh5678ijkl9012mnop3456",
    "created_at": "2018-07-15T06:06:57.000000Z",
    "created_at_diff": "6 years ago",
    "updated_at": "2025-06-27T14:57:11.000000Z"
  },
  "created_at": "2025-06-27T14:57:11.000000Z",
  "updated_at": "2025-06-27T14:57:11.000000Z",
  "absentee_city": "Springfield",
  "absentee_province": "IL",
  "absentee_postal_code": "62704"
}

Response

Successful Response

idinteger
mailing_list_idinteger
namestring
companystring
addressstring
address2string
citystring
provincestring

State or Province

postal_codestring
countrystring
dobstring

Date of Birth in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.

anniversarystring

Can be used for house purchase anniversaries, move-in dates, or any recurring annual milestone. Anniversary date in ISO 8601 format (YYYY-MM-DD) or null if not set. If provided as MM/DD/YYYY in requests, it will be converted to ISO 8601 format.

emailstring
phonestring
custom1string

Custom field for additional information about the recipient

custom2string

Custom field for additional information about the recipient

custom3string

Custom field for additional information about the recipient

custom4string

Custom field for additional information about the recipient

custom5string

Custom field for additional information about the recipient

custom6string

Custom field for additional information about the recipient

custom7string

Custom field for additional information about the recipient

custom8string

Custom field for additional information about the recipient

custom9string

Custom field for additional information about the recipient

custom10string

Custom field for additional information about the recipient

absentee_addressstring nullable

The property (absentee) address the absentee image template and message variables use, or null when none is set. Mail is delivered to address, not here.

created_atstring
updated_atstring

Example response

{
  "id": 18113288,
  "mailing_list_id": 1,
  "name": "Tobias Example",
  "company": "thanks.io",
  "address": "123 Main Street",
  "address2": "Apartment 1",
  "city": "Any Town",
  "province": "KS",
  "postal_code": "12345",
  "country": "US",
  "dob": "1981-04-23",
  "anniversary": "2025-07-21",
  "email": "tobias@example.com",
  "phone": "+1 (555) 123-4567",
  "custom1": "Unique Info",
  "custom2": "For example a product code or customer ID",
  "custom3": "Any Extra Info",
  "custom4": "Any Extra Info",
  "custom5": "Any Extra Info",
  "custom6": "Any Extra Info",
  "custom7": "Any Extra Info",
  "custom8": "Any Extra Info",
  "custom9": "Any Extra Info",
  "custom10": "Any Extra Info",
  "absentee_address": "742 Evergreen Terrace, Springfield, IL 62704",
  "mailing-list": {
    "id": 1,
    "user_id": 2,
    "type": "manual",
    "description": "Test",
    "total_recipients": 1,
    "processed": true,
    "api_key": "abcd1234efgh5678ijkl9012mnop3456",
    "created_at": "2018-07-15T06:06:57.000000Z",
    "created_at_diff": "6 years ago",
    "updated_at": "2025-06-27T14:57:11.000000Z"
  },
  "created_at": "2025-06-27T14:57:11.000000Z",
  "updated_at": "2025-06-27T14:57:11.000000Z"
}

Changes

    • breaking

      added subschema #2 to the request body allOf list

    • breaking

      the request's body type changed from object to no type

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the request property

    • info

      added the optional property to the response with the status

    • breaking

      the request's body type changed from no type to object

    • warning

      removed subschema #2 from the request body allOf list

    • warning

      removed the optional property from the response with the status

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the new optional request property