September 14, 2026
This release adds two new endpoints and enhances CRM status condition capabilities. Clients can now preview discount codes before checkout and retrieve available membership plan change options for customers. Additionally, CRM status conditions now support lead source filtering and an existence check for completed membership packs.
- GET /crm/statuses - CRM statuses can now include lead source conditions to filter by how leads were acquired, and can check whether a customer has completed a specific membership pack
- GET /crm/statuses/{id} - CRM status retrieval now returns lead source conditions and completed membership pack existence checks
- PUT /crm/statuses/{id} - CRM statuses can now be configured with lead source conditions and completed membership pack existence checks when updating
- GET /crm/statuses/{id}/defaults - Default CRM status configurations now include lead source conditions and completed membership pack existence checks
- POST /checkouts/preview-discount-code - Preview and validate discount codes before applying them to a checkout, allowing clients to show discount amounts and eligibility to customers upfront
- GET /customer_memberships/{id}/plan_change_options - Retrieve available membership plan change options for a specific customer membership, enabling clients to present valid upgrade, downgrade, or plan switch choices
GET /crm/statuses
- added
subschema #9: LeadSourceConditionto theresults/items/conditions/items/response propertyoneOflist for the response status200(media type: application/json) - added the optional property
results/items/conditions/items/oneOf[subschema #8: CompletedMembershipPackExistsCondition]/existsto the response with the200status (media type: application/json)
GET /crm/statuses/{id}
- added
subschema #9: LeadSourceConditionto theconditions/items/response propertyoneOflist for the response status200(media type: application/json) - added the optional property
conditions/items/oneOf[subschema #8: CompletedMembershipPackExistsCondition]/existsto the response with the200status (media type: application/json)
PUT /crm/statuses/{id}
- added
subschema #9: LeadSourceConditionto theconditions/items/response propertyoneOflist for the response status200(media type: application/json) - added the new optional request property
conditions/items/oneOf[subschema #8: CompletedMembershipPackExistsCondition]/exists(media type: application/json) - added
subschema #9: LeadSourceConditionto theconditions/items/request propertyoneOflist (media type: application/json) - added the optional property
conditions/items/oneOf[subschema #8: CompletedMembershipPackExistsCondition]/existsto the response with the200status (media type: application/json)
GET /crm/statuses/{id}/defaults
- added
subschema #9: LeadSourceConditionto theconditions/items/response propertyoneOflist for the response status200(media type: application/json) - added the optional property
conditions/items/oneOf[subschema #8: CompletedMembershipPackExistsCondition]/existsto the response with the200status (media type: application/json)
POST /checkouts/preview-discount-code
- endpoint added
GET /customer_memberships/{id}/plan_change_options
- endpoint added