v3.0.0
Merge Python SDK Release Notes - Version [3.0.0]
This release includes support for all of the latest updates to the Merge API. For more information, see https://www.merge.dev/changelog
Breaking Changes
Expand Parameter Type Changes:
Expand parameters changed from large string union enums to individual enum items that accept a single value or a list. Old pre-combined enum values (e.g. TicketsListRequestExpand.ACCOUNT_ASSIGNEES_CREATOR) have been
removed.
# v2.x — single combined enum value
client.ticketing.tickets.list(
expand=TicketsListRequestExpand.ACCOUNT_ASSIGNEES_CREATOR,
)
# v3.x — single item or list of individual items
from merge.resources.ticketing.resources.tickets import TicketsListRequestExpandItem
client.ticketing.tickets.list(
expand=[
TicketsListRequestExpandItem.ACCOUNT,
TicketsListRequestExpandItem.ASSIGNEES,
TicketsListRequestExpandItem.CREATOR,
],
)
# Single expand still works
client.ticketing.tickets.list(expand=TicketsListRequestExpandItem.ACCOUNT)
# Passing a string is unchanged
client.ticketing.tickets.list(expand="account,assignees,creator")
Affected types: all *ListRequestExpand and *RetrieveRequestExpand types have been replaced with *ListRequestExpandItem and *RetrieveRequestExpandItem equivalents across Accounting, ATS, Chat, CRM, File Storage,
HRIS, Knowledge Base, and Ticketing modules. The API request format (?expand=a,b,c) is unchanged — only the Python input shape changed.
ats.candidates.ignore_create Signature Change:
The reason and message keyword arguments were collapsed into a single request body model.
# v2.x
client.ats.candidates.ignore_create(
model_id,
reason=IgnoreCommonModelRequestReason.GENERAL_CUSTOMER_REQUEST,
message="Customer requested ignore",
)
# v3.x
from merge.resources.ats import IgnoreCommonModelRequest, IgnoreCommonModelRequestReason
client.ats.candidates.ignore_create(
model_id,
request=IgnoreCommonModelRequest(
reason=IgnoreCommonModelRequestReason.GENERAL_CUSTOMER_REQUEST,
message="Customer requested ignore",
),
)
IgnoreCommonModelRequestReason also moved from merge.resources.ats.resources.candidates to merge.resources.ats. The top-level category import works in both 2.x and 3.x; only the deep resource-scoped import path was
removed.