---
updatedAt: 2026-08-17T21:47:12.000Z
agentTools:
  projectIndex: https://docs.delivr.ai/llms.txt
---

# Resolution statistics

Return aggregate resolution-rate statistics for your organization, rolled up across all of its pixels over the recent reporting window.

The headline number depends on which unit you look at. The **event rate** counts pixel fires; the **visitor (cookie) rate** counts unique people and is the honest per-visitor number, always lower because resolved visitors generate many events while every bot or Safari hit mints a throwaway cookie. The **addressable** rate is measured against US traffic only, excluding bots and cookieless requests, and is the one to benchmark against.

Non-US traffic sits outside that benchmark but is mostly still eligible for resolution. A visitor on a non-US IP can and does resolve, usually at a lower rate, whenever their identity is already known to the graph. Use the `ip_country` field on the events endpoints to scope results by visitor country.

The exception is the EEA, the UK and Switzerland. Visitors on an IP in those 32 countries are never resolved, because their law requires opt-in consent for the profile data we would attach. Their events are still collected and returned; only the identity is withheld. See "Where we do not resolve visitors" in the event field catalog for the country list.

The `funnel` partitions **all** events into priority-ordered, mutually exclusive buckets, so the buckets sum to `total_events`. Priority, not resolution alone, decides the bucket: Safari events that did resolve are counted under `resolved`, not `safari`, and `international` holds every non-US event, resolved or not, because `resolved` counts only addressable (US) resolutions. `first_touch` splits the rate by first-time vs returning visitors (the most actionable view: returning visitors resolve far higher because identity binds a cookie to a person over repeat visits).

Sections that need counters your data predates are omitted rather than reported as zero.

By default the response aggregates every pixel in your organization over the last seven completed days. The optional parameters below narrow it, always within your own organization.


# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Events & Identity",
    "description": "Query the resolved on-domain events your pixel captures, and resolve identities for the people behind them. Once your pixel is installed (see **Pixel Tracking**), use these endpoints to pull page views, clicks, and other events with the resolved person and company attached, inspect the event schema, resolve hashed emails (HEM), and look up a contact.\n\n**Pick a tier, and you pick the price.** Events are read through four tier routes rather than one endpoint. Each route returns the columns at or below its enrichment tier and bills the matching meter, so the cost of a call is legible from its URL before you make it. Start at `web_event`, which carries no identity resolution and is the cheapest way to establish volume or scope a window, and move up only for the identity fields you actually need.\n\n**Authentication:** organization API key. Send `X-Api-Key` + `X-Api-Secret` on every request. (Legacy JWT bearer auth still works but is deprecated.)\n\n**Base URL:** `https://api.delivr.ai`\n",
    "version": "1.0",
    "contact": {
      "name": "Delivr.ai Support",
      "url": "https://delivr.ai"
    }
  },
  "servers": [
    {
      "url": "https://api.delivr.ai",
      "description": "Production"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": [],
      "ApiSecretAuth": []
    }
  ],
  "tags": [
    {
      "name": "Resolution",
      "description": "Aggregate resolution-rate statistics for your organization's pixels."
    }
  ],
  "paths": {
    "/api/v1/resolution/statistics": {
      "get": {
        "tags": [
          "Resolution"
        ],
        "summary": "Resolution statistics",
        "operationId": "getResolutionStatistics",
        "description": "Return aggregate resolution-rate statistics for your organization, rolled up across all of its pixels over the recent reporting window.\n\nThe headline number depends on which unit you look at. The **event rate** counts pixel fires; the **visitor (cookie) rate** counts unique people and is the honest per-visitor number, always lower because resolved visitors generate many events while every bot or Safari hit mints a throwaway cookie. The **addressable** rate is measured against US traffic only, excluding bots and cookieless requests, and is the one to benchmark against.\n\nNon-US traffic sits outside that benchmark but is mostly still eligible for resolution. A visitor on a non-US IP can and does resolve, usually at a lower rate, whenever their identity is already known to the graph. Use the `ip_country` field on the events endpoints to scope results by visitor country.\n\nThe exception is the EEA, the UK and Switzerland. Visitors on an IP in those 32 countries are never resolved, because their law requires opt-in consent for the profile data we would attach. Their events are still collected and returned; only the identity is withheld. See \"Where we do not resolve visitors\" in the event field catalog for the country list.\n\nThe `funnel` partitions **all** events into priority-ordered, mutually exclusive buckets, so the buckets sum to `total_events`. Priority, not resolution alone, decides the bucket: Safari events that did resolve are counted under `resolved`, not `safari`, and `international` holds every non-US event, resolved or not, because `resolved` counts only addressable (US) resolutions. `first_touch` splits the rate by first-time vs returning visitors (the most actionable view: returning visitors resolve far higher because identity binds a cookie to a person over repeat visits).\n\nSections that need counters your data predates are omitted rather than reported as zero.\n\nBy default the response aggregates every pixel in your organization over the last seven completed days. The optional parameters below narrow it, always within your own organization.\n",
        "parameters": [
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "description": "Limit to a single project (workspace) you own. Returns 404 if the project does not exist or does not belong to your organization. Mutually exclusive with `pixel_id`.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "pixel_id",
            "in": "query",
            "required": false,
            "description": "Limit to a single pixel you own. Returns 404 if the pixel does not exist or does not belong to your organization (a malformed `pixel_id` returns 400). Mutually exclusive with `project_id`.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": false,
            "description": "Start of a custom window (YYYY-MM-DD, UTC, inclusive). Must be sent together with `end_date`. When omitted, the default seven-day window is used.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-08-01"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": false,
            "description": "End of a custom window (YYYY-MM-DD, UTC, inclusive). Must be a completed day (yesterday or earlier) so the counters have finished filling, and on or after `start_date`. The window counts both dates and may span at most 92 days (so `end_date` is at most 91 days after `start_date`); e.g. with `start_date` `2026-08-01` the latest accepted `end_date` is `2026-10-31`, and `2026-11-01` returns 400.",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2026-08-07"
          }
        ],
        "responses": {
          "200": {
            "description": "Resolution statistics for the authenticated organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResolutionStatistics"
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters (e.g. a malformed date, an incomplete date range, both project_id and pixel_id, or a partial/future end_date)."
          },
          "401": {
            "description": "Missing or invalid API credentials (X-Api-Key and/or X-Api-Secret)."
          },
          "404": {
            "description": "The requested project_id or pixel_id does not exist or does not belong to your organization."
          },
          "503": {
            "description": "Resolution statistics are temporarily unavailable."
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Key",
        "description": "Organization API key (`dlvr_` prefixed), created in the dashboard at `https://app.delivr.ai/{org_id}/settings/api-keys`. Must be paired with the `X-Api-Secret` header."
      },
      "ApiSecretAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Secret",
        "description": "Secret half of the organization API key, paired with `X-Api-Key`. Both headers are required on every request."
      }
    },
    "schemas": {
      "ResolutionStatistics": {
        "type": "object",
        "description": "Aggregate resolution statistics for one organization over one window.",
        "properties": {
          "window_start": {
            "type": "string",
            "description": "Start of the reporting window (ISO 8601, UTC).",
            "example": "2026-08-07T00:00:00Z"
          },
          "window_end": {
            "type": "string",
            "description": "End of the reporting window (ISO 8601, UTC).",
            "example": "2026-08-14T00:00:00Z"
          },
          "total_events": {
            "type": "integer",
            "format": "int64",
            "description": "All pixel events in the window."
          },
          "resolved_events": {
            "type": "integer",
            "format": "int64",
            "description": "Events resolved to a person."
          },
          "resolution_rate": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "description": "All-traffic event resolution rate (percent). `null` when there are no events.",
            "example": 35.6
          },
          "distinct_accounts": {
            "type": "integer",
            "format": "int64",
            "description": "Distinct companies resolved."
          },
          "distinct_profiles": {
            "type": "integer",
            "format": "int64",
            "description": "Distinct people (hashed emails) resolved."
          },
          "addressable": {
            "type": "object",
            "description": "Resolution over addressable traffic only (total minus bots, cookieless, and non-US), the benchmarkable rate.",
            "properties": {
              "available": {
                "type": "boolean",
                "description": "False when the window predates the funnel counters or they do not reconcile."
              },
              "events": {
                "type": "integer",
                "format": "int64"
              },
              "resolved_events": {
                "type": "integer",
                "format": "int64"
              },
              "rate": {
                "type": "number",
                "format": "float",
                "nullable": true,
                "description": "Addressable resolution rate (percent).",
                "example": 14.6
              }
            }
          },
          "funnel": {
            "type": "object",
            "nullable": true,
            "description": "Priority-ordered, mutually exclusive why-unresolved buckets. Safari events that resolved are counted under `resolved`, so the buckets sum to `total_events`. Omitted when the window predates the counters.",
            "properties": {
              "invalid": {
                "type": "integer",
                "format": "int64",
                "description": "Bots and cookieless requests."
              },
              "international": {
                "type": "integer",
                "format": "int64",
                "description": "Non-US and unknown-country events, resolved or not. Because `resolved` counts only addressable (US) resolutions, an international visitor who did resolve is counted here rather than under `resolved`. That keeps the buckets summing to total_events; it does not mean non-US traffic cannot resolve, with the exception of the EEA, the UK and Switzerland, which are never resolved."
              },
              "safari": {
                "type": "integer",
                "format": "int64",
                "description": "US Safari/ITP events that did not resolve."
              },
              "unmatched": {
                "type": "integer",
                "format": "int64",
                "description": "US, non-Safari, cookied events that did not resolve."
              },
              "resolved": {
                "type": "integer",
                "format": "int64",
                "description": "US resolved events, including resolved Safari."
              }
            }
          },
          "browsers": {
            "type": "array",
            "description": "Per-browser split at event and visitor level. Omitted for older windows.",
            "items": {
              "type": "object",
              "properties": {
                "family": {
                  "type": "string",
                  "description": "`chromium`, `webkit`, or `other`."
                },
                "total_events": {
                  "type": "integer",
                  "format": "int64"
                },
                "resolved_events": {
                  "type": "integer",
                  "format": "int64"
                },
                "event_rate": {
                  "type": "number",
                  "format": "float",
                  "nullable": true
                },
                "visitors": {
                  "type": "integer",
                  "format": "int64",
                  "description": "Distinct cookies."
                },
                "resolved_visitors": {
                  "type": "integer",
                  "format": "int64"
                },
                "visitor_rate": {
                  "type": "number",
                  "format": "float",
                  "nullable": true
                }
              }
            }
          },
          "visitors": {
            "type": "object",
            "description": "Per-unique-visitor (distinct cookie) resolution, the honest per-person number.",
            "properties": {
              "total_cookies": {
                "type": "integer",
                "format": "int64"
              },
              "resolved_cookies": {
                "type": "integer",
                "format": "int64"
              },
              "cookie_rate": {
                "type": "number",
                "format": "float",
                "nullable": true,
                "description": "Visitor resolution rate (percent).",
                "example": 7.5
              }
            }
          },
          "first_touch": {
            "type": "object",
            "nullable": true,
            "description": "Resolution split by first-time vs returning visitors, measured on the trustworthy cohort. Omitted when the window predates the counters.",
            "properties": {
              "cohort": {
                "type": "string",
                "description": "`chromium` (preferred) or `all` (fallback)."
              },
              "new": {
                "$ref": "#/components/schemas/FirstTouchSegment"
              },
              "returning": {
                "$ref": "#/components/schemas/FirstTouchSegment"
              }
            }
          }
        }
      },
      "FirstTouchSegment": {
        "type": "object",
        "description": "One first-touch cohort's visitor count and resolution rate.",
        "properties": {
          "visitors": {
            "type": "integer",
            "format": "int64"
          },
          "resolved_visitors": {
            "type": "integer",
            "format": "int64"
          },
          "rate": {
            "type": "number",
            "format": "float",
            "nullable": true,
            "description": "Resolution rate for this segment (percent)."
          }
        }
      }
    }
  }
}
```