Contacts::SubscriptionChange

List Contact Subscription Changes

Changed on

Read the contact's subscription-change log, ordered by ID ascending by default. Use sort_order=desc for newest first. Follow Pagination-Next as after, retaining sort_order when overridden. History is read-only. Topic ID arrays contain integers.

get/contacts/{contact_id}/subscription_changes

Request

Path parameters

contact_idstring required

Query parameters

afterstring

ID of item after which the collection should be returned. More examples and info about pagination in our guides.

per_pageinteger

Records per page. Defaults to 20; raise it up to 100 for bulk reads. A larger value returns 100 records. Zero, a negative or a non-integer value is a 422. The Link next-page URL keeps the value, so a client following it keeps the page size. More in our guides.

sort_order'asc' | 'desc'

Sort order of a list response. Use 'desc' to reverse the default 'asc' (ascending) sort order. Examples in our guides.

sort_property'id' | 'updated_at'

Sort property of a list response. The default is id and thus the created_at order. If you sort by other properties, we additionally sort by id implicitly as a secondary sort property, so that you can rely on the sort order to be deterministic even if the main sort property ends up with the same values.

Response

OK

idinteger
public_idstring
contact_idinteger
added_topic_idsinteger[]
removed_topic_idsinteger[]
source_typestring

Membership for admin and API writes; Contact for preference-page and automated unsubscribe changes.

source_idinteger
automatedboolean
created_atstring date-time

Example response

[
  {
    "id": 3104,
    "public_id": "uVwXyZ",
    "contact_id": 4821,
    "added_topic_ids": [
      12
    ],
    "removed_topic_ids": [],
    "source_type": "Membership",
    "source_id": 9051,
    "automated": false,
    "created_at": "2026-10-15T10:06:30.000Z"
  }
]

Changes