---
title: "Update the project URL"
method: PUT
path: "/projects/{slug}/url"
tags: ["Publishing"]
---

# Update the project URL

`PUT /projects/{slug}/url`

Change the path, switch subdomains, or point the project at a custom domain. Provide exactly one of userSubdomainId or userDomainId. Requires a paid plan.

## Path parameters

- `slug` string, required

## Request body

- object
  - `path` string, required — The path segment after the hostname.
  - `userSubdomainId` string — ID of the subdomain to host on.
  - `userDomainId` string — ID of the custom domain to host on.

## Response `200`

URL updated

- object
  - `success` boolean, required
  - `current` object, required
    - `type` 'subdomain' | 'domain', required
    - `hostname` string, required
    - `path` string, required
    - `subdomainId` string
    - `domainId` string
    - `projectSubdomainId` string
    - `projectDomainId` string

## Other responses

- `400` — Validation error
- `403` — Paid plan required
- `404` — Project not found
- `409` — URL already in use

---

[API](https://skmtc.dev/faces/apis/faces-api.md) · [All operations](https://skmtc.dev/faces/apis/faces-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/faces/faces-api/revisions/83197d741969/schema)
