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

# Get Dashboard Direct Message Statistics

> Returns the Direct Messages section of the Dashboard for a period: direct messages sent, the daily sent and pending messages, and the reply rate. The period is `startDate`–`endDate`, both calendar days included, in `timezone`: 1 to 31 days, and `endDate` is not later than today in that timezone. A period outside these rules or an unknown timezone is refused with 400. To get the same numbers as the Extrovert Dashboard, pass the `timezone` of the user's profile (the `timezone` field of the user in the Team Members list). Pending counts the actions waiting right now (not yet published or sent) whose date lies in the period; it is not the historical size of the queue on that day. The reply rate is All time: it covers every conversation ever messaged and does not depend on the period. Both id filters are optional: an omitted or empty filter does not narrow that dimension, and without filters every campaign of the caller's scope is counted. `campaignsIds` come from the Campaign list and `ownersIds` from the Team Members list; when both are given they narrow the scope together (AND), and an id outside the caller's scope is refused with 403.



## OpenAPI

````yaml https://api.goextrovert.com/client/v2/docs-json get /client/v2/dashboard/direct-messages
openapi: 3.1.0
info:
  title: Extrovert Client API
  description: >-
    Public API for Extrovert platform integration. Use your API key for
    authentication.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.goextrovert.com/
    description: API Server
security: []
tags: []
paths:
  /client/v2/dashboard/direct-messages:
    get:
      tags:
        - Dashboard
      summary: Get Dashboard Direct Message Statistics
      description: >-
        Returns the Direct Messages section of the Dashboard for a period:
        direct messages sent, the daily sent and pending messages, and the reply
        rate. The period is `startDate`–`endDate`, both calendar days included,
        in `timezone`: 1 to 31 days, and `endDate` is not later than today in
        that timezone. A period outside these rules or an unknown timezone is
        refused with 400. To get the same numbers as the Extrovert Dashboard,
        pass the `timezone` of the user's profile (the `timezone` field of the
        user in the Team Members list). Pending counts the actions waiting right
        now (not yet published or sent) whose date lies in the period; it is not
        the historical size of the queue on that day. The reply rate is All
        time: it covers every conversation ever messaged and does not depend on
        the period. Both id filters are optional: an omitted or empty filter
        does not narrow that dimension, and without filters every campaign of
        the caller's scope is counted. `campaignsIds` come from the Campaign
        list and `ownersIds` from the Team Members list; when both are given
        they narrow the scope together (AND), and an id outside the caller's
        scope is refused with 403.
      operationId: DashboardStatisticsClientApiController_getDirectMessages
      parameters:
        - description: >-
            Optional campaign-owner user IDs in the accessible workspace scope.
            Omit or pass `[]` for no owner filter; combined with `campaignsIds`
            using AND.
          required: false
          name: ownersIds
          in: query
          schema:
            type: array
        - description: >-
            Optional campaign IDs in the accessible workspace scope. Omit or
            pass `[]` for no campaign filter; combined with `ownersIds` using
            AND.
          required: false
          name: campaignsIds
          in: query
          schema:
            type: array
        - description: First calendar day of the period, included, `YYYY-MM-DD`.
          examples:
            example1:
              value: '2026-09-12'
          required: true
          name: startDate
          in: query
          schema:
            pattern: ^\d{4}-\d{2}-\d{2}$
            type: string
        - description: >-
            Last calendar day of the period, included, `YYYY-MM-DD`. Not later
            than today in `timezone`.
          examples:
            example1:
              value: '2026-10-11'
          required: true
          name: endDate
          in: query
          schema:
            pattern: ^\d{4}-\d{2}-\d{2}$
            type: string
        - description: >-
            Required IANA timezone the calendar days are taken in. Use the
            user's profile `timezone` to match the Dashboard.
          examples:
            example1:
              value: Europe/Paris
            example2:
              value: America/New_York
          required: true
          name: timezone
          in: query
          schema:
            type: string
            minLength: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDirectMessagesResponseDto'
        '401':
          description: Invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientApiErrorResponseDto'
      security:
        - api-key: []
components:
  schemas:
    GetDirectMessagesResponseDto:
      type: object
      properties:
        status:
          type: string
          const: success
          description: Response status
        data:
          type: object
          properties:
            period:
              type: object
              properties:
                startDate:
                  type: string
                  description: First calendar day of the period, included, `YYYY-MM-DD`.
                endDate:
                  type: string
                  description: Last calendar day of the period, included, `YYYY-MM-DD`.
                timezone:
                  type: string
                  description: IANA timezone the period was computed in.
                daysCount:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Number of calendar days in the period.
              required:
                - startDate
                - endDate
                - timezone
                - daysCount
              description: The validated period the values were computed for.
            sentDmCount:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Direct messages sent in the period.
            dailyStatisticsList:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                    description: Calendar day, `YYYY-MM-DD`.
                  pendingDmCount:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: >-
                      Direct messages waiting for approval or sending. Pending
                      counts the actions waiting right now (not yet published or
                      sent) whose date lies in the period; it is not the
                      historical size of the queue on that day.
                  sentDmCount:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: Direct messages sent on this day.
                required:
                  - date
                  - pendingDmCount
                  - sentDmCount
              description: >-
                One item per calendar day of the period, days without activity
                included.
            replyRate:
              description: 'All time: direct message reply rate, not bound to the period.'
              type: object
              properties:
                replyRate:
                  type: number
                  description: >-
                    `repliedConversationsCount / conversationsWithSentMessage`
                    in percent (0–100), all time.
                conversationsWithSentMessage:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Conversations with at least one sent message, all time.
                repliedConversationsCount:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Of those, conversations the prospect replied in, all time.
              required:
                - replyRate
                - conversationsWithSentMessage
                - repliedConversationsCount
          description: Direct Messages section for the period
          required:
            - sentDmCount
            - dailyStatisticsList
        message:
          type: string
          description: Success message
          examples:
            - Operation completed successfully
      required:
        - status
        - data
        - message
    ClientApiErrorResponseDto:
      type: object
      properties:
        status:
          type: string
          description: Response status
          example: error
          enum:
            - error
        data:
          type: object
          description: Response data
          example: null
          nullable: true
        message:
          type: string
          description: Error message
          example: An error occurred while processing the request
      required:
        - status
        - data
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: X-API-Key
      description: API Key for authentication

````

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