Delete User Attribute

Prev Next

Use this endpoint to delete one or more attributes from a user profile. You can delete an attribute entirely from the profile or remove specific values from an array-typed attribute.

For example, a user has exercised the GDPR right to erasure, and specific profile attributes must be deleted from your Insider One account.

Attribute deletion cannot be undone. Deleted attribute data cannot be recovered. Review your request carefully before sending.

Attributes defined as identifiers cannot be deleted with this endpoint. To delete an identifier attribute, use the Delete Identifiers API.

Endpoint and Headers

POST https://unification.useinsider.com/api/user/v1/attribute/delete

Visit our Postman collection to test this request.

Headers

Header

Sample Value

Description

X-PARTNER-NAME

mybrand

This is your partner name in lowercase. Navigate to Inone Settings > Account Settings to copy your partner name.

X-REQUEST-TOKEN

1a2b3c4d5e6f

This key is required to authorize your request. Refer to API Authentication Tokens to generate your token.

Content-Type

application/json

This header specifies the media type of the resource.

Body Parameters

Each POST body must have a unifier field under the identifiers object that you decide on. You can use the default identifiers, such as email, phone number, or UUID, as well as custom identifiers to define a unifier.

Parameter

Description

Data Type

Required

users

Array of user objects. Maximum 1,000 users per request.

Array

Yes

identifiers

User's identifier information.

Object

Yes

custom

User's custom identifier information.

Object

No

insider_id

Insider One's internal user ID. Available as the Profile ID on the User Profiles page. Use this as an alternative to the identifiers object

String

Yes, unless identifiers used.

whole

Array of default attribute names to delete entirely from the user profile. The full attribute and all its values are removed.

Array

No

partial

Map of default attribute names to arrays of values to remove. Use this for array-typed attributes where you want to remove specific values rather than the entire attribute.

Object

No

custom

Contains whole and partial keys for custom attributes, following the same structure as the default whole and partial fields above.

Object

No

email

User's email address.

String

No

phone_number

User's phone number in E.164 format (e.g. +6598765432)

String

No

uuid

User's unique user identifier.

String

No

email_optin

Attribute. User's permission for marketing emails:
True = emails allowed;
False = email not allowed

Boolean

No

gdpr_optin

Attribute. 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

Boolean

No

sms_optin

Attribute. User's permission for SMS:
True = SMS allowed;
False = SMS not allowed

Boolean

No

name

Attribute. User's name.

String

No

surname

Attribute. User's surname.

String

No

birthday

Attribute. User's birthday in RFC 3339 format (e.g., 1993-03-12T00:00:00Z).
Note: Send the birthdays without the time offset.

Datetime

No

gender

Attribute. Gender of the user.

String

No

age

Attribute. Age of the user

Number

No

language

Language information of the user.

String

No

country

Attribute. Country information of the user in ISO 3166-1 alpha-2 format.

String

No

city

Attribute. City information of the user.

String

No

static_segment_id

Attribute. Static segment IDs (users are added directly).

Numbers (Number array)

No

Whole vs partial deletion:

Whole deletion removes an attribute and all its data entirely from the user profile. Use this when you need to erase all data for a given attribute.

Partial deletion removes specific values from an array-typed attribute while keeping the attribute and any remaining values intact. Use this when a user has multiple values stored in an array attribute and you only need to remove some of them.

Example: A user has static_segment_id: [1, 2, 3]. Passing "whole": ["static_segment_id"] removes the attribute entirely. Passing "partial": {"static_segment_id": [1, 2]} removes only segments 1 and 2, leaving static_segment_id: [3].

Sample Requests

Delete using standard identifiers

This request deletes name, surname, and email_optin entirely, removes segment IDs 1 and 2 from static_segment_id, and deletes custom attributes.

curl --location --request POST 'https://unification.useinsider.com/api/user/v1/attribute/delete' \
--header 'X-PARTNER-NAME: mybrand' \
--header 'X-REQUEST-TOKEN: 1a2b3c4d5e6f' \
--header 'Content-Type: application/json' \
--data-raw '{
    "users": [
        {
            "identifiers": {
                "email": "sample@useinsider.com",
                "uuid": "1x2y3z",
                "custom": {
                    "custom_identifier": "xyz123"
                }
            },
            "whole": [
                "name",
                "surname",
                "email_optin"
            ],
            "partial": {
                "static_segment_id": [1, 2]
            },
            "custom": {
                "whole": [
                    "custom_string_attribute",
                    "custom_array_attribute"
                ],
                "partial": {
                    "custom_array_attribute": [
                        "value1",
                        "value2",
                        "value3"
                    ]
                }
            }
        }
    ]
}'

Delete using insider_id

Use this request when the user is identified by Insider One's internal Profile ID rather than a standard identifier.

curl --location --request POST 'https://unification.useinsider.com/api/user/v1/attribute/delete' \
--header 'X-PARTNER-NAME: mybrand' \
--header 'X-REQUEST-TOKEN: 1a2b3c4d5e6f' \
--header 'Content-Type: application/json' \
--data-raw '{
    "users": [
        {
            "insider_id": "sampleinsiderid",
            "whole": [
                "name",
                "surname",
                "email_optin"
            ],
            "partial": {
                "static_segment_id": [1, 2]
            },
            "custom": {
                "whole": [
                    "custom_string_attribute",
                    "custom_array_attribute"
                ],
                "partial": {
                    "custom_array_attribute": [
                        "value1",
                        "value2",
                        "value3"
                    ]
                }
            }
        }
    ]
}'

Sample Responses

200 OK

An empty object indicates the request was accepted and processed successfully. Attribute deletion takes effect immediately on the user profile.

{}

400 Bad Request

Returned in the following cases:

  • The X-PARTNER-NAME header value is incorrect, contains spaces, or is not lowercase.

  • A required field is missing from the request body.

  • An identifier value is in an invalid format, for example, a phone number not in E.164 format.

{
    "success": false,
    "message": "Partner is invalid."
}

403 Forbidden

Returned when the X-REQUEST-TOKEN is invalid, missing, or does not have permission to use this endpoint.

{
    "success": false,
    "message": "Access Denied. You do not have sufficient access to perform this action."
}

429 Too Many Requests

Returned when the rate limit is exceeded. See rate limit details in Limitations below.

{
    "error": "rejected: too many requests"
}

500 Internal Server Error

Returns when an unexpected error occurs on the server. Retry the request after a short wait. If the error persists, contact the Insider One team.

{
    "success": false,
    "message": "The request processing has failed because of an unknown error."
}

Limitations

  • All functions must be executed with a simple HTTPS POST request.

  • Only deletion operations can be performed with this endpoint. No data can be read or retrieved.

  • The X-PARTNER-NAME header value must be lowercase.

  • A single request can include a maximum of 1,000 user objects in the users array.

  • This endpoint shares a rate limit of 25,000 requests per minute with the User Upsert API. If you use both APIs, plan your request volume accordingly to avoid hitting the shared limit. To request a higher threshold, contact the Insider One team via the Help Center or refer to API Rate Limits.

  • The entire request must not exceed 5 MB.

  • Identifier attributes cannot be deleted with this endpoint. Use the Delete Identifiers API instead.

The default limit shown here is a standard baseline. If your use case requires higher capacity, feel free to reach out to the Insider One team — we can adjust it to fit your needs.