Developer Documentation
Endpoint Examples
Personas
16 min
use the personas api to get and update detailed information on contacts stored within aiq also visit the full api reference get all personas { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v1 1/piis/\ uid get" } note get all contacts endpoint filters out any blocklisted personas get persona by contact id { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v1 1/piis/\ uid/\ contactid get" } note lasttouch in the response is used internally by aiq, it does not signify dates of persona entering/exiting an audience, we do not track this post new contact { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v2/loyalty post" } post override contact attributes permanently override a contact's attributes { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v2/loyaltycontact/override/\ uid/\ contactid post" } get override contact attributes { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v2/loyaltycontact/override/\ uid/\ contactid get" } get loyalty status it's sometimes useful to understand if a phone number or email is currently used as a loyalty or opted in user this is a lightweight endpoint to check using a phone number or email { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v2/loyalty/lookup/\ pii get" } put new opt in this endpoint allows you to set or update a customer’s sms opt in status it does not create a new contact record; it only manages opt in flags for an existing or incoming phone number behavior by default, sending a phone number to this endpoint will force set the opt in state if you’d like the number to go through your double opt in flow, include the query parameter doubleopt=true if the loyalty parameter is set to false , the double opt in flow will be skipped numbers that have explicitly opted out in the past will not be re opted in via this endpoint notes use this endpoint only for managing opt in status if you need to create new contacts, we suggest uploading a csv, see bulk import personas docid\ u53udjgtlb rkaqpjcfck { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v2/optin/text/\ phone/\ status put" } put adjust persona points { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v1 1/adjust/loyaltypoints/\ uid/\ contactid put" } get points adjustments { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v1 1/adjustments/\ uid/\ start/\ end get" } get persona by source id { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v1 1/piis/\ uid/bysrcid/\ srcid get" } post/put/get custom attributes for a persona add an array of custom attributes to a persona { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v1 1/contact/traits/\ uid/\ contactid post,/api/v1 1/contact/traits/\ uid/\ contactid get,/api/v1 1/contact/traits/\ uid/\ contactid put" } get personas orders { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v1 1/contact/orders/\ uid/\ contactid get" } get personas points timeline { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v1 1/contact/loyaltypoints/timeline/\ uid/\ contactid get" } get personas predicted top products returns the products a contact will most likely be interested in, ranked in order { "headers" \[], "jsonfilelocation" "https //lab alpineiq com/api/v1/swagger?filter=/api/v2/contact/recommendations/\ contactid get" }