---
title: "Settings an agent can change"
method: GET
path: "/v1/projects/{projectId}/settings"
tags: ["Settings changes"]
---

# Settings an agent can change

`GET /v1/projects/{projectId}/settings`

## Request

- Base URL: `https://hootlens-api-368877148687.us-east1.run.app`
- URL: `https://hootlens-api-368877148687.us-east1.run.app/v1/projects/{projectId}/settings`
- Auth: HTTP bearer

The privacy policy, page targeting, per-path privacy presets, goals and funnels, and canChange: the areas of a settings change the caller may use.

Required token scopes are listed in x-hootlens-scopes. A signed-in person needs the matching permission on the site instead (the viewer and editor roles are presets of the permissions).

## Path parameters

- `projectId` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.

## Response `200`

The settings.

- object
  - `projectId` string, required: An identifier: 1 to 80 letters, digits, underscores or hyphens.
  - `role` 'owner' | 'editor' | 'viewer' | 'custom', required
  - `privacy` object, required
    - `preset` 'full' | 'balanced' | 'strict', required
  - `targeting` object, required
    - `include` string[], required
    - `exclude` string[], required
  - `pathPresets` PathPreset[], required
    - `match` string, required: A page path pattern in the page targeting syntax.
    - `preset` 'safe-form' | 'balanced' | 'strict', required
  - `goals` Goal[], required
    - union
      - object
        - `kind` 'click', required
        - `name` string, required
        - `by` 'selector', required
        - `match` string, required
        - `id` string, required
        - `since` integer, required
      - object
        - `kind` 'click', required
        - `name` string, required
        - `by` 'hootId', required
        - `match` string, required
        - `id` string, required
        - `since` integer, required
      - object
        - `kind` 'click', required
        - `name` string, required
        - `by` 'label', required
        - `match` string, required
        - `id` string, required
        - `since` integer, required
      - object
        - `kind` 'page', required
        - `name` string, required
        - `match` string, required
        - `id` string, required
        - `since` integer, required
  - `funnels` Funnel[], required
    - `name` string, required
    - `steps` object[], required
      - `goalId` string, required
    - `id` string, required
    - `createdAt` integer, required
  - `canChange` string[], required

## Other responses

- `401`: The credential is missing, expired or revoked.
- `403`: The credential or the person's permissions on the site do not permit this action.
- `404`: The site, or the record inside it, does not exist or the caller is not a member (a non-member cannot tell the two apart).
- `429`: A rate limit or a per-site limit was reached.

---

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