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

# Update Data Point

> Update a Customer Value data point. Send the complete object — the `data_point_id` selects the record to update. Only `name`, `status`, and `description` are applied: `identifier` and `type` are immutable once the data point exists, because rules and stored customer history reference them. Both must still be present and valid in the payload. Omitting `status` leaves the stored status unchanged, so an `inactive` data point is not silently reactivated.


Update a Customer Value data point. `data_point_id` selects the record to update.

Only `name`, `status`, and `description` are applied — `identifier` and `type` are immutable, since rules and stored customer history reference them. Both must still be present and valid in the payload.

Omitting `status` leaves the stored value unchanged, so a payload that simply does not mention it will not reactivate an `inactive` data point.


## OpenAPI

````yaml openapi/customer-value.yaml put /networks/customervalue/datapoints
openapi: 3.0.3
info:
  title: Everflow Network API - Customer Value
  description: >
    Endpoints for managing Customer Value data points and rules. Customer Value
    tracks the lifetime activity of an individual customer (identified by the
    `user_id` passed on conversions) and adjusts payout and revenue based on
    what that customer has done so far. Data points are the custom attributes
    you send with conversions; rules define the goals a customer must reach and
    the payout or revenue outcome applied once they do.
  version: 1.0.0
servers:
  - url: https://api.eflow.team/v1
security: []
tags:
  - name: Data Points
  - name: Rules
paths:
  /networks/customervalue/datapoints:
    put:
      tags:
        - Data Points
      summary: Update Data Point
      description: >
        Update a Customer Value data point. Send the complete object — the
        `data_point_id` selects the record to update. Only `name`, `status`, and
        `description` are applied: `identifier` and `type` are immutable once
        the data point exists, because rules and stored customer history
        reference them. Both must still be present and valid in the payload.
        Omitting `status` leaves the stored status unchanged, so an `inactive`
        data point is not silently reactivated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataPointUpdateInput'
            example:
              data_point_id: 12
              identifier: subscription_tier
              name: Subscription plan
              type: text
              status: inactive
              description: No longer sent by the storefront.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataPoint'
      security:
        - API Key: []
components:
  schemas:
    DataPointUpdateInput:
      type: object
      required:
        - data_point_id
        - identifier
        - name
        - type
      properties:
        data_point_id:
          type: integer
          description: The data point to update.
        identifier:
          type: string
          maxLength: 255
          description: >
            Must be present and non-empty, but changes are ignored — the
            identifier is immutable.
        name:
          type: string
          maxLength: 255
          description: Display name of the data point.
        type:
          type: string
          enum:
            - text
            - number
          description: >
            Must be present and valid, but changes are ignored — the type is
            immutable.
        status:
          type: string
          enum:
            - active
            - inactive
          description: >
            Whether rules can reference this data point. Omit it to leave the
            current status unchanged.
        description:
          type: string
          description: Free-form description of the data point.
    DataPoint:
      type: object
      properties:
        network_id:
          type: integer
          example: 1
          readOnly: true
          description: Network ID.
        data_point_id:
          type: integer
          example: 12
          readOnly: true
          description: Unique data point ID.
        identifier:
          type: string
          maxLength: 255
          example: subscription_tier
          description: >
            The key used to send this data point on a conversion. Lowercased on
            save and unique within the network.
        name:
          type: string
          maxLength: 255
          example: Subscription tier
          description: Display name of the data point.
        type:
          type: string
          enum:
            - text
            - number
          description: >
            The value type. `number` data points can be summed and compared and
            are the only ones usable as a payout or revenue source; `text` data
            points support string comparisons only.
        status:
          type: string
          enum:
            - active
            - inactive
          description: >
            Only `active` data points can be referenced by a rule. Setting a
            data point to `inactive` stops new rules from using it.
        description:
          type: string
          description: Free-form description of the data point.
        time_created:
          type: integer
          example: 1734455015
          readOnly: true
          description: Unix timestamp of creation.
        time_saved:
          type: integer
          example: 1734455015
          readOnly: true
          description: Unix timestamp of last update.
  securitySchemes:
    API Key:
      description: The Everflow API key generated from the Control Center > Security.
      in: header
      name: X-Eflow-Api-Key
      type: apiKey

````