Security (report)

GET/api/v1/reports/security
Requires anorganization API keywith the scopereports:read

Request

GET/api/v1/reports/security
curl -X GET 'https://app.mailyte.com/api/v1/reports/security' \
  -H 'Authorization: Bearer mk_live_YOUR_API_KEY'
The key names its own organization, so no X-Organization-ID header is needed.

Response

Success.

  • dataobject
    • objectstringsecurity_report
    • generated_atstring

      When this response was computed, ISO 8601 UTC. Every report answers it, so "is this figure stale?" never depends on which report you asked.

    • periodobject

      Null while `availability.state` is `unavailable`, which is every response today: there is no window because nothing was measured over one.

      • start_atstring
      • end_atstring
      • granularitystringday

        The width of one `series` bucket. Always `day`: the `granularity` query parameter is accepted and ignored.

    • availabilityobject

      Whether there is a detection engine behind these figures. Check this BEFORE reading `totals` -- the counts are null, not zero, while it says `unavailable`.

      • statestringavailable | unavailable

        Today always `unavailable`. No spam, malware or phishing detection data source exists yet in mailyte-api or the mail server.

      • reasonstring

        Why the figures are unavailable. Null when they are not.

    • totalsobject

      ALL NULL today, and that is the point. This endpoint used to answer `available: false` and then report zero spam, zero malware and zero phishing -- which is not "no data", it is a clean bill of health. A customer charting it saw a flat green line and a customer alerting on it never alerted. Null says "we have not measured"; treat it as unknown, never as none.

      • scannedinteger

        Messages put through spam, malware and phishing detection. Null means the figure is unavailable, never that it is zero.

      • spaminteger

        Messages detection classified as spam. Null means the figure is unavailable, never that it is zero.

      • malwareinteger

        Messages detection found malware in. Null means the figure is unavailable, never that it is zero.

      • phishinginteger

        Messages detection classified as phishing. Null means the figure is unavailable, never that it is zero.

    • seriesarray<object>

      Null while `availability.state` is `unavailable`, which is always. Nothing produces security trend rows, so publishing `[]` would assert there were no incidents. When a detection engine exists these rows will carry the section's standard `start_at` plus the counts above; only `availability.state` and the nulls change.

Returned inside the standard envelope.

Errors

StatusWhen
401The API key is missing, unknown, revoked or expired. All four answer identically, on purpose: distinguishing them would confirm which keys exist.
403The key is valid but may not do this: it lacks the required scope, its IP allowlist does not include you, or this endpoint does not accept API keys.
404No such resource in this organization.
422The request was understood but the values were not acceptable.
429Too many requests, or the organization has spent its sending allowance. `Retry-After` says how long to wait.

Every status, with what causes it and what to do, is on the error reference.