# Summarize discovery

`GET /app/discovery/summary`

One row per project and registrable domain: how many hostnames are new, added or ignored, and the last discovery run.

Scope: `assets:read`.

## Parameters

- `projectId` (query, integer)

## Example

```bash
curl -X GET "https://api.fortwatch.ai/app/discovery/summary" \
  -H "Authorization: Bearer $FORTWATCH_API_KEY"
```

## Response 200

The request succeeded.

- `projectId` (number, required)
- `domain` (string, required)
- `new` (number, required)
- `newLive` (number, required)
- `added` (number, required)
- `ignored` (number, required)
- `lastRun` (object, required)
  - `id` (number, required)
  - `projectId` (number, required)
  - `domain` (string, required)
  - `status` (string, required)
  - `foundCount` (object | null, required)
  - `newCount` (object | null, required)
  - `wildcardDns` (object | null, required)
  - `error` (object | null, required)
  - `finishedAt` (string (date-time) | null, required)
  - `createdAt` (string (date-time), required)

```json
[
  {
    "projectId": 42,
    "domain": "app.example.com",
    "new": 1,
    "newLive": 1,
    "added": 1,
    "ignored": 1,
    "lastRun": {
      "id": 42,
      "projectId": 42,
      "domain": "app.example.com",
      "status": "string",
      "foundCount": {},
      "newCount": {},
      "wildcardDns": {},
      "error": {},
      "finishedAt": "2026-10-16T12:00:00.000Z",
      "createdAt": "2026-10-16T12:00:00.000Z"
    }
  }
]
```

## Errors

- 400: The request is not valid: a field is missing or has the wrong shape (the message names it).
- 401: No valid credentials: the API key or access token is missing, revoked or expired (INVALID_API_KEY, INVALID_TOKEN).
- 403: Not allowed: the key or token lacks this scope (SCOPE_REQUIRED), the route is dashboard-only (SESSION_REQUIRED), or a plan limit applies.
- 429: Too many requests (RATE_LIMITED): wait the seconds Retry-After gives.
