2025/06/09 - Amazon Connect Customer Profiles - 5 new11 updated api methods
Changes This release introduces capability of Profile Explorer, using correct ingestion timestamp & using historical data for computing calculated attributes, and new standard objects for T&H as part of Amazon Connect Customer Profiles service.
Lists the existing layouts that can be used to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.
See also: AWS API Documentation
Request Syntax
client.list_domain_layouts( DomainName='string', NextToken='string', MaxResults=123 )
string
[REQUIRED]
The unique name of the domain.
string
Identifies the next page of results to return.
integer
The maximum number of objects returned per page.
dict
Response Syntax
{ 'Items': [ { 'LayoutDefinitionName': 'string', 'Description': 'string', 'DisplayName': 'string', 'IsDefault': True|False, 'LayoutType': 'PROFILE_EXPLORER', 'Tags': { 'string': 'string' }, 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1) }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Items (list) --
Contains summary information about an EventStream.
(dict) --
The layout object that contains LayoutDefinitionName, Description, DisplayName, IsDefault, LayoutType, Tags, CreatedAt, LastUpdatedAt
LayoutDefinitionName (string) --
The unique name of the layout.
Description (string) --
The description of the layout
DisplayName (string) --
The display name of the layout
IsDefault (boolean) --
If set to true for a layout, this layout will be used by default to view data. If set to false, then layout will not be used by default but it can be used to view data by explicit selection on UI.
LayoutType (string) --
The type of layout that can be used to view data under customer profiles domain.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
CreatedAt (datetime) --
The timestamp of when the layout was created.
LastUpdatedAt (datetime) --
The timestamp of when the layout was most recently updated.
NextToken (string) --
Identifies the next page of results to return.
Gets the layout to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.
See also: AWS API Documentation
Request Syntax
client.get_domain_layout( DomainName='string', LayoutDefinitionName='string' )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique name of the layout.
dict
Response Syntax
{ 'LayoutDefinitionName': 'string', 'Description': 'string', 'DisplayName': 'string', 'IsDefault': True|False, 'LayoutType': 'PROFILE_EXPLORER', 'Layout': 'string', 'Version': 'string', 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
LayoutDefinitionName (string) --
The unique name of the layout.
Description (string) --
The description of the layout
DisplayName (string) --
The display name of the layout
IsDefault (boolean) --
If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.
LayoutType (string) --
The type of layout that can be used to view data under a Customer Profiles domain.
Layout (string) --
A customizable layout that can be used to view data under a Customer Profiles domain.
Version (string) --
The version used to create layout.
CreatedAt (datetime) --
The timestamp of when the layout was created.
LastUpdatedAt (datetime) --
The timestamp of when the layout was most recently updated.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
Creates the layout to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.
See also: AWS API Documentation
Request Syntax
client.create_domain_layout( DomainName='string', LayoutDefinitionName='string', Description='string', DisplayName='string', IsDefault=True|False, LayoutType='PROFILE_EXPLORER', Layout='string', Tags={ 'string': 'string' } )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique name of the layout.
string
[REQUIRED]
The description of the layout
string
[REQUIRED]
The display name of the layout
boolean
If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.
string
[REQUIRED]
The type of layout that can be used to view data under a Customer Profiles domain.
string
[REQUIRED]
A customizable layout that can be used to view data under a Customer Profiles domain.
dict
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
dict
Response Syntax
{ 'LayoutDefinitionName': 'string', 'Description': 'string', 'DisplayName': 'string', 'IsDefault': True|False, 'LayoutType': 'PROFILE_EXPLORER', 'Layout': 'string', 'Version': 'string', 'Tags': { 'string': 'string' }, 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1) }
Response Structure
(dict) --
LayoutDefinitionName (string) --
The unique name of the layout.
Description (string) --
The description of the layout
DisplayName (string) --
The display name of the layout
IsDefault (boolean) --
If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.
LayoutType (string) --
The type of layout that can be used to view data under customer profiles domain.
Layout (string) --
A customizable layout that can be used to view data under Customer Profiles domain.
Version (string) --
The version used to create layout.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
CreatedAt (datetime) --
The timestamp of when the layout was created.
LastUpdatedAt (datetime) --
The timestamp of when the layout was most recently updated.
Deletes the layout used to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.
See also: AWS API Documentation
Request Syntax
client.delete_domain_layout( DomainName='string', LayoutDefinitionName='string' )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique name of the layout.
dict
Response Syntax
{ 'Message': 'string' }
Response Structure
(dict) --
Message (string) --
A message that indicates the delete request is done.
Updates the layout used to view data for a specific domain. This API can only be invoked from the Amazon Connect admin website.
See also: AWS API Documentation
Request Syntax
client.update_domain_layout( DomainName='string', LayoutDefinitionName='string', Description='string', DisplayName='string', IsDefault=True|False, LayoutType='PROFILE_EXPLORER', Layout='string' )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique name of the layout.
string
The description of the layout
string
The display name of the layout
boolean
If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.
string
The type of layout that can be used to view data under a Customer Profiles domain.
string
A customizable layout that can be used to view data under a Customer Profiles domain.
dict
Response Syntax
{ 'LayoutDefinitionName': 'string', 'Description': 'string', 'DisplayName': 'string', 'IsDefault': True|False, 'LayoutType': 'PROFILE_EXPLORER', 'Layout': 'string', 'Version': 'string', 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
LayoutDefinitionName (string) --
The unique name of the layout.
Description (string) --
The description of the layout
DisplayName (string) --
The display name of the layout
IsDefault (boolean) --
If set to true for a layout, this layout will be used by default to view data. If set to false, then the layout will not be used by default, but it can be used to view data by explicitly selecting it in the console.
LayoutType (string) --
The type of layout that can be used to view data under a Customer Profiles domain.
Layout (string) --
A customizable layout that can be used to view data under a Customer Profiles domain.
Version (string) --
The version used to create layout.
CreatedAt (datetime) --
The timestamp of when the layout was created.
LastUpdatedAt (datetime) --
The timestamp of when the layout was most recently updated.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
{'CalculatedAttributeValues': {'LastObjectTimestamp': 'timestamp'}}
Fetch the possible attribute values given the attribute name.
See also: AWS API Documentation
Request Syntax
client.batch_get_calculated_attribute_for_profile( CalculatedAttributeName='string', DomainName='string', ProfileIds=[ 'string', ], ConditionOverrides={ 'Range': { 'Start': 123, 'End': 123, 'Unit': 'DAYS' } } )
string
[REQUIRED]
The unique name of the calculated attribute.
string
[REQUIRED]
The unique name of the domain.
list
[REQUIRED]
List of unique identifiers for customer profiles to retrieve.
(string) --
dict
Overrides the condition block within the original calculated attribute definition.
Range (dict) --
The relative time period over which data is included in the aggregation for this override.
Start (integer) -- [REQUIRED]
The start time of when to include objects.
End (integer) --
The end time of when to include objects.
Unit (string) -- [REQUIRED]
The unit for start and end.
dict
Response Syntax
{ 'Errors': [ { 'Code': 'string', 'Message': 'string', 'ProfileId': 'string' }, ], 'CalculatedAttributeValues': [ { 'CalculatedAttributeName': 'string', 'DisplayName': 'string', 'IsDataPartial': 'string', 'ProfileId': 'string', 'Value': 'string', 'LastObjectTimestamp': datetime(2015, 1, 1) }, ], 'ConditionOverrides': { 'Range': { 'Start': 123, 'End': 123, 'Unit': 'DAYS' } } }
Response Structure
(dict) --
Errors (list) --
List of errors for calculated attribute values that could not be retrieved.
(dict) --
Error object describing why a specific profile and calculated attribute failed.
Code (string) --
Status code for why a specific profile and calculated attribute failed.
Message (string) --
Message describing why a specific profile and calculated attribute failed.
ProfileId (string) --
The profile id that failed.
CalculatedAttributeValues (list) --
List of calculated attribute values retrieved.
(dict) --
The object containing the values of a single calculated attribute value.
CalculatedAttributeName (string) --
The unique name of the calculated attribute.
DisplayName (string) --
The display name of the calculated attribute.
IsDataPartial (string) --
Indicates whether the calculated attribute's value is based on partial data. If the data is partial, it is set to true.
ProfileId (string) --
The profile id belonging to this calculated attribute value.
Value (string) --
The value of the calculated attribute.
LastObjectTimestamp (datetime) --
The timestamp of the newest object included in the calculated attribute calculation.
ConditionOverrides (dict) --
Overrides the condition block within the original calculated attribute definition.
Range (dict) --
The relative time period over which data is included in the aggregation for this override.
Start (integer) --
The start time of when to include objects.
End (integer) --
The end time of when to include objects.
Unit (string) --
The unit for start and end.
{'Conditions': {'Range': {'TimestampFormat': 'string', 'TimestampSource': 'string', 'ValueRange': {'End': 'integer', 'Start': 'integer'}}}, 'UseHistoricalData': 'boolean'}Response
{'Conditions': {'Range': {'TimestampFormat': 'string', 'TimestampSource': 'string', 'ValueRange': {'End': 'integer', 'Start': 'integer'}}}, 'Readiness': {'Message': 'string', 'ProgressPercentage': 'integer'}, 'Status': 'PREPARING | IN_PROGRESS | COMPLETED | FAILED', 'UseHistoricalData': 'boolean'}
Creates a new calculated attribute definition. After creation, new object data ingested into Customer Profiles will be included in the calculated attribute, which can be retrieved for a profile using the GetCalculatedAttributeForProfile API. Defining a calculated attribute makes it available for all profiles within a domain. Each calculated attribute can only reference one ObjectType and at most, two fields from that ObjectType.
See also: AWS API Documentation
Request Syntax
client.create_calculated_attribute_definition( DomainName='string', CalculatedAttributeName='string', DisplayName='string', Description='string', AttributeDetails={ 'Attributes': [ { 'Name': 'string' }, ], 'Expression': 'string' }, Conditions={ 'Range': { 'Value': 123, 'Unit': 'DAYS', 'ValueRange': { 'Start': 123, 'End': 123 }, 'TimestampSource': 'string', 'TimestampFormat': 'string' }, 'ObjectCount': 123, 'Threshold': { 'Value': 'string', 'Operator': 'EQUAL_TO'|'GREATER_THAN'|'LESS_THAN'|'NOT_EQUAL_TO' } }, Filter={ 'Include': 'ALL'|'ANY'|'NONE', 'Groups': [ { 'Type': 'ALL'|'ANY'|'NONE', 'Dimensions': [ { 'Attributes': { 'string': { 'DimensionType': 'INCLUSIVE'|'EXCLUSIVE'|'CONTAINS'|'BEGINS_WITH'|'ENDS_WITH'|'BEFORE'|'AFTER'|'BETWEEN'|'NOT_BETWEEN'|'ON'|'GREATER_THAN'|'LESS_THAN'|'GREATER_THAN_OR_EQUAL'|'LESS_THAN_OR_EQUAL'|'EQUAL', 'Values': [ 'string', ] } } }, ] }, ] }, Statistic='FIRST_OCCURRENCE'|'LAST_OCCURRENCE'|'COUNT'|'SUM'|'MINIMUM'|'MAXIMUM'|'AVERAGE'|'MAX_OCCURRENCE', UseHistoricalData=True|False, Tags={ 'string': 'string' } )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique name of the calculated attribute.
string
The display name of the calculated attribute.
string
The description of the calculated attribute.
dict
[REQUIRED]
Mathematical expression and a list of attribute items specified in that expression.
Attributes (list) -- [REQUIRED]
A list of attribute items specified in the mathematical expression.
(dict) --
The details of a single attribute item specified in the mathematical expression.
Name (string) -- [REQUIRED]
The name of an attribute defined in a profile object type.
Expression (string) -- [REQUIRED]
Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of "{ObjectTypeName.AttributeName}".
dict
The conditions including range, object count, and threshold for the calculated attribute.
Range (dict) --
The relative time period over which data is included in the aggregation.
Value (integer) --
The amount of time of the specified unit.
Unit (string) --
The unit of time.
ValueRange (dict) --
A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.
Start (integer) -- [REQUIRED]
The start time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
End (integer) -- [REQUIRED]
The end time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
TimestampSource (string) --
An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of "{ObjectTypeName.<Location of timestamp field in JSON pointer format>}". E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "1737587945945"}}, then TimestampSource should be "{MyType.generatedAt.timestamp}".
TimestampFormat (string) --
The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}}, then TimestampFormat should be "ISO_8601".
ObjectCount (integer) --
The number of profile objects used for the calculated attribute.
Threshold (dict) --
The threshold for the calculated attribute.
Value (string) -- [REQUIRED]
The value of the threshold.
Operator (string) -- [REQUIRED]
The operator of the threshold.
dict
Defines how to filter incoming objects to include part of the Calculated Attribute.
Include (string) -- [REQUIRED]
Define whether to include or exclude objects for Calculated Attributed calculation that fit the filter groups criteria.
Groups (list) -- [REQUIRED]
Holds the list of Filter groups within the Filter definition.
(dict) --
Object that holds the dimensions to filter on.
Type (string) -- [REQUIRED]
The type of logical relationship between the dimensions of the Filter group.
Dimensions (list) -- [REQUIRED]
Object that holds the attributes to filter on.
(dict) --
Contains the map of attribute names to attribute dimensions.
Attributes (dict) -- [REQUIRED]
Is the attribute within the FilterDimension map
(string) --
(dict) --
Object that defines how to filter the incoming objects for the calculated attribute.
DimensionType (string) -- [REQUIRED]
The action to filter with.
Values (list) -- [REQUIRED]
The values to apply the DimensionType on.
(string) --
string
[REQUIRED]
The aggregation operation to perform for the calculated attribute.
boolean
Whether historical data ingested before the Calculated Attribute was created should be included in calculations.
dict
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
dict
Response Syntax
{ 'CalculatedAttributeName': 'string', 'DisplayName': 'string', 'Description': 'string', 'AttributeDetails': { 'Attributes': [ { 'Name': 'string' }, ], 'Expression': 'string' }, 'Conditions': { 'Range': { 'Value': 123, 'Unit': 'DAYS', 'ValueRange': { 'Start': 123, 'End': 123 }, 'TimestampSource': 'string', 'TimestampFormat': 'string' }, 'ObjectCount': 123, 'Threshold': { 'Value': 'string', 'Operator': 'EQUAL_TO'|'GREATER_THAN'|'LESS_THAN'|'NOT_EQUAL_TO' } }, 'Filter': { 'Include': 'ALL'|'ANY'|'NONE', 'Groups': [ { 'Type': 'ALL'|'ANY'|'NONE', 'Dimensions': [ { 'Attributes': { 'string': { 'DimensionType': 'INCLUSIVE'|'EXCLUSIVE'|'CONTAINS'|'BEGINS_WITH'|'ENDS_WITH'|'BEFORE'|'AFTER'|'BETWEEN'|'NOT_BETWEEN'|'ON'|'GREATER_THAN'|'LESS_THAN'|'GREATER_THAN_OR_EQUAL'|'LESS_THAN_OR_EQUAL'|'EQUAL', 'Values': [ 'string', ] } } }, ] }, ] }, 'Statistic': 'FIRST_OCCURRENCE'|'LAST_OCCURRENCE'|'COUNT'|'SUM'|'MINIMUM'|'MAXIMUM'|'AVERAGE'|'MAX_OCCURRENCE', 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'UseHistoricalData': True|False, 'Status': 'PREPARING'|'IN_PROGRESS'|'COMPLETED'|'FAILED', 'Readiness': { 'ProgressPercentage': 123, 'Message': 'string' }, 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
CalculatedAttributeName (string) --
The unique name of the calculated attribute.
DisplayName (string) --
The display name of the calculated attribute.
Description (string) --
The description of the calculated attribute.
AttributeDetails (dict) --
Mathematical expression and a list of attribute items specified in that expression.
Attributes (list) --
A list of attribute items specified in the mathematical expression.
(dict) --
The details of a single attribute item specified in the mathematical expression.
Name (string) --
The name of an attribute defined in a profile object type.
Expression (string) --
Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of "{ObjectTypeName.AttributeName}".
Conditions (dict) --
The conditions including range, object count, and threshold for the calculated attribute.
Range (dict) --
The relative time period over which data is included in the aggregation.
Value (integer) --
The amount of time of the specified unit.
Unit (string) --
The unit of time.
ValueRange (dict) --
A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.
Start (integer) --
The start time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
End (integer) --
The end time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
TimestampSource (string) --
An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of "{ObjectTypeName.<Location of timestamp field in JSON pointer format>}". E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "1737587945945"}}, then TimestampSource should be "{MyType.generatedAt.timestamp}".
TimestampFormat (string) --
The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}}, then TimestampFormat should be "ISO_8601".
ObjectCount (integer) --
The number of profile objects used for the calculated attribute.
Threshold (dict) --
The threshold for the calculated attribute.
Value (string) --
The value of the threshold.
Operator (string) --
The operator of the threshold.
Filter (dict) --
The filter that was used as part of the request.
Include (string) --
Define whether to include or exclude objects for Calculated Attributed calculation that fit the filter groups criteria.
Groups (list) --
Holds the list of Filter groups within the Filter definition.
(dict) --
Object that holds the dimensions to filter on.
Type (string) --
The type of logical relationship between the dimensions of the Filter group.
Dimensions (list) --
Object that holds the attributes to filter on.
(dict) --
Contains the map of attribute names to attribute dimensions.
Attributes (dict) --
Is the attribute within the FilterDimension map
(string) --
(dict) --
Object that defines how to filter the incoming objects for the calculated attribute.
DimensionType (string) --
The action to filter with.
Values (list) --
The values to apply the DimensionType on.
(string) --
Statistic (string) --
The aggregation operation to perform for the calculated attribute.
CreatedAt (datetime) --
The timestamp of when the calculated attribute definition was created.
LastUpdatedAt (datetime) --
The timestamp of when the calculated attribute definition was most recently edited.
UseHistoricalData (boolean) --
Whether historical data ingested before the Calculated Attribute was created should be included in calculations.
Status (string) --
Status of the Calculated Attribute creation (whether all historical data has been indexed.)
Readiness (dict) --
Information indicating if the Calculated Attribute is ready for use by confirming all historical data has been processed and reflected.
ProgressPercentage (integer) --
Approximately how far the Calculated Attribute creation is from completion.
Message (string) --
Any customer messaging.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
{'DetectedProfileObjectTypes': {'Keys': {'StandardIdentifiers': {'AIR_BOOKING', 'AIR_PREFERENCE', 'AIR_SEGMENT', 'HOTEL_PREFERENCE', 'HOTEL_RESERVATION', 'HOTEL_STAY_REVENUE', 'LOYALTY', 'LOYALTY_PROMOTION', 'LOYALTY_TRANSACTION'}}}}
The process of detecting profile object type mapping by using given objects.
See also: AWS API Documentation
Request Syntax
client.detect_profile_object_type( Objects=[ 'string', ], DomainName='string' )
list
[REQUIRED]
A string that is serialized from a JSON object.
(string) --
string
[REQUIRED]
The unique name of the domain.
dict
Response Syntax
{ 'DetectedProfileObjectTypes': [ { 'SourceLastUpdatedTimestampFormat': 'string', 'Fields': { 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, 'Keys': { 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'ORDER'|'COMMUNICATION_RECORD'|'AIR_PREFERENCE'|'HOTEL_PREFERENCE'|'AIR_BOOKING'|'AIR_SEGMENT'|'HOTEL_RESERVATION'|'HOTEL_STAY_REVENUE'|'LOYALTY'|'LOYALTY_TRANSACTION'|'LOYALTY_PROMOTION'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] } }, ] }
Response Structure
(dict) --
DetectedProfileObjectTypes (list) --
Detected ProfileObjectType mappings from given objects. A maximum of one mapping is supported.
(dict) --
Contains ProfileObjectType mapping information from the model.
SourceLastUpdatedTimestampFormat (string) --
The format of sourceLastUpdatedTimestamp that was detected in fields.
Fields (dict) --
A map of the name and the ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
Keys (dict) --
A list of unique keys that can be used to map data to a profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
{'Conditions': {'Range': {'TimestampFormat': 'string', 'TimestampSource': 'string', 'ValueRange': {'End': 'integer', 'Start': 'integer'}}}, 'Readiness': {'Message': 'string', 'ProgressPercentage': 'integer'}, 'Status': 'PREPARING | IN_PROGRESS | COMPLETED | FAILED', 'UseHistoricalData': 'boolean'}
Provides more information on a calculated attribute definition for Customer Profiles.
See also: AWS API Documentation
Request Syntax
client.get_calculated_attribute_definition( DomainName='string', CalculatedAttributeName='string' )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique name of the calculated attribute.
dict
Response Syntax
{ 'CalculatedAttributeName': 'string', 'DisplayName': 'string', 'Description': 'string', 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'Statistic': 'FIRST_OCCURRENCE'|'LAST_OCCURRENCE'|'COUNT'|'SUM'|'MINIMUM'|'MAXIMUM'|'AVERAGE'|'MAX_OCCURRENCE', 'Filter': { 'Include': 'ALL'|'ANY'|'NONE', 'Groups': [ { 'Type': 'ALL'|'ANY'|'NONE', 'Dimensions': [ { 'Attributes': { 'string': { 'DimensionType': 'INCLUSIVE'|'EXCLUSIVE'|'CONTAINS'|'BEGINS_WITH'|'ENDS_WITH'|'BEFORE'|'AFTER'|'BETWEEN'|'NOT_BETWEEN'|'ON'|'GREATER_THAN'|'LESS_THAN'|'GREATER_THAN_OR_EQUAL'|'LESS_THAN_OR_EQUAL'|'EQUAL', 'Values': [ 'string', ] } } }, ] }, ] }, 'Conditions': { 'Range': { 'Value': 123, 'Unit': 'DAYS', 'ValueRange': { 'Start': 123, 'End': 123 }, 'TimestampSource': 'string', 'TimestampFormat': 'string' }, 'ObjectCount': 123, 'Threshold': { 'Value': 'string', 'Operator': 'EQUAL_TO'|'GREATER_THAN'|'LESS_THAN'|'NOT_EQUAL_TO' } }, 'AttributeDetails': { 'Attributes': [ { 'Name': 'string' }, ], 'Expression': 'string' }, 'UseHistoricalData': True|False, 'Status': 'PREPARING'|'IN_PROGRESS'|'COMPLETED'|'FAILED', 'Readiness': { 'ProgressPercentage': 123, 'Message': 'string' }, 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
CalculatedAttributeName (string) --
The unique name of the calculated attribute.
DisplayName (string) --
The display name of the calculated attribute.
Description (string) --
The description of the calculated attribute.
CreatedAt (datetime) --
The timestamp of when the calculated attribute definition was created.
LastUpdatedAt (datetime) --
The timestamp of when the calculated attribute definition was most recently edited.
Statistic (string) --
The aggregation operation to perform for the calculated attribute.
Filter (dict) --
The filter assigned to this calculated attribute definition.
Include (string) --
Define whether to include or exclude objects for Calculated Attributed calculation that fit the filter groups criteria.
Groups (list) --
Holds the list of Filter groups within the Filter definition.
(dict) --
Object that holds the dimensions to filter on.
Type (string) --
The type of logical relationship between the dimensions of the Filter group.
Dimensions (list) --
Object that holds the attributes to filter on.
(dict) --
Contains the map of attribute names to attribute dimensions.
Attributes (dict) --
Is the attribute within the FilterDimension map
(string) --
(dict) --
Object that defines how to filter the incoming objects for the calculated attribute.
DimensionType (string) --
The action to filter with.
Values (list) --
The values to apply the DimensionType on.
(string) --
Conditions (dict) --
The conditions including range, object count, and threshold for the calculated attribute.
Range (dict) --
The relative time period over which data is included in the aggregation.
Value (integer) --
The amount of time of the specified unit.
Unit (string) --
The unit of time.
ValueRange (dict) --
A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.
Start (integer) --
The start time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
End (integer) --
The end time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
TimestampSource (string) --
An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of "{ObjectTypeName.<Location of timestamp field in JSON pointer format>}". E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "1737587945945"}}, then TimestampSource should be "{MyType.generatedAt.timestamp}".
TimestampFormat (string) --
The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}}, then TimestampFormat should be "ISO_8601".
ObjectCount (integer) --
The number of profile objects used for the calculated attribute.
Threshold (dict) --
The threshold for the calculated attribute.
Value (string) --
The value of the threshold.
Operator (string) --
The operator of the threshold.
AttributeDetails (dict) --
Mathematical expression and a list of attribute items specified in that expression.
Attributes (list) --
A list of attribute items specified in the mathematical expression.
(dict) --
The details of a single attribute item specified in the mathematical expression.
Name (string) --
The name of an attribute defined in a profile object type.
Expression (string) --
Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of "{ObjectTypeName.AttributeName}".
UseHistoricalData (boolean) --
Whether historical data ingested before the Calculated Attribute was created should be included in calculations.
Status (string) --
Status of the Calculated Attribute creation (whether all historical data has been indexed).
Readiness (dict) --
Information indicating if the Calculated Attribute is ready for use by confirming all historical data has been processed and reflected.
ProgressPercentage (integer) --
Approximately how far the Calculated Attribute creation is from completion.
Message (string) --
Any customer messaging.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
{'LastObjectTimestamp': 'timestamp'}
Retrieve a calculated attribute for a customer profile.
See also: AWS API Documentation
Request Syntax
client.get_calculated_attribute_for_profile( DomainName='string', ProfileId='string', CalculatedAttributeName='string' )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique identifier of a customer profile.
string
[REQUIRED]
The unique name of the calculated attribute.
dict
Response Syntax
{ 'CalculatedAttributeName': 'string', 'DisplayName': 'string', 'IsDataPartial': 'string', 'Value': 'string', 'LastObjectTimestamp': datetime(2015, 1, 1) }
Response Structure
(dict) --
CalculatedAttributeName (string) --
The unique name of the calculated attribute.
DisplayName (string) --
The display name of the calculated attribute.
IsDataPartial (string) --
Indicates whether the calculated attribute’s value is based on partial data. If data is partial, it is set to true.
Value (string) --
The value of the calculated attribute.
LastObjectTimestamp (datetime) --
The timestamp of the newest object included in the calculated attribute calculation.
{'Keys': {'StandardIdentifiers': {'AIR_BOOKING', 'AIR_PREFERENCE', 'AIR_SEGMENT', 'HOTEL_PREFERENCE', 'HOTEL_RESERVATION', 'HOTEL_STAY_REVENUE', 'LOYALTY', 'LOYALTY_PROMOTION', 'LOYALTY_TRANSACTION'}}}
Returns the object types for a specific domain.
See also: AWS API Documentation
Request Syntax
client.get_profile_object_type( DomainName='string', ObjectTypeName='string' )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The name of the profile object type.
dict
Response Syntax
{ 'ObjectTypeName': 'string', 'Description': 'string', 'TemplateId': 'string', 'ExpirationDays': 123, 'EncryptionKey': 'string', 'AllowProfileCreation': True|False, 'SourceLastUpdatedTimestampFormat': 'string', 'MaxAvailableProfileObjectCount': 123, 'MaxProfileObjectCount': 123, 'Fields': { 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, 'Keys': { 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'ORDER'|'COMMUNICATION_RECORD'|'AIR_PREFERENCE'|'HOTEL_PREFERENCE'|'AIR_BOOKING'|'AIR_SEGMENT'|'HOTEL_RESERVATION'|'HOTEL_STAY_REVENUE'|'LOYALTY'|'LOYALTY_TRANSACTION'|'LOYALTY_PROMOTION'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] }, 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
ObjectTypeName (string) --
The name of the profile object type.
Description (string) --
The description of the profile object type.
TemplateId (string) --
A unique identifier for the object template.
ExpirationDays (integer) --
The number of days until the data in the object expires.
EncryptionKey (string) --
The customer-provided key to encrypt the profile object that will be created in this profile object type.
AllowProfileCreation (boolean) --
Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE. If the AllowProfileCreation flag is set to FALSE, then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE, and if no match is found, then the service creates a new standard profile.
SourceLastUpdatedTimestampFormat (string) --
The format of your sourceLastUpdatedTimestamp that was previously set up.
MaxAvailableProfileObjectCount (integer) --
The amount of provisioned profile object max count available.
MaxProfileObjectCount (integer) --
The amount of profile object max count assigned to the object type.
Fields (dict) --
A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
Keys (dict) --
A list of unique keys that can be used to map data to the profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
CreatedAt (datetime) --
The timestamp of when the domain was created.
LastUpdatedAt (datetime) --
The timestamp of when the domain was most recently edited.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
{'Keys': {'StandardIdentifiers': {'AIR_BOOKING', 'AIR_PREFERENCE', 'AIR_SEGMENT', 'HOTEL_PREFERENCE', 'HOTEL_RESERVATION', 'HOTEL_STAY_REVENUE', 'LOYALTY', 'LOYALTY_PROMOTION', 'LOYALTY_TRANSACTION'}}}
Returns the template information for a specific object type.
A template is a predefined ProfileObjectType, such as “Salesforce-Account” or “Salesforce-Contact.” When a user sends a ProfileObject, using the PutProfileObject API, with an ObjectTypeName that matches one of the TemplateIds, it uses the mappings from the template.
See also: AWS API Documentation
Request Syntax
client.get_profile_object_type_template( TemplateId='string' )
string
[REQUIRED]
A unique identifier for the object template.
dict
Response Syntax
{ 'TemplateId': 'string', 'SourceName': 'string', 'SourceObject': 'string', 'AllowProfileCreation': True|False, 'SourceLastUpdatedTimestampFormat': 'string', 'Fields': { 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, 'Keys': { 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'ORDER'|'COMMUNICATION_RECORD'|'AIR_PREFERENCE'|'HOTEL_PREFERENCE'|'AIR_BOOKING'|'AIR_SEGMENT'|'HOTEL_RESERVATION'|'HOTEL_STAY_REVENUE'|'LOYALTY'|'LOYALTY_TRANSACTION'|'LOYALTY_PROMOTION'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] } }
Response Structure
(dict) --
TemplateId (string) --
A unique identifier for the object template.
SourceName (string) --
The name of the source of the object template.
SourceObject (string) --
The source of the object template.
AllowProfileCreation (boolean) --
Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE. If the AllowProfileCreation flag is set to FALSE, then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE, and if no match is found, then the service creates a new standard profile.
SourceLastUpdatedTimestampFormat (string) --
The format of your sourceLastUpdatedTimestamp that was previously set up.
Fields (dict) --
A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
Keys (dict) --
A list of unique keys that can be used to map data to the profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
{'Items': {'Status': 'PREPARING | IN_PROGRESS | COMPLETED | FAILED', 'UseHistoricalData': 'boolean'}}
Lists calculated attribute definitions for Customer Profiles
See also: AWS API Documentation
Request Syntax
client.list_calculated_attribute_definitions( DomainName='string', NextToken='string', MaxResults=123 )
string
[REQUIRED]
The unique name of the domain.
string
The pagination token from the previous call to ListCalculatedAttributeDefinitions.
integer
The maximum number of calculated attribute definitions returned per page.
dict
Response Syntax
{ 'Items': [ { 'CalculatedAttributeName': 'string', 'DisplayName': 'string', 'Description': 'string', 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'UseHistoricalData': True|False, 'Status': 'PREPARING'|'IN_PROGRESS'|'COMPLETED'|'FAILED', 'Tags': { 'string': 'string' } }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Items (list) --
The list of calculated attribute definitions.
(dict) --
The details of a single calculated attribute definition.
CalculatedAttributeName (string) --
The unique name of the calculated attribute.
DisplayName (string) --
The display name of the calculated attribute.
Description (string) --
The threshold for the calculated attribute.
CreatedAt (datetime) --
The threshold for the calculated attribute.
LastUpdatedAt (datetime) --
The timestamp of when the calculated attribute definition was most recently edited.
UseHistoricalData (boolean) --
Whether historical data ingested before the Calculated Attribute was created should be included in calculations.
Status (string) --
Status of the Calculated Attribute creation (whether all historical data has been indexed.)
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
NextToken (string) --
The pagination token from the previous call to ListCalculatedAttributeDefinitions.
{'Items': {'LastObjectTimestamp': 'timestamp'}}
Retrieve a list of calculated attributes for a customer profile.
See also: AWS API Documentation
Request Syntax
client.list_calculated_attributes_for_profile( NextToken='string', MaxResults=123, DomainName='string', ProfileId='string' )
string
The pagination token from the previous call to ListCalculatedAttributesForProfile.
integer
The maximum number of calculated attributes returned per page.
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique identifier of a customer profile.
dict
Response Syntax
{ 'Items': [ { 'CalculatedAttributeName': 'string', 'DisplayName': 'string', 'IsDataPartial': 'string', 'Value': 'string', 'LastObjectTimestamp': datetime(2015, 1, 1) }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Items (list) --
The list of calculated attributes.
(dict) --
The details of a single calculated attribute for a profile.
CalculatedAttributeName (string) --
The unique name of the calculated attribute.
DisplayName (string) --
The display name of the calculated attribute.
IsDataPartial (string) --
Indicates whether the calculated attribute’s value is based on partial data. If data is partial, it is set to true.
Value (string) --
The value of the calculated attribute.
LastObjectTimestamp (datetime) --
The timestamp of the newest object included in the calculated attribute calculation.
NextToken (string) --
The pagination token from the previous call to ListCalculatedAttributesForProfile.
{'Keys': {'StandardIdentifiers': {'AIR_BOOKING', 'AIR_PREFERENCE', 'AIR_SEGMENT', 'HOTEL_PREFERENCE', 'HOTEL_RESERVATION', 'HOTEL_STAY_REVENUE', 'LOYALTY', 'LOYALTY_PROMOTION', 'LOYALTY_TRANSACTION'}}}
Defines a ProfileObjectType.
To add or remove tags on an existing ObjectType, see TagResource/ UntagResource.
See also: AWS API Documentation
Request Syntax
client.put_profile_object_type( DomainName='string', ObjectTypeName='string', Description='string', TemplateId='string', ExpirationDays=123, EncryptionKey='string', AllowProfileCreation=True|False, SourceLastUpdatedTimestampFormat='string', MaxProfileObjectCount=123, Fields={ 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, Keys={ 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'ORDER'|'COMMUNICATION_RECORD'|'AIR_PREFERENCE'|'HOTEL_PREFERENCE'|'AIR_BOOKING'|'AIR_SEGMENT'|'HOTEL_RESERVATION'|'HOTEL_STAY_REVENUE'|'LOYALTY'|'LOYALTY_TRANSACTION'|'LOYALTY_PROMOTION'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] }, Tags={ 'string': 'string' } )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The name of the profile object type.
string
[REQUIRED]
Description of the profile object type.
string
A unique identifier for the object template. For some attributes in the request, the service will use the default value from the object template when TemplateId is present. If these attributes are present in the request, the service may return a BadRequestException. These attributes include: AllowProfileCreation, SourceLastUpdatedTimestampFormat, Fields, and Keys. For example, if AllowProfileCreation is set to true when TemplateId is set, the service may return a BadRequestException.
integer
The number of days until the data in the object expires.
string
The customer-provided key to encrypt the profile object that will be created in this profile object type.
boolean
Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE. If the AllowProfileCreation flag is set to FALSE, then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE, and if no match is found, then the service creates a new standard profile.
string
The format of your sourceLastUpdatedTimestamp that was previously set up.
integer
The amount of profile object max count assigned to the object type
dict
A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
dict
A list of unique keys that can be used to map data to the profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
dict
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
dict
Response Syntax
{ 'ObjectTypeName': 'string', 'Description': 'string', 'TemplateId': 'string', 'ExpirationDays': 123, 'EncryptionKey': 'string', 'AllowProfileCreation': True|False, 'SourceLastUpdatedTimestampFormat': 'string', 'MaxProfileObjectCount': 123, 'MaxAvailableProfileObjectCount': 123, 'Fields': { 'string': { 'Source': 'string', 'Target': 'string', 'ContentType': 'STRING'|'NUMBER'|'PHONE_NUMBER'|'EMAIL_ADDRESS'|'NAME' } }, 'Keys': { 'string': [ { 'StandardIdentifiers': [ 'PROFILE'|'ASSET'|'CASE'|'ORDER'|'COMMUNICATION_RECORD'|'AIR_PREFERENCE'|'HOTEL_PREFERENCE'|'AIR_BOOKING'|'AIR_SEGMENT'|'HOTEL_RESERVATION'|'HOTEL_STAY_REVENUE'|'LOYALTY'|'LOYALTY_TRANSACTION'|'LOYALTY_PROMOTION'|'UNIQUE'|'SECONDARY'|'LOOKUP_ONLY'|'NEW_ONLY', ], 'FieldNames': [ 'string', ] }, ] }, 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
ObjectTypeName (string) --
The name of the profile object type.
Description (string) --
Description of the profile object type.
TemplateId (string) --
A unique identifier for the object template.
ExpirationDays (integer) --
The number of days until the data in the object expires.
EncryptionKey (string) --
The customer-provided key to encrypt the profile object that will be created in this profile object type.
AllowProfileCreation (boolean) --
Indicates whether a profile should be created when data is received if one doesn’t exist for an object of this type. The default is FALSE. If the AllowProfileCreation flag is set to FALSE, then the service tries to fetch a standard profile and associate this object with the profile. If it is set to TRUE, and if no match is found, then the service creates a new standard profile.
SourceLastUpdatedTimestampFormat (string) --
The format of your sourceLastUpdatedTimestamp that was previously set up in fields that were parsed using SimpleDateFormat. If you have sourceLastUpdatedTimestamp in your field, you must set up sourceLastUpdatedTimestampFormat.
MaxProfileObjectCount (integer) --
The amount of profile object max count assigned to the object type.
MaxAvailableProfileObjectCount (integer) --
The amount of provisioned profile object max count available.
Fields (dict) --
A map of the name and ObjectType field.
(string) --
(dict) --
Represents a field in a ProfileObjectType.
Source (string) --
A field of a ProfileObject. For example: _source.FirstName, where “_source” is a ProfileObjectType of a Zendesk user and “FirstName” is a field in that ObjectType.
Target (string) --
The location of the data in the standard ProfileObject model. For example: _profile.Address.PostalCode.
ContentType (string) --
The content type of the field. Used for determining equality when searching.
Keys (dict) --
A list of unique keys that can be used to map data to the profile.
(string) --
(list) --
(dict) --
An object that defines the Key element of a ProfileObject. A Key is a special element that can be used to search for a customer profile.
StandardIdentifiers (list) --
The types of keys that a ProfileObject can have. Each ProfileObject can have only 1 UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the profile does not already exist before the object is ingested, otherwise it is only used for matching objects to profiles.
(string) --
FieldNames (list) --
The reference for the key name of the fields map.
(string) --
CreatedAt (datetime) --
The timestamp of when the domain was created.
LastUpdatedAt (datetime) --
The timestamp of when the domain was most recently edited.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --
{'Conditions': {'Range': {'TimestampFormat': 'string', 'TimestampSource': 'string', 'ValueRange': {'End': 'integer', 'Start': 'integer'}}}}Response
{'Conditions': {'Range': {'TimestampFormat': 'string', 'TimestampSource': 'string', 'ValueRange': {'End': 'integer', 'Start': 'integer'}}}, 'Readiness': {'Message': 'string', 'ProgressPercentage': 'integer'}, 'Status': 'PREPARING | IN_PROGRESS | COMPLETED | FAILED', 'UseHistoricalData': 'boolean'}
Updates an existing calculated attribute definition. When updating the Conditions, note that increasing the date range of a calculated attribute will not trigger inclusion of historical data greater than the current date range.
See also: AWS API Documentation
Request Syntax
client.update_calculated_attribute_definition( DomainName='string', CalculatedAttributeName='string', DisplayName='string', Description='string', Conditions={ 'Range': { 'Value': 123, 'Unit': 'DAYS', 'ValueRange': { 'Start': 123, 'End': 123 }, 'TimestampSource': 'string', 'TimestampFormat': 'string' }, 'ObjectCount': 123, 'Threshold': { 'Value': 'string', 'Operator': 'EQUAL_TO'|'GREATER_THAN'|'LESS_THAN'|'NOT_EQUAL_TO' } } )
string
[REQUIRED]
The unique name of the domain.
string
[REQUIRED]
The unique name of the calculated attribute.
string
The display name of the calculated attribute.
string
The description of the calculated attribute.
dict
The conditions including range, object count, and threshold for the calculated attribute.
Range (dict) --
The relative time period over which data is included in the aggregation.
Value (integer) --
The amount of time of the specified unit.
Unit (string) --
The unit of time.
ValueRange (dict) --
A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.
Start (integer) -- [REQUIRED]
The start time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
End (integer) -- [REQUIRED]
The end time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
TimestampSource (string) --
An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of "{ObjectTypeName.<Location of timestamp field in JSON pointer format>}". E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "1737587945945"}}, then TimestampSource should be "{MyType.generatedAt.timestamp}".
TimestampFormat (string) --
The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}}, then TimestampFormat should be "ISO_8601".
ObjectCount (integer) --
The number of profile objects used for the calculated attribute.
Threshold (dict) --
The threshold for the calculated attribute.
Value (string) -- [REQUIRED]
The value of the threshold.
Operator (string) -- [REQUIRED]
The operator of the threshold.
dict
Response Syntax
{ 'CalculatedAttributeName': 'string', 'DisplayName': 'string', 'Description': 'string', 'CreatedAt': datetime(2015, 1, 1), 'LastUpdatedAt': datetime(2015, 1, 1), 'Statistic': 'FIRST_OCCURRENCE'|'LAST_OCCURRENCE'|'COUNT'|'SUM'|'MINIMUM'|'MAXIMUM'|'AVERAGE'|'MAX_OCCURRENCE', 'Conditions': { 'Range': { 'Value': 123, 'Unit': 'DAYS', 'ValueRange': { 'Start': 123, 'End': 123 }, 'TimestampSource': 'string', 'TimestampFormat': 'string' }, 'ObjectCount': 123, 'Threshold': { 'Value': 'string', 'Operator': 'EQUAL_TO'|'GREATER_THAN'|'LESS_THAN'|'NOT_EQUAL_TO' } }, 'AttributeDetails': { 'Attributes': [ { 'Name': 'string' }, ], 'Expression': 'string' }, 'UseHistoricalData': True|False, 'Status': 'PREPARING'|'IN_PROGRESS'|'COMPLETED'|'FAILED', 'Readiness': { 'ProgressPercentage': 123, 'Message': 'string' }, 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
CalculatedAttributeName (string) --
The unique name of the calculated attribute.
DisplayName (string) --
The display name of the calculated attribute.
Description (string) --
The description of the calculated attribute.
CreatedAt (datetime) --
The timestamp of when the calculated attribute definition was created.
LastUpdatedAt (datetime) --
The timestamp of when the calculated attribute definition was most recently edited.
Statistic (string) --
The aggregation operation to perform for the calculated attribute.
Conditions (dict) --
The conditions including range, object count, and threshold for the calculated attribute.
Range (dict) --
The relative time period over which data is included in the aggregation.
Value (integer) --
The amount of time of the specified unit.
Unit (string) --
The unit of time.
ValueRange (dict) --
A structure letting customers specify a relative time window over which over which data is included in the Calculated Attribute. Use positive numbers to indicate that the endpoint is in the past, and negative numbers to indicate it is in the future. ValueRange overrides Value.
Start (integer) --
The start time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
End (integer) --
The end time of when to include objects. Use positive numbers to indicate that the starting point is in the past, and negative numbers to indicate it is in the future.
TimestampSource (string) --
An expression specifying the field in your JSON object from which the date should be parsed. The expression should follow the structure of "{ObjectTypeName.<Location of timestamp field in JSON pointer format>}". E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "1737587945945"}}, then TimestampSource should be "{MyType.generatedAt.timestamp}".
TimestampFormat (string) --
The format the timestamp field in your JSON object is specified. This value should be one of EPOCHMILLI (for Unix epoch timestamps with second/millisecond level precision) or ISO_8601 (following ISO_8601 format with second/millisecond level precision, with an optional offset of Z or in the format HH:MM or HHMM.). E.g. if your object type is MyType and source JSON is {"generatedAt": {"timestamp": "2001-07-04T12:08:56.235-0700"}}, then TimestampFormat should be "ISO_8601".
ObjectCount (integer) --
The number of profile objects used for the calculated attribute.
Threshold (dict) --
The threshold for the calculated attribute.
Value (string) --
The value of the threshold.
Operator (string) --
The operator of the threshold.
AttributeDetails (dict) --
The mathematical expression and a list of attribute items specified in that expression.
Attributes (list) --
A list of attribute items specified in the mathematical expression.
(dict) --
The details of a single attribute item specified in the mathematical expression.
Name (string) --
The name of an attribute defined in a profile object type.
Expression (string) --
Mathematical expression that is performed on attribute items provided in the attribute list. Each element in the expression should follow the structure of "{ObjectTypeName.AttributeName}".
UseHistoricalData (boolean) --
Whether historical data ingested before the Calculated Attribute was created should be included in calculations.
Status (string) --
Status of the Calculated Attribute creation (whether all historical data has been indexed.)
Readiness (dict) --
Information indicating if the Calculated Attribute is ready for use by confirming all historical data has been processed and reflected.
ProgressPercentage (integer) --
Approximately how far the Calculated Attribute creation is from completion.
Message (string) --
Any customer messaging.
Tags (dict) --
The tags used to organize, track, or control access for this resource.
(string) --
(string) --