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

# Create EndUser

> Create a new end user. If transactions have previously been sent for this `end_user_id`, use `PUT end_users` to update instead.




## OpenAPI

````yaml https://app.herondata.io/swagger post /api/end_users
openapi: 3.0.0
info:
  contact:
    email: support@herondata.io
    name: Support
  title: Heron Data API
  version: '2021-07-19'
servers:
  - description: Production
    url: https://app.herondata.io
security:
  - ApiKeyAuth:
      - key_XXX
externalDocs:
  description: Read Tutorial
  url: https://docs.herondata.io/
paths:
  /api/end_users:
    post:
      tags:
        - EndUsers
      summary: Create EndUser
      description: >
        Create a new end user. If transactions have previously been sent for
        this `end_user_id`, use `PUT end_users` to update instead.
      requestBody:
        content:
          application/json:
            schema:
              properties:
                end_user:
                  $ref: '#/components/schemas/EndUserPostParams'
              type: object
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                properties:
                  end_user:
                    $ref: '#/components/schemas/EndUser'
                type: object
          description: OK
      security:
        - ApiKeyAuth: []
components:
  schemas:
    EndUserPostParams:
      properties:
        confidence:
          description: >-
            Aggregated confidence for the end user across all transactions;
            between 0 and 1
          example: 0.42
          readOnly: true
          type: number
        created:
          description: When the end user was created in Heron system
          example: '2026-05-15T19:44:51.427900'
          format: date-time
          readOnly: true
          type: string
        criteria:
          description: List of scorecard metrics
          items:
            $ref: '#/components/schemas/Metric'
          readOnly: true
          type: array
        data_sources:
          description: List of data source summaries for the end user
          items:
            $ref: '#/components/schemas/DataSource'
          readOnly: true
          type: array
        end_user_id:
          description: id defined by user; links to the end_user_id for transactions
          example: d398d4a7-192e-475d-8973-336ebaa6b2c4
          maxLength: 140
          minLength: 1
          type: string
        heron_id:
          description: Unique id for end user generated by Heron
          example: eus_JP4PBgWSKWoFJtWhHJt3PB
          readOnly: true
          type: string
        is_portfolio:
          description: Whether the end user is part of a lending portfolio
          example: true
          type: boolean
        last_processed_at:
          description: When the end user was last successfully processed in Heron system
          example: '2026-06-26T19:44:51.428208'
          format: date-time
          readOnly: true
          type: string
        last_updated:
          description: When the end user was last updated in Heron system
          example: '2026-06-26T19:44:51.427939'
          format: date-time
          readOnly: true
          type: string
        meta:
          additionalProperties:
            type: string
          description: >-
            Arbitrary key-value metadata. Max 20 keys, key ≤64 chars, value ≤256
            chars, total ≤4KB. Example: {"attribution_key": "lender_42"}
          nullable: true
          type: object
        name:
          description: Name of end user; may help to improve categorisation accuracy
          example: Company Name Inc.
          maxLength: 128
          nullable: true
          type: string
        profit_and_loss_layout:
          nullable: true
      required:
        - end_user_id
      type: object
    EndUser:
      properties:
        confidence:
          description: >-
            Aggregated confidence for the end user across all transactions;
            between 0 and 1
          example: 0.42
          readOnly: true
          type: number
        created:
          description: When the end user was created in Heron system
          example: '2026-05-15T19:44:51.427900'
          format: date-time
          readOnly: true
          type: string
        criteria:
          description: List of scorecard metrics
          items:
            $ref: '#/components/schemas/Metric'
          readOnly: true
          type: array
        data_sources:
          description: List of data source summaries for the end user
          items:
            $ref: '#/components/schemas/DataSource'
          readOnly: true
          type: array
        end_user_id:
          description: id defined by user; links to the end_user_id for transactions
          example: d398d4a7-192e-475d-8973-336ebaa6b2c4
          maxLength: 140
          minLength: 1
          type: string
        heron_id:
          description: Unique id for end user generated by Heron
          example: eus_JP4PBgWSKWoFJtWhHJt3PB
          readOnly: true
          type: string
        is_portfolio:
          description: Whether the end user is part of a lending portfolio
          example: true
          type: boolean
        last_processed_at:
          description: When the end user was last successfully processed in Heron system
          example: '2026-06-26T19:44:51.428208'
          format: date-time
          readOnly: true
          type: string
        last_updated:
          description: When the end user was last updated in Heron system
          example: '2026-06-26T19:44:51.427939'
          format: date-time
          readOnly: true
          type: string
        meta:
          additionalProperties:
            type: string
          description: >-
            Arbitrary key-value metadata. Max 20 keys, key ≤64 chars, value ≤256
            chars, total ≤4KB. Example: {"attribution_key": "lender_42"}
          nullable: true
          type: object
        name:
          description: Name of end user; may help to improve categorisation accuracy
          example: Company Name Inc.
          maxLength: 128
          nullable: true
          type: string
        profit_and_loss_layout:
          nullable: true
        status:
          description: >-
            Status of end user; 'ready' triggers async processing,
            'review_requested' triggers manual review request
          enum:
            - new
            - ready
            - processed
            - reviewed
            - review_requested
            - failed
          example: ready
          type: string
      required:
        - end_user_id
      type: object
    Metric:
      properties:
        context:
          description: >-
            Context for how to interpret the metric, e.g., whether a higher
            value is 'better' than a lower value
          enum:
            - higher_is_better
            - lower_is_better
            - null
          example: higher_is_better
          nullable: true
          type: string
        currency:
          description: The ISO currency code for metric, where applicable
          nullable: true
          type: string
        date_range:
          description: Metric date range
          enum:
            - latest
            - last_30_days
            - last_90_days
            - last_120_days
            - last_180_days
            - last_365_days
            - next_30_days
            - next_60_days
            - next_90_days
            - next_180_days
            - last_1_calendar_months
            - last_3_calendar_months
            - last_4_calendar_months
            - last_6_calendar_months
            - last_12_calendar_months
            - last_15_calendar_months
            - last_24_calendar_months
            - last_1_full_calendar_months
            - last_2_full_calendar_months
            - last_3_full_calendar_months
            - last_6_full_calendar_months
            - last_12_full_calendar_months
            - last_60_days
            - last_45_days
            - last_2_calendar_months
          example: last_180_days
          type: string
        description:
          description: Description of metric
          example: The number of unique transactions with a timestamp
          nullable: true
          type: string
        group:
          description: The type of metric
          enum:
            - data_quality
            - processing_quality
            - balance
            - profit_and_loss
            - debt
            - risk_flag
            - forecast
            - heron
            - ml_feature
          example: data_quality
          type: string
        label:
          description: Metric label, slugified
          example: unique_transactions
          type: string
        status:
          description: >-
            either 'calculated' or 'not_available' depending on the requested
            date range vs. date range of the data
          enum:
            - available
            - partially_available
            - not_available
            - null
          example: not_available
          nullable: true
          type: string
        unit:
          description: The unit of measurement for metric
          enum:
            - 'n'
            - day
            - ratio
            - amount
            - weekday
            - array
            - probability
          example: 'n'
          type: string
        value:
          description: The metric value
          example: 42.42
          nullable: true
      type: object
    DataSource:
      properties:
        status:
          description: >-
            Status of the data source entity, where applicable (e.g. pdfs,
            integration links)
          enum:
            - new
            - parsing
            - parsed
            - processed
            - human_reviewing
            - approved
            - rejected
            - failed
            - transactions_loaded
            - transactions_unloaded
            - pending
            - active
            - syncing
            - erroring
            - sync_disabled
            - deleted_in_plaid
            - unknown
          example: new
          type: string
        type:
          description: Data source type
          enum:
            - api
            - csv
            - pdf
            - integration_link
            - legacy
            - legacy_pdf
            - legacy_integration_link
          example: pdf
          type: string
      required:
        - type
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: x-api-key
      type: apiKey

````