> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mixpanel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Remove from List Property

> Takes a JSON object containing keys and values. The value in the request is removed from the existing list on the user profile. If it does not exist, no updates are made.



## OpenAPI

````yaml openapi/ingestion.openapi.yaml POST /engage#profile-list-remove
openapi: 3.0.2
info:
  title: Ingestion API
  description: APIs allowing for event-based tracking and user profile handling.
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 1.0.0
  contact:
    url: https://mixpanel.com/get-support
servers:
  - url: https://{region}.mixpanel.com
    description: Mixpanel's data collection server.
    variables:
      region:
        default: api
        enum:
          - api
          - api-eu
          - api-in
        description: |
          The server location to be used:
            * `api` - The default (US) servers used for most projects
            * `api-eu` - EU servers if you are enrolled in EU Data Residency
            * `api-in` - India servers if you are enrolled in India Data Residency
security: []
tags:
  - name: Events
    description: Track events.
  - name: Group Profiles
    description: Manage groups and their properties
  - name: Identities
    description: Register or merge users with a new identity.
  - name: Lookup Tables
    description: Enrich existing event and profile properties
  - name: User Profiles
    description: Manage profiles and their properties
paths:
  /engage#profile-list-remove:
    post:
      tags:
        - User Profiles
      summary: Remove from List Property
      description: >-
        Takes a JSON object containing keys and values. The value in the request
        is removed from the existing list on the user profile. If it does not
        exist, no updates are made.
      operationId: profile-remove-from-list-property
      parameters:
        - in: query
          name: ip
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 1
            default: 0
            description: >-
              If present and equal to 0, Mixpanel will not perform geolocation
              parsing using the IP address of the request. We recommend setting
              the ip to "0" when making requests from the server-side to prevent
              the unintentional effect of overwriting your profile's geolocation
              with your server location. Defaults to 1 which would use the IP
              address of the request to update profile geolocation.
        - in: query
          name: strict
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 1
            description: >-
              If present and equal to 1, Mixpanel will validate the provided
              records and return a JSON object with per-record error messages
              for records that fail validation.
        - in: query
          name: verbose
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 1
          description: >-
            If present and equal to 1, Mixpanel will respond with a JSON Object
            describing the success or failure of the tracking call. The returned
            object will have two keys: `status`, with the value 1 on success and
            0 on failure, and `error`, with a string-valued error message if the
            request wasn't successful. This is useful for debugging during
            implementation.
        - in: query
          name: callback
          required: false
          schema:
            type: string
          description: >-
            If present, Mixpanel will return a `content-type: text/javascript`
            with a body that calls a function by value provided. This is useful
            for creating local callbacks to a successful track call in
            JavaScript.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              minItems: 1
              items:
                type: object
                description: >-
                  A JSON update object, with a $token, $distinct_id, and $remove
                  operation object.
                required:
                  - $token
                  - $distinct_id
                  - $remove
                properties:
                  $token:
                    type: string
                    default: YOUR_PROJECT_TOKEN
                  $distinct_id:
                    type: string
                    default: '13793'
                  $remove:
                    type: object
      responses:
        '200':
          $ref: '#/components/responses/Received'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - {}
components:
  responses:
    Received:
      content:
        text/plain:
          schema:
            type: integer
            enum:
              - 1
              - 0
          examples:
            Valid Data:
              value: 1
            Invalid Data:
              value: 0
      description: >

        * `1` - One or more objects provided are valid. This does not signify a
        valid project token or secret.

        * `0` - No data objects in the body are valid.
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        status:
          type: string
          enum:
            - error

````