---
title: "Gate responses (completed viewing-gate forms)"
method: GET
path: "/api/v1/gate-responses"
tags: ["Events"]
---

# Gate responses (completed viewing-gate forms)

`GET /api/v1/gate-responses`

## Request

- Base URL: `https://everypage.co`
- URL: `https://everypage.co/api/v1/gate-responses`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://everypage.co/oauth/authorize`, token URL `https://everypage.co/oauth/token`, scopes: `readership:read`)

A dedicated resource alias of `/api/v1/events?type=gate` for integrations whose trigger config wants a resource path. Identical rows, cursor, and parameters. Pro plan required; scope `readership:read`. Event ids are 64-bit. Email-only gates (which store the address on the view session rather than as a form response) do not appear in this feed.

## Query parameters

- `file` string
- `since` integer
- `limit` integer

## Response `200`

Gate responses as `type:"gate"` events

- ReadEvent[]
  - `id` integer: Stable event id for polling/dedup. Per-stream: not comparable across `type` values.
  - `fileUuid` string, uuid
  - `fileName` string
  - `readAt` string, date-time
  - `country` string: Absent on gate events.
  - `pagesViewed` integer: view events only (always present there, 0 included); absent on download/gate events.
  - `timeMs` integer: Time spent reading, milliseconds. view events only; absent on download/gate events.
  - `type` 'view' | 'download' | 'gate': Which stream the event belongs to.
  - `fields` object: gate events only: the submitted form fields (e.g. email, name).

## Other responses

- `401`: No or invalid API key, OAuth token, manage token or claim token (code `missing_token` or `invalid_token`).
- `403`: Requires the Pro plan (plain-text 403 message) - or, for OAuth tokens, the `readership:read` scope (`insufficient_scope` message).
- `429`: Over the limit - 120 requests per minute per Authorization value on /api/v1 (webhook test 10/min; the Canva lane 30/min per IP). Code `rate_limited`; wait for `Retry-After`.

---

[API](https://skmtc.dev/everypage/apis/everypage-api.md) · [All operations](https://skmtc.dev/everypage/apis/everypage-api/llms.txt) · [OpenAPI document](https://skmtc.dev/everypage/apis/everypage-api/revisions/e6674f903456?raw)
