Skip to main content
GET
/
email-meter
/
stats
/
flags
/
{startDate}
/
{endDate}
Get flagged and completion time statistics
curl --request GET \
  --url http://localhost:2000/email-meter/stats/flags/{startDate}/{endDate} \
  --header 'Authorization: Bearer <token>'
{
  "message": "",
  "data": {
    "times": {
      "flagged": {
        "min": 0.5,
        "max": 26.5,
        "average": 4.2,
        "median": 3.9,
        "count": 200
      },
      "complete": {
        "fromFlagged": {
          "min": 0.5,
          "max": 26.5,
          "average": 4.2,
          "median": 3.9,
          "count": 200
        },
        "fromUnFlagged": {
          "min": 0.5,
          "max": 26.5,
          "average": 4.2,
          "median": 3.9,
          "count": 200
        }
      }
    },
    "counts": {
      "totalFlagged": 35,
      "completedFromFlagged": 28,
      "completedFromUnFlagged": 14
    }
  }
}
Retrieves statistics related to flagged conversations, including the time to flag and the time to complete resolution after flagging.

Request

Headers

NameTypeRequiredDescription
AuthorizationstringYesBearer token

Path Parameters

ParameterTypeRequiredDescription
startDatestringYesStart date of the range (ISO 8601). Defaults to 7 days before today
endDatestringYesEnd date of the range (ISO 8601). Defaults to today

Parameter Format

  • Format: YYYY-MM-DD (ISO 8601 date)
  • Timezone: UTC
  • Default: Last 7 days if not provided

Response

200 OK - Successfully retrieved flag and completion statistics

{
  "message": "",
  "data": {
    "times": {
      "flagged": {
        "min": 5,
        "max": 120,
        "average": 25.8,
        "median": 20.0
      },
      "complete": {
        "fromFlagged": {
          "min": 10,
          "max": 300,
          "average": 85.5,
          "median": 72.0
        },
        "fromUnFlagged": {
          "min": 15,
          "max": 240,
          "average": 65.2,
          "median": 55.0
        }
      }
    },
    "counts": {
      "totalFlagged": 35,
      "completedFromFlagged": 28,
      "completedFromUnFlagged": 14
    }
  }
}

401 Unauthorized

{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Missing or invalid token"
  }
}

500 Internal Server Error

{
  "error": {
    "code": "SERVER_ERROR",
    "message": "Internal server error"
  }
}

Example

curl -X GET 'http://localhost:2000/email-meter/stats/flags/2025-10-01/2025-10-07' \
  -H 'Authorization: Bearer your-jwt-token'

Data Fields Explained

Times - Flagged

FieldTypeDescription
minnumberMinimum time to flag conversation (minutes)
maxnumberMaximum time to flag conversation (minutes)
averagenumberAverage time to flag conversation (minutes)
mediannumberMedian time to flag conversation (minutes)

Times - Complete

FieldTypeDescription
fromFlaggedobjectResolution time from flagged state (minutes)
fromUnFlaggedobjectResolution time from normal state (minutes)

Counts

FieldTypeDescription
totalFlaggedintegerTotal conversations flagged
completedFromFlaggedintegerFlagged conversations completed
completedFromUnFlaggedintegerUnflagged conversations completed

Flag Analysis

Flagging Efficiency

const flaggingEfficiency = {
  flagRate: data.data.counts.totalFlagged / totalConversations,
  completionRateFromFlagged: data.data.counts.completedFromFlagged / data.data.counts.totalFlagged,
  averageTimeToFlag: data.data.times.flagged.average,
  averageResolutionFromFlagged: data.data.times.complete.fromFlagged.average
};

Resolution Comparison

const resolutionComparison = {
  flaggedVsUnflagged: data.data.times.complete.fromFlagged.average - data.data.times.complete.fromUnFlagged.average,
  flaggedSlower: data.data.times.complete.fromFlagged.average > data.data.times.complete.fromUnFlagged.average,
  percentageDifference: ((data.data.times.complete.fromFlagged.average - data.data.times.complete.fromUnFlagged.average) / data.data.times.complete.fromUnFlagged.average) * 100
};

Use Cases

  • Quality Control: Monitor flagged conversation handling
  • Process Improvement: Identify issues requiring flagging
  • Training Needs: Target training based on flag patterns
  • Escalation Management: Track escalation effectiveness
  • Performance Metrics: Measure flag resolution efficiency

Flag Categories

Common Flag Reasons

  • Urgent: Requires immediate attention
  • Escalation: Needs higher-level support
  • Complex: Requires specialized knowledge
  • Sensitive: Contains sensitive information
  • Compliance: Requires compliance review

Performance Targets

  • Time to Flag: < 30 minutes for urgent issues
  • Resolution from Flag: < 2 hours for urgent flags
  • Flag Completion Rate: > 90% of flagged conversations resolved
  • Flag Accuracy: > 80% of flags are appropriate

Best Practices

  1. Flagging Guidelines: Establish clear flagging criteria
  2. Training: Train agents on when and how to flag
  3. Monitoring: Track flag patterns and resolution times
  4. Feedback: Provide feedback on flagging accuracy
  5. Process Review: Regularly review flagging processes
  • Use /email-meter/stats/resolved-times for overall resolution metrics
  • Use /email-meter/stats/agents-detailed for agent-specific flag data
  • Use /email-meter/stats/response-times for initial response analysis

Notes

  • Flag times are calculated from conversation start to flag action
  • Resolution times are calculated from flag to resolution
  • Only manual flags by agents are included
  • Automated flags are tracked separately
  • Flag reasons may be analyzed for pattern identification

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

startDate
string<date>
required

Start date of the range (ISO 8601). Defaults to 7 days before today if not provided.

endDate
string<date>
required

End date of the range (ISO 8601). Defaults to today if not provided.

Response

Successfully retrieved flag and completion statistics

message
string
Example:

""

data
object