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

# Save a journal note

> Creates or replaces the note for one trading day (`scope: "day"`, `ref` = the day) or one trade (`scope: "trade"`, `ref` = `<accountId>:<entryOrderId>`). Text up to 5000 characters; up to 10 tags of up to 24 characters (trimmed, a leading # removed, duplicates ignored). Saving an empty note with no tags deletes it and returns `note: null`.



## OpenAPI

````yaml /api-reference/openapi.json put /v1/user/journal/notes
openapi: 3.0.0
info:
  title: Hyperprop Platform API
  version: 1.0.0
  description: >-
    REST API for the Hyperprop Trading Platform — provision evaluation and
    funded trading accounts, manage traders and plans, react to account
    lifecycle events via signed webhooks, and reconcile billing. Built for prop
    firms integrating from their own backend.


    Authentication, quick start, error handling, idempotency, pagination, custom
    metadata, webhooks, and the MCP connector are documented at
    https://docs.hyperprop.com.
  x-logo:
    url: https://app.hyperprop.com/logo-icon.svg
    altText: Hyperprop
    href: https://hyperprop.com
servers:
  - url: https://api.hyperprop.com/platform
    description: Production
security: []
tags:
  - name: Authentication
    description: >-
      User authentication - signup, signin, signout, password reset, email
      verification, OAuth, and MFA
  - name: User
    description: >-
      User account management - profile, notifications, agreements, dismissals,
      and audit logs. Requires Bearer token.
  - name: Organization
    description: >-
      Organization management - profile, team, trading accounts, plans, and
      rules. Supports **dual authentication**: Bearer JWT token (dashboard
      users) OR X-API-Key (programmatic access).
  - name: Market Data
    description: CME futures contracts and market data. Requires Bearer token.
  - name: Indicator Builder
    description: >-
      AI-assisted authoring of custom Hyperprop Script indicators for the web
      terminal. Requires Bearer token.
  - name: System
    description: System endpoints - health checks and connectivity
paths:
  /v1/user/journal/notes:
    put:
      tags:
        - User
      summary: Save a journal note
      description: >-
        Creates or replaces the note for one trading day (`scope: "day"`, `ref`
        = the day) or one trade (`scope: "trade"`, `ref` =
        `<accountId>:<entryOrderId>`). Text up to 5000 characters; up to 10 tags
        of up to 24 characters (trimmed, a leading # removed, duplicates
        ignored). Saving an empty note with no tags deletes it and returns
        `note: null`.
      operationId: putV1UserJournalNotes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Model852'
      responses:
        '200':
          description: Note saved (or deleted when empty)
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model856'
        '400':
          description: Invalid request data
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model212'
        '401':
          description: Authentication required
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model9'
        '500':
          description: An unexpected error occurred
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Model5'
components:
  schemas:
    Model852:
      type: object
      properties:
        scope:
          $ref: '#/components/schemas/Model850'
        ref:
          type: string
          maxLength: 200
        tradingDay:
          type: string
          pattern: ^\d{4}-\d{2}-\d{2}$
        note:
          type: string
          default: ''
          maxLength: 5000
        tags:
          $ref: '#/components/schemas/Model851'
      required:
        - scope
        - ref
        - tradingDay
    Model856:
      type: object
      properties:
        success:
          type: boolean
          example: true
        data:
          $ref: '#/components/schemas/Model855'
    Model212:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 400
        error:
          type: string
          example: Bad Request
        message:
          type: string
          example: Invalid request data
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: BAD_REQUEST
    Model9:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 401
        error:
          type: string
          example: Unauthorized
        message:
          type: string
          example: Authentication required
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: UNAUTHORIZED
    Model5:
      type: object
      properties:
        success:
          type: boolean
          description: Always false on errors
          example: false
        statusCode:
          type: number
          example: 500
        error:
          type: string
          example: Internal Server Error
        message:
          type: string
          example: An unexpected error occurred
        code:
          type: string
          description: Machine-readable error code — switch on this, not on message text
          example: INTERNAL_ERROR
    Model850:
      type: string
      enum:
        - day
        - trade
    Model851:
      type: array
      maxItems: 50
      items:
        type: string
        maxLength: 100
    Model855:
      type: object
      properties:
        note:
          $ref: '#/components/schemas/note'
    note:
      type: object
      properties:
        scope:
          $ref: '#/components/schemas/Model853'
        ref:
          type: string
          description: >-
            The trading day (`YYYY-MM-DD`) for a day note;
            `<accountId>:<entryOrderId>` for a trade note
          example: >-
            7c1e0a4e-1b2c-4d5e-8f90-1234567890ab:0f9e8d7c-6b5a-4938-8271-abcdefabcdef
        tradingDay:
          type: string
          description: Trading day the note belongs to
          example: '2026-09-24'
        note:
          type: string
          example: Waited for the pullback — good entry, exited too early.
        tags:
          $ref: '#/components/schemas/Model854'
        updatedAt:
          type: string
          example: '2026-09-24T19:42:10.000Z'
          x-format:
            isoDate: true
    Model853:
      type: string
      example: trade
      enum:
        - day
        - trade
    Model854:
      type: array
      example:
        - A+ setup
        - Early exit
      items:
        type: string

````

## Related topics

- [List your journal notes](/platform-api/user/list-your-journal-notes.md)
- [Changelog](/changelog.md)
- [Save one UI preference](/platform-api/user/save-one-ui-preference.md)
- [Hyperprop Script: build indicators (agent recipe)](/guides/hyperprop-script.md)
- [Revoke (soft delete) a PnL card](/platform-api/pnl-cards/revoke-soft-delete-a-pnl-card.md)
