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

# Update Notification Preferences

> Update the current user's notification preferences.

Updates per-notification-type channel preferences (in-app, email).
Preferences are managed server-side and sent to Knock with each notification.



## OpenAPI

````yaml /api-reference/openapi.json put /users/me/notification-preferences
openapi: 3.1.0
info:
  title: Aspect Platform API
  description: A FastAPI application for Aspect Platform functionality
  version: 0.0.0
servers:
  - url: https://api.aspect.inc
security:
  - BearerAuth: []
  - ApiKeyAuth: []
paths:
  /users/me/notification-preferences:
    put:
      tags:
        - Users
      summary: Update Notification Preferences
      description: >-
        Update the current user's notification preferences.


        Updates per-notification-type channel preferences (in-app, email).

        Preferences are managed server-side and sent to Knock with each
        notification.
      operationId: put_Users_users_me_notification_preferences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationPreferences'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationPreferences'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    NotificationPreferences:
      properties:
        comments:
          $ref: '#/components/schemas/CommentNotificationPreferences'
        collections:
          $ref: '#/components/schemas/CollectionNotificationPreferences'
        workspaces:
          $ref: '#/components/schemas/WorkspaceNotificationPreferences'
      type: object
      title: NotificationPreferences
      description: |-
        User notification preferences stored in the database.

        Schema:
        - comments: Per-type preferences for comment notifications
        - collections: Per-type preferences for collection notifications
        - workspaces: Per-type preferences for workspace notifications
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CommentNotificationPreferences:
      properties:
        comment_on_asset:
          $ref: '#/components/schemas/ChannelPreferences'
        comment_mention:
          $ref: '#/components/schemas/ChannelPreferences'
        comment_reply:
          $ref: '#/components/schemas/ChannelPreferences'
        comment_thread_activity:
          $ref: '#/components/schemas/ChannelPreferences'
      type: object
      title: CommentNotificationPreferences
      description: >-
        Per-type notification preferences for comment-related notifications.


        Each field controls which channels are enabled for that notification
        type.
    CollectionNotificationPreferences:
      properties:
        collection_item_added:
          $ref: '#/components/schemas/ChannelPreferences'
      type: object
      title: CollectionNotificationPreferences
      description: >-
        Per-type notification preferences for collection-related notifications.


        Each field controls which channels are enabled for that notification
        type.
    WorkspaceNotificationPreferences:
      properties:
        workspace_user_added:
          $ref: '#/components/schemas/ChannelPreferences'
      type: object
      title: WorkspaceNotificationPreferences
      description: |-
        Per-type notification preferences for workspace-related notifications.

        Workspace invitations are transactional: the email channel for
        workspace_user_added is always on and cannot be disabled. The validator
        enforces this on every construction, so reads and API writes both keep
        email enabled. Only the in-app channel is user-toggleable.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    ChannelPreferences:
      properties:
        in_app:
          type: boolean
          title: In App
          default: true
        email:
          type: boolean
          title: Email
          default: true
        mobile_push:
          type: boolean
          title: Mobile Push
          default: true
      type: object
      title: ChannelPreferences
      description: Channel-level preferences for a specific notification type.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT in Authorization header. 'Bearer ' prefix optional.
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Aspect API key (sk_...) in Authorization header. 'Bearer ' optional.

````