---
title: "Select public or protected Dev access"
method: PUT
path: "/v1/projects/{project_id}/dev-access-mode"
---

# Select public or protected Dev access

`PUT /v1/projects/{project_id}/dev-access-mode`

## Request

- Base URL: `https://app.ohmyho.st`
- URL: `https://app.ohmyho.st/v1/projects/{project_id}/dev-access-mode`
- Auth: HTTP bearer

Owner-only. Public Dev needs no platform access link; switching back to protected creates a fresh link and invalidates earlier sessions.

## Path parameters

- `project_id` string, required

## Headers

- `X-Request-Id` string
- `Idempotency-Key` string, required

## Request body

- SetDevAccessModeRequest
  - `mode` 'protected' | 'public', required

## Response `200`

Current Dev access mode and owner-only share link.

- DevAccessState
  - `project_id` string, required
  - `mode` 'protected' | 'public', required
  - `share_url` string, uri, nullable, required: Owner-only persistent bearer link in protected mode; null when public or revoked.

## Other responses

- `400`: The request failed.
- `401`: The request failed.
- `403`: The request failed.
- `404`: The request failed.
- `503`: The request failed.

---

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