Set attributes on a profile (version 2) (beta)


This is a new feature in APSIS One API and we are still keeping a close look on performance and potential issues. Please report any feedback to [email protected].

Set attributes on a profile

Updates profile attribute values using their discriminators as keys. Permits changes to default and custom attributes.

When any e-commerce integration is connected to the specified section then also e-commerce attributes can be modified.

In its requests and responses, APSIS One API accepts and returns version IDs and dates as strings. On the other hand, attribute value data types follow attribute types as described in this Help Center article.

Content must follow JSON Merge Patch specs. The maximum data payload size for requests to this endpoint is 100KB.

Profiles and attributes

Profiles are created on account level whereas attributes and tags are defined on sections. They are then set on profiles on section level as well.

Even though default attributes like First Name or Email have the same names across sections, setting their value on a profile in one section will not affect their values in other sections. Custom attributes and tags created in one section can only set on profiles on that section level.

Version 2

This version selects attributes by discriminators and introduces support for changing values for attributes that are also profile keys

Unlike version 1, this version will NOT create a new profile when a profile specified by the keyspace and the profile key does not exist in the section provided

This version is available for accounts with channel-specific topics enabled

Updating profile keys

There are two scenarios when you're trying to modify an attribute that is also a profile key:

The new value is NOT a current profile key on any other profile

In this case the profile key is simply updated to the new value on the profile.

The new value IS the current profile key of another profile

When we detect another profile with a profile key that is the same as the new profile key value then we expect profile_key_update_method parameter to be provided so that this endpoint can decide what to do with that existing profile:

  • If profile_key_update_method is set to delete, a new profile is created with the new profile key from the request. All the attributes and active consents are moved to the new profile. If the old profile key is not used in any other section, it is deleted.

  • If profile_key_update_method is set to merge, a new profile is created with the new profile key from the request. The new profile is then merged with the old profile. All active consents are migrated to the new profile key.

Error scenarios

The following error scenarios are specific to this feature:

  • 404 Not Found

    Keyspaces, section or profile was not found

  • 409 Conflict

    An attempt to update an attribute that is a profile key was made but profile_key_update_method parameter was not specified

  • 410 Gone

    Updating attributes is not allowed on a locked profile