---
title: "Connectivity & auth probe"
method: GET
path: "/v1/ping"
tags: ["Utility"]
---

# Connectivity & auth probe

`GET /v1/ping`

## Request

- Base URL: `https://crowdintel.xyz/api`
- URL: `https://crowdintel.xyz/api/v1/ping`
- Auth: HTTP bearer

**Min tier: `free` (any valid key).** Verifies a key resolves, passes tier gating, rate limiting, and metering. Returns the caller's resolved tier.

The previously published path `/v1/_ping` still works — it is rewritten to this route — but `/v1/ping` is canonical.

## Response `200`

Probe OK.

- object
  - `ok` true, required
  - `tier` 'free' | 'terminal' | 'terminal_pro', required: Tier a key resolves to, derived from the owner's subscription. Every endpoint answers on every tier; the tier sets the rate limit and the webhook/backtest allowances.
  - `ts` string, date-time, required: Server time when the probe was served.

## Other responses

- `401`: Missing, invalid, or revoked API key. Returned before the rate limiter runs, so it carries no `X-RateLimit-*` headers.
- `429`: Hourly or monthly rate limit exceeded.

---

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