---
title: "Get a Navigation Policy"
method: GET
path: "/v1/navigation-policies/{id}"
---

# Get a Navigation Policy

`GET /v1/navigation-policies/{id}`

## Request

- Base URL: `https://api.browserbase.com`
- URL: `https://api.browserbase.com/v1/navigation-policies/{id}`
- Auth: API key in header `X-BB-API-Key`

Retrieve a single navigation policy by ID.

## Path parameters

- `id` string, uuid, required

## Response `200`

The navigation policy.

- NavigationPolicy: Rules for which domains a browser session may navigate to. Bind a policy to a session with `browserSettings.riskPolicyId`; Browserbase then allows or blocks each navigation by the policy's overrides, its category rules, and finally its default decision. A session keeps the policy as it was when the session started: edits, disables, and deletes apply to sessions that start afterwards. A policy checks navigations: page loads, iframes, popups, and each redirect. It doesn't check requests a page makes itself, such as scripts, images, and `fetch` calls. In a session that loads a Context, pages skip their service workers so that the policy checks every navigation.
  - `id` string, required: Unique identifier for the navigation policy.
  - `projectId` string, required: The project the policy belongs to.
  - `name` string, required: Display name. A policy's id identifies it, not its name.
  - `description` string, required: Free-form notes about the policy.
  - `enabled` boolean, required: Whether the policy can be bound to new sessions. Running sessions keep the policy they started with. A disabled policy stays editable and can be re-enabled.
  - `defaultDecision` 'allow' | 'block', required: Decision for each of a domain's categories that has no category rule. The strictest of a domain's category decisions applies, and overrides take precedence.
  - `allowedCategories` string[], required: Navigation categories. Browserbase blocks a domain in any blocked category, even if it is also in an allowed one.
  - `blockedCategories` string[], required: Navigation categories. Browserbase blocks a domain in any blocked category, even if it is also in an allowed one.
  - `unknownDomainBehavior` 'allow' | 'block', required: Decision for a domain, or one of its categories, that Browserbase can't classify. It counts as one of the domain's category decisions, so the strictest still applies.
  - `domainOverrides` object[], required: Per-host decisions that take precedence over category rules and the default. Each host may appear once.
    - `domain` string, hostname, required: Host the override applies to, for example `example.com`. Matching is case-insensitive and covers subdomains.
    - `decision` 'allow' | 'block', required: Decision for navigations to this host.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Changes

- **2026-10-30** `fdbe9f0b761f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/browserbase/apis/browserbase-api/changes/v1/navigation-policies/:id/get.md)

---

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