PATCH {clientId}/Profile/AlternateIdType/{alternateIdType}/AlternateId/{alternateId}

This method allows you to update a single profile specified by AlternateId parameter.

Request Information

The HTTP PATCH request method applies partial modifications to a resource. Click here to learn about using PATCH.

The MyPreferences API supports add, replace, remove, and test PATCH operations. The API does not support move and copy PATCH operations.

In the JSON body of your request, send the op, path, and value parameters.

  • op denotes the type of operation to execute such as add, replace, remove or test
  • path denotes the path of the target location on the resource to update
  • value denotes the value to apply.

Note: When removing multiple elements from an array object, send the remove operations in descending order to keep the indices intact.

URI Parameters

NameDescriptionTypeAdditional information
clientId

This is your organization’s MyPreferences account Id.

string

Required

alternateIdType

Type of AlternateId for the Profile

string

Required

alternateId

Value of the Profile's AlternateId

string

Required

Body Parameters

NameDescriptionTypeAdditional information
Operations

A collection of PATCH operations that you want to perform on the object.

Collection of OperationOfUserProfile

Request Formats

application/json, text/json, application/json-patch+json

Sample:
[
  {
    "path": "sample string 2",
    "op": "sample string 3"
  },
  {
    "path": "sample string 2",
    "op": "sample string 3"
  }
]

application/xml, text/xml

Sample:
<JsonPatchDocumentOfUserProfile5B0F46o8 xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Microsoft.AspNetCore.JsonPatch">
  <ContractResolver i:nil="true" />
</JsonPatchDocumentOfUserProfile5B0F46o8>

Response Information

Response Codes

HTTP Status CodeTextDescription
200 OK The request was successfully processed.
400 Bad Request The request was invalid and cannot be processed. This may be a result of a malformed request. You must update the request before trying again.
401 Unauthorized Authentication credentials are missing or incorrect. You must verify your ClientId, UserId, and Authorization Scheme before trying again.
403 Forbidden The authentication credentials were insufficient to grant access to the requested resource. In most cases, your user may not have the appropriate permissions to access the requested resource. Verify User Group permissions for your user before trying again.
500 Internal Server Error The server encountered an unexpected condition that prevented it from fulfilling the request. Notify PossibleNOW Support if it’s a continuous occurrence.

Resource Description

UserProfile
NameDescriptionTypeAdditional information
ProfileId

A read-only unique identifier associated with the Profile. It is auto generated by the system when a profile is created.

integer

Read-Only

Edited

Read-only system fields returned as part of an API response. These are updated automatically when a profile is created or modified.

EditInfo

Read-Only

Addresses

A collection of Mailing addresses associated with the profile.

Collection of AddressEntry
Consents

A collection of consents associated with the profile.

Collection of CustomerConsent

Consents are not supported when creating a Profile. You must use the POST Consents endpoint to associate consents to a Profile

Read-Only

ReasonCode

An optional parameter that can be passed on the Deactivate Profile API to store the reason for deletion.

string

Max length: 256

Read-Only

The Reason code field is supported only when deactivating a preference. It is not returned as part of this call

IsActive

Defines whether the item is Active or Inactive. You can activate the profile using the Activate Profile API

boolean

You can activate the profile using the Activate Profile API.

RegistrationConfirmed

An optional field for clients to use at their discretion to accommodate scenarios in which customer profile verification is performed.

boolean

This setting defaults to False, if not specified.

CustomerType

An identifier used to classify a person. For example, a contact can be classified as a Customer or a Prospect.

string

If a Type is not provided, the available default Type will be associated with the Profile.

Max length: 100

PreservePreferences

Specifies whether to retain the preferences or deactivate them when a Contact Type is deactivated. To retain the preferences, set the value as True. If set to False, the preferences will be deactivated. This setting defaults to True, if not specified.

boolean

To retain the preferences, set the value as True. If set to False, the preferences will be deactivated. This setting defaults to True, if not specified.

DefaultLocale

Default locale associated with the profile. If not specified, the default locale configured for your MyPreferences account will be used.

string

Max length: 15

CustomerName

The Name fields on the profile

CustomerName
AlternateIds

A collection of Additional unique identifiers that can be associated with a profile. For example, customer identifiers from other applications such as Salesforce, Marketo or Facebook can be stored as AlternateIds.

Collection of AlternateIdEntry
Emails

A collection of Email addresses associated with the profile.

Collection of EmailEntry
PhoneNumbers

A collection of Phone numbers associated with the profile.

Collection of PhoneNumberEntry
Groups

A collection of Groups associated with the profile.

Collection of GroupEntry
ProfileTags

A collection of Tags associated with the profile.

Collection of Tag

Tags help you organize your profiles based on specific pieces of information such as Influencers or Reward members. You can add and delete Tags without affecting the profile information.

CustomFields

A collection of Custom Fields associated with the profile.

Collection of CustomFieldValue

Custom Fields helps you expand and enrich the collection of user profile data throughout the customer journey.

Response Formats

application/json, text/json, application/json-patch+json

Sample:
{
  "ProfileId": 1,
  "Edited": {
    "CreateDate": "sample string 1",
    "CreatedBy": "sample string 2",
    "ModifiedDate": "sample string 3",
    "ModifiedBy": "sample string 4"
  },
  "Addresses": [
    {
      "AddressType": "sample string 1",
      "IsDefault": true,
      "IsActive": true,
      "Country": "sample string 3",
      "Address1": "sample string 4",
      "Address2": "sample string 5",
      "City": "sample string 6",
      "StateProvince": "sample string 7",
      "CountryCode_Numeric": "sample string 8",
      "CountryCode_Alpha2": "sample string 9",
      "CountryCode_Alpha3": "sample string 10",
      "PostalCode": "sample string 11",
      "CassAddress1": "sample string 12",
      "CassAddress2": "sample string 13",
      "CassCity": "sample string 14",
      "CassStateProvince": "sample string 15",
      "CassPostalCode": "sample string 16",
      "CassStatus": "Y"
    },
    {
      "AddressType": "sample string 1",
      "IsDefault": true,
      "IsActive": true,
      "Country": "sample string 3",
      "Address1": "sample string 4",
      "Address2": "sample string 5",
      "City": "sample string 6",
      "StateProvince": "sample string 7",
      "CountryCode_Numeric": "sample string 8",
      "CountryCode_Alpha2": "sample string 9",
      "CountryCode_Alpha3": "sample string 10",
      "PostalCode": "sample string 11",
      "CassAddress1": "sample string 12",
      "CassAddress2": "sample string 13",
      "CassCity": "sample string 14",
      "CassStateProvince": "sample string 15",
      "CassPostalCode": "sample string 16",
      "CassStatus": "Y"
    }
  ],
  "PhoneNumbers": [
    {
      "PhoneType": "sample string 2",
      "PhoneNumber": "sample string 3",
      "PhoneNumberNumeric": 5,
      "IsDefault": true,
      "IsActive": true,
      "IsMobile" : true
    },
    {
      "PhoneType": "sample string 2",
      "PhoneNumber": "sample string 3",
      "PhoneNumberNumeric": 5,
      "IsDefault": true,
      "IsActive": true,
      "IsMobile" : true 
    }
  ],
  "Consents": [
    {
      "ConsentType": "sample string 1",
      "Locale": "sample string 3",
      "ConsentStatus": "sample string 4",
      "ConsentVersion": "sample string 5",
      "Expired": "sample string 6",
      "ExpirationDate": "sample string 7",
      "ConsentDate": "sample string 8",
      "Edited": {
        "CreateDate": "sample string 1",
        "CreatedBy": "sample string 2",
        "ModifiedDate": "sample string 3",
        "ModifiedBy": "sample string 4"
      }
  },
    {
      "ConsentType": "sample string 1",
      "Locale": "sample string 3",
      "ConsentStatus": "sample string 4",
      "ConsentVersion": "sample string 5",
      "Expired": "sample string 6",
      "ExpirationDate": "sample string 7",
      "ConsentDate": "sample string 8",
      "Edited": {
        "CreateDate": "sample string 1",
        "CreatedBy": "sample string 2",
        "ModifiedDate": "sample string 3",
        "ModifiedBy": "sample string 4"
      }
    }
  ],
  "IsActive": true,
  "RegistrationConfirmed": true,
  "DefaultLocale":"sample string 1",
  "CustomerType": "sample string 4",
  "PreservePreferences" : true,
  "CustomerName": {
    "FirstName": "sample string 1",
    "MiddleName": "sample string 2",
    "LastName": "sample string 3",
    "Prefix": "sample string 4",
    "Suffix": "sample string 5"
  },
  "AlternateIds": [
    {
      "AlternateIdType": "sample string 1",
      "AlternateId": "sample string 2"
    },
    {
      "AlternateIdType": "sample string 1",
      "AlternateId": "sample string 2"
    }
  ],
  "Emails": [
    {
      "EmailAddressType": "sample string 1",
      "EmailAddress": "sample string 2",
      "IsDefault": true,
      "IsActive": true
    },
    {
      "EmailAddressType": "sample string 1",
      "EmailAddress": "sample string 2",
      "IsDefault": true,
      "IsActive": true
    }
  ],
  "Groups": [
    {
      "GroupId": "sample string 2",
      "GroupType": "sample string 1",
      "IsPrimary": true
    },
    {
      "GroupId": "sample string 2",
      "GroupType": "sample string 1",
      "IsPrimary": true
    }
  ],
  "ProfileTags": [
    {
      "Name": "sample string 1"
    },
    {
      "Name": "sample string 1"
    }
  ],
  "CustomFields": [
    {
      "Name": "sample string 1",
      "Value": "sample string 2"
    },
    {
      "Name": "sample string 1",
      "Value": "sample string 2"
    }
  ]
}

application/xml, text/xml

Sample:
<UserProfile xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ProfileServices.REST.Models">
  <AlternateIds>
    <AlternateIdEntry>
      <AlternateId>sample string 2</AlternateId>
      <AlternateIdType>sample string 1</AlternateIdType>
    </AlternateIdEntry>
    <AlternateIdEntry>
      <AlternateId>sample string 2</AlternateId>
      <AlternateIdType>sample string 1</AlternateIdType>
    </AlternateIdEntry>
  </AlternateIds>
  <CustomerName>
    <FirstName>sample string 1</FirstName>
    <LastName>sample string 3</LastName>
    <MiddleName>sample string 2</MiddleName>
    <Prefix>sample string 4</Prefix>
    <Suffix>sample string 5</Suffix>
  </CustomerName>
  <CustomerType>sample string 4</CustomerType>
  <PreservePreferences>true</PreservePreferences>
  <Emails>
    <EmailEntry>
      <EmailAddress>sample string 2</EmailAddress>
      <EmailAddressType>sample string 1</EmailAddressType>
      <IsDefault>true</IsDefault>
      <IsActive>true</IsActive>
    </EmailEntry>
    <EmailEntry>
      <EmailAddress>sample string 2</EmailAddress>
      <EmailAddressType>sample string 1</EmailAddressType>
      <IsDefault>true</IsDefault>
      <IsActive>true</IsActive>
    </EmailEntry>
  </Emails>
  <Groups>
    <GroupEntry>
      <GroupName>sample string 2</GroupName>
      <GroupType>sample string 1</GroupType>
      <IsPrimary>true</IsPrimary>
    </GroupEntry>
    <GroupEntry>
      <GroupName>sample string 2</GroupName>
      <GroupType>sample string 1</GroupType>
      <IsPrimary>true</IsPrimary>
    </GroupEntry>
  </Groups>
  <IsActive>true</IsActive>
  <ProfileTags>
    <Tag>
      <Name>sample string 1</Name>
    </Tag>
    <Tag>
      <Name>sample string 1</Name>
    </Tag>
  </ProfileTags>
  <CustomFields>
    <CustomFieldValue>
      <Name>sample string 1</Name>
      <Value>sample string 2</Value>
    </CustomFieldValue>
    <CustomFieldValue>
      <Name>sample string 1</Name>
      <Value>sample string 2</Value>
    </CustomFieldValue>
  </CustomFields>
  <RegistrationConfirmed>true</RegistrationConfirmed>
  <Addresses>
    <AddressEntry>
      <Address1>sample string 4</Address1>
      <Address2>sample string 5</Address2>
      <City>sample string 6</City>
      <CountryCode_Alpha2>sample string 9</CountryCode_Alpha2>
      <CountryCode_Alpha3>sample string 10</CountryCode_Alpha3>
      <CountryCode_Numeric>sample string 8</CountryCode_Numeric>
      <PostalCode>sample string 11</PostalCode>
      <StateProvince>sample string 7</StateProvince>
      <Country>sample string 3</Country>
      <AddressType>sample string 1</AddressType>
      <IsDefault>true</IsDefault>
      <IsActive>true</IsActive>
    </AddressEntry>
    <AddressEntry>
      <Address1>sample string 4</Address1>
      <Address2>sample string 5</Address2>
      <City>sample string 6</City>
      <CountryCode_Alpha2>sample string 9</CountryCode_Alpha2>
      <CountryCode_Alpha3>sample string 10</CountryCode_Alpha3>
      <CountryCode_Numeric>sample string 8</CountryCode_Numeric>
      <PostalCode>sample string 11</PostalCode>
      <StateProvince>sample string 7</StateProvince>
      <Country>sample string 3</Country>
      <AddressType>sample string 1</AddressType>
      <IsDefault>true</IsDefault>
      <IsActive>true</IsActive>
    </AddressEntry>
  </Addresses>
  <Consents>
    <CustomerConsent>
      <ConsentStatus>sample string 4</ConsentStatus>
      <ConsentType>sample string 1</ConsentType>
      <ConsentVersion>sample string 5</ConsentVersion>
      <Locale>sample string 3</Locale>
      <Expired>sample string 6</Expired>
      <ExpirationDate>sample string 7</ExpirationDate>
      <ConsentDate>sample string 8</ConsentDate>
      <Edited>
        <CreateDate>sample string 1</CreateDate>
        <CreatedBy>sample string 2</CreatedBy>
        <ModifiedBy>sample string 4</ModifiedBy>
        <ModifiedDate>sample string 3</ModifiedDate>
      </Edited>
    </CustomerConsent>
    <CustomerConsent>
      <ConsentStatus>sample string 4</ConsentStatus>
      <ConsentType>sample string 1</ConsentType>
      <ConsentVersion>sample string 5</ConsentVersion>
      <Locale>sample string 3</Locale>
      <Expired>sample string 6</Expired>
      <ExpirationDate>sample string 7</ExpirationDate>
      <ConsentDate>sample string 8</ConsentDate>
      <Edited>
        <CreateDate>sample string 1</CreateDate>
        <CreatedBy>sample string 2</CreatedBy>
        <ModifiedBy>sample string 4</ModifiedBy>
        <ModifiedDate>sample string 3</ModifiedDate>
      </Edited>
    </CustomerConsent>
  </Consents>
  <Edited>
    <CreateDate>sample string 1</CreateDate>
    <CreatedBy>sample string 2</CreatedBy>
    <ModifiedBy>sample string 4</ModifiedBy>
    <ModifiedDate>sample string 3</ModifiedDate>
  </Edited>
  <PhoneNumbers>
    <PhoneNumberEntry>
      <IsDefault>true</IsDefault>
      <IsActive>true</IsActive>
      <IsMobile>true</IsMobile>
      <PhoneNumber>sample string 3</PhoneNumber>
      <PhoneType>sample string 2</PhoneType>
      <PhoneNumberNumeric>1</PhoneNumberNumeric>
    </PhoneNumberEntry>
    <PhoneNumberEntry>
      <IsDefault>true</IsDefault>
      <IsActive>true</IsActive>
      <IsMobile>true</IsMobile>
      <PhoneNumber>sample string 3</PhoneNumber>
      <PhoneType>sample string 2</PhoneType>
      <PhoneNumberNumeric>1</PhoneNumberNumeric>
    </PhoneNumberEntry>
  </PhoneNumbers>
  <ProfileId>1</ProfileId>
</UserProfile>