# Check the report fetching

`GET https://api.mailmasker.org/api/v1/dmarc/status`

When reports were last fetched, how that went, and how many are stored.

- Who can use it: Site admins
- Area: DMARC reports
- Answers 200 OK when it works
- Page: https://developer.mailmasker.org/dmarc-status

`ingest` is the hourly fetch's last run: when, on which host, and its note (what it found, or ERROR and why). `store` covers every report kept so far, with the earliest and latest dates they cover. Look here first, since a summary with nothing in it can also mean the fetching has stopped.

## Examples

cURL:

```bash
curl -s 'https://api.mailmasker.org/api/v1/dmarc/status' \
  -H "Authorization: Bearer $TOKEN"
```

Perl:

```perl
use Mojo::Base -strict;
use Mojo::UserAgent;

my $ua  = Mojo::UserAgent->new;
my $res = $ua->get('https://api.mailmasker.org/api/v1/dmarc/status',
    { Authorization => "Bearer $ENV{TOKEN}" })->result;
die $res->code, ' ', ($res->json('/error') // $res->message), "\n" unless $res->is_success;
print $res->body, "\n";
```

homelab-cli:

There is no homelab-cli command for this yet.

## Response

200 OK:

```json
{
  "ingest": {
    "last_run": "2026-11-03 21:00:04.512339-06",
    "last_host": "admin-node-1",
    "last_note": "seen=3 reports+=3 records+=7 skipped=0 failed=0"
  },
  "store": {
    "reports": 412,
    "last_ingest": "2026-11-03 21:00:03.998120-06",
    "earliest": "2026-11-01 18:00:00-06",
    "latest": "2026-11-03 17:59:59-06"
  }
}
```
