openapi: 3.1.0
info:
title: Insider One Unification API
version: 1.0.0
description: 'Unified Customer Database (UCD): upsert user profiles, attributes and events, export raw user data,
manage identifiers, and run GDPR delete/anonymize operations.
Derived by API Evangelist from Insider One''s own public Postman collection ("Insider One APIs", published at
https://developers.insiderone.com/). Paths, methods, headers, query parameters and request/response examples
are verbatim from that collection; nothing is invented. The 429 response is documented for all Insider One APIs
on https://academy.insiderone.com/docs/api-rate-limits-1 .'
contact:
name: Insider One Support
email: support@useinsider.com
url: https://academy.insiderone.com/docs/insider-one-apis-1
termsOfService: https://insiderone.com/terms-of-use/
externalDocs:
description: Insider One API reference
url: https://academy.insiderone.com/docs/api-reference-welcome
servers:
- url: https://unification.useinsider.com
tags:
- name: Data Governance APIs
- name: User Data APIs
paths:
/api/contact/v1/anonymize:
post:
operationId: deleteUserPiiDataUsingProfileId
summary: Delete user's PII data using profile ID
tags:
- Data Governance APIs
description: "This API is used to delete users' PII data. Insider does not allow the deletion of the user's\
\ last remaining identifier. In addition, if this value is a PII (Personally Identifiable Information) data\
\ such as email, phone number, it would not be deleted. Thanks to this endpoint, you can delete these values\
\ associated with users; if they are a known user and their only identifier is email or phone number, then,\
\ the user becomes anonymous. For example, you can delete all PII data of registered users when they revoke\
\ their data-sharing permissions.\n\nThe user attributes marked as PII are unconditionally deleted with\
\ this API.\n\nNote: This action cannot be undone. Please carefully consider before proceeding.\n\nBody\
\ Parameters\n\nParameter\nDescription\nData Type\nRequired\n\nemail\nUser's email address.\nString\nNo\n\
\nphone_number\nUser's phone number in E.164 format (e.g. +6598765432)\nString\nNo\n\nuuid\nUser's unique\
\ user identifier.\nString\nNo\n\nname\nAttribute. User's name.\nString\nNo\n\nsurname\nAttribute. User's\
\ surname.\nString\nNo\n\nbirthday\nAttribute. User's birthday in RFC 3339 format (e.g. 1993-03-12T00:00:00Z).\
\ Note: Send the birthdays without the time offset\nDatetime\nNo\n\ngender\nAttribute. Gender of the user.\n\
String\nNo\n\nage\nAttribute. Age of the user\nNumber\nNo\n\ncountry\nAttribute. Country information of\
\ the user in ISO 3166-1 alpha-2 format.\nString\nNo\n\ncity\nAttribute. City information of the user.\n\
String\nNo\n\nSample Body\n{\n “insider_id”: “111ab184-f66d-4cba-123e-9abca4332211\"\n}\n\nSample\
\ Responses\n200 OK\nThis response returns if the request is successful.\n\nSample Responses\n200 OK\nThis\
\ response returns when the request is successful.\n\n404 NOT FOUND\nThe below response returns when you\
\ send the wrong identifiers.\n\n{\"error\":\"no such user for these identifiers: no data\"}\n\nLimitations\n\
\nAll functions must be executed with a simple HTTPS POST request.\n\nOnly PII data delete requests can\
\ be sent via this API. No data can be retrieved.\n\nThe request token should be provided on the request\
\ header. If the token is incorrect, the operation will not be executed\n\nThe rate limit is 500 requests per\
\ minute.\n\nA single HTTPS POST request can pass only 1 record (users).\n\nThe value of X-PARTNER-NAME\
\ header should be lowercase."
security:
- PartnerName: []
- RequestToken: []
requestBody:
content:
application/json:
example:
partner: mybrand
insider_id: '1122334455'
api_key: 1a2b3c4d5e6f
responses:
'429':
$ref: '#/components/responses/TooManyRequests'
/api/raw/v1/export:
post:
operationId: exportRawUserData
summary: Export raw user data
tags:
- User Data APIs
description: "This API prepares the raw user data, exports it into Insider's AWS S3 Bucket, and returns a\
\ link to your webhook endpoint as a response. This link enables you to access the raw user data and transfer\
\ it to your end.\n\nThe API prepares the raw user data for all users for all requested attributes and for\
\ a list of events and their event parameters. You can filter to narrow down the user set (e.g., the raw\
\ user data can return the users who made a purchase on the last day).\n\nThe API can prepare the raw data\
\ for attributes and events together. You can choose the events you will receive and the attributes that\
\ will be added to each event entry.\n\nSuggested Reading: Understanding Events and Attributes\n\nYou should\
\ provide a webhook endpoint in the request to be notified when the export link is ready. After sending\
\ a request, your webhook endpoint receives an export link as follows to have access to the raw user data.\n\
\nhttps://insider-data-export.useinsider.com/{partner name}/p/{file name}\n\nYou can export raw user data\
\ to analyze user information using a business intelligence tool and sync the data that you want via daily\
\ jobs.\n\nUsing the Export API, Insider sends the file as a link via Webhook to your endpoint. Export files\
\ are sent from specific Insider IP addresses. To enhance security, whitelist Insider IP addresses on your\
\ system to restrict access to your endpoint. Remember that whitelisting our IP addresses is about restricting\
\ access to your endpoint, which ensures only approved sources can access your endpoint. To add our IP addresses\
\ to your approved list for whitelisting, reach out to the Insider team.\n\nIt might take several hours\
\ to receive the file after you get the 200 response. If there is an issue with the file size while exporting,\
\ you will be notified. In this case, try exporting the data in a smaller range. If you still do not receive\
\ the export link, we highly suggest checking if your endpoint is publicly accessible and functioning properly.\n\
\nThe Raw Export logs events based on their actual timestamp, regardless of when they are recorded in the\
\ User Content Database (UCD). In contrast, the S3 Export captures events within specific intervals, like\
\ the past hour, according to their UCD entry time. For example, the event counts displayed on the Metadata\
\ Analytics page represent all transmissions sent to UCD. Sending the same event 100 times results in only\
\ one entry in the database but shows a transmission count of 100 on the page, while Raw Export will show\
\ only 1. If an event was timestamped three days ago but sent today, it will appear in S3 Export based on\
\ the current transmission timeframe, like the last hour.\n\nBody Parameters\nBefore starting the implementation,\
\ make sure to share the following information with your Insider Technical Account Manager:\n\nA webhook\
\ endpoint that will be notified when the export link is ready\n\nA preferred format: CSV or Parquet\n\n\
A list of attributes, events, and event parameters that you want to export\n\nA dynamic segment that you\
\ want to export\n\nYou can consult the Insider team on which parameters to add to the request.\n\nThe date\
\ range of the segments in requests to the Raw Export API must align with the date range of the requested\
\ events. For example, if you're requesting data for the last 5 days of a segment, the event date range\
\ should also cover that same period. If the event date range is set to only 2 days, data for users who\
\ entered the segment in the last 3 days will not appear in the export.\n\nEach request must have attributes\
\ or events object to return the respective user profiles. If you are using an events object, its keys are\
\ required, as stated in the table below.\n\nParameter\nDescription\nData Type\nRequired\n\nsegment\nSegment\
\ ID of the user filter. Refer here to find your Dynamic Segment ID.\nObject\nYes\n\nattributes\nArray of\
\ attributes\nArray (of string)\nYes (if the body does not have the events object)\n\nevents\nArray of events\n\
Object\nYes (if the body does not have the attributes object)\n\nstart_date\nBeginning of the date range\
\ for the wanted events\nNumber\nYes (if the body has the events object)\n\nend_date\nEnd of the date range\
\ for the wanted events\nNumber\nYes (if the body has the events object)\n\nwanted\nObject of the wanted\
\ events\nArray\nYes (if the body has the events object)\n\nevent_name\nName of the event\nString\nYes (if\
\ the body has the events object)\n\nparams\nEvent parameters of the event\nArray (of string)\nYes (if the\
\ body has the events object)\n\nformat\nThe export format\nString\nYes\n\nhook\nYour webhook endpoint\n\
String\nYes\n\nSample Body\nThe sample below displays a request to get the raw user data with all attributes.\n\
\n{\n \"segment\": {\n \"segment_id\": 123456789\n },\n \"attributes\": [\n \"*\"\n ],\n \"events\"\
: {\n \"start_date\": 1606311893,\n \"end_date\": 1611582293,\n \"wanted\": [\n {\n \
\ \"event_name\": \"email_click\",\n \"params\": [\n \"email_campaign_id\",\n \
\ \"timestamp\"\n ]\n },\n {\n \"event_name\": \"item_added_to_cart\",\n \
\ \"params\": [\n \"product_id\",\n \"name\",\n \"timestamp\"\n ]\n \
\ },\n {\n \"event_name\": \"journey_entered\",\n \"params\": [\n \"journey_id\"\
,\n \"timestamp\"\n ]\n }\n ]\n },\n \"format\": \"parquet\",\n \"hook\": \"\
xyz.test.com\"\n}\n\nThe sample below displays a request to get the raw user data with selected attributes.\n\
\n{\n \"segment\": {\n \"segment_id\": 123456789\n },\n \"attributes\": [\n \"last_visited_product\"\
,\n \"email\",\n \"name\",\n \"c_custom_attribute\"\n ],\n \"events\": {\n \"start_date\"\
: 1606311893,\n \"end_date\": 1611582293,\n \"wanted\": [\n {\n \"event_name\"\
: \"custom_event\",\n \"params\": [\n \"c_custom_parameter\",\n \"\
timestamp\"\n ],\n \"filters\": [\n {\n \"key\": \"\
email_campaign_id\",\n \"operator\": \"eq\",\n \"values\": [369, 877]\n\
\ }\n ]\n },\n {\n \"event_name\": \"item_added_to_cart\"\
,\n \"params\": [\n \"product_id\",\n \"name\",\n \"\
timestamp\"\n ]\n },\n {\n \"event_name\": \"journey_entered\",\n\
\ \"params\": [\n \"journey_id\",\n \"timestamp\"\n ]\n\
\ }\n ]\n },\n \"format\": \"parquet\",\n \"hook\": \"https://xyz.test.com\"\n}\n\nSample\
\ Responses\n200 OK\nThe following response returns if the request is successful.\n\n{\"url\":\"https://insider-data-export.useinsider.com/{partner\
\ name}/p/{file name}\"}\n\n429 Too Many Requests\nThe following response returns if you exceed the rate\
\ limit.\n\n{\n \"error\": \"rejected: too many requests\"\n}\n\nLimitations\nWhen sending your request,\
\ make sure to follow these limitations:\n\nAll functions must be executed with a simple HTTPS POST request.\n\
\nOnly a response that states whether the request is successful or failed can be received via this API.\
\ No data can be inserted.\n\nThe request token should be provided in the request header. If the token is\
\ incorrect, the operation will not be executed.\n\nThe exported data can be in CSV, Parquet (version 1.0),\
\ or JSON formats.\n\nThe export link expires in 24 hours after it is ready.\n\nThe rate limit for raw export\
\ is 1 request per day. Failed requests don't count. Based on the UTC zone, the API can be called only once\
\ in 24 hours. The limitation timeline resets at UTC 00:00.\n\nThe value of X-PARTNER-NAME header should\
\ be lowercase.\n\nSince https://webhook.site blocks Insider, you cannot retrieve hooks containing download\
\ links with URLs belonging here. We will make efforts to address this issue; however, there are currently\
\ limitations to resolving it."
security:
- PartnerName: []
- RequestToken: []
requestBody:
content:
application/json:
examples:
default:
value:
segment:
segment_id: 123456789
attributes:
- '*'
events:
start_date: 1606311893
end_date: 1611582293
wanted:
- event_name: email_click
params:
- campaign_id
- timestamp
- event_name: item_added_to_cart
params:
- product_id
- name
- timestamp
- event_name: journey_entered
params:
- journey_id
- timestamp
format: parquet
hook: xyz.test.com
export-app-push-results-with-raw-user-data:
summary: Export app push results with raw user data
value:
segment:
segment_id: 123456789
attributes:
- iid
- udid
- pn
- uuid
- em
- app_version
- mo
- ov
events:
start_date: 1693907940
end_date: 1693994340
wanted:
- event_name: push_delivered
params:
- timestamp
- camp_id
- camp_type
- variant_id
- event_name: push_session
params:
- timestamp
- camp_id
- camp_type
- variant_id
format: csv
hook: xyz.test.com
export-app-template-results-with-raw-user-data:
summary: Export app template results with raw user data
value:
segment:
segment_id: 123456789
attributes:
- iid
- udid
- pn
- uuid
- em
- app_version
- mo
- ov
events:
start_date: 1693907940
end_date: 1693994340
wanted:
- event_name: inapp_seen
params:
- timestamp
- inapp_id
- variant_id
- dismiss_type
format: csv
hook: xyz.test.com
export-app-survey-results-with-raw-user-data:
summary: Export app survey results with raw user data
value:
segment:
segment_id: 123456789
attributes:
- iid
- udid
- pn
- uuid
- em
- app_version
- mo
- ov
events:
start_date: 1606311893
end_date: 1611582293
wanted:
- event_name: survey_result
params:
- timestamp
- answer
- camp_id
- question
- variant_id
format: parquet
hook: xyz.test.com
responses:
'200':
description: OK
'429':
$ref: '#/components/responses/TooManyRequests'
/api/user/v1/anonymize:
post:
operationId: deleteUserPiiDataUsingIdentifier
summary: Delete user's PII data using identifier
tags:
- Data Governance APIs
description: "This API is used to delete users' PII data. Insider does not allow the deletion of the user's\
\ last remaining identifier. In addition, if this value is a PII (Personally Identifiable Information) data\
\ such as email, phone number, it would not be deleted. Thanks to this endpoint, you can delete these values\
\ associated with users; if they are a known user and their only identifier is email or phone number, then,\
\ the user becomes anonymous. For example, you can delete all PII data of registered users when they revoke\
\ their data-sharing permissions.\n\nThe user attributes marked as PII are unconditionally deleted with\
\ this API.\n\nNote: This action cannot be undone. Please carefully consider before proceeding.\n\nBody\
\ Parameters\n\nParameter\nDescription\nData Type\nRequired\n\nemail\nUser's email address.\nString\nNo\n\
\nphone_number\nUser's phone number in E.164 format (e.g. +6598765432)\nString\nNo\n\nuuid\nUser's unique\
\ user identifier.\nString\nNo\n\nname\nAttribute. User's name.\nString\nNo\n\nsurname\nAttribute. User's\
\ surname.\nString\nNo\n\nbirthday\nAttribute. User's birthday in RFC 3339 format (e.g. 1993-03-12T00:00:00Z).\
\ Note: Send the birthdays without the time offset.\nDatetime\nNo\n\ngender\nAttribute. Gender of the\
\ user.\nString\nNo\n\nage\nAttribute. Age of the user\nNumber\nNo\n\ncountry\nAttribute. Country information\
\ of the user in ISO 3166-1 alpha-2 format.\nString\nNo\n\ncity\nAttribute. City information of the user.\n\
String\nNo\n\nSample Body\n{\n \"identifiers\": {\n \"email\": \"sample@useinsider.com\"\n }\n}\n\n\
Sample Responses\n200 OK\nThis response returns if the request is successful.\n\n404 NOT FOUND\nThe response\
\ below returns when you send the wrong identifiers.\n\n{\"error\":\"no such user for these identifiers:\
\ no data\"}\n\nLimitations\n\nAll functions must be executed with a simple HTTPS POST request.\n\nOnly\
\ PII data delete requests can be sent via this API. No data can be retrieved.\n\nThe request token should\
\ be provided on the request header. If the token is incorrect, the operation will not be executed\n\nThe\
\ rate limit is 500 requests per minute.\n\nA single HTTPS POST request can pass only 1 record (users).\n\
\nThe value of X-PARTNER-NAME header should be lowercase."
security:
- PartnerName: []
- RequestToken: []
requestBody:
content:
application/json:
example:
identifiers:
email: sample@useinsider.com
responses:
'429':
$ref: '#/components/responses/TooManyRequests'
/api/user/v1/attribute/delete:
post:
operationId: deleteUserAttribute
summary: Delete user attribute
tags:
- User Data APIs
description: "This API enables you to delete your customer attributes when you need to. You can either delete\
\ the whole attribute from the user, or delete a specific value from an array typed attribute.\n\nFor example,\
\ your customer might have selected GDPR’s “right-to-be-forgotten” option and you need to delete some attributes\
\ that capture such customer information.\n\nThis deletion action cannot be undone. Please carefully consider\
\ before proceeding.\n\nAn attribute defined as an identifier cannot be deleted with this request. To delete\
\ this type of attribute (since it functions as an identifier), you must use the Delete Identifiers API.\n\
\nBody Parameters\nEach POST body must have a unifier field under identifiers object. You can use the default\
\ identifiers such as email, phone number, or uuid and also the custom identifier to define a unifier.\n\
\nParameter\nDescription\nData Type\nRequired\n\nusers\nArray of user information such as identifiers, attributes\
\ and values to be deleted\nArray\nYes\n\nidentifiers\nUser's identifier information.\nObject\nYes\n\ncustom\n\
User's custom identifier information.\nObject\nNo\n\nwhole\nArray of attributes that are going to be deleted\
\ fully from the corresponding user\nArray\nNo\n\npartial\nAttributes that are going to be deleted partially.\
\ (Ex. removing one of the values from an array attribute)\nObject\nNo\n\ncustom\nCustom attributes that\
\ are going to be deleted either whole or partially\nObject\nNo\n\nemail\nUser's email address.\nString\n\
No\n\nphone_number\nUser's phone number in E.164 format (e.g. +6598765432)\nString\nNo\n\nuuid\nUser's unique\
\ user identifier.\nString\nNo\n\nemail_optin\nAttribute. User's permission for marketing emails: True\
\ = emails allowed; False = email not allowed\nBoolean\nNo\n\ngdpr_optin\nAttribute. User's permission\
\ for Insider campaigns, data collection and processing: False = user will not see any Insider campaign\
\ or receive any message from any channel; True or empty = Insider may interact with the user through\
\ personalization campaigns\nBoolean\nNo\n\nsms_optin\nAttribute. User's permission for SMS: True = SMS\
\ allowed; False = SMS not allowed\nBoolean\nNo\n\nname\nAttribute. User's name.\nString\nNo\n\nsurname\n\
Attribute. User's surname.\nString\nNo\n\nbirthday\nAttribute. User's birthday in RFC 3339 format (e.g.\
\ 1993-03-12T00:00:00Z). Note: Send the birthdays without the time offset.\nDatetime\nNo\n\ngender\n\
Attribute. Gender of the user.\nString\nNo\n\nage\nAttribute. Age of the user\nNumber\nNo\n\nlanguage\n\
Language information of the user.\nString\nNo\n\ncountry\nAttribute. Country information of the user in\
\ ISO 3166-1 alpha-2 format.\nString\nNo\n\ncity\nAttribute. City information of the user.\nString\nNo\n\
\nlist_id\nAttribute. Newsletter contact list IDs (users are added directly).\nNumbers (Number array)\n\
No\n\nSample Body\nThe following is a sample JSON to delete user attributes.\n\ncurl --location --request\
\ POST 'https://unification.useinsider.com/api/user/v1/attribute/delete' \\\n--header 'X-PARTNER-NAME: mybrand'\
\ \\\n--header 'X-REQUEST-TOKEN: 1a2b3c4d5e6f' \\\n--header 'Content-Type: application/json' \\\n--data-raw\
\ '{\n \"users\": [\n {\n \"identifiers\": {\n \"email\": \"sample@useinsider.com\"\
,\n \"uuid\": \"1x2y3z\",\n \"custom\": {\n \"custom_identifier\"\
: \"xyz123\"\n }\n },\n \"whole\": [\n \"name\",\n \
\ \"surname\",\n \"email_optin\"\n ],\n \"partial\":\
\ {\n \"list_id\": [\n 1,\n 2\n ]\n\
\ },\n \"custom\": {\n \"whole\": [\n \"custom_string_attribute\"\
,\n \"custom_array_attribute\"\n ],\n \"partial\": {\n\
\ \"custom_array_attribute\": [\n \"value1\",\n \
\ \"value2\",\n \"value3\"\n ]\n }\n \
\ }\n }\n ]\n}'\n\nThe sample below displays a request to get user data with insider_id.\n\
\ninsider_id is an internal ID maintained by the Insider for each user. To find the insider_id, you can\
\ refer to the Profile ID on the User Profile.\n\ncurl --location --request POST 'https://unification.useinsider.com/api/user/v1/attribute/delete'\
\ \\\n--header 'X-PARTNER-NAME: mybrand' \\\n--header 'X-REQUEST-TOKEN: 1a2b3c4d5e6f' \\\n--header 'Content-Type:\
\ application/json' \\\n--data-raw '{\n \"users\": [\n {\n \"insider_id\": \"sampleinsiderid\"\
,\n \"whole\": [\n \"name\",\n \"surname\",\n \"email_optin\"\n ],\n \
\ \"partial\": {\n \"list_id\": [\n 1,\n 2\n ]\n },\n \"custom\"\
: {\n \"whole\": [\n \"custom_string_attribute\",\n \"custom_array_attribute\"\n\
\ ],\n \"partial\": {\n \"custom_array_attribute\": [\n \"value1\",\n\
\ \"value2\",\n \"value3\"\n ]\n }\n }\n }\n ]\n}'\n\nSample\
\ Responses\n200 OK\nThe following response returns if the request is successful.\n\n{}\n\n403 Forbidden\n\
The following response returns in case of an authentication error.\n\n{\n \"success\": false,\n \"\
message\": \"Access Denied. You do not have sufficient access to perform this action.\"\n}\n\n429 Too Many\
\ Requests\nThe following response returns if you exceed the rate limit.\n\n{\n \"error\": \"rejected:\
\ too many requests\"\n}\n\n500 Internal Server Error\n{\n \"success\": false,\n \"message\": \"The\
\ request processing has failed because of an unknown error.\"\n}\n\nLimitations\nWhen sending your request,\
\ make sure to follow these limitations.\n\nAll functions must be executed with a simple HTTPS POST request.\n\
\nOnly delete requests can be sent via this API. No data can be retrieved.\n\nThe request token should be\
\ provided in the request header. If the token is incorrect, the operation will not be executed.\n\nA single\
\ HTTPS POST request can pass a maximum of 1,000 records (users).\n\nRate limit is shared with User Upsert\
\ API with a total of 25,000 requests per minute.\n\nThe entire request must not exceed 5 MB.\n\nThe value\
\ of X-PARTNER-NAME header should be lowercase."
security:
- PartnerName: []
- RequestToken: []
requestBody:
content:
application/json:
example:
users:
- identifiers:
email: sample@mail.com
uuid: 1x2y3z
custom:
custom_identifier: xyz123
whole:
- name
- surname
- email_optin
partial:
list_id:
- 1
- 2
custom:
whole:
- custom_string_attribute
- custom_array_attribute
partial:
custom_array_attribute:
- value1
- value2
- value3
responses:
'200':
description: OK
content:
application/json:
example:
data:
successful:
count: 1
fail: {}
'429':
$ref: '#/components/responses/TooManyRequests'
/api/user/v1/delete:
post:
operationId: deleteUserProfile
summary: Delete user profile
tags:
- Data Governance APIs
description: "This API enables you to delete your customer and their data when you need to.\n\nFor example,\
\ one of your users might have selected GDPR’s “right-to-be-forgotten” option and you need to delete that\
\ user's data. You can call this API with the related identifier for Insider to find that user's data, and\
\ delete it.\n\nBody Parameters\nEach POST body must have a unifier field under identifiers object. You\
\ can use the default identifiers such as email, phone number, or uuid and also the new custom identifier\
\ to define a unifier. For example, you use the email field as a unifier, any data without email field will\
\ not be accepted.\n\nParameter\nDescription\nData Type\nRequired\n\nidentifiers\nUser's identifier information.\n\
Object\nYes\n\ncustom\nUser's custom identifier information.\nObject\nNo\n\nemail\nUser's email address.\n\
String\nNo\n\nphone_number\nUser's phone number in E.164 format (e.g. +6598765432)\nString\nNo\n\nuuid\n\
User's unique user identifier.\nString\nNo\n\nSample Body\nThe following is a sample JSON without a custom\
\ object.\n\n{\n \"identifiers\":{\n \"email\":\"example@useinsider.com\"\n }\n}\n\nYou can also\
\ send a request with a custom object:\n\n{\n \"identifiers\":{\n \"custom\":{\"custom_identifier\"\
:\"xyz123\"}\n }\n}\n\nSample Responses\n200 OK\nThe following response returns if the request is successful.\n\
\n{}\n\n403 Forbidden\nThe following response returns in case of an authentication error.\n\n{\n \"success\"\
: false,\n \"message\": \"Access Denied. You do not have sufficient access to perform this action.\"\n\
}\n\n500 Internal Server Error\n{\n \"success\": false,\n \"message\": \"The request processing has\
\ failed because of an unknown error.\"\n}\n\nLimitations\nWhen sending your request, make sure to follow\
\ these limitations.\n\nAll functions must be executed with a simple HTTPS POST request.\n\nOnly delete\
\ request can be sent via this API. No data can be retrieved.\n\nThe request token should be provided on\
\ the request header. If the token is incorrect, the operation will not be executed.\n\nA single HTTPS POST\
\ request can pass only 1 record (user).\n\nMaximum 10,000 requests can be sent per minute.\n\nThe entire\
\ request must not exceed 5 MB.\n\nThe value of X-PARTNER-NAME header should be lowercase."
security:
- PartnerName: []
- RequestToken: []
requestBody:
content:
application/json:
example:
identifiers:
email: sample@useinsider.com
responses:
'200':
description: OK
content:
application/json:
example: {}
'429':
$ref: '#/components/responses/TooManyRequests'
/api/user/v1/identity:
patch:
operationId: updateIdentifiers
summary: Update identifiers
tags:
- User Data APIs
description: "This API enables you to update the value of the identifiers that are already associated with\
\ users.\n\nFor example, an existing user that is already a known user to Insider may have updated their\
\ email address in your system. Accordingly, you may need to change the identifier(s) of this user. With\
\ this API, you can change the value of an existing identifier to a new value.\n\nBody Parameters\nEach\
\ PATCH request must have an identifier type, old value, and new value specified in it. You can use either\
\ one of the default identifiers which are uuid, email, and phone_number, or any one of the custom identifiers\
\ you are using.\n\nParameter\nDescription\nData Type\nRequired\n\nold_identifier\nUser’s current identifier\
\ v
# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/insider/refs/heads/main/openapi/insider-unification-openapi.yml