Skip to main content
The Performance Dashboard API provides aggregated performance metrics and statistics for the GOV.UK Notify platform.

Base URL

/performance-dashboard

Authentication

All endpoints require admin authentication.

Endpoints

Get Performance Dashboard

Retrieve comprehensive performance statistics for the platform, including total notifications, processing times, and live services.
GET /performance-dashboard?start_date={start_date}&end_date={end_date}

Parameters

start_date
string
Start date in YYYY-MM-DD format. Defaults to today.
end_date
string
End date in YYYY-MM-DD format. Defaults to today.

Response

{
  "total_notifications": 125487650,
  "email_notifications": 98750000,
  "sms_notifications": 24500000,
  "letter_notifications": 2237650,
  "notifications_by_type": [
    {
      "date": "2024-04-15",
      "emails": 1250000,
      "sms": 85000,
      "letters": 12000
    },
    {
      "date": "2024-04-16",
      "emails": 1345000,
      "sms": 92000,
      "letters": 11500
    }
  ],
  "processing_time": [
    {
      "date": "2024-04-15",
      "percentage_under_10_seconds": 99.85
    },
    {
      "date": "2024-04-16",
      "percentage_under_10_seconds": 99.92
    }
  ],
  "live_service_count": 1247,
  "services_using_notify": [
    {
      "service_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "service_name": "Teacher Training Service",
      "organisation_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "organisation_name": "Department for Education"
    },
    {
      "service_id": "d4e5f6a7-b8c9-0123-def1-234567890123",
      "service_name": "Appointment Reminders",
      "organisation_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "organisation_name": "NHS Digital"
    }
  ]
}

Response Fields

Top-level Statistics
  • total_notifications - Total number of notifications sent across all time
  • email_notifications - Total emails sent across all time
  • sms_notifications - Total SMS sent across all time
  • letter_notifications - Total letters sent across all time
  • live_service_count - Number of currently live services on the platform
Notifications by Type Array
Daily breakdown of notifications within the specified date range:
  • date - Date in YYYY-MM-DD format (BST timezone)
  • emails - Number of emails sent on this date
  • sms - Number of SMS sent on this date
  • letters - Number of letters sent on this date
Processing Time Array
Daily processing time performance metrics:
  • date - Date in YYYY-MM-DD format
  • percentage_under_10_seconds - Percentage of notifications processed within 10 seconds
The 10-second threshold is a key performance indicator for the platform. It measures how quickly notifications are accepted and queued for delivery.
Services Using Notify Array
List of all live services currently using the platform:
  • service_id - UUID of the service
  • service_name - Name of the service
  • organisation_id - UUID of the parent organisation (or null)
  • organisation_name - Name of the parent organisation (or null)

Data Aggregation

All-Time Totals

The total_notifications, email_notifications, sms_notifications, and letter_notifications fields represent cumulative totals across the platform’s entire history, regardless of the date range specified.

Date Range Data

The notifications_by_type and processing_time arrays are filtered to the specified date range:
  • If no dates are provided, defaults to today’s data
  • Data is aggregated by date in BST (British Summer Time)
  • Each date includes all notifications processed on that day

Live Services

The services_using_notify array includes all services with a status of “live”:
  • Includes both services with and without parent organisations
  • Ordered by service name
  • Includes only active, production-ready services

Use Cases

Platform Health Dashboard

Monitor overall platform performance:
curl -X GET "https://api.notifications.service.gov.uk/performance-dashboard" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"
This returns today’s statistics plus all-time totals.

Weekly Performance Report

Generate a weekly performance report:
curl -X GET "https://api.notifications.service.gov.uk/performance-dashboard?start_date=2024-04-08&end_date=2024-04-14" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"
Analyze monthly processing time trends:
curl -X GET "https://api.notifications.service.gov.uk/performance-dashboard?start_date=2024-03-01&end_date=2024-03-31" \
  -H "Authorization: Bearer YOUR_ADMIN_TOKEN"

Performance Metrics

Processing Time SLA

The platform aims to process 99.95% of notifications within 10 seconds. This measures:
  • Time from API request received to notification queued for sending
  • Does not include actual delivery time (varies by channel and provider)
  • Excludes scheduled notifications (measured from scheduled time)
Daily volumes help identify:
  • Peak usage periods
  • Growth trends
  • Seasonal patterns
  • Unusual spikes or drops that may indicate issues

Service Growth

The live_service_count tracks platform adoption:
  • Services that have completed onboarding
  • Services actively sending notifications
  • Excludes trial and inactive services

Notes

  • All statistics are calculated from the ft_notification_status fact table
  • Processing times are calculated from the ft_processing_time fact table
  • Live services are queried in real-time from the services table
  • All dates use YYYY-MM-DD format
  • Times are referenced in BST (British Summer Time) for date boundaries
  • Historical data is available from the platform’s launch

Build docs developers (and LLMs) love