---
title: "Rotate the tracking token"
method: POST
path: "/v1/geo/ingest/rotate-token"
tags: ["GEO"]
---

# Rotate the tracking token

`POST /v1/geo/ingest/rotate-token`

## Request

- Base URL: `https://api.usenotra.com`
- URL: `https://api.usenotra.com/v1/geo/ingest/rotate-token`
- Auth: HTTP bearer

Invalidates every tracking token previously issued for this organization and returns a fresh one. Deployments still sending the old token stop being accepted immediately.

## Query parameters

- `projectId` string: Bind the token to one project. Omit to track the whole organization.

## Response `200`

Token rotated successfully

- GeoIngestTokenResponse
  - `ingestUrl` string, required: Endpoint the tracking snippet posts events to.
  - `snippet` string, required: Install snippet for the default framework (Next.js).
  - `snippets` object, required
    - `next` string, required
    - `nuxt` string, required
    - `netlify` string, required
    - `tanstack` string, required
    - `astro` string, required
    - `sveltekit` string, required
    - `reactRouter` string, required
  - `drainUrls` object, required: Endpoints a Vercel log drain or Cloudflare Logpush job posts request logs to, authenticated with the tracking token.
    - `vercel` string, required
    - `cloudflare` string, required
  - `organization` object, required
    - `id` string, required
    - `slug` string, required
    - `name` string, required
    - `logo` string, nullable, required
  - `token` string, required: Tracking token. Shown once per request; rotating invalidates every previously issued token.

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key
- `402`: GEO plan or available AI credits required
- `403`: Forbidden
- `404`: Organization, project or resource not found
- `409`: Conflict
- `500`: Internal server error
- `503`: Authentication or billing service unavailable

## Changes

- **2026-10-20** `dca4c43468d4`: 1 info
  - added the required property `snippets/reactRouter` to the response with the `200` status
- **2026-10-11** `1e29b79b308a`: 1 info
  - added the required property `drainUrls` to the response with the `200` status
- **2026-09-18** `59bd1d2ff6e5`: 2 info
  - added the required property `snippets/astro` to the response with the `200` status
  - added the required property `snippets/sveltekit` to the response with the `200` status
- **2026-09-17** `e7b5915d62ec`: 1 info
  - added the required property `snippets/tanstack` to the response with the `200` status
- **2026-09-02** `fd2fc44c9208`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usenotra/apis/notra-api/changes/v1/geo/ingest/rotate-token/post.md)

---

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