> For the complete documentation index, see [llms.txt](https://docs.mediarithmics.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mediarithmics.io/api-reference/userpoint.md).

# Userpoint

Operations related to **UserPoints**, the root node in the Datamart graph representing a unique individual with a 360° view of all connected identifiers, profiles, activities, segments, and consents. UserPoints can be **identified or anonymous**, and the platform automatically performs **identity resolution** by merging UserPoints when common identifiers are discovered, migrating all data to the survivor UserPoint.

Relevant documentation:

* [UserPoint](https://developer.mediarithmics.io/user-points)
* [Key concepts](https://userguides.mediarithmics.io/basics/key-concepts)

## GET /datamarts/{datamart\_id}/user\_points/{user\_point\_id}/quarantine\_status

> Find user point quarantine status

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Userpoint","description":"Operations related to **UserPoints**, the root node in the Datamart graph representing a unique individual with a 360° view of all connected identifiers, profiles, activities, segments, and consents. UserPoints can be **identified or anonymous**, and the platform automatically performs **identity resolution** by merging UserPoints when common identifiers are discovered, migrating all data to the survivor UserPoint.\n\nRelevant documentation:\n- [UserPoint](https://developer.mediarithmics.io/user-points)\n- [Key concepts](https://userguides.mediarithmics.io/basics/key-concepts)\n"}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/datamarts/{datamart_id}/user_points/{user_point_id}/quarantine_status":{"get":{"parameters":[{"explode":false,"schema":{"type":"integer","format":"int64"},"required":true,"name":"datamart_id","style":"simple","in":"path"},{"schema":{"type":"string"},"explode":false,"required":true,"name":"user_point_id","style":"simple","in":"path"}],"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/UserPointQuarantineStatusResource"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"summary":"Find user point quarantine status","description":"","operationId":"findUserPointQuarantineStatus","tags":["Userpoint"]}}},"components":{"schemas":{"UserPointQuarantineStatusResource":{"type":"object","properties":{"datamart_id":{"format":"int64","default":0,"type":"integer","readOnly":false},"user_point_id":{"type":"string","format":"uuid","readOnly":false},"quarantined":{"type":"boolean","default":false,"readOnly":false},"hyper_point":{"type":"boolean","default":false,"readOnly":false}},"required":["datamart_id","hyper_point","quarantined","user_point_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## GET /datamarts/{datamart\_id}/user\_points/{user\_point\_identifier}/user\_profiles

> Find user profiles by user point id

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Mediarithmics most used API","description":"These operations where flagged by mediarithmics teams as most useful."},{"name":"Userpoint","description":"Operations related to **UserPoints**, the root node in the Datamart graph representing a unique individual with a 360° view of all connected identifiers, profiles, activities, segments, and consents. UserPoints can be **identified or anonymous**, and the platform automatically performs **identity resolution** by merging UserPoints when common identifiers are discovered, migrating all data to the survivor UserPoint.\n\nRelevant documentation:\n- [UserPoint](https://developer.mediarithmics.io/user-points)\n- [Key concepts](https://userguides.mediarithmics.io/basics/key-concepts)\n"}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/datamarts/{datamart_id}/user_points/{user_point_identifier}/user_profiles":{"get":{"tags":["Userpoint","Mediarithmics most used API"],"description":"","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/UserProfileResource1"}},"count":{"type":"integer"}},"required":["count","data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"findUserProfiles","summary":"Find user profiles by user point id","parameters":[{"explode":false,"in":"path","name":"datamart_id","required":true,"style":"simple","schema":{"type":"string"}},{"schema":{"$ref":"#/components/schemas/PublicUserIdentifiers"},"name":"user_point_identifier","in":"path","explode":false,"style":"simple","required":true},{"style":"form","required":false,"schema":{"type":"string"},"name":"compartment_id","explode":true,"in":"query"},{"explode":true,"in":"query","name":"is_anonymous","style":"form","required":false,"schema":{"type":"boolean","default":false}}]}}},"components":{"schemas":{"UserProfileResource1":{"type":"object","properties":{"first_name":{"type":"string","readOnly":false},"compartment_id":{"type":"string","readOnly":false},"last_name":{"type":"string","readOnly":false},"creation_date":{"$ref":"#/components/schemas/DateTime"},"is_client":{"type":"boolean","default":false,"readOnly":false},"email":{"type":"string","readOnly":false},"birth_date":{"$ref":"#/components/schemas/DateTime"},"user_account_id":{"type":"string","readOnly":false}}},"DateTime":{"type":"string","format":"date-time","description":"iso8601 date time"},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]},"PublicUserIdentifiers":{"type":"string","description":"User identifier in one of the following format : - a UUID (a.k.a userpoint id) - user_point_id=xxx where xxx is a UUID - compartment_id=xxx,user_account_id=yyy - user_agent_id=xxx - email_hash=xxx ","pattern":"^([0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}|user_point_id=[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}|compartment_id=\\d+,user_account_id=\\S+|user_account_id=\\S+(,compartment_id=\\d+)?|user_agent_id=\\S+|email_hash=\\S+)$"}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## PUT /datamarts/{datamart\_id}/user\_points/{user\_point\_identifier}/user\_profiles/compartment\_id={compartment\_id}

> Upsert user profile by user point id into specific compartement

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Mediarithmics most used API","description":"These operations where flagged by mediarithmics teams as most useful."},{"name":"Userpoint","description":"Operations related to **UserPoints**, the root node in the Datamart graph representing a unique individual with a 360° view of all connected identifiers, profiles, activities, segments, and consents. UserPoints can be **identified or anonymous**, and the platform automatically performs **identity resolution** by merging UserPoints when common identifiers are discovered, migrating all data to the survivor UserPoint.\n\nRelevant documentation:\n- [UserPoint](https://developer.mediarithmics.io/user-points)\n- [Key concepts](https://userguides.mediarithmics.io/basics/key-concepts)\n"}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/datamarts/{datamart_id}/user_points/{user_point_identifier}/user_profiles/compartment_id={compartment_id}":{"put":{"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/UserProfileResource1"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"description":"","summary":"Upsert user profile by user point id into specific compartement","requestBody":{"description":"The content filter to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileResource1"}}},"required":true},"tags":["Userpoint","Mediarithmics most used API"],"parameters":[{"in":"path","style":"simple","required":true,"schema":{"type":"string"},"explode":false,"name":"datamart_id"},{"style":"simple","explode":false,"required":true,"in":"path","name":"user_point_identifier","schema":{"$ref":"#/components/schemas/PublicUserIdentifiers"}},{"explode":false,"required":true,"style":"simple","schema":{"type":"string"},"in":"path","name":"compartment_id"},{"style":"form","in":"query","description":"Force replace (mutually exclusive with merge_objects)","required":false,"name":"force_replace","explode":true,"schema":{"type":"boolean","default":false}},{"description":"Allow deep merge of objects (mutually exclusive with force_replace)","in":"query","explode":true,"style":"form","schema":{"type":"boolean","default":false},"required":false,"name":"merge_objects"},{"in":"query","required":false,"explode":true,"style":"form","schema":{"$ref":"#/components/schemas/UpdateStrategy"},"description":"new update strategy (ignore merge_objects and force_replace)","name":"update_strategy"}],"operationId":"upsertUserProfile"}}},"components":{"schemas":{"UserProfileResource1":{"type":"object","properties":{"first_name":{"type":"string","readOnly":false},"compartment_id":{"type":"string","readOnly":false},"last_name":{"type":"string","readOnly":false},"creation_date":{"$ref":"#/components/schemas/DateTime"},"is_client":{"type":"boolean","default":false,"readOnly":false},"email":{"type":"string","readOnly":false},"birth_date":{"$ref":"#/components/schemas/DateTime"},"user_account_id":{"type":"string","readOnly":false}}},"DateTime":{"type":"string","format":"date-time","description":"iso8601 date time"},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]},"PublicUserIdentifiers":{"type":"string","description":"User identifier in one of the following format : - a UUID (a.k.a userpoint id) - user_point_id=xxx where xxx is a UUID - compartment_id=xxx,user_account_id=yyy - user_agent_id=xxx - email_hash=xxx ","pattern":"^([0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}|user_point_id=[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}|compartment_id=\\d+,user_account_id=\\S+|user_account_id=\\S+(,compartment_id=\\d+)?|user_agent_id=\\S+|email_hash=\\S+)$"},"UpdateStrategy":{"type":"string","enum":["FORCE_REPLACE","PARTIAL_UPDATE","PARTIAL_DELETE"],"readOnly":false}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## PUT /datamarts/{datamart\_id}/user\_points/{user\_point\_identifier}/user\_profiles/compartment\_id={compartment\_id}/user\_account\_id={user\_account\_id}

> Upsert user profile into specific user account id

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Mediarithmics most used API","description":"These operations where flagged by mediarithmics teams as most useful."},{"name":"Userpoint","description":"Operations related to **UserPoints**, the root node in the Datamart graph representing a unique individual with a 360° view of all connected identifiers, profiles, activities, segments, and consents. UserPoints can be **identified or anonymous**, and the platform automatically performs **identity resolution** by merging UserPoints when common identifiers are discovered, migrating all data to the survivor UserPoint.\n\nRelevant documentation:\n- [UserPoint](https://developer.mediarithmics.io/user-points)\n- [Key concepts](https://userguides.mediarithmics.io/basics/key-concepts)\n"}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/datamarts/{datamart_id}/user_points/{user_point_identifier}/user_profiles/compartment_id={compartment_id}/user_account_id={user_account_id}":{"put":{"responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]},"data":{"$ref":"#/components/schemas/UserProfileResource1"}},"required":["data","status"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"upsertUserProfileWithUserAccountId","tags":["Userpoint","Mediarithmics most used API"],"parameters":[{"explode":false,"required":true,"style":"simple","name":"datamart_id","schema":{"type":"string"},"in":"path"},{"style":"simple","schema":{"$ref":"#/components/schemas/PublicUserIdentifiers"},"required":true,"explode":false,"in":"path","name":"user_point_identifier"},{"schema":{"type":"string"},"required":true,"name":"compartment_id","style":"simple","in":"path","explode":false},{"name":"user_account_id","required":true,"style":"simple","schema":{"type":"string"},"in":"path","explode":false},{"style":"form","name":"force_replace","explode":true,"schema":{"type":"boolean","default":false},"description":"Force replace (mutually exclusive with merge_objects)","required":false,"in":"query"},{"explode":true,"name":"merge_objects","required":false,"in":"query","description":"Allow deep merge of objects (mutually exclusive with force_replace)","schema":{"type":"boolean","default":false},"style":"form"},{"required":false,"description":"new update strategy (ignore merge_objects and force_replace)","style":"form","name":"update_strategy","schema":{"$ref":"#/components/schemas/UpdateStrategy"},"in":"query","explode":true}],"description":"","summary":"Upsert user profile into specific user account id","requestBody":{"description":"The content filter to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileResource1"}}},"required":true}}}},"components":{"schemas":{"UserProfileResource1":{"type":"object","properties":{"first_name":{"type":"string","readOnly":false},"compartment_id":{"type":"string","readOnly":false},"last_name":{"type":"string","readOnly":false},"creation_date":{"$ref":"#/components/schemas/DateTime"},"is_client":{"type":"boolean","default":false,"readOnly":false},"email":{"type":"string","readOnly":false},"birth_date":{"$ref":"#/components/schemas/DateTime"},"user_account_id":{"type":"string","readOnly":false}}},"DateTime":{"type":"string","format":"date-time","description":"iso8601 date time"},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]},"PublicUserIdentifiers":{"type":"string","description":"User identifier in one of the following format : - a UUID (a.k.a userpoint id) - user_point_id=xxx where xxx is a UUID - compartment_id=xxx,user_account_id=yyy - user_agent_id=xxx - email_hash=xxx ","pattern":"^([0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}|user_point_id=[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}|compartment_id=\\d+,user_account_id=\\S+|user_account_id=\\S+(,compartment_id=\\d+)?|user_agent_id=\\S+|email_hash=\\S+)$"},"UpdateStrategy":{"type":"string","enum":["FORCE_REPLACE","PARTIAL_UPDATE","PARTIAL_DELETE"],"readOnly":false}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## GET /datamarts/{datamart\_id}/user\_points/{user\_point\_id}/logs

> Find user point log

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Userpoint","description":"Operations related to **UserPoints**, the root node in the Datamart graph representing a unique individual with a 360° view of all connected identifiers, profiles, activities, segments, and consents. UserPoints can be **identified or anonymous**, and the platform automatically performs **identity resolution** by merging UserPoints when common identifiers are discovered, migrating all data to the survivor UserPoint.\n\nRelevant documentation:\n- [UserPoint](https://developer.mediarithmics.io/user-points)\n- [Key concepts](https://userguides.mediarithmics.io/basics/key-concepts)\n"}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/datamarts/{datamart_id}/user_points/{user_point_id}/logs":{"get":{"summary":"Find user point log","parameters":[{"name":"datamart_id","schema":{"type":"integer","format":"int64"},"required":true,"style":"simple","explode":false,"in":"path"},{"explode":false,"name":"user_point_id","in":"path","style":"simple","required":true,"schema":{"type":"string"}}],"operationId":"findUserPointLogs","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"first_result":{"type":"integer"},"data":{"type":"array","items":{"$ref":"#/components/schemas/UserPointSystemLogValueResource"}},"max_results":{"type":"integer"},"status":{"type":"string","enum":["ok"]},"total":{"type":"integer"},"count":{"type":"integer"}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"tags":["Userpoint"],"description":""}}},"components":{"schemas":{"UserPointSystemLogValueResource":{"discriminator":{"propertyName":"type","mapping":{"ADD_IDENTIFIER":"#/components/schemas/UserPointSystemAddIdentifierLogResource","REMOVE_IDENTIFIER":"#/components/schemas/UserPointSystemRemoveIdentifierLogResource","MERGE_USER_POINT":"#/components/schemas/UserPointSystemMergeUserPointLogResource","NO_MERGE_USER_POINT":"#/components/schemas/UserPointSystemNoMergeUserPointLogResource"}},"oneOf":[{"$ref":"#/components/schemas/UserPointSystemAddIdentifierLogResource"},{"$ref":"#/components/schemas/UserPointSystemRemoveIdentifierLogResource"},{"$ref":"#/components/schemas/UserPointSystemMergeUserPointLogResource"},{"$ref":"#/components/schemas/UserPointSystemNoMergeUserPointLogResource"}],"properties":{"type":{"type":"string","enum":["ADD_IDENTIFIER","REMOVE_IDENTIFIER","MERGE_USER_POINT","NO_MERGE_USER_POINT"]}},"required":["type"]},"UserPointSystemAddIdentifierLogResource":{"type":"object","properties":{"identifier":{"$ref":"#/components/schemas/UserIdentifierResource"},"origin_datamart_id":{"default":0,"readOnly":false,"type":"integer","format":"int64"},"cause":{"$ref":"#/components/schemas/UserPointSystemLogCauseResource"},"subject_user_point_id":{"type":"string","format":"uuid","readOnly":false},"subject_datamart_id":{"readOnly":false,"type":"integer","format":"int64","default":0},"ts":{"type":"integer","format":"int64","default":0,"readOnly":false}},"required":["identifier","origin_datamart_id","subject_datamart_id","subject_user_point_id","ts"]},"UserIdentifierResource":{"discriminator":{"propertyName":"type","mapping":{"USER_ACCOUNT":"#/components/schemas/UserAccountIdentifierResource","USER_EMAIL":"#/components/schemas/UserEmailIdentifierResource","USER_AGENT":"#/components/schemas/UserAgentIdentifierResource"}},"oneOf":[{"$ref":"#/components/schemas/UserAccountIdentifierResource"},{"$ref":"#/components/schemas/UserEmailIdentifierResource"},{"$ref":"#/components/schemas/UserAgentIdentifierResource"}],"properties":{"type":{"type":"string","enum":["USER_ACCOUNT","USER_EMAIL","USER_AGENT"]}},"required":["type"]},"UserAccountIdentifierResource":{"type":"object","properties":{"compartment_id":{"type":"string","readOnly":false},"user_account_id":{"type":"string","readOnly":false},"expiration_ts":{"type":"integer","format":"int64","default":0,"readOnly":false}},"required":["compartment_id","user_account_id"]},"UserEmailIdentifierResource":{"type":"object","properties":{"hash":{"type":"string","readOnly":false},"email":{"type":"string","readOnly":false},"expiration_ts":{"type":"integer","format":"int64","default":0,"readOnly":false}},"required":["hash"]},"UserAgentIdentifierResource":{"type":"object","properties":{"user_agent_id":{"type":"string","readOnly":false},"expiration_ts":{"type":"integer","format":"int64","default":0,"readOnly":false}},"required":["user_agent_id"]},"UserPointSystemLogCauseResource":{"type":"object","properties":{"transaction_call_type":{"$ref":"#/components/schemas/TransactionCallType"},"activity_id":{"type":"string","format":"uuid","readOnly":false}},"required":["transaction_call_type"]},"TransactionCallType":{"type":"string","enum":["USER_ACTIVITY_SAVE","USER_ACTIVITIES_SAVE","USER_ACTIVITY_RANGE_DELETE","USER_ACTIVITIES_DELETE","USER_PLATFORM_ACTIVITY_SAVE","USER_CHOICE_UPSERT","USER_CHOICE_DELETE","USER_COMPUTED_FIELD_DELETE","USER_COMPUTED_FIELD_UPSERT","USER_COMPUTED_FIELD_STATE_DELETE","USER_COMPUTED_FIELD_STATE_UPSERT","USER_COMPUTED_FIELD_WITH_STATE_DELETE","USER_COMPUTED_FIELD_WITH_STATE_UPSERT","FIND_OR_CREATE_USER_POINT_DECLARATIVE","USER_IDENTIFIERS_ASSOCIATION_DECLARATIVE","DELETE_USER_IDENTIFIER_DECLARATIVE","DELETE_USER_POINT_DECLARATIVE","MIGRATE_USER_DEVICE_POINT_DECLARATIVE","USER_PROFILE_UPSERT_DECLARATIVE","USER_PROFILE_DELETE_DECLARATIVE","USER_ACTIVITY_SAVE_DECLARATIVE","USER_ACTIVITY_WITH_USER_IDENTIFIERS_SAVE_DECLARATIVE","USER_SEGMENT_UPSERT_DECLARATIVE","USER_SCENARIO_UPSERT_DECLARATIVE","USER_SEGMENT_DELETE_DECLARATIVE","USER_CHOICE_UPSERT_DECLARATIVE","USER_DATASTREAM_DECLARATIVE_MUTATION","USER_ML_FUNCTION_UPSERT","USER_ML_FUNCTION_DELETE","USER_PROFILE_SAVE","USER_PROFILE_ETS_UPDATE","USER_PROFILE_DELETE","USER_PROFILE_DELETE_ALL","USER_SCENARIO_UPSERT","USER_SCENARIO_DELETE","USER_SCENARIO_DELETE_ALL","USER_SEGMENT_UPSERT","USER_SEGMENT_DELETE","USER_SEGMENT_DELETE_ALL"],"readOnly":false},"UserPointSystemRemoveIdentifierLogResource":{"type":"object","properties":{"identifier":{"$ref":"#/components/schemas/UserIdentifierResource"},"cause":{"$ref":"#/components/schemas/UserPointSystemLogCauseResource"},"ts":{"type":"integer","format":"int64","default":0,"readOnly":false},"origin_datamart_id":{"readOnly":false,"type":"integer","default":0,"format":"int64"},"subject_user_point_id":{"type":"string","format":"uuid","readOnly":false},"subject_datamart_id":{"readOnly":false,"default":0,"type":"integer","format":"int64"}},"required":["identifier","origin_datamart_id","subject_datamart_id","subject_user_point_id","ts"]},"UserPointSystemMergeUserPointLogResource":{"type":"object","properties":{"subject_datamart_id":{"readOnly":false,"default":0,"type":"integer","format":"int64"},"subject_user_point_id":{"type":"string","format":"uuid","readOnly":false},"ts":{"type":"integer","format":"int64","default":0,"readOnly":false},"cause":{"$ref":"#/components/schemas/UserPointSystemLogCauseResource"},"merged_user_point_ids":{"type":"array","items":{"type":"string","format":"uuid","readOnly":false},"readOnly":false},"matching_identifiers":{"type":"array","items":{"$ref":"#/components/schemas/UserIdentifierResource"},"readOnly":false}},"required":["matching_identifiers","merged_user_point_ids","subject_datamart_id","subject_user_point_id","ts"]},"UserPointSystemNoMergeUserPointLogResource":{"type":"object","properties":{"ts":{"type":"integer","format":"int64","default":0,"readOnly":false},"subject_user_point_id":{"type":"string","format":"uuid","readOnly":false},"subject_datamart_id":{"default":0,"type":"integer","format":"int64","readOnly":false},"matching_identifiers":{"type":"array","items":{"$ref":"#/components/schemas/UserIdentifierResource"},"readOnly":false},"cause":{"$ref":"#/components/schemas/UserPointSystemLogCauseResource"}},"required":["matching_identifiers","subject_datamart_id","subject_user_point_id","ts"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## DELETE /datamarts/{datamart\_id}/user\_points/{user\_point\_identifier}

> Delete user point

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Userpoint","description":"Operations related to **UserPoints**, the root node in the Datamart graph representing a unique individual with a 360° view of all connected identifiers, profiles, activities, segments, and consents. UserPoints can be **identified or anonymous**, and the platform automatically performs **identity resolution** by merging UserPoints when common identifiers are discovered, migrating all data to the survivor UserPoint.\n\nRelevant documentation:\n- [UserPoint](https://developer.mediarithmics.io/user-points)\n- [Key concepts](https://userguides.mediarithmics.io/basics/key-concepts)\n"}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/datamarts/{datamart_id}/user_points/{user_point_identifier}":{"delete":{"operationId":"deleteUserPoint","tags":["Userpoint"],"parameters":[{"in":"path","schema":{"type":"integer","format":"int64"},"style":"simple","explode":false,"required":true,"name":"datamart_id"},{"in":"path","required":true,"schema":{"$ref":"#/components/schemas/PublicUserIdentifiers"},"explode":false,"name":"user_point_identifier","style":"simple"}],"responses":{"200":{"$ref":"#/components/responses/simple"},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"summary":"Delete user point","description":""}}},"components":{"schemas":{"PublicUserIdentifiers":{"type":"string","description":"User identifier in one of the following format : - a UUID (a.k.a userpoint id) - user_point_id=xxx where xxx is a UUID - compartment_id=xxx,user_account_id=yyy - user_agent_id=xxx - email_hash=xxx ","pattern":"^([0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}|user_point_id=[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}|compartment_id=\\d+,user_account_id=\\S+|user_account_id=\\S+(,compartment_id=\\d+)?|user_agent_id=\\S+|email_hash=\\S+)$"},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"simple":{"description":"Success response","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]}}}},"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```

## GET /datamarts/{datamart\_id}/user\_points

> Find user points

```json
{"openapi":"3.1.1","info":{"title":"mediarithmics openapi API","version":"1.0.0"},"tags":[{"name":"Mediarithmics most used API","description":"These operations where flagged by mediarithmics teams as most useful."},{"name":"Userpoint","description":"Operations related to **UserPoints**, the root node in the Datamart graph representing a unique individual with a 360° view of all connected identifiers, profiles, activities, segments, and consents. UserPoints can be **identified or anonymous**, and the platform automatically performs **identity resolution** by merging UserPoints when common identifiers are discovered, migrating all data to the survivor UserPoint.\n\nRelevant documentation:\n- [UserPoint](https://developer.mediarithmics.io/user-points)\n- [Key concepts](https://userguides.mediarithmics.io/basics/key-concepts)\n"}],"servers":[{"url":"http://api.mediarithmics.local/v1","description":"Development server"},{"url":"https://api.mediarithmics.com/v1","description":"Production server"}],"paths":{"/datamarts/{datamart_id}/user_points":{"get":{"parameters":[{"style":"simple","schema":{"type":"integer","format":"int64"},"name":"datamart_id","required":true,"explode":false,"in":"path"},{"explode":true,"name":"user_point_id","style":"form","schema":{"type":"string"},"required":true,"in":"query"}],"tags":["Userpoint","Mediarithmics most used API"],"description":"","summary":"Find user points","responses":{"200":{"description":"Success !","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserPointIdentifierInfo"}},"max_results":{"type":"integer"},"status":{"type":"string","enum":["ok"]},"total":{"type":"integer"},"first_result":{"type":"integer"},"count":{"type":"integer"}},"required":["count","data","first_result","max_results","status","total"]}}}},"400":{"$ref":"#/components/responses/error"},"401":{"$ref":"#/components/responses/error"},"403":{"$ref":"#/components/responses/error"},"404":{"$ref":"#/components/responses/error"},"500":{"$ref":"#/components/responses/error"},"503":{"$ref":"#/components/responses/error"}},"operationId":"findUserPoints"}}},"components":{"schemas":{"UserPointIdentifierInfo":{"type":"object","properties":{"user_point_id":{"type":"string","format":"uuid","readOnly":false},"creation_ts":{"type":"integer","format":"int64","default":0,"readOnly":false}},"required":["user_point_id"]},"errorResponse":{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"error_code":{"type":"string","enum":["AUTHENTICATION_ERROR","AUTHORIZATION_ERROR","BAD_REQUEST_DATA","BAD_REQUEST_FORMAT","CONSTRAINT_VIOLATION_EXCEPTION","EMAIL_ALREADY_EXISTS","MAC_ERROR","RESOURCE_NOT_FOUND","SERVICE_UNAVAILABLE","TOKEN_ERROR"]},"error_id":{"type":"string"},"error":{"type":"string"}},"required":["error","error_code","error_id","status"]}},"responses":{"error":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorResponse"}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mediarithmics.io/api-reference/userpoint.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
