---
title: "Create Subprojects"
method: POST
path: "/Accounts"
tags: ["Accounts"]
---

# Create Subprojects

`POST /Accounts`

This endpoint creates a subproject on the Project you are connecting as.

#### Permissions
The API token must include the following scopes: _Management_.

## Response `201`

Response containing a newly created subproject account.

- Account — Account/Project model representing a SignalWire project.
  - `sid` string, uuid, required — The unique identifier for this Project.
  - `friendly_name` string, required — The name of the Project.
  - `status` 'active' | 'suspended' | 'closed', required — The status of the Project.
  - `auth_token` string, required — The authorization token for this Project. Always returns 'redacted' for security.
  - `date_created` string, required — The date and time this Project was created, in RFC 2822 format.
  - `date_updated` string, required — The date and time this Project was last updated, in RFC 2822 format.
  - `type` 'Trial' | 'Full', required — The type of the Project.
  - `owner_account_sid` string, uuid, required — The Project ID of the parent project. For parent projects, this is the same as sid.
  - `region_preference` string, required — The preferred region for the Project.
  - `uri` string, required — The URI for the Project.
  - `subproject` boolean, required — Whether this project is a sub-project of another project.
  - `signing_key` string, nullable, required — The signing key for the Project. Currently not supported and always null.
  - `subresource_uris` SubresourceUris, required — A Map of sub-resources that are linked to the given Project.
    - `addresses` string, nullable, required — URI for addresses. Currently not supported and always null.
    - `available_phone_numbers` string, required — URI for available phone numbers.
    - `applications` string, required — URI for applications.
    - `authorized_connect_apps` string, nullable, required — URI for authorized connect apps. Currently not supported and always null.
    - `calls` string, required — URI for calls.
    - `conferences` string, required — URI for conferences.
    - `connect_apps` string, nullable, required — URI for connect apps. Currently not supported and always null.
    - `incoming_phone_numbers` string, required — URI for incoming phone numbers.
    - `keys` string, nullable, required — URI for keys. Currently not supported and always null.
    - `notifications` string, nullable, required — URI for notifications. Currently not supported and always null.
    - `outgoing_caller_ids` string, nullable, required — URI for outgoing caller IDs. Currently not supported and always null.
    - `queues` string, required — URI for queues.
    - `recordings` string, required — URI for recordings.
    - `sandbox` string, nullable, required — URI for sandbox. Currently not supported and always null.
    - `sip` string, nullable, required — URI for SIP. Currently not supported and always null.
    - `short_codes` string, nullable, required — URI for short codes. Currently not supported and always null.
    - `messages` string, required — URI for messages.
    - `transcriptions` string, required — URI for transcriptions.
    - `usage` string, nullable, required — URI for usage. Currently not supported and always null.

## Other responses

- `400` — The request was invalid or cannot be processed. Check the error details for more information.
- `401` — Authentication failed. Please verify your credentials and try again.

## Changes

- **2026-01-19** `d5fbaaddfa3e` — 1 breaking, 1 warning, 1 info
  - removed the success response with the status `200`
  - the `FriendlyName` request property's maxLength was set to `250`
  - added the success response with the status `201`
- **2026-01-15** `1e7bbde00d70` — 2 breaking, 2 info
  - the `status` response's property type/format changed from `string`/`` to ``/`` for status `200`
  - the `type` response's property type/format changed from `string`/`` to ``/`` for status `200`
  - added `#/components/schemas/AccountStatus` to the `status` response property `allOf` list for the response status `200`
  - added `#/components/schemas/AccountType` to the `type` response property `allOf` list for the response status `200`
- **2026-01-15** `07f73f74a61d` — 1 breaking, 1 info
  - removed the media type `application/json` from the request body
  - added the media type `application/x-www-form-urlencoded` to the request body
- **2026-01-15** `3c88f14db21e` — 3 breaking, 19 warning, 4 info
  - removed the media type `application/x-www-form-urlencoded` from the request body
  - the `subproject` response's property type/format changed from `boolean`/`boolean` to `boolean`/`` for status `200`
  - the `subresource_uris` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the optional property `subresource_uris/addresses` from the response with the `200` status
  - …22 more

[Change history](https://skmtc.dev/signalwire/apis/compatibility-api/changes/Accounts/post.md)

---

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