AnomalyArmor User Preferences API

The user-preferences API from AnomalyArmor — 10 operation(s) for user-preferences.

Operations 14

GET /api/v1/auth/preferences Get My Preferences #
PATCH /api/v1/auth/preferences Update My Preferences #
DELETE /api/v1/auth/preferences Reset My Preferences #
GET /api/v1/auth/preferences/onboarding Get Onboarding Progress #
PATCH /api/v1/auth/preferences/onboarding Update Chapter Progress #
PATCH /api/v1/auth/preferences/onboarding/step Update Step Progress #
POST /api/v1/auth/preferences/onboarding/reset Reset Onboarding Progress #
POST /api/v1/auth/preferences/onboarding/demo-asset Ensure Demo Asset #
POST /api/v1/auth/preferences/onboarding/demo-lineage Load Demo Lineage Endpoint #
POST /api/v1/auth/preferences/onboarding/demo-alert Create Demo Alert #
DELETE /api/v1/auth/preferences/onboarding/demo-alert Delete Demo Alert #
POST /api/v1/auth/preferences/onboarding/demo-destination Create Demo Destination #
POST /api/v1/auth/preferences/onboarding/events Track Onboarding Event #
GET /api/v1/auth/preferences/{preference_key} Get Preference Value #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/anomalyarmor-ai:anomalyarmor-ai-user-preferences-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

anomalyarmor-ai-user-preferences-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Anomalyarmor Ai User Preferences API
  version: 1.0.0
  contact:
    name: AnomalyArmor Support
    url: https://anomalyarmor.ai/support
  license:
    name: Proprietary
  description: 'Operations tagged user-preferences across 3 of this provider''s published API definitions: anomalyarmor.ai-openapi.json, app.anomalyarmor.ai-openapi.json, docs.anomalyarmor.ai-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: http://localhost:8000
  description: Development server
- url: https://api.anomalyarmor.ai
  description: Production server
tags:
- name: User Preferences
paths:
  /api/v1/auth/preferences:
    get:
      tags:
      - User Preferences
      summary: Get My Preferences
      description: 'Get the current user''s preferences.


        If preferences don''t exist, they will be created with defaults.'
      operationId: get_my_preferences_api_v1_auth_preferences_get
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - User Preferences
      summary: Update My Preferences
      description: 'Update the current user''s preferences.


        Only provided fields will be updated. Omitted fields will retain their current values.'
      operationId: update_my_preferences_api_v1_auth_preferences_patch
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPreferencesUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - User Preferences
      summary: Reset My Preferences
      description: Reset the current user's preferences to defaults.
      operationId: reset_my_preferences_api_v1_auth_preferences_delete
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/onboarding:
    get:
      tags:
      - User Preferences
      summary: Get Onboarding Progress
      description: 'Get the current user''s onboarding progress.


        Returns progress for each chapter (connect, discover, freshness, schema) and overall completion.'
      operationId: get_onboarding_progress_api_v1_auth_preferences_onboarding_get
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - User Preferences
      summary: Update Chapter Progress
      description: 'Update a chapter''s completion status.


        Mark a chapter as completed or incomplete. Typically called when user

        finishes a walkthrough or when replaying a chapter.'
      operationId: update_chapter_progress_api_v1_auth_preferences_onboarding_patch
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateChapterRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/onboarding/step:
    patch:
      tags:
      - User Preferences
      summary: Update Step Progress
      description: 'Update a chapter''s current step for resume functionality.


        Saves the step the user is on so they can resume later.'
      operationId: update_step_progress_api_v1_auth_preferences_onboarding_step_patch
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateStepRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/onboarding/reset:
    post:
      tags:
      - User Preferences
      summary: Reset Onboarding Progress
      description: 'Reset onboarding progress.


        Reset a single chapter or all chapters. Does NOT delete any user data,

        just clears completion status so the walkthrough can be replayed.'
      operationId: reset_onboarding_progress_api_v1_auth_preferences_onboarding_reset_post
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResetOnboardingRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/onboarding/demo-asset:
    post:
      tags:
      - User Preferences
      summary: Ensure Demo Asset
      description: 'Ensure demo asset exists for onboarding walkthrough.


        TECH-775: Creates the demo BalloonBazaar asset if it doesn''t exist,

        or returns the existing one. Called during onboarding walkthrough

        to show users the demo being added in real-time.


        Returns:

        Demo asset info (id, public_id, name) or error if demo is disabled.'
      operationId: ensure_demo_asset_api_v1_auth_preferences_onboarding_demo_asset_post
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/onboarding/demo-lineage:
    post:
      tags:
      - User Preferences
      summary: Load Demo Lineage Endpoint
      description: 'Load demo lineage data for onboarding walkthrough.


        TECH-778: Creates pre-built lineage nodes and edges for the demo asset,

        allowing users to experience lineage features without uploading a manifest file.

        The user clicks "Load Sample Lineage" and we handle everything on the backend.


        Returns:

        Sync statistics (nodes_created, edges_created) or error if demo asset not found.'
      operationId: load_demo_lineage_endpoint_api_v1_auth_preferences_onboarding_demo_lineage_post
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/onboarding/demo-alert:
    post:
      tags:
      - User Preferences
      summary: Create Demo Alert
      description: 'Create a demo alert for onboarding walkthrough.


        TECH-778: Creates a simulated freshness alert so users can see what an

        alert looks like during the alerts onboarding chapter. The alert appears

        in the UI but doesn''t trigger any actual notifications.


        The alert is marked as a demo alert in context_data for later cleanup.


        Returns:

        Demo alert info (id, title, severity) or existing alert if already created.'
      operationId: create_demo_alert_api_v1_auth_preferences_onboarding_demo_alert_post
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - User Preferences
      summary: Delete Demo Alert
      description: 'Delete demo alert(s) for onboarding walkthrough.


        TECH-778: Cleanup endpoint to remove demo alerts. Called when user

        completes the alerts chapter or resets onboarding.


        Returns:

        Count of deleted demo alerts.'
      operationId: delete_demo_alert_api_v1_auth_preferences_onboarding_demo_alert_delete
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/onboarding/demo-destination:
    post:
      tags:
      - User Preferences
      summary: Create Demo Destination
      description: 'Create a demo Slack destination for onboarding walkthrough.


        This is an internal endpoint that creates destinations with is_demo=true.

        Demo destinations simulate delivery without calling external APIs.


        The is_demo flag is NOT exposed in the public destinations API to prevent

        users from silently suppressing real alert delivery.


        Returns:

        Demo destination info (id, name, destination_type) or existing if already created.'
      operationId: create_demo_destination_api_v1_auth_preferences_onboarding_demo_destination_post
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/onboarding/events:
    post:
      tags:
      - User Preferences
      summary: Track Onboarding Event
      description: 'Track an onboarding event for analytics.


        TECH-776: Fire-and-forget event tracking. Events are used for funnel analysis,

        time-to-value metrics, and company-level onboarding health monitoring.


        The is_replay flag is automatically set based on whether the user has

        previously completed the chapter being tracked.'
      operationId: track_onboarding_event_api_v1_auth_preferences_onboarding_events_post
      parameters:
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrackOnboardingEventRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/v1/auth/preferences/{preference_key}:
    get:
      tags:
      - User Preferences
      summary: Get Preference Value
      description: 'Get a specific preference value by key.


        Args:

        preference_key: The key of the preference to retrieve


        Returns:

        StandardResponse with the preference value or null if not found'
      operationId: get_preference_value_api_v1_auth_preferences__preference_key__get
      parameters:
      - name: preference_key
        in: path
        required: true
        schema:
          type: string
          title: Preference Key
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
components:
  schemas:
    AssetDisplayMode:
      type: string
      enum:
      - list
      - grid
      - table
      title: AssetDisplayMode
      description: Asset display mode enumeration.
    UserPreferenceTheme:
      type: string
      enum:
      - light
      - dark
      - system
      title: UserPreferenceTheme
      description: User preference theme enumeration.
    DashboardView:
      type: string
      enum:
      - overview
      - detailed
      - minimal
      title: DashboardView
      description: Dashboard view enumeration.
    UpdateChapterRequest:
      properties:
        chapter:
          type: string
          title: Chapter
          description: Chapter ID (connect, discover, freshness, schema)
        completed:
          type: boolean
          title: Completed
          description: Whether the chapter is completed
          default: true
      type: object
      required:
      - chapter
      title: UpdateChapterRequest
      description: Request to update a chapter's completion status.
    HelpLevel:
      type: string
      enum:
      - none
      - light
      - heavy
      title: HelpLevel
      description: 'User help level preference for contextual help system.


        Controls how much contextual help is shown in the UI:

        - NONE: No help displayed (power users)

        - LIGHT: Help icons linking to docs (default)

        - HEAVY: Verbose inline explanations (new users, onboarding)'
    UserLanguage:
      type: string
      enum:
      - en
      - en
      - es
      - es
      - fr
      - fr
      - de
      - de
      - ja
      - ja
      title: UserLanguage
      description: User language enumeration.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UserPreferencesUpdate:
      properties:
        theme:
          anyOf:
          - $ref: '#/components/schemas/UserPreferenceTheme'
          - type: 'null'
        language:
          anyOf:
          - $ref: '#/components/schemas/UserLanguage'
          - type: 'null'
        timezone:
          anyOf:
          - type: string
          - type: 'null'
          title: Timezone
        date_format:
          anyOf:
          - type: string
          - type: 'null'
          title: Date Format
        time_format:
          anyOf:
          - type: string
          - type: 'null'
          title: Time Format
        email_notifications:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Email Notifications
        email_daily_digest:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Email Daily Digest
        email_weekly_summary:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Email Weekly Summary
        email_alert_critical:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Email Alert Critical
        email_alert_high:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Email Alert High
        email_alert_medium:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Email Alert Medium
        email_alert_low:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Email Alert Low
        notify_onboarding_tips:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Notify Onboarding Tips
        notify_usage_alerts:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Notify Usage Alerts
        default_dashboard_view:
          anyOf:
          - $ref: '#/components/schemas/DashboardView'
          - type: 'null'
        items_per_page:
          anyOf:
          - type: integer
          - type: 'null'
          title: Items Per Page
        show_tooltips:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Show Tooltips
        compact_view:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Compact View
        help_level:
          anyOf:
          - $ref: '#/components/schemas/HelpLevel'
          - type: 'null'
        show_cookie_button:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Show Cookie Button
        show_learning_menu:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Show Learning Menu
        enable_keyboard_shortcuts:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enable Keyboard Shortcuts
        auto_refresh_interval:
          anyOf:
          - type: integer
          - type: 'null'
          title: Auto Refresh Interval
        default_asset_view:
          anyOf:
          - $ref: '#/components/schemas/AssetDisplayMode'
          - type: 'null'
        custom_settings:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Custom Settings
      type: object
      title: UserPreferencesUpdate
      description: 'Schema for updating user preferences.


        All fields are optional for partial updates.'
    TrackOnboardingEventRequest:
      properties:
        event_type:
          type: string
          title: Event Type
          description: Event type (CHAPTER_STARTED, STEP_ADVANCED, CHAPTER_COMPLETED, etc.)
        chapter:
          type: string
          title: Chapter
          description: Chapter ID (connect, discover, freshness, schema)
        step:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Step
          description: 0-indexed step number within chapter
        step_id:
          anyOf:
          - type: string
            maxLength: 100
          - type: 'null'
          title: Step Id
          description: Human-readable step identifier
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
          description: Additional event context as JSON
        session_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Session Id
          description: UUID grouping events in a single session
      type: object
      required:
      - event_type
      - chapter
      title: TrackOnboardingEventRequest
      description: 'Request to track an onboarding event.


        TECH-776: Fire-and-forget event tracking for onboarding analytics.'
    UpdateStepRequest:
      properties:
        chapter:
          type: string
          title: Chapter
          description: Chapter ID (connect, discover, freshness, schema)
        current_step:
          type: integer
          minimum: 0.0
          title: Current Step
          description: 0-indexed step the user is on
        current_step_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Current Step Id
          description: Step ID string for stable resume across step changes
      type: object
      required:
      - chapter
      - current_step
      title: UpdateStepRequest
      description: Request to update a chapter's current step (for resume functionality).
    StandardResponse:
      properties:
        success:
          type: boolean
          title: Success
        data:
          anyOf:
          - {}
          - type: 'null'
          title: Data
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
        error:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
        meta:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Meta
      type: object
      required:
      - success
      title: StandardResponse
      description: Standard API response wrapper.
    ResetOnboardingRequest:
      properties:
        chapter:
          anyOf:
          - type: string
          - type: 'null'
          title: Chapter
          description: Chapter ID to reset, or None to reset all chapters
      type: object
      title: ResetOnboardingRequest
      description: Request to reset onboarding progress.
    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
x-refined-from:
- anomalyarmor.ai-openapi.json
- app.anomalyarmor.ai-openapi.json
- docs.anomalyarmor.ai-openapi.json