---
title: "See who can view this site"
method: GET
path: "/api/v1/sites/{slug}/access"
tags: ["Sites"]
---

# See who can view this site

`GET /api/v1/sites/{slug}/access`

## Request

- Base URL: `https://api.dotsy.ai`
- URL: `https://api.dotsy.ai/api/v1/sites/{slug}/access`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Whether the live site is public or password-protected. `canEnable` is true when the workspace is on CORE, or when the site is already protected (the password can still be changed after CORE ends). The password hash is never returned.

## Path parameters

- `slug` string, required

## Response `200`

The site's visitor access.

- SiteAccess
  - `access` 'public' | 'password', required: public, or password-protected.
  - `workspacePlan` 'free' | 'core', required: The owning workspace's plan. free when it has no plan row.
  - `canEnable` boolean, required: True when protection can be turned on: the workspace is on CORE, or this site is already protected.

## Other responses

- `400`: The body is not valid (`invalid_body`), the password is missing (`password_required`), shorter than 8 characters (`password_too_short`) or longer than 128 (`password_too_long`).
- `401`: Missing or invalid credentials.
- `403`: Turning protection on needs CORE (`feature_requires_core`), or the caller is not a site owner (`site_owner_required`).
- `404`: No such site.

---

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