---
title: "Update Allowed Domains"
method: PUT
path: "/api/products/{product_id}/allowed-domains"
tags: ["products"]
---

# Update Allowed Domains

`PUT /api/products/{product_id}/allowed-domains`

## Request

- Base URL: `https://api.usecrow.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.usecrow.ai/api/products/{product_id}/allowed-domains`
- Auth: none declared. Required headers: `authorization`
- TypeScript: <https://skmtc.dev/usecrow/apis/crow-backend-multi-tenant-saas/docs/api/products/:product_id/allowed-domains/put.ts> (a function with typed inputs; its response is checked against the schema)

Update allowed domains for a product (authenticated)

- Set allowed_domains to null to allow all domains (disable restrictions)
- Set allowed_domains to [] to block all domains
- Set allowed_domains to ["example.com", "*.example.com"] to allow specific domains

Supports wildcard subdomains: *.example.com matches sub.example.com
Localhost is always allowed for development.

## Path parameters

- `product_id` string, required

## Headers

- `authorization` string, required

## Request body

- UpdateAllowedDomainsRequest: Request model for updating allowed domains
  - `allowed_domains` string[], nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usecrow/apis/crow-backend-multi-tenant-saas.md) - [All operations](https://skmtc.dev/usecrow/apis/crow-backend-multi-tenant-saas/llms.txt) - [OpenAPI document](https://skmtc.dev/usecrow/apis/crow-backend-multi-tenant-saas/revisions/b2950af46532?raw)
