Campaign Standard - ACS API development question on creation/updation of profiles

Description

Question regarding implementing ACS API to create/update profiles using the method described in the documentation:  https://experienceleague.adobe.com/docs/campaign-standard/using/working-with-apis/managing-profiles/updating-profiles.html?lang=en

The customer observed that there is a simpler way explained below (for reference an attribute cusId has been defined as the key on the profile table):

1) When we PATCH using https://*.adobe.*/instanceURL/campaign/profileAndServicesExt/profile and include an existing cusCustomerId, the profile will be updated.

2) Similarly when we PATCH using https://*.adobe.*/instanceURLcampaign/profileAndServicesExt/profile/@xxxxxxxxxxxxxxx the profile will also be updated.

In this case, the customer doesn’t need to use cusId, but they need the profile Pkey, however as cusId will always be populated they observed that they can always use this field.

Option one would be the preferred way as this makes the logic much simpler.

Question: since option 1 is not documented, please confirm if option 1 is supported?

Resolution

Since cusId is a business key in profile, this field can be used to retrieve the entity.
And indeed, the PATCH will also work.
The customer can use this but the following limitations should be communicated:

By using the cusId field as a key, the customer won’t be able to modify this field using a PATCH.
The customer should NEVER build URLs for collections.
Thus, using the cusId field will work for top-level profile resources (/rest/…/profile/ cusId ), but if the customer wants to get the subscriptions of a profile, they must go through the REST API:

  • GET /rest/…/profile/cusId

  • GET /href/of/the/subscription/collection/returned/by/the/previous/call

On this page