Skip to main content

Get Access Summary

GET
endpoint
/api/stats/access/summary
Retrieve overall access statistics including total accesses, successful accesses, failures, expirations, and unique origins. This endpoint also calculates efficiency and attrition rates.

Response

total
long
required
Total number of access attempts across all links
success
long
required
Number of successful access attempts
failed
long
required
Number of failed access attempts
expired
long
required
Number of attempts to access expired links
uniqueOrigins
long
required
Number of unique origins that accessed links
accessEfficiencyRatio
double
required
Percentage of successful accesses (success / total * 100)
expirationAttritionRate
double
required
Percentage of expired accesses (expired / total * 100)
{
  "total": 1250,
  "success": 987,
  "failed": 143,
  "expired": 120,
  "uniqueOrigins": 45,
  "accessEfficiencyRatio": 78.96,
  "expirationAttritionRate": 9.6
}

Get Hourly Access

GET
endpoint
/api/stats/access/hourly
Get access counts grouped by hour of day (0-23). Useful for identifying peak usage times.

Response

Returns an array of hourly access records:
hour
int
required
Hour of day (0-23)
count
long
required
Number of accesses during this hour
[
  {
    "hour": 0,
    "count": 12
  },
  {
    "hour": 1,
    "count": 8
  },
  {
    "hour": 2,
    "count": 5
  },
  {
    "hour": 9,
    "count": 145
  },
  {
    "hour": 14,
    "count": 203
  },
  {
    "hour": 23,
    "count": 18
  }
]

Get Daily Access

GET
endpoint
/api/stats/access/daily
Get access counts grouped by date. Track daily trends and patterns over time.

Response

Returns an array of daily access records:
date
string
required
Date in ISO 8601 format (YYYY-MM-DD)
count
long
required
Number of accesses on this date
[
  {
    "date": "2026-02-28",
    "count": 234
  },
  {
    "date": "2026-03-01",
    "count": 198
  },
  {
    "date": "2026-03-02",
    "count": 267
  },
  {
    "date": "2026-03-03",
    "count": 312
  },
  {
    "date": "2026-03-04",
    "count": 189
  }
]

Get Access Failures

GET
endpoint
/api/stats/access/failures
Analyze failed access attempts grouped by failure reason. Helps identify common issues users encounter.

Response

Returns an array of failure records:
result
enum
required
Type of access failure. Possible values:
  • NOT_FOUND - Link does not exist
  • REVOKED - Link was revoked
  • EXPIRED - Link has expired
  • VIEW_LIMIT_REACHED - Maximum views exceeded
  • PASSWORD_REQUIRED - Password needed but not provided
  • INVALID_PASSWORD - Incorrect password provided
  • UNEXPECTED_STATE - Link in unexpected state
count
long
required
Number of failures of this type
[
  {
    "result": "EXPIRED",
    "count": 87
  },
  {
    "result": "NOT_FOUND",
    "count": 42
  },
  {
    "result": "INVALID_PASSWORD",
    "count": 23
  },
  {
    "result": "VIEW_LIMIT_REACHED",
    "count": 15
  },
  {
    "result": "REVOKED",
    "count": 8
  }
]

Build docs developers (and LLMs) love