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

# private/mark_concierge_seen

> Marks the caller's conversation with the concierge as seen up to seen_until, a creation timestamp in ms. While the conversation is on screen, call it with the creation_timestamp of the newest message shown, and call it again, debounced, as newer messages arrive. Messages created at or before the mark count as seen, and the concierge can see how far the caller has read. The mark never moves back: a seen_until at or before the current mark changes nothing. The mark is set to the creation_timestamp of the newest message created at or before both seen_until and now, leaving out messages removed by moderators, and the response returns that value. If there is no such message, nothing is marked and the response's seen_until is null. Reading the conversation with private/get_concierge_messages marks nothing. Requires the account-info scope.



## OpenAPI

````yaml /openapi.json post /private/mark_concierge_seen
openapi: 3.1.0
info:
  title: Derive v3 API
  version: 0.2.0
  description: JSON-RPC 2.0 methods, served over WebSocket and HTTP POST.
servers:
  - url: https://api.derive.xyz/v3
    description: Production (HTTP POST base)
  - url: https://testnet.api.derive.xyz/v3
    description: Testnet (HTTP POST base)
security: []
tags:
  - name: Subaccounts
    description: >-
      List, inspect, and label subaccounts, portfolios, positions, and
      collateral.
  - name: Session Keys
    description: Register, edit, and list delegated signing keys.
  - name: Account
    description: Wallet-level account information and settings.
  - name: Orderbook
    description: Place, replace, cancel, and query orders, trigger orders, and algos.
  - name: RFQ
    description: 'Request-for-quote: send RFQs, quote, and execute block trades.'
  - name: Liquidations
    description: >-
      Open a Dutch auction against a breaching subaccount, quote the auctions
      running right now, bid on them, and review past ones.
  - name: Vault Shareholders
    description: >-
      Deposit into and withdraw from vaults, and track shares, requests, and
      performance.
  - name: Vault Curators
    description: >-
      Create and operate curated vaults: settle deposit and withdrawal requests,
      and manage vault metadata.
  - name: History
    description: >-
      Per-account historical records: orders, trades, transfers, and
      settlements.
  - name: Market Maker Protection
    description: Configure, read, and reset market-maker protection.
  - name: Transfers & Withdrawals
    description: Move collateral between subaccounts, to other wallets, and on-chain.
  - name: Onchain Actions
    description: >-
      L1 onchain actions submitted via OnchainActionManager: register deposit
      addresses, list pending deposits, and inspect onchain action history.
  - name: System
    description: Rate limits, transaction lookups, and live incidents.
  - name: Market Data
    description: Instruments, currencies, tickers, and market-wide feeds.
  - name: Maker Scoring
    description: Maker programs, score breakdowns, and detailed scoring snapshots.
  - name: Referrals
    description: Referral codes and program performance.
  - name: Chat
    description: Anonymous chat rooms and conversations with the concierge.
  - name: Other
    description: Uncategorized.
paths:
  /private/mark_concierge_seen:
    post:
      tags:
        - Chat
      summary: private/mark_concierge_seen
      description: >-
        Marks the caller's conversation with the concierge as seen up to
        seen_until, a creation timestamp in ms. While the conversation is on
        screen, call it with the creation_timestamp of the newest message shown,
        and call it again, debounced, as newer messages arrive. Messages created
        at or before the mark count as seen, and the concierge can see how far
        the caller has read. The mark never moves back: a seen_until at or
        before the current mark changes nothing. The mark is set to the
        creation_timestamp of the newest message created at or before both
        seen_until and now, leaving out messages removed by moderators, and the
        response returns that value. If there is no such message, nothing is
        marked and the response's seen_until is null. Reading the conversation
        with private/get_concierge_messages marks nothing. Requires the
        account-info scope.
      operationId: private_mark_concierge_seen
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarkConciergeSeenParams'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarkConciergeSeenResponse'
        default:
          description: JSON-RPC error (see Error Codes)
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    $ref: '#/components/schemas/RPCError'
      security:
        - DeriveWallet: []
          DeriveTimestamp: []
          DeriveSignature: []
components:
  schemas:
    MarkConciergeSeenParams:
      type: object
      required:
        - seen_until
        - wallet
      properties:
        seen_until:
          description: The creation_timestamp of the newest message on screen, in ms.
          type: integer
          format: int64
        wallet:
          description: The session's wallet.
          type: string
    MarkConciergeSeenResponse:
      type: object
      properties:
        seen_until:
          description: >-
            The creation_timestamp of the newest message created at or before
            both the requested seen_until and now. `null` when there is no such
            message.
          type:
            - integer
            - 'null'
          format: int64
    RPCError:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int64
        data:
          type:
            - string
            - 'null'
        message:
          type: string
  securitySchemes:
    DeriveWallet:
      type: apiKey
      in: header
      name: X-DeriveWallet
      description: The wallet the request acts for.
    DeriveTimestamp:
      type: apiKey
      in: header
      name: X-DeriveTimestamp
      description: The current time in milliseconds, as a decimal string.
    DeriveSignature:
      type: apiKey
      in: header
      name: X-DeriveSignature
      description: >-
        EIP-191 signature of the timestamp, by the wallet or one of its session
        keys.

````

## Related topics

- [Changelog](https://docs.derive.xyz/changelog.md)
- [Wallet concierge](https://docs.derive.xyz/api-reference/channels/walletconcierge.md)
- [private/send_concierge_message](https://docs.derive.xyz/api-reference/chat/privatesend_concierge_message.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.