> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# Projects

> Create and manage projects in your project tree, and rotate signing keys.

[restclient]: /docs/server-sdks/reference/typescript/rest/client

[project]: /docs/server-sdks/reference/typescript/rest/project

[list]: /docs/server-sdks/reference/typescript/rest/projects/list

[get]: /docs/server-sdks/reference/typescript/rest/projects/get

[create]: /docs/server-sdks/reference/typescript/rest/projects/create

[update]: /docs/server-sdks/reference/typescript/rest/projects/update

[delete]: /docs/server-sdks/reference/typescript/rest/projects/delete

[rotate]: /docs/server-sdks/reference/typescript/rest/projects/rotate-signing-key

List, create, update, and delete the projects in your project tree, and rotate
a project's signing key. All operations are scoped to the authenticated root
project and its subprojects. For API tokens of the current project, use the
singular [`client.project.tokens`][project] instead.

Access via `client.projects` on a [`RestClient`][restclient] instance.

```typescript {9}
import { RestClient } from "@signalwire/sdk";

const client = new RestClient({
  project: "your-project-id",
  token: "your-api-token",
  host: "your-space.signalwire.com"
});

const project = await client.projects.create({ name: "Bayview Taxi Staging" });
console.log(project.id);
```

## **Methods**

#### [list](/docs/server-sdks/reference/typescript/rest/projects/list)

List the root project and its subprojects.

#### [get](/docs/server-sdks/reference/typescript/rest/projects/get)

Retrieve a project by ID.

#### [create](/docs/server-sdks/reference/typescript/rest/projects/create)

Create a subproject.

#### [update](/docs/server-sdks/reference/typescript/rest/projects/update)

Update a project's name or protection settings.

#### [delete](/docs/server-sdks/reference/typescript/rest/projects/delete)

Delete a subproject.

#### [rotateSigningKey](/docs/server-sdks/reference/typescript/rest/projects/rotate-signing-key)

Issue a new signing key for a project.