|
1 |
| ---- |
2 |
| -title: Create Modern SharePoint Sites using REST |
3 |
| -description: Create and get the status of a new modern SharePoint site by using the REST interface. |
4 |
| -ms.date: 4/19/2018 |
5 |
| -ms.prod: sharepoint |
6 |
| -localization_priority: Priority |
7 |
| ---- |
8 |
| - |
9 |
| -# Manage modern SharePoint sites using REST |
10 |
| - |
11 |
| -This topic assumes that you are already familiar with the following topics: |
12 |
| - |
13 |
| -- [Get to know the SharePoint REST service](../sp-add-ins/get-to-know-the-sharepoint-rest-service.md) |
14 |
| -- [Complete basic operations using SharePoint REST endpoints](../sp-add-ins/complete-basic-operations-using-sharepoint-rest-endpoints.md) |
15 |
| - |
16 |
| -This topic does not provide code snippets. The REST examples below assume an HTTP Accept header of 'application/json;odata.metadata=none'. |
17 |
| - |
18 |
| -The following REST commands are available for creating a modern SharePoint Communication site: |
19 |
| - |
20 |
| -- **Create**. Create a new SharePoint site. |
21 |
| -- **Delete**. Deletes a SharePoint site. |
22 |
| -- **Status**. Get the status of a SharePoint site. |
23 |
| - |
24 |
| -The base URL for the REST commands is `_api/SPSiteManager`. |
25 |
| - |
26 |
| -## Create a modern site |
27 |
| - |
28 |
| -Using the following REST api you can create both Communication sites and non-group associated Team Sites. |
29 |
| - |
30 |
| -To specify which type of site to create you use the WebTemplate attribute. Use one of the following templates to select which type of site to create: |
31 |
| - |
32 |
| -* Communication Site: `SITEPAGEPUBLISHING#0` |
33 |
| -* non-group associated Team Site: `STS#3` |
34 |
| - |
35 |
| -```json |
36 |
| -url: /_api/SPSiteManager/create |
37 |
| -accept: application/json;odata.metadata=none |
38 |
| -odata-version: 4.0 |
39 |
| -method: POST |
40 |
| -body: |
41 |
| -{ |
42 |
| - "Title": "Communication Site 1", |
43 |
| - "Url":"https://contoso.sharepoint.com/sites/commsite1", |
44 |
| - "Lcid": 1033, |
45 |
| - "ShareByEmailEnabled":false, |
46 |
| - "Classification":"Low Business Impact", |
47 |
| - "Description":"Description", |
48 |
| - "WebTemplate":"SITEPAGEPUBLISHING#0", |
49 |
| - "SiteDesignId":"6142d2a0-63a5-4ba0-aede-d9fefca2c767", |
50 |
| - |
51 |
| -} |
52 |
| -``` |
53 |
| - |
54 |
| -> [!IMPORTANT] |
55 |
| -> If you use an app-only context to create the site collection the **owner property is required**. In other cases this is an optional property and will default to the user calling the REST endpoint. |
56 |
| -
|
57 |
| - |
58 |
| -The site design id can be retrieved by using the [Get-SPOSiteDesign](/powershell/module/sharepoint-online/get-spositedesign) (Microsoft SharePoint Online Management Shell) or [Get-PnPSiteDesign](/powershell/module/sharepoint-pnp/get-pnpsitedesign) (PnP PowerShell) cmdlets. If you want to apply an out-of-the-box available site design, use the following values: |
59 |
| - |
60 |
| -- Topic: null |
61 |
| -- Showcase: `6142d2a0-63a5-4ba0-aede-d9fefca2c767` |
62 |
| -- Blank: `f6cc5403-0d63-442e-96c0-285923709ffc` |
63 |
| - |
64 |
| -### Response |
65 |
| - |
66 |
| -If successful, this method returns a `200, OK` response code and simple JSON object in the response body with the following details. |
67 |
| - |
68 |
| -```json |
69 |
| -{ |
70 |
| - "SiteId":"d11e59ca-1465-424c-be90-c847ba849af5", |
71 |
| - "SiteStatus":2, |
72 |
| - "SiteUrl":"https://contoso.sharepoint.com/sites/commsite1" |
73 |
| -} |
74 |
| -``` |
75 |
| - |
76 |
| -## Delete a modern site |
77 |
| - |
78 |
| -The REST API to delete a modern site is: |
79 |
| - |
80 |
| -```json |
81 |
| -url: /_api/SPSiteManager/delete |
82 |
| -method: POST |
83 |
| -accept: application/json;odata.metadata=none |
84 |
| -odata-version: 4.0 |
85 |
| -body: |
86 |
| -{ |
87 |
| - "siteId":"d11e59ca-1465-424c-be90-c847ba849af5" |
88 |
| -} |
89 |
| -``` |
90 |
| -### Response |
91 |
| - |
92 |
| -If succesfull this method returns a `200, OK` response code. |
93 |
| - |
94 |
| -## Get modern site status |
95 |
| - |
96 |
| -The REST API for getting the status of a modern SharePoint site: |
97 |
| - |
98 |
| -```json |
99 |
| -url: /_api/SPSiteManager/status?url='https%3A%2F%2Fcontoso.sharepoint.com%2Fsites%2Fcommsite1' |
100 |
| -method: GET |
101 |
| -accept: application/json;odata.metadata=none |
102 |
| -odata-version: 4.0 |
103 |
| -body: none |
104 |
| -``` |
105 |
| - |
106 |
| -### Response |
107 |
| - |
108 |
| -If successful, this method returns a `200, OK` response code and simple JSON object in the response body with the following details. |
109 |
| - |
110 |
| -If the site exists, the response returns the site status and site URL: |
111 |
| - |
112 |
| -```json |
113 |
| -{ |
114 |
| - "SiteId":"d11e59ca-1465-424c-be90-c847ba849af5", |
115 |
| - "SiteStatus":2, |
116 |
| - "SiteUrl":"https://contoso.sharepoint.com/sites/comm1" |
117 |
| -} |
118 |
| -``` |
119 |
| - |
120 |
| - |
121 |
| -If the site does not exist, the response returns a site status of 0 with no URL and no site id. |
122 |
| - |
123 |
| -```json |
124 |
| -{ |
125 |
| - "SiteId":, |
126 |
| - "SiteStatus":0, |
127 |
| - "SiteUrl": |
128 |
| -} |
129 |
| -``` |
130 |
| - |
131 |
| -The full set of values for SiteStatus are as follows: |
132 |
| - |
133 |
| -+ `0` - Not Found. The site doesn't exist. |
134 |
| -+ `1` - Provisioning. The site is currently being provisioned. |
135 |
| -+ `2` - Ready. The site has been created. |
136 |
| -+ `3` - Error. An error occurred while provisioning the site. |
137 |
| - |
138 |
| -## See also |
139 |
| - |
140 |
| -- [Get to know the SharePoint REST service](../sp-add-ins/get-to-know-the-sharepoint-rest-service.md) |
| 1 | +--- |
| 2 | +title: Create Modern SharePoint Sites using REST |
| 3 | +description: Create and get the status of a new modern SharePoint site by using the REST interface. |
| 4 | +ms.date: 4/19/2018 |
| 5 | +ms.prod: sharepoint |
| 6 | +localization_priority: Priority |
| 7 | +--- |
| 8 | + |
| 9 | +# Manage modern SharePoint sites using REST |
| 10 | + |
| 11 | +This topic assumes that you are already familiar with the following topics: |
| 12 | + |
| 13 | +- [Get to know the SharePoint REST service](../sp-add-ins/get-to-know-the-sharepoint-rest-service.md) |
| 14 | +- [Complete basic operations using SharePoint REST endpoints](../sp-add-ins/complete-basic-operations-using-sharepoint-rest-endpoints.md) |
| 15 | + |
| 16 | +This topic does not provide code snippets. The REST examples below assume an HTTP Accept header of 'application/json;odata.metadata=none'. |
| 17 | + |
| 18 | +The following REST commands are available for creating a modern SharePoint Communication site: |
| 19 | + |
| 20 | +- **Create**. Create a new SharePoint site. |
| 21 | +- **Delete**. Deletes a SharePoint site. |
| 22 | +- **Status**. Get the status of a SharePoint site. |
| 23 | + |
| 24 | +The base URL for the REST commands is `_api/SPSiteManager`. |
| 25 | + |
| 26 | +## Create a modern site |
| 27 | + |
| 28 | +Using the following REST api you can create both Communication sites and non-group associated Team Sites. |
| 29 | + |
| 30 | +To specify which type of site to create you use the WebTemplate attribute. Use one of the following templates to select which type of site to create: |
| 31 | + |
| 32 | +* Communication Site: `SITEPAGEPUBLISHING#0` |
| 33 | +* non-group associated Team Site: `STS#3` |
| 34 | + |
| 35 | +```json |
| 36 | +url: /_api/SPSiteManager/create |
| 37 | +accept: application/json;odata.metadata=none |
| 38 | +odata-version: 4.0 |
| 39 | +method: POST |
| 40 | +body: |
| 41 | +{ |
| 42 | + "Title": "Communication Site 1", |
| 43 | + "Url":"https://contoso.sharepoint.com/sites/commsite1", |
| 44 | + "Lcid": 1033, |
| 45 | + "ShareByEmailEnabled":false, |
| 46 | + "Classification":"Low Business Impact", |
| 47 | + "Description":"Description", |
| 48 | + "WebTemplate":"SITEPAGEPUBLISHING#0", |
| 49 | + "SiteDesignId":"6142d2a0-63a5-4ba0-aede-d9fefca2c767", |
| 50 | + |
| 51 | +} |
| 52 | +``` |
| 53 | + |
| 54 | +> [!IMPORTANT] |
| 55 | +> If you use an app-only context to create the site collection the **owner property is required**. In other cases this is an optional property and if not present will default to the user calling the REST endpoint. |
| 56 | +
|
| 57 | + |
| 58 | +The site design id can be retrieved by using the [Get-SPOSiteDesign](/powershell/module/sharepoint-online/get-spositedesign) (Microsoft SharePoint Online Management Shell) or [Get-PnPSiteDesign](/powershell/module/sharepoint-pnp/get-pnpsitedesign) (PnP PowerShell) cmdlets. If you want to apply an out-of-the-box available site design, use the following values: |
| 59 | + |
| 60 | +- Topic: null |
| 61 | +- Showcase: `6142d2a0-63a5-4ba0-aede-d9fefca2c767` |
| 62 | +- Blank: `f6cc5403-0d63-442e-96c0-285923709ffc` |
| 63 | + |
| 64 | +### Response |
| 65 | + |
| 66 | +If successful, this method returns a `200, OK` response code and simple JSON object in the response body with the following details. |
| 67 | + |
| 68 | +```json |
| 69 | +{ |
| 70 | + "SiteId":"d11e59ca-1465-424c-be90-c847ba849af5", |
| 71 | + "SiteStatus":2, |
| 72 | + "SiteUrl":"https://contoso.sharepoint.com/sites/commsite1" |
| 73 | +} |
| 74 | +``` |
| 75 | + |
| 76 | +## Delete a modern site |
| 77 | + |
| 78 | +The REST API to delete a modern site is: |
| 79 | + |
| 80 | +```json |
| 81 | +url: /_api/SPSiteManager/delete |
| 82 | +method: POST |
| 83 | +accept: application/json;odata.metadata=none |
| 84 | +odata-version: 4.0 |
| 85 | +body: |
| 86 | +{ |
| 87 | + "siteId":"d11e59ca-1465-424c-be90-c847ba849af5" |
| 88 | +} |
| 89 | +``` |
| 90 | +### Response |
| 91 | + |
| 92 | +If succesfull this method returns a `200, OK` response code. |
| 93 | + |
| 94 | +## Get modern site status |
| 95 | + |
| 96 | +The REST API for getting the status of a modern SharePoint site: |
| 97 | + |
| 98 | +```json |
| 99 | +url: /_api/SPSiteManager/status?url='https%3A%2F%2Fcontoso.sharepoint.com%2Fsites%2Fcommsite1' |
| 100 | +method: GET |
| 101 | +accept: application/json;odata.metadata=none |
| 102 | +odata-version: 4.0 |
| 103 | +body: none |
| 104 | +``` |
| 105 | + |
| 106 | +### Response |
| 107 | + |
| 108 | +If successful, this method returns a `200, OK` response code and simple JSON object in the response body with the following details. |
| 109 | + |
| 110 | +If the site exists, the response returns the site status and site URL: |
| 111 | + |
| 112 | +```json |
| 113 | +{ |
| 114 | + "SiteId":"d11e59ca-1465-424c-be90-c847ba849af5", |
| 115 | + "SiteStatus":2, |
| 116 | + "SiteUrl":"https://contoso.sharepoint.com/sites/comm1" |
| 117 | +} |
| 118 | +``` |
| 119 | + |
| 120 | + |
| 121 | +If the site does not exist, the response returns a site status of 0 with no URL and no site id. |
| 122 | + |
| 123 | +```json |
| 124 | +{ |
| 125 | + "SiteId":, |
| 126 | + "SiteStatus":0, |
| 127 | + "SiteUrl": |
| 128 | +} |
| 129 | +``` |
| 130 | + |
| 131 | +The full set of values for SiteStatus are as follows: |
| 132 | + |
| 133 | ++ `0` - Not Found. The site doesn't exist. |
| 134 | ++ `1` - Provisioning. The site is currently being provisioned. |
| 135 | ++ `2` - Ready. The site has been created. |
| 136 | ++ `3` - Error. An error occurred while provisioning the site. |
| 137 | + |
| 138 | +## See also |
| 139 | + |
| 140 | +- [Get to know the SharePoint REST service](../sp-add-ins/get-to-know-the-sharepoint-rest-service.md) |
0 commit comments