dialogbrain-com Profile API

The profile API from dialogbrain-com — 17 operation(s) for profile.

Operations 18

GET /profile Get Profile #
PUT /profile/style Update Style #
PUT /profile/preferences Update Preferences #
PUT /profile/preferences/timezone/auto Sync Auto Timezone #
GET /profile/learned Get Learned Patterns #
POST /profile/reset-learning Reset Learning #
POST /profile/refresh-learned Refresh Learned Patterns #
GET /profile/learning/insights Get Learning Insights #
POST /profile/learning/draft-edit Record Draft Edit #
GET /profile/learning/edit-statistics Get Edit Statistics #
GET /profile/learning/style-recommendations Get Style Recommendations #
GET /profile/usage/summary Get Usage Summary #
GET /profile/usage/channels Get Channel Usage #
GET /profile/usage/recipients Get Frequent Recipients #
GET /profile/usage/tools Get Tool Usage #
GET /profile/security/2fa Get 2Fa Status #
POST /profile/security/2fa Toggle 2Fa #
POST /profile/security/change-password Change Password #

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/dialogbrain-com:dialogbrain-com-profile-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

dialogbrain-com-profile-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DialogBrain v2 API Gateway Profile API
  description: Clean refactored API gateway with minimal vertical slice
  version: 0.1.0
tags:
- name: Profile
paths:
  /profile:
    get:
      tags:
      - Profile
      summary: Get Profile
      description: Get complete user profile.
      operationId: get_profile_profile_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProfile'
  /profile/style:
    put:
      tags:
      - Profile
      summary: Update Style
      description: Update communication style settings.
      operationId: update_style_profile_style_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StyleUpdate'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/preferences:
    put:
      tags:
      - Profile
      summary: Update Preferences
      description: Update user preferences.
      operationId: update_preferences_profile_preferences_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreferencesUpdate'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/preferences/timezone/auto:
    put:
      tags:
      - Profile
      summary: Sync Auto Timezone
      description: 'Auto-sync browser-detected timezone (called on login).


        Only updates timezone if:

        - Timezone has never been set (source is None/empty)

        - Timezone source is ''auto'' (not manually set by user)


        This prevents overwriting manually-set timezones when user

        travels or uses VPN.'
      operationId: sync_auto_timezone_profile_preferences_timezone_auto_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoTimezoneRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/learned:
    get:
      tags:
      - Profile
      summary: Get Learned Patterns
      description: Get learned patterns from user behavior.
      operationId: get_learned_patterns_profile_learned_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /profile/reset-learning:
    post:
      tags:
      - Profile
      summary: Reset Learning
      description: Reset all learned patterns.
      operationId: reset_learning_profile_reset_learning_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /profile/refresh-learned:
    post:
      tags:
      - Profile
      summary: Refresh Learned Patterns
      description: Refresh learned patterns from usage statistics.
      operationId: refresh_learned_patterns_profile_refresh_learned_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /profile/learning/insights:
    get:
      tags:
      - Profile
      summary: Get Learning Insights
      description: Get aggregated learning insights.
      operationId: get_learning_insights_profile_learning_insights_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LearningInsights'
  /profile/learning/draft-edit:
    post:
      tags:
      - Profile
      summary: Record Draft Edit
      description: Record a draft edit for learning.
      operationId: record_draft_edit_profile_learning_draft_edit_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DraftEditRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/learning/edit-statistics:
    get:
      tags:
      - Profile
      summary: Get Edit Statistics
      description: Get draft edit statistics.
      operationId: get_edit_statistics_profile_learning_edit_statistics_get
      parameters:
      - name: days
        in: query
        required: false
        schema:
          type: integer
          default: 30
          title: Days
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/learning/style-recommendations:
    get:
      tags:
      - Profile
      summary: Get Style Recommendations
      description: Get style recommendations based on edit history.
      operationId: get_style_recommendations_profile_learning_style_recommendations_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /profile/usage/summary:
    get:
      tags:
      - Profile
      summary: Get Usage Summary
      description: Get usage summary.
      operationId: get_usage_summary_profile_usage_summary_get
      parameters:
      - name: days
        in: query
        required: false
        schema:
          type: integer
          default: 30
          title: Days
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/usage/channels:
    get:
      tags:
      - Profile
      summary: Get Channel Usage
      description: Get channel usage distribution.
      operationId: get_channel_usage_profile_usage_channels_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /profile/usage/recipients:
    get:
      tags:
      - Profile
      summary: Get Frequent Recipients
      description: Get frequently contacted recipients.
      operationId: get_frequent_recipients_profile_usage_recipients_get
      parameters:
      - name: channel
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 10
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RecipientSuggestion'
                title: Response Get Frequent Recipients Profile Usage Recipients Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/usage/tools:
    get:
      tags:
      - Profile
      summary: Get Tool Usage
      description: Get tool usage statistics.
      operationId: get_tool_usage_profile_usage_tools_get
      parameters:
      - name: days
        in: query
        required: false
        schema:
          type: integer
          default: 30
          title: Days
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/security/2fa:
    get:
      tags:
      - Profile
      summary: Get 2Fa Status
      description: Get current 2FA status for user.
      operationId: get_2fa_status_profile_security_2fa_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
    post:
      tags:
      - Profile
      summary: Toggle 2Fa
      description: Enable or disable 2FA for user account.
      operationId: toggle_2fa_profile_security_2fa_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TwoFASettingRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TwoFASettingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /profile/security/change-password:
    post:
      tags:
      - Profile
      summary: Change Password
      description: Change the password for the authenticated user.
      operationId: change_password_profile_security_change_password_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangePasswordRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PreferencesUpdate:
      properties:
        timezone:
          anyOf:
          - type: string
          - type: 'null'
          title: Timezone
        timezone_source:
          anyOf:
          - type: string
          - type: 'null'
          title: Timezone Source
          description: 'How timezone was set: ''auto'' or ''manual'''
        working_hours_start:
          anyOf:
          - type: string
          - type: 'null'
          title: Working Hours Start
        working_hours_end:
          anyOf:
          - type: string
          - type: 'null'
          title: Working Hours End
        favorite_channels:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Favorite Channels
        default_recipients:
          anyOf:
          - items:
              $ref: '#/components/schemas/DefaultRecipient'
            type: array
          - type: 'null'
          title: Default Recipients
        auto_reply_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Auto Reply Enabled
        dormancy_threshold_months:
          anyOf:
          - type: integer
            maximum: 36.0
            minimum: 1.0
          - type: 'null'
          title: Dormancy Threshold Months
          description: Months of inactivity before contact is considered dormant (1-36)
      type: object
      title: PreferencesUpdate
      description: Request to update preferences.
    FrequentRecipient:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        count:
          type: integer
          title: Count
          default: 0
        last_used:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Used
      type: object
      title: FrequentRecipient
      description: Learned frequent recipient.
    DraftEditContext:
      properties:
        thread_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Thread Id
        channel:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel
        recipient_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Recipient Name
        goal:
          anyOf:
          - type: string
          - type: 'null'
          title: Goal
      type: object
      title: DraftEditContext
      description: Context for a draft edit.
    DefaultRecipient:
      properties:
        thread_id:
          type: string
          title: Thread Id
        name:
          type: string
          title: Name
        channel:
          type: string
          title: Channel
      type: object
      required:
      - thread_id
      - name
      - channel
      title: DefaultRecipient
      description: Default recipient configuration.
    ChangePasswordRequest:
      properties:
        current_password:
          type: string
          title: Current Password
        new_password:
          type: string
          title: New Password
      type: object
      required:
      - current_password
      - new_password
      title: ChangePasswordRequest
    ContactStylePreference:
      properties:
        contact_id:
          type: string
          title: Contact Id
        contact_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Contact Name
        channel:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel
        thread_ids:
          items:
            type: string
          type: array
          title: Thread Ids
        formality:
          type: string
          title: Formality
          description: formal, informal, auto
          default: auto
        language:
          type: string
          title: Language
          description: 'Language: auto, ru, en'
          default: auto
        use_emojis:
          type: boolean
          title: Use Emojis
          default: false
        preferred_length:
          type: string
          title: Preferred Length
          description: short, medium, long, auto
          default: auto
        tone:
          anyOf:
          - type: string
          - type: 'null'
          title: Tone
          description: professional, casual, friendly
        edit_count:
          type: integer
          title: Edit Count
          default: 0
        last_edit_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Edit At
        confidence:
          type: number
          title: Confidence
          default: 0.0
        source:
          type: string
          title: Source
          default: learned
      type: object
      required:
      - contact_id
      title: ContactStylePreference
      description: 'Per-contact style preference.


        Stored by contact_id to ensure consistent style across all threads with the same contact.

        A single person may have multiple threads (different group chats, DMs, etc.),

        but communication style should be consistent.'
    DraftEditRequest:
      properties:
        draft_id:
          type: string
          title: Draft Id
        original:
          type: string
          title: Original
        edited:
          type: string
          title: Edited
        context:
          anyOf:
          - $ref: '#/components/schemas/DraftEditContext'
          - type: 'null'
      type: object
      required:
      - draft_id
      - original
      - edited
      title: DraftEditRequest
      description: Request to record a draft edit.
    TwoFASettingResponse:
      properties:
        two_fa_enabled:
          type: boolean
          title: Two Fa Enabled
        message:
          type: string
          title: Message
      type: object
      required:
      - two_fa_enabled
      - message
      title: TwoFASettingResponse
    StyleSettings:
      properties:
        tone:
          type: string
          title: Tone
          description: 'Tone: professional, casual, friendly, formal'
          default: professional
        formality:
          type: string
          title: Formality
          description: 'Formality: auto, informal, formal'
          default: auto
        avg_message_length:
          anyOf:
          - type: integer
          - type: 'null'
          title: Avg Message Length
          description: Target message length in chars
        preferred_language:
          type: string
          title: Preferred Language
          description: 'Language code: auto, ru, en, etc.'
          default: auto
        use_emojis:
          type: boolean
          title: Use Emojis
          description: Whether to use emojis in messages
          default: false
        signature:
          anyOf:
          - type: string
          - type: 'null'
          title: Signature
          description: Optional signature for messages
      type: object
      title: StyleSettings
      description: User communication style preferences.
    UserProfile:
      properties:
        user_id:
          type: integer
          title: User Id
        style:
          $ref: '#/components/schemas/StyleSettings'
        preferences:
          $ref: '#/components/schemas/UserPreferences'
        learned:
          $ref: '#/components/schemas/LearnedPatterns'
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
      type: object
      required:
      - user_id
      title: UserProfile
      description: Complete user profile.
    StyleAdjustments:
      properties:
        make_shorter:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Make Shorter
          description: Ratio of edits that shorten text
          default: 0.0
        less_formal:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Less Formal
          description: Ratio of edits reducing formality
          default: 0.0
        more_formal:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: More Formal
          description: Ratio of edits increasing formality
          default: 0.0
        add_emojis:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Add Emojis
          description: Ratio of edits adding emojis
          default: 0.0
        remove_emojis:
          type: number
          maximum: 1.0
          minimum: 0.0
          title: Remove Emojis
          description: Ratio of edits removing emojis
          default: 0.0
      type: object
      title: StyleAdjustments
      description: Learned style adjustments from draft edits.
    LearningInsights:
      properties:
        style_learned:
          $ref: '#/components/schemas/StyleAdjustments'
        auto_approve_suggestions:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Auto Approve Suggestions
        frequent_recipients:
          items:
            $ref: '#/components/schemas/RecipientSuggestion'
          type: array
          title: Frequent Recipients
        channel_distribution:
          additionalProperties:
            type: number
          type: object
          title: Channel Distribution
        total_edits:
          type: integer
          title: Total Edits
          default: 0
        edit_consistency:
          type: number
          title: Edit Consistency
          description: How consistent the edits are (0-1)
          default: 0.0
        recommendations:
          items:
            type: string
          type: array
          title: Recommendations
      type: object
      required:
      - style_learned
      title: LearningInsights
      description: Aggregated learning insights for user.
    AutoTimezoneRequest:
      properties:
        timezone:
          type: string
          title: Timezone
      type: object
      required:
      - timezone
      title: AutoTimezoneRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RecipientSuggestion:
      properties:
        thread_id:
          type: string
          title: Thread Id
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        channel:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel
        count:
          type: integer
          title: Count
        last_used:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Used
      type: object
      required:
      - thread_id
      - count
      title: RecipientSuggestion
      description: Suggested recipient based on usage.
    ThreadStylePreference:
      properties:
        thread_id:
          type: string
          title: Thread Id
        thread_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Thread Title
        channel:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel
        formality:
          type: string
          title: Formality
          description: formal, informal, auto
          default: auto
        use_emojis:
          type: boolean
          title: Use Emojis
          default: false
        preferred_length:
          type: string
          title: Preferred Length
          description: short, medium, long, auto
          default: auto
        edit_count:
          type: integer
          title: Edit Count
          default: 0
        last_edit_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Edit At
        confidence:
          type: number
          title: Confidence
          default: 0.0
      type: object
      required:
      - thread_id
      title: ThreadStylePreference
      description: 'Per-thread style preference learned from edits.


        Applied immediately after first edit for this thread.

        Each contact/thread can have different style preferences.


        DEPRECATED: Use ContactStylePreference instead for new code.'
    LearnedPatterns:
      properties:
        frequent_recipients:
          additionalProperties:
            $ref: '#/components/schemas/FrequentRecipient'
          type: object
          title: Frequent Recipients
        channel_usage:
          additionalProperties:
            type: number
          type: object
          title: Channel Usage
        avg_response_time:
          anyOf:
          - type: number
          - type: 'null'
          title: Avg Response Time
          description: Average response time in seconds
        common_phrases:
          items:
            type: string
          type: array
          title: Common Phrases
        style_adjustments:
          $ref: '#/components/schemas/StyleAdjustments'
        thread_styles:
          additionalProperties:
            $ref: '#/components/schemas/ThreadStylePreference'
          type: object
          title: Thread Styles
        contact_styles:
          additionalProperties:
            $ref: '#/components/schemas/ContactStylePreference'
          type: object
          title: Contact Styles
      type: object
      title: LearnedPatterns
      description: Auto-learned patterns from user behavior.
    TwoFASettingRequest:
      properties:
        enabled:
          type: boolean
          title: Enabled
      type: object
      required:
      - enabled
      title: TwoFASettingRequest
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    StyleUpdate:
      properties:
        tone:
          anyOf:
          - type: string
          - type: 'null'
          title: Tone
        formality:
          anyOf:
          - type: string
          - type: 'null'
          title: Formality
        avg_message_length:
          anyOf:
          - type: integer
          - type: 'null'
          title: Avg Message Length
        preferred_language:
          anyOf:
          - type: string
          - type: 'null'
          title: Preferred Language
        use_emojis:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Use Emojis
        signature:
          anyOf:
          - type: string
          - type: 'null'
          title: Signature
      type: object
      title: StyleUpdate
      description: Request to update style settings.
    UserPreferences:
      properties:
        timezone:
          type: string
          title: Timezone
          default: UTC
        timezone_source:
          type: string
          title: Timezone Source
          description: 'How timezone was set: ''auto'' (browser detected) or ''manual'' (user set)'
          default: auto
        working_hours_start:
          anyOf:
          - type: string
          - type: 'null'
          title: Working Hours Start
        working_hours_end:
          anyOf:
          - type: string
          - type: 'null'
          title: Working Hours End
        favorite_channels:
          items:
            type: string
          type: array
          title: Favorite Channels
        default_recipients:
          items:
            $ref: '#/components/schemas/DefaultRecipient'
          type: array
          title: Default Recipients
        auto_reply_enabled:
          type: boolean
          title: Auto Reply Enabled
          default: false
        dormancy_threshold_months:
          type: integer
          maximum: 36.0
          minimum: 1.0
          title: Dormancy Threshold Months
          description: Months of inactivity before contact is considered dormant (1-36)
          default: 3
      type: object
      title: UserPreferences
      description: User preferences for agent behavior.