Helicone User API

The User API from Helicone — 3 operation(s) for user.

Documentation

📖
Documentation
https://raw.githubusercontent.com/api-evangelist/helicone/refs/heads/main/ https://www.helicone.ai/
📖
Documentation
https://docs.helicone.ai/
📖
GettingStarted
https://docs.helicone.ai/getting-started/quick-start
📖
APIReference
https://docs.helicone.ai/rest/request/post-v1requestquery
📖
Documentation
https://docs.helicone.ai/gateway/overview
📖
APIReference
https://docs.helicone.ai/rest/ai-gateway/post-v1-chat-completions
📖
Documentation
https://docs.helicone.ai/rest/request/post-v1requestquery
📖
Documentation
https://docs.helicone.ai/rest/prompts/post-v1prompt-2025
📖
Documentation
https://docs.helicone.ai/features/experiments
📖
APIReference
https://docs.helicone.ai/rest/experiment/post-v1experiment-evaluatorsrun
📖
Documentation
https://docs.helicone.ai/rest/evals/post-v1evals
📖
Documentation
https://docs.helicone.ai/features/sessions
📖
APIReference
https://docs.helicone.ai/rest/session/post-v1sessionquery
📖
Documentation
https://docs.helicone.ai/features/advanced-usage/user-metrics
📖
APIReference
https://docs.helicone.ai/rest/user/post-v1userquery
📖
Documentation
https://docs.helicone.ai/features/webhooks
📖
APIReference
https://docs.helicone.ai/rest/webhooks/get-v1webhooks
📖
Documentation
https://docs.helicone.ai/rest/models/get-v1public-model-registry-models
📖
Documentation
https://docs.helicone.ai/rest/trace/post-v1tracelog
📖
Documentation
https://docs.helicone.ai/rest/dashboard/post-v1dashboardscoresquery
📖
Documentation
https://docs.helicone.ai/features/advanced-usage/custom-properties
📖
APIReference
https://docs.helicone.ai/rest/property/post-v1propertyquery

Specifications

Other Resources

OpenAPI Specification

helicone-user-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: helicone-api Agent User API
  version: 1.0.0
  license:
    name: MIT
  contact: {}
servers:
- url: https://api.helicone.ai/
- url: http://localhost:8585/
tags:
- name: User
paths:
  /v1/user/metrics-overview/query:
    post:
      operationId: GetUserMetricsOverview
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_'
      tags:
      - User
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                useInterquartile:
                  type: boolean
                pSize:
                  $ref: '#/components/schemas/PSize'
                filter:
                  $ref: '#/components/schemas/UserFilterNode'
              required:
              - useInterquartile
              - pSize
              - filter
              type: object
  /v1/user/metrics/query:
    post:
      operationId: GetUserMetrics
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_'
      tags:
      - User
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserMetricsQueryParams'
  /v1/user/query:
    post:
      operationId: GetUsers
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_'
      tags:
      - User
      security:
      - api_key: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserQueryParams'
components:
  schemas:
    Partial_RequestResponseRMTToOperators_:
      properties:
        country_code:
          $ref: '#/components/schemas/Partial_TextOperators_'
        latency:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        cost:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        provider:
          $ref: '#/components/schemas/Partial_TextOperators_'
        time_to_first_token:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        status:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        request_created_at:
          $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_'
        response_created_at:
          $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_'
        model:
          $ref: '#/components/schemas/Partial_TextOperators_'
        user_id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        organization_id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        node_id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        job_id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        threat:
          $ref: '#/components/schemas/Partial_BooleanOperators_'
        request_id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        prompt_tokens:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        completion_tokens:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        prompt_cache_read_tokens:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        prompt_cache_write_tokens:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        total_tokens:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        target_url:
          $ref: '#/components/schemas/Partial_TextOperators_'
        property_key:
          properties:
            equals:
              type: string
          required:
          - equals
          type: object
        properties:
          properties: {}
          additionalProperties:
            $ref: '#/components/schemas/Partial_TextOperators_'
          type: object
        search_properties:
          properties: {}
          additionalProperties:
            $ref: '#/components/schemas/Partial_TextOperators_'
          type: object
        scores:
          properties: {}
          additionalProperties:
            $ref: '#/components/schemas/Partial_TextOperators_'
          type: object
        scores_column:
          $ref: '#/components/schemas/Partial_TextOperators_'
        request_body:
          $ref: '#/components/schemas/Partial_TextOperators_'
        response_body:
          $ref: '#/components/schemas/Partial_TextOperators_'
        cache_enabled:
          $ref: '#/components/schemas/Partial_BooleanOperators_'
        cache_reference_id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        cached:
          $ref: '#/components/schemas/Partial_BooleanOperators_'
        assets:
          $ref: '#/components/schemas/Partial_TextOperators_'
        helicone-score-feedback:
          $ref: '#/components/schemas/Partial_BooleanOperators_'
        prompt_id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        prompt_version:
          $ref: '#/components/schemas/Partial_TextOperators_'
        request_referrer:
          $ref: '#/components/schemas/Partial_TextOperators_'
        is_passthrough_billing:
          $ref: '#/components/schemas/Partial_BooleanOperators_'
      type: object
      description: Make all properties in T optional
    SortDirection:
      type: string
      enum:
      - asc
      - desc
    FilterLeafSubset_users_view-or-request_response_rmt_:
      $ref: '#/components/schemas/Pick_FilterLeaf.users_view-or-request_response_rmt_'
    Result__request_count-HistogramRow-Array--user_cost-HistogramRow-Array_.string_:
      anyOf:
      - $ref: '#/components/schemas/ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__'
      - $ref: '#/components/schemas/ResultError_string_'
    UserFilterNode:
      anyOf:
      - $ref: '#/components/schemas/FilterLeafSubset_users_view-or-request_response_rmt_'
      - $ref: '#/components/schemas/UserFilterBranch'
      - type: string
        enum:
        - all
    Partial_TextOperators_:
      properties:
        not-equals:
          type: string
        equals:
          type: string
        like:
          type: string
        ilike:
          type: string
        contains:
          type: string
        not-contains:
          type: string
      type: object
      description: Make all properties in T optional
    Result__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array.string_:
      anyOf:
      - $ref: '#/components/schemas/ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_'
      - $ref: '#/components/schemas/ResultError_string_'
    ResultSuccess__request_count-HistogramRow-Array--user_cost-HistogramRow-Array__:
      properties:
        data:
          properties:
            user_cost:
              items:
                $ref: '#/components/schemas/HistogramRow'
              type: array
            request_count:
              items:
                $ref: '#/components/schemas/HistogramRow'
              type: array
          required:
          - user_cost
          - request_count
          type: object
        error:
          type: number
          enum:
          - null
          nullable: true
      required:
      - data
      - error
      type: object
      additionalProperties: false
    ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__:
      properties:
        data:
          properties:
            hasUsers:
              type: boolean
            count:
              type: number
              format: double
            users:
              items:
                $ref: '#/components/schemas/UserMetricsResult'
              type: array
          required:
          - hasUsers
          - count
          - users
          type: object
        error:
          type: number
          enum:
          - null
          nullable: true
      required:
      - data
      - error
      type: object
      additionalProperties: false
    UserQueryParams:
      properties:
        userIds:
          items:
            type: string
          type: array
        timeFilter:
          properties:
            endTimeUnixSeconds:
              type: number
              format: double
            startTimeUnixSeconds:
              type: number
              format: double
          required:
          - endTimeUnixSeconds
          - startTimeUnixSeconds
          type: object
      type: object
      additionalProperties: false
    HistogramRow:
      properties:
        range_start:
          type: string
        range_end:
          type: string
        value:
          type: number
          format: double
      required:
      - range_start
      - range_end
      - value
      type: object
      additionalProperties: false
    Partial_BooleanOperators_:
      properties:
        equals:
          type: boolean
      type: object
      description: Make all properties in T optional
    Partial_NumberOperators_:
      properties:
        not-equals:
          type: number
          format: double
        equals:
          type: number
          format: double
        gte:
          type: number
          format: double
        lte:
          type: number
          format: double
        lt:
          type: number
          format: double
        gt:
          type: number
          format: double
      type: object
      description: Make all properties in T optional
    ResultSuccess__count-number--prompt_tokens-number--completion_tokens-number--user_id-string--cost-number_-Array_:
      properties:
        data:
          items:
            properties:
              cost:
                type: number
                format: double
              user_id:
                type: string
              completion_tokens:
                type: number
                format: double
              prompt_tokens:
                type: number
                format: double
              count:
                type: number
                format: double
            required:
            - cost
            - user_id
            - completion_tokens
            - prompt_tokens
            - count
            type: object
          type: array
        error:
          type: number
          enum:
          - null
          nullable: true
      required:
      - data
      - error
      type: object
      additionalProperties: false
    PSize:
      type: string
      enum:
      - p50
      - p75
      - p95
      - p99
      - p99.9
    UserMetricsQueryParams:
      properties:
        filter:
          $ref: '#/components/schemas/UserFilterNode'
        offset:
          type: number
          format: double
        limit:
          type: number
          format: double
        timeFilter:
          properties:
            endTimeUnixSeconds:
              type: number
              format: double
            startTimeUnixSeconds:
              type: number
              format: double
          required:
          - endTimeUnixSeconds
          - startTimeUnixSeconds
          type: object
        timeZoneDifferenceMinutes:
          type: number
          format: double
        sort:
          $ref: '#/components/schemas/SortLeafUsers'
      required:
      - filter
      - offset
      - limit
      type: object
      additionalProperties: false
    Pick_FilterLeaf.users_view-or-request_response_rmt_:
      properties:
        request_response_rmt:
          $ref: '#/components/schemas/Partial_RequestResponseRMTToOperators_'
        users_view:
          $ref: '#/components/schemas/Partial_UserViewToOperators_'
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    SortLeafUsers:
      properties:
        id:
          $ref: '#/components/schemas/SortDirection'
        user_id:
          $ref: '#/components/schemas/SortDirection'
        active_for:
          $ref: '#/components/schemas/SortDirection'
        first_active:
          $ref: '#/components/schemas/SortDirection'
        last_active:
          $ref: '#/components/schemas/SortDirection'
        total_requests:
          $ref: '#/components/schemas/SortDirection'
        average_requests_per_day_active:
          $ref: '#/components/schemas/SortDirection'
        average_tokens_per_request:
          $ref: '#/components/schemas/SortDirection'
        total_prompt_tokens:
          $ref: '#/components/schemas/SortDirection'
        total_completion_tokens:
          $ref: '#/components/schemas/SortDirection'
        cost:
          $ref: '#/components/schemas/SortDirection'
        rate_limited_count:
          $ref: '#/components/schemas/SortDirection'
      type: object
    UserFilterBranch:
      properties:
        right:
          $ref: '#/components/schemas/UserFilterNode'
        operator:
          type: string
          enum:
          - or
          - and
        left:
          $ref: '#/components/schemas/UserFilterNode'
      required:
      - right
      - operator
      - left
      type: object
    Partial_TimestampOperatorsTyped_:
      properties:
        equals:
          type: string
          format: date-time
        gte:
          type: string
          format: date-time
        lte:
          type: string
          format: date-time
        lt:
          type: string
          format: date-time
        gt:
          type: string
          format: date-time
      type: object
      description: Make all properties in T optional
    UserMetricsResult:
      properties:
        id:
          type: string
        user_id:
          type: string
        active_for:
          type: number
          format: double
        first_active:
          type: string
        last_active:
          type: string
        total_requests:
          type: number
          format: double
        average_requests_per_day_active:
          type: number
          format: double
        average_tokens_per_request:
          type: number
          format: double
        total_completion_tokens:
          type: number
          format: double
        total_prompt_tokens:
          type: number
          format: double
        cost:
          type: number
          format: double
      required:
      - id
      - user_id
      - active_for
      - first_active
      - last_active
      - total_requests
      - average_requests_per_day_active
      - average_tokens_per_request
      - total_completion_tokens
      - total_prompt_tokens
      - cost
      type: object
      additionalProperties: false
    Partial_UserViewToOperators_:
      properties:
        user_user_id:
          $ref: '#/components/schemas/Partial_TextOperators_'
        user_active_for:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        user_first_active:
          $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_'
        user_last_active:
          $ref: '#/components/schemas/Partial_TimestampOperatorsTyped_'
        user_total_requests:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        user_average_requests_per_day_active:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        user_average_tokens_per_request:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        user_total_completion_tokens:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        user_total_prompt_tokens:
          $ref: '#/components/schemas/Partial_NumberOperators_'
        user_cost:
          $ref: '#/components/schemas/Partial_NumberOperators_'
      type: object
      description: Make all properties in T optional
    ResultError_string_:
      properties:
        data:
          type: number
          enum:
          - null
          nullable: true
        error:
          type: string
      required:
      - data
      - error
      type: object
      additionalProperties: false
    Result__users-UserMetricsResult-Array--count-number--hasUsers-boolean_.string_:
      anyOf:
      - $ref: '#/components/schemas/ResultSuccess__users-UserMetricsResult-Array--count-number--hasUsers-boolean__'
      - $ref: '#/components/schemas/ResultError_string_'
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header
      description: 'Bearer token authentication. Format: ''Bearer YOUR_API_KEY'''