---
title: "API discovery document"
method: GET
path: "/api/v1"
tags: ["Account"]
---

# API discovery document

`GET /api/v1`

## Request

- Base URL: `https://everypage.co`
- URL: `https://everypage.co/api/v1`
- Auth: none required

Zero-credential discovery document at the API root - pointers to this specification, the developer docs, the credential lanes (API keys, OAuth server and protected-resource metadata), the rate-limit convention, the error format and the versioning policy. The one read an agent can make before it has a key.

## Response `200`

The discovery document.

- ApiIndex: The zero-auth discovery document served at GET /api/v1.
  - `name` string
  - `version` string
  - `status` string
  - `openapi` string, uri
  - `documentation` string, uri
  - `authentication` object
    - `type` string
    - `api_keys` string, uri: Where to create a self-serve API key.
    - `oauth_metadata` string, uri: RFC 8414 authorization-server metadata.
    - `resource_metadata` string, uri: RFC 9728 protected-resource metadata for /api/v1.
    - `scopes` string[]
  - `rate_limit` object
    - `requests_per_minute` integer
    - `headers` string[]
  - `errors` string
  - `versioning` string, uri
  - `free_plan` object
    - `signup` string, uri
    - `card_required` boolean
    - `sandbox` boolean: There is no separate sandbox; use a free account.

## Other responses

- `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)
