> 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. > Create and manage projects in your project tree, and rotate signing keys. ## Docs - [create](https://signalwire.com/docs/server-sdks/reference/typescript/rest/projects/create.md): Create a subproject. - [delete](https://signalwire.com/docs/server-sdks/reference/typescript/rest/projects/delete.md): Delete a subproject. - [get](https://signalwire.com/docs/server-sdks/reference/typescript/rest/projects/get.md): Retrieve a project by ID. - [list](https://signalwire.com/docs/server-sdks/reference/typescript/rest/projects/list.md): List the authenticated root project and its subprojects. - [rotateSigningKey](https://signalwire.com/docs/server-sdks/reference/typescript/rest/projects/rotate-signing-key.md): Issue a new signing key for a project. - [update](https://signalwire.com/docs/server-sdks/reference/typescript/rest/projects/update.md): Update a project's name or protection settings.