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

# Create Data Point

> Create a Customer Value data point. The `identifier` is the key you send with conversions and reference from rule goals, and it must be unique within the network.


Creates a Customer Value data point. Customer Value was previously called **User Management**, which is where the `usm` in the path comes from.

The `identifier` is the contract between your conversions and your rules: you send it with conversion data, and [rule goals](/api-reference/post-networksusmrules) reference it through `metric_data_point_identifier`. It must be unique within the network — reusing one returns `400 Duplicate identifiers are not allowed`.

Pick `type` to match how you intend to compare the value. A `number` data point works with the `greater_than` and `less_than` goal operators; a `text` one works with `exact_match`, `contains`, `begins_with` and `ends_with`.

| Field         | Notes                                          |
| ------------- | ---------------------------------------------- |
| `identifier`  | Unique within the network; max 255 characters. |
| `name`        | Display name; max 255 characters.              |
| `type`        | `text` or `number`.                            |
| `status`      | `active` or `inactive`.                        |
| `description` | Optional; max 500 characters.                  |

Writing data points needs an API key with Offers → write access. Read-only keys and Reporting-only keys are rejected.


## OpenAPI

````yaml openapi/customer-value.yaml post /networks/usm/datapoints
openapi: 3.0.3
info:
  title: Everflow Network API - Customer Value
  description: >
    Endpoints for managing Customer Value — data points and rules — in the
    Everflow network.


    Customer Value was previously called **User Management**, and the API paths
    keep the `usm` prefix from that name.


    A **data point** declares a named customer attribute (`ltv_90d`,
    `plan_tier`) that you send in with conversions. A **rule** watches those
    data points, plus standard conversion metrics, and adjusts payout or revenue
    when a customer's aggregated values meet its goals. For setup, see [Customer
    Value](https://helpdesk.everflow.io/customer/customer-value) in the Help
    Center.
  version: 1.0.0
servers:
  - description: Production Server
    url: https://api.eflow.team/v1
security: []
tags:
  - name: Customer Value
    description: >-
      Data points and rules that drive Customer Value payout and revenue
      adjustments.
  - name: Reporting
    description: Conversion reporting scoped to a single customer.
paths:
  /networks/usm/datapoints:
    post:
      tags:
        - Customer Value
      summary: Create Data Point
      description: >
        Create a Customer Value data point. The `identifier` is the key you send
        with conversions and reference from rule goals, and it must be unique
        within the network.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataPointInput'
            example:
              identifier: ltv_90d
              name: 90-Day LTV
              type: number
              status: active
              description: Modelled 90-day customer lifetime value
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataPoint'
        '400':
          description: >
            The identifier is missing (`An identifier must be provided`) or
            already in use on the network (`Duplicate identifiers are not
            allowed`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - API Key: []
components:
  schemas:
    DataPointInput:
      type: object
      required:
        - identifier
        - name
        - type
        - status
      properties:
        identifier:
          type: string
          maxLength: 255
          example: ltv_90d
          description: >
            The key you send with conversions and reference from rule goals.
            Required, and unique within the network.
        name:
          type: string
          maxLength: 255
          example: 90-Day LTV
          description: |
            The display name shown in the Everflow UI.
        type:
          type: string
          enum:
            - text
            - number
          description: >
            The value type. Use `number` for data points compared with
            `greater_than` or `less_than`, and `text` for those matched with
            `exact_match`, `contains`, `begins_with` or `ends_with`.
        status:
          type: string
          enum:
            - active
            - inactive
          description: |
            Whether the data point is collected and evaluated.
        description:
          type: string
          maxLength: 500
          description: Optional free-text note about what the data point holds.
    DataPoint:
      allOf:
        - type: object
          properties:
            network_usm_data_point_id:
              type: integer
              example: 1
              description: Unique data point ID.
            network_id:
              type: integer
              example: 1
              description: Network ID.
        - $ref: '#/components/schemas/DataPointInput'
        - type: object
          properties:
            time_created:
              type: integer
              example: 1788398582
              description: Unix timestamp of creation.
            time_saved:
              type: integer
              example: 1788398592
              description: Unix timestamp of last update.
    Error:
      type: object
      properties:
        error:
          type: string
          description: A human-readable description of what was rejected.
  securitySchemes:
    API Key:
      description: The Everflow API key generated from the Control Center > Security.
      in: header
      name: X-Eflow-Api-Key
      type: apiKey

````