@vercel/sdk 1.8.0 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/README.md +49 -36
  2. package/bin/mcp-server.js +7965 -6520
  3. package/bin/mcp-server.js.map +50 -41
  4. package/docs/sdks/domains/README.md +88 -0
  5. package/docs/sdks/edgeconfig/README.md +80 -0
  6. package/docs/sdks/rollingrelease/README.md +487 -0
  7. package/docs/sdks/vercel/README.md +0 -372
  8. package/esm/__tests__/edgeconfig.test.js +17 -0
  9. package/esm/__tests__/edgeconfig.test.js.map +1 -1
  10. package/esm/__tests__/rollingrelease.test.d.ts +2 -0
  11. package/esm/__tests__/rollingrelease.test.d.ts.map +1 -0
  12. package/esm/__tests__/rollingrelease.test.js +326 -0
  13. package/esm/__tests__/rollingrelease.test.js.map +1 -0
  14. package/esm/__tests__/teams.test.js +4 -4
  15. package/esm/__tests__/teams.test.js.map +1 -1
  16. package/esm/__tests__/vercel.test.js +11 -201
  17. package/esm/__tests__/vercel.test.js.map +1 -1
  18. package/esm/funcs/domainsCreateOrTransferDomain.d.ts +20 -0
  19. package/esm/funcs/domainsCreateOrTransferDomain.d.ts.map +1 -0
  20. package/esm/funcs/{postDomains.js → domainsCreateOrTransferDomain.js} +27 -13
  21. package/esm/funcs/domainsCreateOrTransferDomain.js.map +1 -0
  22. package/esm/funcs/{patchProjectsProjectIdLogsPresetsId.d.ts → edgeConfigPatchEdgeConfigItems.d.ts} +9 -4
  23. package/esm/funcs/edgeConfigPatchEdgeConfigItems.d.ts.map +1 -0
  24. package/esm/funcs/{postProjectsProjectIdLogsPresets.js → edgeConfigPatchEdgeConfigItems.js} +31 -14
  25. package/esm/funcs/edgeConfigPatchEdgeConfigItems.js.map +1 -0
  26. package/esm/funcs/rollingReleaseApproveRollingReleaseStage.d.ts +20 -0
  27. package/esm/funcs/rollingReleaseApproveRollingReleaseStage.d.ts.map +1 -0
  28. package/esm/funcs/rollingReleaseApproveRollingReleaseStage.js +95 -0
  29. package/esm/funcs/rollingReleaseApproveRollingReleaseStage.js.map +1 -0
  30. package/esm/funcs/rollingReleaseCompleteRollingRelease.d.ts +20 -0
  31. package/esm/funcs/rollingReleaseCompleteRollingRelease.d.ts.map +1 -0
  32. package/esm/funcs/{patchProjectsProjectIdLogsPresetsId.js → rollingReleaseCompleteRollingRelease.js} +28 -17
  33. package/esm/funcs/rollingReleaseCompleteRollingRelease.js.map +1 -0
  34. package/esm/funcs/rollingReleaseDeleteRollingReleaseConfig.d.ts +20 -0
  35. package/esm/funcs/rollingReleaseDeleteRollingReleaseConfig.d.ts.map +1 -0
  36. package/esm/funcs/rollingReleaseDeleteRollingReleaseConfig.js +94 -0
  37. package/esm/funcs/rollingReleaseDeleteRollingReleaseConfig.js.map +1 -0
  38. package/esm/funcs/rollingReleaseGetRollingRelease.d.ts +20 -0
  39. package/esm/funcs/rollingReleaseGetRollingRelease.d.ts.map +1 -0
  40. package/esm/funcs/{getProjectsProjectIdLogsPresets.js → rollingReleaseGetRollingRelease.js} +30 -14
  41. package/esm/funcs/rollingReleaseGetRollingRelease.js.map +1 -0
  42. package/esm/funcs/rollingReleaseGetRollingReleaseConfig.d.ts +20 -0
  43. package/esm/funcs/rollingReleaseGetRollingReleaseConfig.d.ts.map +1 -0
  44. package/esm/funcs/{deleteProjectsProjectIdLogsPresetsId.js → rollingReleaseGetRollingReleaseConfig.js} +30 -18
  45. package/esm/funcs/rollingReleaseGetRollingReleaseConfig.js.map +1 -0
  46. package/esm/funcs/rollingReleaseUpdateRollingReleaseConfig.d.ts +20 -0
  47. package/esm/funcs/rollingReleaseUpdateRollingReleaseConfig.d.ts.map +1 -0
  48. package/esm/funcs/rollingReleaseUpdateRollingReleaseConfig.js +94 -0
  49. package/esm/funcs/rollingReleaseUpdateRollingReleaseConfig.js.map +1 -0
  50. package/esm/lib/config.d.ts +3 -3
  51. package/esm/lib/config.js +3 -3
  52. package/esm/mcp-server/mcp-server.js +1 -1
  53. package/esm/mcp-server/server.d.ts.map +1 -1
  54. package/esm/mcp-server/server.js +17 -11
  55. package/esm/mcp-server/server.js.map +1 -1
  56. package/esm/mcp-server/tools/domainsCreateOrTransferDomain.d.ts +7 -0
  57. package/esm/mcp-server/tools/domainsCreateOrTransferDomain.d.ts.map +1 -0
  58. package/esm/mcp-server/tools/domainsCreateOrTransferDomain.js +28 -0
  59. package/esm/mcp-server/tools/domainsCreateOrTransferDomain.js.map +1 -0
  60. package/esm/mcp-server/tools/edgeConfigPatchEdgeConfigItems.d.ts +7 -0
  61. package/esm/mcp-server/tools/edgeConfigPatchEdgeConfigItems.d.ts.map +1 -0
  62. package/esm/mcp-server/tools/edgeConfigPatchEdgeConfigItems.js +28 -0
  63. package/esm/mcp-server/tools/edgeConfigPatchEdgeConfigItems.js.map +1 -0
  64. package/esm/mcp-server/tools/rollingReleaseApproveRollingReleaseStage.d.ts +7 -0
  65. package/esm/mcp-server/tools/rollingReleaseApproveRollingReleaseStage.d.ts.map +1 -0
  66. package/esm/mcp-server/tools/rollingReleaseApproveRollingReleaseStage.js +28 -0
  67. package/esm/mcp-server/tools/rollingReleaseApproveRollingReleaseStage.js.map +1 -0
  68. package/esm/mcp-server/tools/rollingReleaseCompleteRollingRelease.d.ts +7 -0
  69. package/esm/mcp-server/tools/rollingReleaseCompleteRollingRelease.d.ts.map +1 -0
  70. package/esm/mcp-server/tools/rollingReleaseCompleteRollingRelease.js +28 -0
  71. package/esm/mcp-server/tools/rollingReleaseCompleteRollingRelease.js.map +1 -0
  72. package/esm/mcp-server/tools/rollingReleaseDeleteRollingReleaseConfig.d.ts +7 -0
  73. package/esm/mcp-server/tools/rollingReleaseDeleteRollingReleaseConfig.d.ts.map +1 -0
  74. package/esm/mcp-server/tools/rollingReleaseDeleteRollingReleaseConfig.js +28 -0
  75. package/esm/mcp-server/tools/rollingReleaseDeleteRollingReleaseConfig.js.map +1 -0
  76. package/esm/mcp-server/tools/rollingReleaseGetRollingRelease.d.ts +7 -0
  77. package/esm/mcp-server/tools/rollingReleaseGetRollingRelease.d.ts.map +1 -0
  78. package/esm/mcp-server/tools/rollingReleaseGetRollingRelease.js +28 -0
  79. package/esm/mcp-server/tools/rollingReleaseGetRollingRelease.js.map +1 -0
  80. package/esm/mcp-server/tools/rollingReleaseGetRollingReleaseConfig.d.ts +7 -0
  81. package/esm/mcp-server/tools/rollingReleaseGetRollingReleaseConfig.d.ts.map +1 -0
  82. package/esm/mcp-server/tools/rollingReleaseGetRollingReleaseConfig.js +28 -0
  83. package/esm/mcp-server/tools/rollingReleaseGetRollingReleaseConfig.js.map +1 -0
  84. package/esm/mcp-server/tools/rollingReleaseUpdateRollingReleaseConfig.d.ts +7 -0
  85. package/esm/mcp-server/tools/rollingReleaseUpdateRollingReleaseConfig.d.ts.map +1 -0
  86. package/esm/mcp-server/tools/rollingReleaseUpdateRollingReleaseConfig.js +28 -0
  87. package/esm/mcp-server/tools/rollingReleaseUpdateRollingReleaseConfig.js.map +1 -0
  88. package/esm/models/approverollingreleasestageop.d.ts +661 -0
  89. package/esm/models/approverollingreleasestageop.d.ts.map +1 -0
  90. package/esm/models/approverollingreleasestageop.js +481 -0
  91. package/esm/models/approverollingreleasestageop.js.map +1 -0
  92. package/esm/models/canceldeploymentop.d.ts +26 -0
  93. package/esm/models/canceldeploymentop.d.ts.map +1 -1
  94. package/esm/models/canceldeploymentop.js +22 -0
  95. package/esm/models/canceldeploymentop.js.map +1 -1
  96. package/esm/models/completerollingreleaseop.d.ts +656 -0
  97. package/esm/models/completerollingreleaseop.d.ts.map +1 -0
  98. package/esm/models/completerollingreleaseop.js +478 -0
  99. package/esm/models/completerollingreleaseop.js.map +1 -0
  100. package/esm/models/createdeploymentop.d.ts +26 -0
  101. package/esm/models/createdeploymentop.d.ts.map +1 -1
  102. package/esm/models/createdeploymentop.js +23 -0
  103. package/esm/models/createdeploymentop.js.map +1 -1
  104. package/esm/models/createortransferdomainop.d.ts +388 -0
  105. package/esm/models/createortransferdomainop.d.ts.map +1 -0
  106. package/esm/models/createortransferdomainop.js +310 -0
  107. package/esm/models/createortransferdomainop.js.map +1 -0
  108. package/esm/models/createprojectenvop.d.ts +6 -6
  109. package/esm/models/createprojectenvop.js +2 -2
  110. package/esm/models/createprojectenvop.js.map +1 -1
  111. package/esm/models/createprojectop.d.ts +20 -14
  112. package/esm/models/createprojectop.d.ts.map +1 -1
  113. package/esm/models/createprojectop.js +3 -3
  114. package/esm/models/createprojectop.js.map +1 -1
  115. package/esm/models/createrecordop.d.ts +43 -43
  116. package/esm/models/createrecordop.d.ts.map +1 -1
  117. package/esm/models/createrecordop.js +51 -51
  118. package/esm/models/createrecordop.js.map +1 -1
  119. package/esm/models/deleterollingreleaseconfigop.d.ts +67 -0
  120. package/esm/models/deleterollingreleaseconfigop.d.ts.map +1 -0
  121. package/esm/models/deleterollingreleaseconfigop.js +60 -0
  122. package/esm/models/deleterollingreleaseconfigop.js.map +1 -0
  123. package/esm/models/editprojectenvop.d.ts +3 -3
  124. package/esm/models/editprojectenvop.js +1 -1
  125. package/esm/models/editprojectenvop.js.map +1 -1
  126. package/esm/models/filterprojectenvsop.d.ts +9 -9
  127. package/esm/models/filterprojectenvsop.js +3 -3
  128. package/esm/models/filterprojectenvsop.js.map +1 -1
  129. package/esm/models/getdeploymentop.d.ts +50 -0
  130. package/esm/models/getdeploymentop.d.ts.map +1 -1
  131. package/esm/models/getdeploymentop.js +42 -0
  132. package/esm/models/getdeploymentop.js.map +1 -1
  133. package/esm/models/getdomainop.d.ts +8 -8
  134. package/esm/models/getdomainop.d.ts.map +1 -1
  135. package/esm/models/getdomainop.js +13 -12
  136. package/esm/models/getdomainop.js.map +1 -1
  137. package/esm/models/getedgeconfigbackupop.d.ts +30 -30
  138. package/esm/models/getedgeconfigbackupop.d.ts.map +1 -1
  139. package/esm/models/getedgeconfigbackupop.js +30 -30
  140. package/esm/models/getedgeconfigbackupop.js.map +1 -1
  141. package/esm/models/getfirewallconfigop.d.ts +15 -15
  142. package/esm/models/getfirewallconfigop.d.ts.map +1 -1
  143. package/esm/models/getfirewallconfigop.js +15 -17
  144. package/esm/models/getfirewallconfigop.js.map +1 -1
  145. package/esm/models/getinvoiceop.d.ts +8 -8
  146. package/esm/models/getinvoiceop.d.ts.map +1 -1
  147. package/esm/models/getinvoiceop.js +12 -12
  148. package/esm/models/getinvoiceop.js.map +1 -1
  149. package/esm/models/getprojectenvop.d.ts +9 -9
  150. package/esm/models/getprojectenvop.js +3 -3
  151. package/esm/models/getprojectenvop.js.map +1 -1
  152. package/esm/models/getprojectsop.d.ts +11 -5
  153. package/esm/models/getprojectsop.d.ts.map +1 -1
  154. package/esm/models/getprojectsop.js.map +1 -1
  155. package/esm/models/getrollingreleaseconfigop.d.ts +152 -0
  156. package/esm/models/getrollingreleaseconfigop.d.ts.map +1 -0
  157. package/esm/models/getrollingreleaseconfigop.js +118 -0
  158. package/esm/models/getrollingreleaseconfigop.js.map +1 -0
  159. package/esm/models/getrollingreleaseop.d.ts +665 -0
  160. package/esm/models/getrollingreleaseop.d.ts.map +1 -0
  161. package/esm/models/getrollingreleaseop.js +463 -0
  162. package/esm/models/getrollingreleaseop.js.map +1 -0
  163. package/esm/models/patchedgeconfigitemsop.d.ts +387 -0
  164. package/esm/models/patchedgeconfigitemsop.d.ts.map +1 -0
  165. package/esm/models/patchedgeconfigitemsop.js +393 -0
  166. package/esm/models/patchedgeconfigitemsop.js.map +1 -0
  167. package/esm/models/putfirewallconfigop.d.ts +2 -139
  168. package/esm/models/putfirewallconfigop.d.ts.map +1 -1
  169. package/esm/models/putfirewallconfigop.js +2 -119
  170. package/esm/models/putfirewallconfigop.js.map +1 -1
  171. package/esm/models/removeprojectenvop.d.ts +9 -9
  172. package/esm/models/removeprojectenvop.js +3 -3
  173. package/esm/models/removeprojectenvop.js.map +1 -1
  174. package/esm/models/submitbillingdataop.d.ts +15 -15
  175. package/esm/models/submitbillingdataop.d.ts.map +1 -1
  176. package/esm/models/submitbillingdataop.js +15 -16
  177. package/esm/models/submitbillingdataop.js.map +1 -1
  178. package/esm/models/team.d.ts +12 -51
  179. package/esm/models/team.d.ts.map +1 -1
  180. package/esm/models/team.js +6 -46
  181. package/esm/models/team.js.map +1 -1
  182. package/esm/models/updateprojectdatacacheop.d.ts +11 -5
  183. package/esm/models/updateprojectdatacacheop.d.ts.map +1 -1
  184. package/esm/models/updateprojectdatacacheop.js.map +1 -1
  185. package/esm/models/updateprojectop.d.ts +20 -14
  186. package/esm/models/updateprojectop.d.ts.map +1 -1
  187. package/esm/models/updateprojectop.js +3 -3
  188. package/esm/models/updateprojectop.js.map +1 -1
  189. package/esm/models/updaterollingreleaseconfigop.d.ts +179 -0
  190. package/esm/models/updaterollingreleaseconfigop.d.ts.map +1 -0
  191. package/esm/models/updaterollingreleaseconfigop.js +168 -0
  192. package/esm/models/updaterollingreleaseconfigop.js.map +1 -0
  193. package/esm/sdk/domains.d.ts +8 -0
  194. package/esm/sdk/domains.d.ts.map +1 -1
  195. package/esm/sdk/domains.js +10 -0
  196. package/esm/sdk/domains.js.map +1 -1
  197. package/esm/sdk/edgeconfig.d.ts +8 -0
  198. package/esm/sdk/edgeconfig.d.ts.map +1 -1
  199. package/esm/sdk/edgeconfig.js +10 -0
  200. package/esm/sdk/edgeconfig.js.map +1 -1
  201. package/esm/sdk/rollingrelease.d.ts +52 -0
  202. package/esm/sdk/rollingrelease.d.ts.map +1 -0
  203. package/esm/sdk/rollingrelease.js +68 -0
  204. package/esm/sdk/rollingrelease.js.map +1 -0
  205. package/esm/sdk/sdk.d.ts +4 -12
  206. package/esm/sdk/sdk.d.ts.map +1 -1
  207. package/esm/sdk/sdk.js +4 -21
  208. package/esm/sdk/sdk.js.map +1 -1
  209. package/jsr.json +1 -1
  210. package/package.json +1 -1
  211. package/src/__tests__/edgeconfig.test.ts +20 -0
  212. package/src/__tests__/rollingrelease.test.ts +344 -0
  213. package/src/__tests__/teams.test.ts +4 -4
  214. package/src/__tests__/vercel.test.ts +17 -219
  215. package/src/funcs/{postDomains.ts → domainsCreateOrTransferDomain.ts} +38 -22
  216. package/src/funcs/{postProjectsProjectIdLogsPresets.ts → edgeConfigPatchEdgeConfigItems.ts} +49 -22
  217. package/src/funcs/rollingReleaseApproveRollingReleaseStage.ts +208 -0
  218. package/src/funcs/{patchProjectsProjectIdLogsPresetsId.ts → rollingReleaseCompleteRollingRelease.ts} +39 -25
  219. package/src/funcs/rollingReleaseDeleteRollingReleaseConfig.ts +207 -0
  220. package/src/funcs/{deleteProjectsProjectIdLogsPresetsId.ts → rollingReleaseGetRollingRelease.ts} +48 -25
  221. package/src/funcs/{getProjectsProjectIdLogsPresets.ts → rollingReleaseGetRollingReleaseConfig.ts} +48 -21
  222. package/src/funcs/rollingReleaseUpdateRollingReleaseConfig.ts +207 -0
  223. package/src/lib/config.ts +3 -3
  224. package/src/mcp-server/mcp-server.ts +1 -1
  225. package/src/mcp-server/server.ts +17 -11
  226. package/src/mcp-server/tools/domainsCreateOrTransferDomain.ts +37 -0
  227. package/src/mcp-server/tools/{getProjectsProjectIdLogsPresets.ts → edgeConfigPatchEdgeConfigItems.ts} +9 -7
  228. package/src/mcp-server/tools/rollingReleaseApproveRollingReleaseStage.ts +40 -0
  229. package/src/mcp-server/tools/rollingReleaseCompleteRollingRelease.ts +39 -0
  230. package/src/mcp-server/tools/rollingReleaseDeleteRollingReleaseConfig.ts +39 -0
  231. package/src/mcp-server/tools/rollingReleaseGetRollingRelease.ts +38 -0
  232. package/src/mcp-server/tools/rollingReleaseGetRollingReleaseConfig.ts +39 -0
  233. package/src/mcp-server/tools/rollingReleaseUpdateRollingReleaseConfig.ts +39 -0
  234. package/src/models/approverollingreleasestageop.ts +1139 -0
  235. package/src/models/canceldeploymentop.ts +36 -0
  236. package/src/models/completerollingreleaseop.ts +1094 -0
  237. package/src/models/createdeploymentop.ts +32 -0
  238. package/src/models/createortransferdomainop.ts +779 -0
  239. package/src/models/createprojectenvop.ts +2 -2
  240. package/src/models/createprojectop.ts +14 -8
  241. package/src/models/createrecordop.ts +84 -96
  242. package/src/models/deleterollingreleaseconfigop.ts +150 -0
  243. package/src/models/editprojectenvop.ts +1 -1
  244. package/src/models/filterprojectenvsop.ts +3 -3
  245. package/src/models/getdeploymentop.ts +67 -0
  246. package/src/models/getdomainop.ts +14 -16
  247. package/src/models/getedgeconfigbackupop.ts +59 -59
  248. package/src/models/getfirewallconfigop.ts +24 -32
  249. package/src/models/getinvoiceop.ts +16 -15
  250. package/src/models/getprojectenvop.ts +3 -3
  251. package/src/models/getprojectsop.ts +11 -5
  252. package/src/models/getrollingreleaseconfigop.ts +322 -0
  253. package/src/models/getrollingreleaseop.ts +1000 -0
  254. package/src/models/patchedgeconfigitemsop.ts +749 -0
  255. package/src/models/putfirewallconfigop.ts +4 -230
  256. package/src/models/removeprojectenvop.ts +3 -3
  257. package/src/models/submitbillingdataop.ts +40 -37
  258. package/src/models/team.ts +18 -94
  259. package/src/models/updateprojectdatacacheop.ts +11 -5
  260. package/src/models/updateprojectop.ts +14 -8
  261. package/src/models/updaterollingreleaseconfigop.ts +432 -0
  262. package/src/sdk/domains.ts +22 -0
  263. package/src/sdk/edgeconfig.ts +22 -0
  264. package/src/sdk/rollingrelease.ts +140 -0
  265. package/src/sdk/sdk.ts +7 -71
  266. package/vercel-spec.json +2313 -733
  267. package/esm/funcs/deleteProjectsProjectIdLogsPresetsId.d.ts +0 -13
  268. package/esm/funcs/deleteProjectsProjectIdLogsPresetsId.d.ts.map +0 -1
  269. package/esm/funcs/deleteProjectsProjectIdLogsPresetsId.js.map +0 -1
  270. package/esm/funcs/getProjectsProjectIdLogsPresets.d.ts +0 -14
  271. package/esm/funcs/getProjectsProjectIdLogsPresets.d.ts.map +0 -1
  272. package/esm/funcs/getProjectsProjectIdLogsPresets.js.map +0 -1
  273. package/esm/funcs/patchProjectsProjectIdLogsPresetsId.d.ts.map +0 -1
  274. package/esm/funcs/patchProjectsProjectIdLogsPresetsId.js.map +0 -1
  275. package/esm/funcs/postDomains.d.ts +0 -14
  276. package/esm/funcs/postDomains.d.ts.map +0 -1
  277. package/esm/funcs/postDomains.js.map +0 -1
  278. package/esm/funcs/postProjectsProjectIdLogsPresets.d.ts +0 -14
  279. package/esm/funcs/postProjectsProjectIdLogsPresets.d.ts.map +0 -1
  280. package/esm/funcs/postProjectsProjectIdLogsPresets.js.map +0 -1
  281. package/esm/mcp-server/tools/deleteProjectsProjectIdLogsPresetsId.d.ts +0 -7
  282. package/esm/mcp-server/tools/deleteProjectsProjectIdLogsPresetsId.d.ts.map +0 -1
  283. package/esm/mcp-server/tools/deleteProjectsProjectIdLogsPresetsId.js +0 -25
  284. package/esm/mcp-server/tools/deleteProjectsProjectIdLogsPresetsId.js.map +0 -1
  285. package/esm/mcp-server/tools/getProjectsProjectIdLogsPresets.d.ts +0 -7
  286. package/esm/mcp-server/tools/getProjectsProjectIdLogsPresets.d.ts.map +0 -1
  287. package/esm/mcp-server/tools/getProjectsProjectIdLogsPresets.js +0 -26
  288. package/esm/mcp-server/tools/getProjectsProjectIdLogsPresets.js.map +0 -1
  289. package/esm/mcp-server/tools/patchProjectsProjectIdLogsPresetsId.d.ts +0 -7
  290. package/esm/mcp-server/tools/patchProjectsProjectIdLogsPresetsId.d.ts.map +0 -1
  291. package/esm/mcp-server/tools/patchProjectsProjectIdLogsPresetsId.js +0 -26
  292. package/esm/mcp-server/tools/patchProjectsProjectIdLogsPresetsId.js.map +0 -1
  293. package/esm/mcp-server/tools/postDomains.d.ts +0 -7
  294. package/esm/mcp-server/tools/postDomains.d.ts.map +0 -1
  295. package/esm/mcp-server/tools/postDomains.js +0 -26
  296. package/esm/mcp-server/tools/postDomains.js.map +0 -1
  297. package/esm/mcp-server/tools/postProjectsProjectIdLogsPresets.d.ts +0 -7
  298. package/esm/mcp-server/tools/postProjectsProjectIdLogsPresets.d.ts.map +0 -1
  299. package/esm/mcp-server/tools/postProjectsProjectIdLogsPresets.js +0 -26
  300. package/esm/mcp-server/tools/postProjectsProjectIdLogsPresets.js.map +0 -1
  301. package/esm/models/deleteprojectsprojectidlogspresetsidop.d.ts +0 -37
  302. package/esm/models/deleteprojectsprojectidlogspresetsidop.d.ts.map +0 -1
  303. package/esm/models/deleteprojectsprojectidlogspresetsidop.js +0 -33
  304. package/esm/models/deleteprojectsprojectidlogspresetsidop.js.map +0 -1
  305. package/esm/models/getprojectsprojectidlogspresetsop.d.ts +0 -29
  306. package/esm/models/getprojectsprojectidlogspresetsop.d.ts.map +0 -1
  307. package/esm/models/getprojectsprojectidlogspresetsop.js +0 -31
  308. package/esm/models/getprojectsprojectidlogspresetsop.js.map +0 -1
  309. package/esm/models/patchprojectsprojectidlogspresetsidop.d.ts +0 -67
  310. package/esm/models/patchprojectsprojectidlogspresetsidop.d.ts.map +0 -1
  311. package/esm/models/patchprojectsprojectidlogspresetsidop.js +0 -69
  312. package/esm/models/patchprojectsprojectidlogspresetsidop.js.map +0 -1
  313. package/esm/models/postdomainsop.d.ts +0 -353
  314. package/esm/models/postdomainsop.d.ts.map +0 -1
  315. package/esm/models/postdomainsop.js +0 -265
  316. package/esm/models/postdomainsop.js.map +0 -1
  317. package/esm/models/postprojectsprojectidlogspresetsop.d.ts +0 -95
  318. package/esm/models/postprojectsprojectidlogspresetsop.d.ts.map +0 -1
  319. package/esm/models/postprojectsprojectidlogspresetsop.js +0 -90
  320. package/esm/models/postprojectsprojectidlogspresetsop.js.map +0 -1
  321. package/src/mcp-server/tools/deleteProjectsProjectIdLogsPresetsId.ts +0 -35
  322. package/src/mcp-server/tools/patchProjectsProjectIdLogsPresetsId.ts +0 -37
  323. package/src/mcp-server/tools/postDomains.ts +0 -35
  324. package/src/mcp-server/tools/postProjectsProjectIdLogsPresets.ts +0 -37
  325. package/src/models/deleteprojectsprojectidlogspresetsidop.ts +0 -89
  326. package/src/models/getprojectsprojectidlogspresetsop.ts +0 -72
  327. package/src/models/patchprojectsprojectidlogspresetsidop.ts +0 -180
  328. package/src/models/postdomainsop.ts +0 -637
  329. package/src/models/postprojectsprojectidlogspresetsop.ts +0 -217
package/vercel-spec.json CHANGED
@@ -5804,7 +5804,8 @@
5804
5804
  "properties": {
5805
5805
  "target": {
5806
5806
  "type": "string",
5807
- "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments."
5807
+ "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments.",
5808
+ "example": "production"
5808
5809
  },
5809
5810
  "stages": {
5810
5811
  "nullable": true,
@@ -5812,35 +5813,40 @@
5812
5813
  "properties": {
5813
5814
  "targetPercentage": {
5814
5815
  "type": "number",
5815
- "description": "The percentage of traffic to serve to the new deployment"
5816
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
5817
+ "example": 25
5816
5818
  },
5817
5819
  "requireApproval": {
5818
5820
  "type": "boolean",
5819
- "description": "Whether or not this stage requires approval to proceed."
5821
+ "description": "Whether or not this stage requires manual approval to proceed",
5822
+ "example": false
5820
5823
  },
5821
5824
  "duration": {
5822
5825
  "type": "number",
5823
- "description": "duration is the total time to serve a stage, at the given targetPercentage."
5826
+ "description": "Duration in minutes for automatic advancement to the next stage",
5827
+ "example": 600
5824
5828
  }
5825
5829
  },
5826
5830
  "required": [
5827
5831
  "targetPercentage"
5828
5832
  ],
5829
5833
  "type": "object",
5830
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
5834
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
5831
5835
  },
5832
5836
  "type": "array",
5833
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
5837
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
5834
5838
  },
5835
5839
  "canaryResponseHeader": {
5836
5840
  "type": "boolean",
5837
- "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted."
5841
+ "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted.",
5842
+ "example": false
5838
5843
  }
5839
5844
  },
5840
5845
  "required": [
5841
5846
  "target"
5842
5847
  ],
5843
- "type": "object"
5848
+ "type": "object",
5849
+ "description": "Project-level rolling release configuration that defines how deployments should be gradually rolled out"
5844
5850
  },
5845
5851
  "defaultResourceConfig": {
5846
5852
  "properties": {
@@ -9797,6 +9803,12 @@
9797
9803
  }
9798
9804
  ]
9799
9805
  },
9806
+ "oomReport": {
9807
+ "type": "string",
9808
+ "enum": [
9809
+ "out-of-memory"
9810
+ ]
9811
+ },
9800
9812
  "aliasWarning": {
9801
9813
  "nullable": true,
9802
9814
  "properties": {
@@ -11111,6 +11123,9 @@
11111
11123
  "secureComputeFallbackRegion": {
11112
11124
  "nullable": true,
11113
11125
  "type": "string"
11126
+ },
11127
+ "isUsingActiveCPU": {
11128
+ "type": "boolean"
11114
11129
  }
11115
11130
  },
11116
11131
  "required": [
@@ -11510,6 +11525,12 @@
11510
11525
  }
11511
11526
  ]
11512
11527
  },
11528
+ "oomReport": {
11529
+ "type": "string",
11530
+ "enum": [
11531
+ "out-of-memory"
11532
+ ]
11533
+ },
11513
11534
  "aliasWarning": {
11514
11535
  "nullable": true,
11515
11536
  "properties": {
@@ -12935,6 +12956,12 @@
12935
12956
  }
12936
12957
  ]
12937
12958
  },
12959
+ "oomReport": {
12960
+ "type": "string",
12961
+ "enum": [
12962
+ "out-of-memory"
12963
+ ]
12964
+ },
12938
12965
  "id": {
12939
12966
  "type": "string"
12940
12967
  },
@@ -13635,6 +13662,9 @@
13635
13662
  "secureComputeFallbackRegion": {
13636
13663
  "nullable": true,
13637
13664
  "type": "string"
13665
+ },
13666
+ "isUsingActiveCPU": {
13667
+ "type": "boolean"
13638
13668
  }
13639
13669
  },
13640
13670
  "required": [
@@ -15581,6 +15611,12 @@
15581
15611
  }
15582
15612
  ]
15583
15613
  },
15614
+ "oomReport": {
15615
+ "type": "string",
15616
+ "enum": [
15617
+ "out-of-memory"
15618
+ ]
15619
+ },
15584
15620
  "id": {
15585
15621
  "type": "string"
15586
15622
  },
@@ -16895,6 +16931,9 @@
16895
16931
  "secureComputeFallbackRegion": {
16896
16932
  "nullable": true,
16897
16933
  "type": "string"
16934
+ },
16935
+ "isUsingActiveCPU": {
16936
+ "type": "boolean"
16898
16937
  }
16899
16938
  },
16900
16939
  "required": [
@@ -19573,11 +19612,19 @@
19573
19612
  ]
19574
19613
  }
19575
19614
  },
19576
- "/domains": {
19615
+ "/v7/domains": {
19577
19616
  "post": {
19578
- "description": "",
19579
- "security": [],
19580
- "tags": [],
19617
+ "description": "This endpoint is used for adding a new apex domain name with Vercel for the authenticating user. Can also be used for initiating a domain transfer request from an external Registrar to Vercel.",
19618
+ "operationId": "createOrTransferDomain",
19619
+ "security": [
19620
+ {
19621
+ "bearerToken": []
19622
+ }
19623
+ ],
19624
+ "summary": "Register or transfer-in a new Domain",
19625
+ "tags": [
19626
+ "domains"
19627
+ ],
19581
19628
  "responses": {
19582
19629
  "200": {
19583
19630
  "description": "",
@@ -19791,7 +19838,26 @@
19791
19838
  "description": ""
19792
19839
  }
19793
19840
  },
19794
- "parameters": [],
19841
+ "parameters": [
19842
+ {
19843
+ "description": "The Team identifier to perform the request on behalf of.",
19844
+ "in": "query",
19845
+ "name": "teamId",
19846
+ "schema": {
19847
+ "type": "string",
19848
+ "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
19849
+ }
19850
+ },
19851
+ {
19852
+ "description": "The Team slug to perform the request on behalf of.",
19853
+ "in": "query",
19854
+ "name": "slug",
19855
+ "schema": {
19856
+ "type": "string",
19857
+ "example": "my-team-url-slug"
19858
+ }
19859
+ }
19860
+ ],
19795
19861
  "requestBody": {
19796
19862
  "content": {
19797
19863
  "application/json": {
@@ -21361,26 +21427,6 @@
21361
21427
  "key",
21362
21428
  "description"
21363
21429
  ]
21364
- },
21365
- {
21366
- "properties": {
21367
- "operation": {
21368
- "type": "string",
21369
- "enum": [
21370
- "delete"
21371
- ]
21372
- }
21373
- },
21374
- "required": [
21375
- "operation",
21376
- "key"
21377
- ],
21378
- "not": {
21379
- "required": [
21380
- "value",
21381
- "description"
21382
- ]
21383
- }
21384
21430
  }
21385
21431
  ]
21386
21432
  }
@@ -26518,21 +26564,82 @@
26518
26564
  ]
26519
26565
  }
26520
26566
  },
26521
- "/projects/{projectId}/logs-presets": {
26567
+ "/v1/projects/{projectId}/deployments/{deploymentId}/runtime-logs": {
26522
26568
  "get": {
26523
- "description": "",
26524
- "security": [],
26525
- "tags": [],
26569
+ "description": "Returns a stream of logs for a given deployment.",
26570
+ "operationId": "getRuntimeLogs",
26571
+ "security": [
26572
+ {
26573
+ "bearerToken": []
26574
+ }
26575
+ ],
26576
+ "summary": "Get logs for a deployment",
26577
+ "tags": [
26578
+ "logs"
26579
+ ],
26526
26580
  "responses": {
26527
26581
  "200": {
26528
26582
  "description": "",
26529
26583
  "content": {
26530
- "application/json": {
26584
+ "application/stream+json": {
26531
26585
  "schema": {
26532
- "items": {
26533
- "$ref": "#/components/schemas/Team"
26586
+ "properties": {
26587
+ "level": {
26588
+ "type": "string",
26589
+ "enum": [
26590
+ "error",
26591
+ "warning",
26592
+ "info"
26593
+ ]
26594
+ },
26595
+ "message": {
26596
+ "type": "string"
26597
+ },
26598
+ "rowId": {
26599
+ "type": "string"
26600
+ },
26601
+ "source": {
26602
+ "type": "string",
26603
+ "enum": [
26604
+ "delimiter",
26605
+ "edge-function",
26606
+ "edge-middleware",
26607
+ "serverless",
26608
+ "request"
26609
+ ]
26610
+ },
26611
+ "timestampInMs": {
26612
+ "type": "number"
26613
+ },
26614
+ "domain": {
26615
+ "type": "string"
26616
+ },
26617
+ "messageTruncated": {
26618
+ "type": "boolean"
26619
+ },
26620
+ "requestMethod": {
26621
+ "type": "string"
26622
+ },
26623
+ "requestPath": {
26624
+ "type": "string"
26625
+ },
26626
+ "responseStatusCode": {
26627
+ "type": "number"
26628
+ }
26534
26629
  },
26535
- "type": "array"
26630
+ "required": [
26631
+ "level",
26632
+ "message",
26633
+ "rowId",
26634
+ "source",
26635
+ "timestampInMs",
26636
+ "domain",
26637
+ "messageTruncated",
26638
+ "requestMethod",
26639
+ "requestPath",
26640
+ "responseStatusCode"
26641
+ ],
26642
+ "type": "object"
26536
26643
  }
26537
26644
  }
26538
26645
  }
@@ -26569,404 +26676,51 @@
26569
26676
  "schema": {
26570
26677
  "type": "string"
26571
26678
  }
26572
- }
26573
- ]
26574
- },
26575
- "post": {
26576
- "description": "",
26577
- "security": [],
26578
- "tags": [],
26579
- "responses": {
26580
- "200": {
26581
- "description": "",
26582
- "content": {
26583
- "application/json": {
26584
- "schema": {
26585
- "$ref": "#/components/schemas/Team"
26586
- }
26587
- }
26588
- }
26589
26679
  },
26590
- "400": {
26591
- "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
26592
- "content": {
26593
- "application/json": {
26594
- "schema": {
26595
- "$ref": "#/components/schemas/VercelBadRequestError"
26596
- }
26597
- }
26598
- }
26599
- },
26600
- "401": {
26601
- "description": "",
26602
- "content": {
26603
- "application/json": {
26604
- "schema": {
26605
- "$ref": "#/components/schemas/VercelForbiddenError"
26606
- }
26607
- }
26608
- }
26609
- },
26610
- "403": {
26611
- "description": "You do not have permission to access this resource."
26612
- }
26613
- },
26614
- "parameters": [
26615
26680
  {
26616
- "name": "projectId",
26617
- "description": "projectId of the preset",
26681
+ "name": "deploymentId",
26618
26682
  "in": "path",
26619
26683
  "required": true,
26620
26684
  "schema": {
26621
- "description": "projectId of the preset",
26622
26685
  "type": "string"
26623
26686
  }
26624
- }
26625
- ],
26626
- "requestBody": {
26627
- "content": {
26628
- "application/json": {
26629
- "schema": {
26630
- "type": "object",
26631
- "required": [
26632
- "query",
26633
- "title",
26634
- "group"
26635
- ],
26636
- "additionalProperties": false,
26637
- "properties": {
26638
- "query": {
26639
- "type": "string",
26640
- "example": "timeline=past30Minutes\u0026startDate=1690446214407\u0026endDate=1690448014407\u0026levels=info\u0026domains=vercel.com",
26641
- "description": "query parameter for saved filter preset",
26642
- "maxLength": 1000
26643
- },
26644
- "title": {
26645
- "type": "string",
26646
- "example": "Request Path",
26647
- "description": "The title of the preset",
26648
- "maxLength": 70
26649
- },
26650
- "group": {
26651
- "enum": [
26652
- "personal",
26653
- "team"
26654
- ]
26655
- }
26656
- }
26657
- }
26658
- }
26659
- }
26660
- }
26661
- }
26662
- },
26663
- "/projects/{projectId}/logs-presets/{id}": {
26664
- "delete": {
26665
- "description": "",
26666
- "security": [],
26667
- "tags": [],
26668
- "responses": {
26669
- "204": {
26670
- "description": ""
26671
- },
26672
- "400": {
26673
- "description": "One of the provided values in the request query is invalid.",
26674
- "content": {
26675
- "application/json": {
26676
- "schema": {
26677
- "$ref": "#/components/schemas/VercelBadRequestError"
26678
- }
26679
- }
26680
- }
26681
- },
26682
- "401": {
26683
- "description": "",
26684
- "content": {
26685
- "application/json": {
26686
- "schema": {
26687
- "$ref": "#/components/schemas/VercelForbiddenError"
26688
- }
26689
- }
26690
- }
26691
26687
  },
26692
- "403": {
26693
- "description": "You do not have permission to access this resource."
26694
- }
26695
- },
26696
- "parameters": [
26697
26688
  {
26698
- "name": "projectId",
26699
- "description": "projectId of the preset",
26700
- "in": "path",
26701
- "required": true,
26689
+ "description": "The Team identifier to perform the request on behalf of.",
26690
+ "in": "query",
26691
+ "name": "teamId",
26702
26692
  "schema": {
26703
- "description": "projectId of the preset",
26704
- "type": "string"
26693
+ "type": "string",
26694
+ "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
26705
26695
  }
26706
26696
  },
26707
26697
  {
26708
- "name": "id",
26709
- "description": "id of the preset",
26710
- "in": "path",
26711
- "required": true,
26698
+ "description": "The Team slug to perform the request on behalf of.",
26699
+ "in": "query",
26700
+ "name": "slug",
26712
26701
  "schema": {
26713
- "description": "id of the preset",
26714
- "type": "string"
26702
+ "type": "string",
26703
+ "example": "my-team-url-slug"
26715
26704
  }
26716
26705
  }
26717
26706
  ]
26718
- },
26719
- "patch": {
26720
- "description": "",
26721
- "security": [],
26722
- "tags": [],
26707
+ }
26708
+ },
26709
+ "/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items": {
26710
+ "post": {
26711
+ "description": "Create one or multiple experimentation items",
26712
+ "security": [
26713
+ {
26714
+ "bearerToken": []
26715
+ }
26716
+ ],
26717
+ "summary": "Create one or multiple experimentation items",
26718
+ "tags": [
26719
+ "marketplace"
26720
+ ],
26723
26721
  "responses": {
26724
- "200": {
26725
- "description": "",
26726
- "content": {
26727
- "application/json": {
26728
- "schema": {
26729
- "$ref": "#/components/schemas/Team"
26730
- }
26731
- }
26732
- }
26733
- },
26734
- "400": {
26735
- "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
26736
- "content": {
26737
- "application/json": {
26738
- "schema": {
26739
- "$ref": "#/components/schemas/VercelBadRequestError"
26740
- }
26741
- }
26742
- }
26743
- },
26744
- "401": {
26745
- "description": "",
26746
- "content": {
26747
- "application/json": {
26748
- "schema": {
26749
- "$ref": "#/components/schemas/VercelForbiddenError"
26750
- }
26751
- }
26752
- }
26753
- },
26754
- "403": {
26755
- "description": "You do not have permission to access this resource."
26756
- },
26757
- "404": {
26758
- "description": "",
26759
- "content": {
26760
- "application/json": {
26761
- "schema": {
26762
- "$ref": "#/components/schemas/VercelNotFoundError"
26763
- }
26764
- }
26765
- }
26766
- }
26767
- },
26768
- "parameters": [
26769
- {
26770
- "name": "projectId",
26771
- "description": "projectId of the preset",
26772
- "in": "path",
26773
- "required": true,
26774
- "schema": {
26775
- "description": "projectId of the preset",
26776
- "type": "string"
26777
- }
26778
- },
26779
- {
26780
- "name": "id",
26781
- "description": "Id of the preset",
26782
- "in": "path",
26783
- "required": true,
26784
- "schema": {
26785
- "description": "Id of the preset",
26786
- "type": "string"
26787
- }
26788
- }
26789
- ],
26790
- "requestBody": {
26791
- "content": {
26792
- "application/json": {
26793
- "schema": {
26794
- "type": "object",
26795
- "required": [
26796
- "title"
26797
- ],
26798
- "additionalProperties": false,
26799
- "properties": {
26800
- "title": {
26801
- "type": "string",
26802
- "example": "Request Path",
26803
- "description": "The title of the preset",
26804
- "maxLength": 70
26805
- }
26806
- }
26807
- }
26808
- }
26809
- }
26810
- }
26811
- }
26812
- },
26813
- "/v1/projects/{projectId}/deployments/{deploymentId}/runtime-logs": {
26814
- "get": {
26815
- "description": "Returns a stream of logs for a given deployment.",
26816
- "operationId": "getRuntimeLogs",
26817
- "security": [
26818
- {
26819
- "bearerToken": []
26820
- }
26821
- ],
26822
- "summary": "Get logs for a deployment",
26823
- "tags": [
26824
- "logs"
26825
- ],
26826
- "responses": {
26827
- "200": {
26828
- "description": "",
26829
- "content": {
26830
- "application/stream+json": {
26831
- "schema": {
26832
- "properties": {
26833
- "level": {
26834
- "type": "string",
26835
- "enum": [
26836
- "error",
26837
- "warning",
26838
- "info"
26839
- ]
26840
- },
26841
- "message": {
26842
- "type": "string"
26843
- },
26844
- "rowId": {
26845
- "type": "string"
26846
- },
26847
- "source": {
26848
- "type": "string",
26849
- "enum": [
26850
- "delimiter",
26851
- "edge-function",
26852
- "edge-middleware",
26853
- "serverless",
26854
- "request"
26855
- ]
26856
- },
26857
- "timestampInMs": {
26858
- "type": "number"
26859
- },
26860
- "domain": {
26861
- "type": "string"
26862
- },
26863
- "messageTruncated": {
26864
- "type": "boolean"
26865
- },
26866
- "requestMethod": {
26867
- "type": "string"
26868
- },
26869
- "requestPath": {
26870
- "type": "string"
26871
- },
26872
- "responseStatusCode": {
26873
- "type": "number"
26874
- }
26875
- },
26876
- "required": [
26877
- "level",
26878
- "message",
26879
- "rowId",
26880
- "source",
26881
- "timestampInMs",
26882
- "domain",
26883
- "messageTruncated",
26884
- "requestMethod",
26885
- "requestPath",
26886
- "responseStatusCode"
26887
- ],
26888
- "type": "object"
26889
- }
26890
- }
26891
- }
26892
- },
26893
- "400": {
26894
- "description": "One of the provided values in the request query is invalid.",
26895
- "content": {
26896
- "application/json": {
26897
- "schema": {
26898
- "$ref": "#/components/schemas/VercelBadRequestError"
26899
- }
26900
- }
26901
- }
26902
- },
26903
- "401": {
26904
- "description": "",
26905
- "content": {
26906
- "application/json": {
26907
- "schema": {
26908
- "$ref": "#/components/schemas/VercelForbiddenError"
26909
- }
26910
- }
26911
- }
26912
- },
26913
- "403": {
26914
- "description": "You do not have permission to access this resource."
26915
- }
26916
- },
26917
- "parameters": [
26918
- {
26919
- "name": "projectId",
26920
- "in": "path",
26921
- "required": true,
26922
- "schema": {
26923
- "type": "string"
26924
- }
26925
- },
26926
- {
26927
- "name": "deploymentId",
26928
- "in": "path",
26929
- "required": true,
26930
- "schema": {
26931
- "type": "string"
26932
- }
26933
- },
26934
- {
26935
- "description": "The Team identifier to perform the request on behalf of.",
26936
- "in": "query",
26937
- "name": "teamId",
26938
- "schema": {
26939
- "type": "string",
26940
- "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
26941
- }
26942
- },
26943
- {
26944
- "description": "The Team slug to perform the request on behalf of.",
26945
- "in": "query",
26946
- "name": "slug",
26947
- "schema": {
26948
- "type": "string",
26949
- "example": "my-team-url-slug"
26950
- }
26951
- }
26952
- ]
26953
- }
26954
- },
26955
- "/v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items": {
26956
- "post": {
26957
- "description": "Create one or multiple experimentation items",
26958
- "security": [
26959
- {
26960
- "bearerToken": []
26961
- }
26962
- ],
26963
- "summary": "Create one or multiple experimentation items",
26964
- "tags": [
26965
- "marketplace"
26966
- ],
26967
- "responses": {
26968
- "204": {
26969
- "description": "The items were created"
26722
+ "204": {
26723
+ "description": "The items were created"
26970
26724
  },
26971
26725
  "400": {
26972
26726
  "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
@@ -29758,7 +29512,8 @@
29758
29512
  "properties": {
29759
29513
  "target": {
29760
29514
  "type": "string",
29761
- "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments."
29515
+ "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments.",
29516
+ "example": "production"
29762
29517
  },
29763
29518
  "stages": {
29764
29519
  "nullable": true,
@@ -29766,35 +29521,40 @@
29766
29521
  "properties": {
29767
29522
  "targetPercentage": {
29768
29523
  "type": "number",
29769
- "description": "The percentage of traffic to serve to the new deployment"
29524
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
29525
+ "example": 25
29770
29526
  },
29771
29527
  "requireApproval": {
29772
29528
  "type": "boolean",
29773
- "description": "Whether or not this stage requires approval to proceed."
29529
+ "description": "Whether or not this stage requires manual approval to proceed",
29530
+ "example": false
29774
29531
  },
29775
29532
  "duration": {
29776
29533
  "type": "number",
29777
- "description": "duration is the total time to serve a stage, at the given targetPercentage."
29534
+ "description": "Duration in minutes for automatic advancement to the next stage",
29535
+ "example": 600
29778
29536
  }
29779
29537
  },
29780
29538
  "required": [
29781
29539
  "targetPercentage"
29782
29540
  ],
29783
29541
  "type": "object",
29784
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
29542
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
29785
29543
  },
29786
29544
  "type": "array",
29787
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
29545
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
29788
29546
  },
29789
29547
  "canaryResponseHeader": {
29790
29548
  "type": "boolean",
29791
- "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted."
29549
+ "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted.",
29550
+ "example": false
29792
29551
  }
29793
29552
  },
29794
29553
  "required": [
29795
29554
  "target"
29796
29555
  ],
29797
- "type": "object"
29556
+ "type": "object",
29557
+ "description": "Project-level rolling release configuration that defines how deployments should be gradually rolled out"
29798
29558
  },
29799
29559
  "defaultResourceConfig": {
29800
29560
  "properties": {
@@ -32595,10 +32355,10 @@
32595
32355
  "type": "string",
32596
32356
  "enum": [
32597
32357
  "system",
32358
+ "secret",
32598
32359
  "encrypted",
32599
32360
  "plain",
32600
- "sensitive",
32601
- "secret"
32361
+ "sensitive"
32602
32362
  ]
32603
32363
  },
32604
32364
  "sunsetSecretId": {
@@ -34012,7 +33772,8 @@
34012
33772
  "properties": {
34013
33773
  "target": {
34014
33774
  "type": "string",
34015
- "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments."
33775
+ "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments.",
33776
+ "example": "production"
34016
33777
  },
34017
33778
  "stages": {
34018
33779
  "nullable": true,
@@ -34020,35 +33781,40 @@
34020
33781
  "properties": {
34021
33782
  "targetPercentage": {
34022
33783
  "type": "number",
34023
- "description": "The percentage of traffic to serve to the new deployment"
33784
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
33785
+ "example": 25
34024
33786
  },
34025
33787
  "requireApproval": {
34026
33788
  "type": "boolean",
34027
- "description": "Whether or not this stage requires approval to proceed."
33789
+ "description": "Whether or not this stage requires manual approval to proceed",
33790
+ "example": false
34028
33791
  },
34029
33792
  "duration": {
34030
33793
  "type": "number",
34031
- "description": "duration is the total time to serve a stage, at the given targetPercentage."
33794
+ "description": "Duration in minutes for automatic advancement to the next stage",
33795
+ "example": 600
34032
33796
  }
34033
33797
  },
34034
33798
  "required": [
34035
33799
  "targetPercentage"
34036
33800
  ],
34037
33801
  "type": "object",
34038
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
33802
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
34039
33803
  },
34040
33804
  "type": "array",
34041
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
33805
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
34042
33806
  },
34043
33807
  "canaryResponseHeader": {
34044
33808
  "type": "boolean",
34045
- "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted."
33809
+ "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted.",
33810
+ "example": false
34046
33811
  }
34047
33812
  },
34048
33813
  "required": [
34049
33814
  "target"
34050
33815
  ],
34051
- "type": "object"
33816
+ "type": "object",
33817
+ "description": "Project-level rolling release configuration that defines how deployments should be gradually rolled out"
34052
33818
  },
34053
33819
  "defaultResourceConfig": {
34054
33820
  "properties": {
@@ -35998,8 +35764,8 @@
35998
35764
  "type": {
35999
35765
  "type": "string",
36000
35766
  "enum": [
36001
- "path",
36002
35767
  "host",
35768
+ "path",
36003
35769
  "method",
36004
35770
  "header",
36005
35771
  "cookie",
@@ -36080,8 +35846,8 @@
36080
35846
  "type": {
36081
35847
  "type": "string",
36082
35848
  "enum": [
36083
- "path",
36084
35849
  "host",
35850
+ "path",
36085
35851
  "method",
36086
35852
  "header",
36087
35853
  "cookie",
@@ -37068,10 +36834,10 @@
37068
36834
  "type": "string",
37069
36835
  "enum": [
37070
36836
  "system",
36837
+ "secret",
37071
36838
  "encrypted",
37072
36839
  "plain",
37073
- "sensitive",
37074
- "secret"
36840
+ "sensitive"
37075
36841
  ]
37076
36842
  },
37077
36843
  "sunsetSecretId": {
@@ -38485,7 +38251,8 @@
38485
38251
  "properties": {
38486
38252
  "target": {
38487
38253
  "type": "string",
38488
- "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments."
38254
+ "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments.",
38255
+ "example": "production"
38489
38256
  },
38490
38257
  "stages": {
38491
38258
  "nullable": true,
@@ -38493,35 +38260,40 @@
38493
38260
  "properties": {
38494
38261
  "targetPercentage": {
38495
38262
  "type": "number",
38496
- "description": "The percentage of traffic to serve to the new deployment"
38263
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
38264
+ "example": 25
38497
38265
  },
38498
38266
  "requireApproval": {
38499
38267
  "type": "boolean",
38500
- "description": "Whether or not this stage requires approval to proceed."
38268
+ "description": "Whether or not this stage requires manual approval to proceed",
38269
+ "example": false
38501
38270
  },
38502
38271
  "duration": {
38503
38272
  "type": "number",
38504
- "description": "duration is the total time to serve a stage, at the given targetPercentage."
38273
+ "description": "Duration in minutes for automatic advancement to the next stage",
38274
+ "example": 600
38505
38275
  }
38506
38276
  },
38507
38277
  "required": [
38508
38278
  "targetPercentage"
38509
38279
  ],
38510
38280
  "type": "object",
38511
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
38281
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
38512
38282
  },
38513
38283
  "type": "array",
38514
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
38284
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
38515
38285
  },
38516
38286
  "canaryResponseHeader": {
38517
38287
  "type": "boolean",
38518
- "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted."
38288
+ "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted.",
38289
+ "example": false
38519
38290
  }
38520
38291
  },
38521
38292
  "required": [
38522
38293
  "target"
38523
38294
  ],
38524
- "type": "object"
38295
+ "type": "object",
38296
+ "description": "Project-level rolling release configuration that defines how deployments should be gradually rolled out"
38525
38297
  },
38526
38298
  "defaultResourceConfig": {
38527
38299
  "properties": {
@@ -40471,8 +40243,8 @@
40471
40243
  "type": {
40472
40244
  "type": "string",
40473
40245
  "enum": [
40474
- "path",
40475
40246
  "host",
40247
+ "path",
40476
40248
  "method",
40477
40249
  "header",
40478
40250
  "cookie",
@@ -40553,8 +40325,8 @@
40553
40325
  "type": {
40554
40326
  "type": "string",
40555
40327
  "enum": [
40556
- "path",
40557
40328
  "host",
40329
+ "path",
40558
40330
  "method",
40559
40331
  "header",
40560
40332
  "cookie",
@@ -41211,10 +40983,10 @@
41211
40983
  "type": "string",
41212
40984
  "enum": [
41213
40985
  "system",
40986
+ "secret",
41214
40987
  "encrypted",
41215
40988
  "plain",
41216
- "sensitive",
41217
- "secret"
40989
+ "sensitive"
41218
40990
  ]
41219
40991
  },
41220
40992
  "sunsetSecretId": {
@@ -42628,7 +42400,8 @@
42628
42400
  "properties": {
42629
42401
  "target": {
42630
42402
  "type": "string",
42631
- "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments."
42403
+ "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments.",
42404
+ "example": "production"
42632
42405
  },
42633
42406
  "stages": {
42634
42407
  "nullable": true,
@@ -42636,35 +42409,40 @@
42636
42409
  "properties": {
42637
42410
  "targetPercentage": {
42638
42411
  "type": "number",
42639
- "description": "The percentage of traffic to serve to the new deployment"
42412
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
42413
+ "example": 25
42640
42414
  },
42641
42415
  "requireApproval": {
42642
42416
  "type": "boolean",
42643
- "description": "Whether or not this stage requires approval to proceed."
42417
+ "description": "Whether or not this stage requires manual approval to proceed",
42418
+ "example": false
42644
42419
  },
42645
42420
  "duration": {
42646
42421
  "type": "number",
42647
- "description": "duration is the total time to serve a stage, at the given targetPercentage."
42422
+ "description": "Duration in minutes for automatic advancement to the next stage",
42423
+ "example": 600
42648
42424
  }
42649
42425
  },
42650
42426
  "required": [
42651
42427
  "targetPercentage"
42652
42428
  ],
42653
42429
  "type": "object",
42654
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
42430
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
42655
42431
  },
42656
42432
  "type": "array",
42657
- "description": "An array of all the stages required during a deployment release. each stage requires an approval before advancing to the next stage."
42433
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
42658
42434
  },
42659
42435
  "canaryResponseHeader": {
42660
42436
  "type": "boolean",
42661
- "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted."
42437
+ "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted.",
42438
+ "example": false
42662
42439
  }
42663
42440
  },
42664
42441
  "required": [
42665
42442
  "target"
42666
42443
  ],
42667
- "type": "object"
42444
+ "type": "object",
42445
+ "description": "Project-level rolling release configuration that defines how deployments should be gradually rolled out"
42668
42446
  },
42669
42447
  "defaultResourceConfig": {
42670
42448
  "properties": {
@@ -44614,8 +44392,8 @@
44614
44392
  "type": {
44615
44393
  "type": "string",
44616
44394
  "enum": [
44617
- "path",
44618
44395
  "host",
44396
+ "path",
44619
44397
  "method",
44620
44398
  "header",
44621
44399
  "cookie",
@@ -44696,8 +44474,8 @@
44696
44474
  "type": {
44697
44475
  "type": "string",
44698
44476
  "enum": [
44699
- "path",
44700
44477
  "host",
44478
+ "path",
44701
44479
  "method",
44702
44480
  "header",
44703
44481
  "cookie",
@@ -48453,10 +48231,10 @@
48453
48231
  "type": "string",
48454
48232
  "enum": [
48455
48233
  "system",
48234
+ "secret",
48456
48235
  "encrypted",
48457
48236
  "plain",
48458
- "sensitive",
48459
- "secret"
48237
+ "sensitive"
48460
48238
  ]
48461
48239
  },
48462
48240
  "sunsetSecretId": {
@@ -48866,10 +48644,10 @@
48866
48644
  "type": "string",
48867
48645
  "enum": [
48868
48646
  "system",
48647
+ "secret",
48869
48648
  "encrypted",
48870
48649
  "plain",
48871
- "sensitive",
48872
- "secret"
48650
+ "sensitive"
48873
48651
  ]
48874
48652
  },
48875
48653
  "sunsetSecretId": {
@@ -49291,10 +49069,10 @@
49291
49069
  "type": "string",
49292
49070
  "enum": [
49293
49071
  "system",
49072
+ "secret",
49294
49073
  "encrypted",
49295
49074
  "plain",
49296
- "sensitive",
49297
- "secret"
49075
+ "sensitive"
49298
49076
  ]
49299
49077
  },
49300
49078
  "sunsetSecretId": {
@@ -49850,10 +49628,10 @@
49850
49628
  "type": "string",
49851
49629
  "enum": [
49852
49630
  "system",
49631
+ "secret",
49853
49632
  "encrypted",
49854
49633
  "plain",
49855
- "sensitive",
49856
- "secret"
49634
+ "sensitive"
49857
49635
  ]
49858
49636
  },
49859
49637
  "sunsetSecretId": {
@@ -50252,10 +50030,10 @@
50252
50030
  "type": "string",
50253
50031
  "enum": [
50254
50032
  "system",
50033
+ "secret",
50255
50034
  "encrypted",
50256
50035
  "plain",
50257
- "sensitive",
50258
- "secret"
50036
+ "sensitive"
50259
50037
  ]
50260
50038
  },
50261
50039
  "sunsetSecretId": {
@@ -51033,10 +50811,10 @@
51033
50811
  "type": "string",
51034
50812
  "enum": [
51035
50813
  "system",
50814
+ "secret",
51036
50815
  "encrypted",
51037
50816
  "plain",
51038
- "sensitive",
51039
- "secret"
50817
+ "sensitive"
51040
50818
  ]
51041
50819
  },
51042
50820
  "sunsetSecretId": {
@@ -51432,10 +51210,10 @@
51432
51210
  "type": "string",
51433
51211
  "enum": [
51434
51212
  "system",
51213
+ "secret",
51435
51214
  "encrypted",
51436
51215
  "plain",
51437
- "sensitive",
51438
- "secret"
51216
+ "sensitive"
51439
51217
  ]
51440
51218
  },
51441
51219
  "sunsetSecretId": {
@@ -51835,10 +51613,10 @@
51835
51613
  "type": "string",
51836
51614
  "enum": [
51837
51615
  "system",
51616
+ "secret",
51838
51617
  "encrypted",
51839
51618
  "plain",
51840
- "sensitive",
51841
- "secret"
51619
+ "sensitive"
51842
51620
  ]
51843
51621
  },
51844
51622
  "sunsetSecretId": {
@@ -52335,10 +52113,10 @@
52335
52113
  "type": "string",
52336
52114
  "enum": [
52337
52115
  "system",
52116
+ "secret",
52338
52117
  "encrypted",
52339
52118
  "plain",
52340
- "sensitive",
52341
- "secret"
52119
+ "sensitive"
52342
52120
  ]
52343
52121
  },
52344
52122
  "sunsetSecretId": {
@@ -52750,10 +52528,10 @@
52750
52528
  "type": "string",
52751
52529
  "enum": [
52752
52530
  "system",
52531
+ "secret",
52753
52532
  "encrypted",
52754
52533
  "plain",
52755
- "sensitive",
52756
- "secret"
52534
+ "sensitive"
52757
52535
  ]
52758
52536
  },
52759
52537
  "sunsetSecretId": {
@@ -53160,10 +52938,10 @@
53160
52938
  "type": "string",
53161
52939
  "enum": [
53162
52940
  "system",
52941
+ "secret",
53163
52942
  "encrypted",
53164
52943
  "plain",
53165
- "sensitive",
53166
- "secret"
52944
+ "sensitive"
53167
52945
  ]
53168
52946
  },
53169
52947
  "sunsetSecretId": {
@@ -53678,10 +53456,10 @@
53678
53456
  "type": "string",
53679
53457
  "enum": [
53680
53458
  "system",
53459
+ "secret",
53681
53460
  "encrypted",
53682
53461
  "plain",
53683
- "sensitive",
53684
- "secret"
53462
+ "sensitive"
53685
53463
  ]
53686
53464
  },
53687
53465
  "sunsetSecretId": {
@@ -54204,34 +53982,78 @@
54204
53982
  "x-speakeasy-test": false
54205
53983
  }
54206
53984
  },
54207
- "/projects/{idOrName}/transfer-request": {
54208
- "post": {
54209
- "description": "Initiates a project transfer request from one team to another. \u003cbr/\u003e Returns a `code` that remains valid for 24 hours and can be used to accept the transfer request by another team using the `PUT /projects/transfer-request/:code` endpoint. \u003cbr/\u003e Users can also accept the project transfer request using the claim URL: `https://vercel.com/claim-deployment?code=\u003ccode\u003e\u0026returnUrl=\u003creturnUrl\u003e`. \u003cbr/\u003e The `code` parameter specifies the project transfer request code generated using this endpoint. \u003cbr/\u003e The `returnUrl` parameter redirects users to a specific page of the application if the claim URL is invalid or expired.",
54210
- "operationId": "createProjectTransferRequest",
53985
+ "/v1/projects/{idOrName}/rolling-release/config": {
53986
+ "get": {
53987
+ "description": "Get the Rolling Releases configuration for a project. The project-level config is simply a template that will be used for any future rolling release, and not the configuration for any active rolling release.",
53988
+ "operationId": "getRollingReleaseConfig",
54211
53989
  "security": [
54212
53990
  {
54213
53991
  "bearerToken": []
54214
53992
  }
54215
53993
  ],
54216
- "summary": "Create project transfer request",
53994
+ "summary": "Get rolling release configuration",
54217
53995
  "tags": [
54218
- "projects"
53996
+ "rolling-release"
54219
53997
  ],
54220
53998
  "responses": {
54221
53999
  "200": {
54222
- "description": "The project transfer request has been initiated successfully.",
54000
+ "description": "",
54223
54001
  "content": {
54224
54002
  "application/json": {
54225
54003
  "schema": {
54226
54004
  "properties": {
54227
- "code": {
54228
- "type": "string",
54229
- "description": "Code that can be used to accept the project transfer request.",
54230
- "example": "f99cc49a-602e-4786-a748-762dfb205880"
54005
+ "rollingRelease": {
54006
+ "nullable": true,
54007
+ "properties": {
54008
+ "target": {
54009
+ "type": "string",
54010
+ "description": "The environment that the release targets, currently only supports production. Adding in case we want to configure with alias groups or custom environments.",
54011
+ "example": "production"
54012
+ },
54013
+ "stages": {
54014
+ "nullable": true,
54015
+ "items": {
54016
+ "properties": {
54017
+ "targetPercentage": {
54018
+ "type": "number",
54019
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
54020
+ "example": 25
54021
+ },
54022
+ "requireApproval": {
54023
+ "type": "boolean",
54024
+ "description": "Whether or not this stage requires manual approval to proceed",
54025
+ "example": false
54026
+ },
54027
+ "duration": {
54028
+ "type": "number",
54029
+ "description": "Duration in minutes for automatic advancement to the next stage",
54030
+ "example": 600
54031
+ }
54032
+ },
54033
+ "required": [
54034
+ "targetPercentage"
54035
+ ],
54036
+ "type": "object",
54037
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
54038
+ },
54039
+ "type": "array",
54040
+ "description": "An array of all the stages required during a deployment release. Each stage defines a target percentage and advancement rules. The final stage must always have targetPercentage: 100."
54041
+ },
54042
+ "canaryResponseHeader": {
54043
+ "type": "boolean",
54044
+ "description": "Whether the request served by a canary deployment should return a header indicating a canary was served. Defaults to `false` when omitted.",
54045
+ "example": false
54046
+ }
54047
+ },
54048
+ "required": [
54049
+ "target"
54050
+ ],
54051
+ "type": "object",
54052
+ "description": "Project-level rolling release configuration that defines how deployments should be gradually rolled out"
54231
54053
  }
54232
54054
  },
54233
54055
  "required": [
54234
- "code"
54056
+ "rollingRelease"
54235
54057
  ],
54236
54058
  "type": "object"
54237
54059
  }
@@ -54239,7 +54061,7 @@
54239
54061
  }
54240
54062
  },
54241
54063
  "400": {
54242
- "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
54064
+ "description": "One of the provided values in the request query is invalid.",
54243
54065
  "content": {
54244
54066
  "application/json": {
54245
54067
  "schema": {
@@ -54260,17 +54082,27 @@
54260
54082
  },
54261
54083
  "403": {
54262
54084
  "description": "You do not have permission to access this resource."
54085
+ },
54086
+ "404": {
54087
+ "description": "",
54088
+ "content": {
54089
+ "application/json": {
54090
+ "schema": {
54091
+ "$ref": "#/components/schemas/VercelNotFoundError"
54092
+ }
54093
+ }
54094
+ }
54263
54095
  }
54264
54096
  },
54265
54097
  "parameters": [
54266
54098
  {
54267
54099
  "name": "idOrName",
54268
- "description": "The ID or name of the project to transfer.",
54100
+ "description": "Project ID or project name (URL-encoded)",
54269
54101
  "in": "path",
54270
54102
  "required": true,
54271
54103
  "schema": {
54272
- "type": "string",
54273
- "description": "The ID or name of the project to transfer."
54104
+ "description": "Project ID or project name (URL-encoded)",
54105
+ "type": "string"
54274
54106
  }
54275
54107
  },
54276
54108
  {
@@ -54291,54 +54123,41 @@
54291
54123
  "example": "my-team-url-slug"
54292
54124
  }
54293
54125
  }
54294
- ],
54295
- "requestBody": {
54296
- "content": {
54297
- "application/json": {
54298
- "schema": {
54299
- "type": "object",
54300
- "properties": {
54301
- "callbackUrl": {
54302
- "type": "string",
54303
- "description": "The URL to send a webhook to when the transfer is accepted."
54304
- },
54305
- "callbackSecret": {
54306
- "type": "string",
54307
- "description": "The secret to use to sign the webhook payload with HMAC-SHA256."
54308
- }
54309
- }
54310
- }
54311
- }
54312
- }
54313
- }
54314
- }
54315
- },
54316
- "/projects/transfer-request/{code}": {
54317
- "put": {
54318
- "description": "Accept a project transfer request initated by another team. \u003cbr/\u003e The `code` is generated using the `POST /projects/:idOrName/transfer-request` endpoint.",
54319
- "operationId": "acceptProjectTransferRequest",
54126
+ ]
54127
+ },
54128
+ "delete": {
54129
+ "description": "Disable Rolling Releases for a project means that future deployments will not undergo a rolling release. Changing the config never alters a rollout that's already in-flight—it only affects the next production deployment. If you want to also stop the current rollout, call this endpoint to disable the feature, and then call either the /complete or /abort endpoint.",
54130
+ "operationId": "deleteRollingReleaseConfig",
54320
54131
  "security": [
54321
54132
  {
54322
54133
  "bearerToken": []
54323
54134
  }
54324
54135
  ],
54325
- "summary": "Accept project transfer request",
54136
+ "summary": "Delete rolling release configuration",
54326
54137
  "tags": [
54327
- "projects"
54138
+ "rolling-release"
54328
54139
  ],
54329
54140
  "responses": {
54330
- "202": {
54331
- "description": "The project has been transferred successfully.",
54141
+ "200": {
54142
+ "description": "",
54332
54143
  "content": {
54333
54144
  "application/json": {
54334
54145
  "schema": {
54146
+ "properties": {
54147
+ "rollingRelease": {
54148
+ "nullable": true
54149
+ }
54150
+ },
54151
+ "required": [
54152
+ "rollingRelease"
54153
+ ],
54335
54154
  "type": "object"
54336
54155
  }
54337
54156
  }
54338
54157
  }
54339
54158
  },
54340
54159
  "400": {
54341
- "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
54160
+ "description": "One of the provided values in the request query is invalid.",
54342
54161
  "content": {
54343
54162
  "application/json": {
54344
54163
  "schema": {
@@ -54373,13 +54192,13 @@
54373
54192
  },
54374
54193
  "parameters": [
54375
54194
  {
54376
- "name": "code",
54377
- "description": "The code of the project transfer request.",
54195
+ "name": "idOrName",
54196
+ "description": "Project ID or project name (URL-encoded)",
54378
54197
  "in": "path",
54379
54198
  "required": true,
54380
54199
  "schema": {
54381
- "type": "string",
54382
- "description": "The code of the project transfer request."
54200
+ "description": "Project ID or project name (URL-encoded)",
54201
+ "type": "string"
54383
54202
  }
54384
54203
  },
54385
54204
  {
@@ -54400,57 +54219,19 @@
54400
54219
  "example": "my-team-url-slug"
54401
54220
  }
54402
54221
  }
54403
- ],
54404
- "requestBody": {
54405
- "content": {
54406
- "application/json": {
54407
- "schema": {
54408
- "type": "object",
54409
- "additionalProperties": false,
54410
- "properties": {
54411
- "newProjectName": {
54412
- "description": "The desired name for the project",
54413
- "example": "a-project-name",
54414
- "type": "string",
54415
- "maxLength": 100
54416
- },
54417
- "paidFeatures": {
54418
- "type": "object",
54419
- "additionalProperties": false,
54420
- "properties": {
54421
- "concurrentBuilds": {
54422
- "type": "integer",
54423
- "nullable": true
54424
- },
54425
- "passwordProtection": {
54426
- "type": "boolean",
54427
- "nullable": true
54428
- },
54429
- "previewDeploymentSuffix": {
54430
- "type": "boolean",
54431
- "nullable": true
54432
- }
54433
- }
54434
- }
54435
- }
54436
- }
54437
- }
54438
- }
54439
- }
54440
- }
54441
- },
54442
- "/v1/projects/{idOrName}/protection-bypass": {
54222
+ ]
54223
+ },
54443
54224
  "patch": {
54444
- "description": "Update the deployment protection automation bypass for a project",
54445
- "operationId": "updateProjectProtectionBypass",
54225
+ "description": "Update (or disable) Rolling Releases for a project. Changing the config never alters a rollout that's already in-flight. It only affects the next production deployment. This also applies to disabling Rolling Releases. If you want to also stop the current rollout, call this endpoint to disable the feature, and then call either the /complete or /abort endpoint. Note: Enabling Rolling Releases automatically enables skew protection on the project with the default value if it wasn't configured already.",
54226
+ "operationId": "updateRollingReleaseConfig",
54446
54227
  "security": [
54447
54228
  {
54448
54229
  "bearerToken": []
54449
54230
  }
54450
54231
  ],
54451
- "summary": "Update Protection Bypass for Automation",
54232
+ "summary": "Update the rolling release settings for the project",
54452
54233
  "tags": [
54453
- "projects"
54234
+ "rolling-release"
54454
54235
  ],
54455
54236
  "responses": {
54456
54237
  "200": {
@@ -54458,74 +54239,1949 @@
54458
54239
  "content": {
54459
54240
  "application/json": {
54460
54241
  "schema": {
54461
- "properties": {
54462
- "protectionBypass": {
54463
- "additionalProperties": {
54464
- "oneOf": [
54465
- {
54466
- "properties": {
54467
- "createdAt": {
54468
- "type": "number"
54469
- },
54470
- "createdBy": {
54471
- "type": "string"
54472
- },
54473
- "scope": {
54474
- "type": "string",
54475
- "enum": [
54476
- "integration-automation-bypass"
54477
- ]
54478
- },
54479
- "integrationId": {
54480
- "type": "string"
54242
+ "oneOf": [
54243
+ {
54244
+ "properties": {
54245
+ "rollingRelease": {
54246
+ "nullable": true
54247
+ }
54248
+ },
54249
+ "required": [
54250
+ "rollingRelease"
54251
+ ],
54252
+ "type": "object"
54253
+ },
54254
+ {
54255
+ "properties": {
54256
+ "rollingRelease": {
54257
+ "nullable": true,
54258
+ "properties": {
54259
+ "stages": {
54260
+ "nullable": true,
54261
+ "items": {
54262
+ "properties": {
54263
+ "targetPercentage": {
54264
+ "type": "number",
54265
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
54266
+ "example": 25
54267
+ },
54268
+ "requireApproval": {
54269
+ "type": "boolean",
54270
+ "description": "Whether or not this stage requires manual approval to proceed",
54271
+ "example": false
54272
+ },
54273
+ "duration": {
54274
+ "type": "number",
54275
+ "description": "Duration in minutes for automatic advancement to the next stage",
54276
+ "example": 600
54277
+ }
54278
+ },
54279
+ "required": [
54280
+ "targetPercentage"
54281
+ ],
54282
+ "type": "object",
54283
+ "description": "A stage object configured for a rolling release once a new deployment is triggered the first stage will be read in the proxy for first time visitors, and if a RNG \u003c targetPercentage then it will serve the new deployment. Upon approval the next stage will be read, etc."
54481
54284
  },
54482
- "configurationId": {
54483
- "type": "string"
54484
- }
54485
- },
54486
- "required": [
54487
- "createdAt",
54488
- "createdBy",
54489
- "scope",
54490
- "integrationId",
54491
- "configurationId"
54492
- ],
54493
- "type": "object"
54285
+ "type": "array"
54286
+ }
54494
54287
  },
54495
- {
54496
- "properties": {
54497
- "createdAt": {
54498
- "type": "number"
54499
- },
54500
- "createdBy": {
54501
- "type": "string"
54502
- },
54503
- "scope": {
54504
- "type": "string",
54505
- "enum": [
54506
- "automation-bypass"
54507
- ]
54508
- }
54509
- },
54510
- "required": [
54511
- "createdAt",
54512
- "createdBy",
54513
- "scope"
54514
- ],
54515
- "type": "object"
54516
- }
54517
- ]
54288
+ "type": "object"
54289
+ }
54518
54290
  },
54291
+ "required": [
54292
+ "rollingRelease"
54293
+ ],
54519
54294
  "type": "object"
54520
54295
  }
54521
- },
54522
- "type": "object"
54296
+ ]
54523
54297
  }
54524
54298
  }
54525
54299
  }
54526
54300
  },
54527
54301
  "400": {
54528
- "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
54302
+ "description": "One of the provided values in the request query is invalid.",
54303
+ "content": {
54304
+ "application/json": {
54305
+ "schema": {
54306
+ "$ref": "#/components/schemas/VercelBadRequestError"
54307
+ }
54308
+ }
54309
+ }
54310
+ },
54311
+ "401": {
54312
+ "description": "",
54313
+ "content": {
54314
+ "application/json": {
54315
+ "schema": {
54316
+ "$ref": "#/components/schemas/VercelForbiddenError"
54317
+ }
54318
+ }
54319
+ }
54320
+ },
54321
+ "403": {
54322
+ "description": "You do not have permission to access this resource."
54323
+ },
54324
+ "404": {
54325
+ "description": "",
54326
+ "content": {
54327
+ "application/json": {
54328
+ "schema": {
54329
+ "$ref": "#/components/schemas/VercelNotFoundError"
54330
+ }
54331
+ }
54332
+ }
54333
+ }
54334
+ },
54335
+ "parameters": [
54336
+ {
54337
+ "name": "idOrName",
54338
+ "description": "Project ID or project name (URL-encoded)",
54339
+ "in": "path",
54340
+ "required": true,
54341
+ "schema": {
54342
+ "description": "Project ID or project name (URL-encoded)",
54343
+ "type": "string"
54344
+ }
54345
+ },
54346
+ {
54347
+ "description": "The Team identifier to perform the request on behalf of.",
54348
+ "in": "query",
54349
+ "name": "teamId",
54350
+ "schema": {
54351
+ "type": "string",
54352
+ "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
54353
+ }
54354
+ },
54355
+ {
54356
+ "description": "The Team slug to perform the request on behalf of.",
54357
+ "in": "query",
54358
+ "name": "slug",
54359
+ "schema": {
54360
+ "type": "string",
54361
+ "example": "my-team-url-slug"
54362
+ }
54363
+ }
54364
+ ]
54365
+ }
54366
+ },
54367
+ "/v1/projects/{idOrName}/rolling-release": {
54368
+ "get": {
54369
+ "description": "Return the Rolling Release for a project, regardless of whether the rollout is active, aborted, or completed. If the feature is enabled but no deployment has occurred yet, null will be returned.",
54370
+ "operationId": "getRollingRelease",
54371
+ "security": [
54372
+ {
54373
+ "bearerToken": []
54374
+ }
54375
+ ],
54376
+ "summary": "Get the active rolling release information for a project",
54377
+ "tags": [
54378
+ "rolling-release"
54379
+ ],
54380
+ "responses": {
54381
+ "200": {
54382
+ "description": "",
54383
+ "content": {
54384
+ "application/json": {
54385
+ "schema": {
54386
+ "properties": {
54387
+ "rollingRelease": {
54388
+ "nullable": true,
54389
+ "properties": {
54390
+ "state": {
54391
+ "type": "string",
54392
+ "enum": [
54393
+ "ACTIVE",
54394
+ "COMPLETE",
54395
+ "ABORTED"
54396
+ ],
54397
+ "description": "The current state of the rolling release",
54398
+ "example": "ACTIVE"
54399
+ },
54400
+ "currentDeployment": {
54401
+ "nullable": true,
54402
+ "properties": {
54403
+ "id": {
54404
+ "type": "string"
54405
+ },
54406
+ "name": {
54407
+ "type": "string"
54408
+ },
54409
+ "url": {
54410
+ "type": "string"
54411
+ },
54412
+ "target": {
54413
+ "nullable": true,
54414
+ "type": "string",
54415
+ "enum": [
54416
+ "staging",
54417
+ "production"
54418
+ ]
54419
+ },
54420
+ "source": {
54421
+ "type": "string",
54422
+ "enum": [
54423
+ "api-trigger-git-deploy",
54424
+ "cli",
54425
+ "clone/repo",
54426
+ "git",
54427
+ "import",
54428
+ "import/repo",
54429
+ "redeploy",
54430
+ "v0-web"
54431
+ ]
54432
+ },
54433
+ "createdAt": {
54434
+ "type": "number"
54435
+ },
54436
+ "readyState": {
54437
+ "type": "string",
54438
+ "enum": [
54439
+ "BUILDING",
54440
+ "ERROR",
54441
+ "INITIALIZING",
54442
+ "QUEUED",
54443
+ "READY",
54444
+ "CANCELED"
54445
+ ]
54446
+ },
54447
+ "readyStateAt": {
54448
+ "type": "number"
54449
+ }
54450
+ },
54451
+ "required": [
54452
+ "id",
54453
+ "name",
54454
+ "url",
54455
+ "createdAt",
54456
+ "readyState"
54457
+ ],
54458
+ "type": "object",
54459
+ "description": "The current deployment receiving production traffic",
54460
+ "example": {
54461
+ "id": "dpl_abc123",
54462
+ "name": "my-shop@main",
54463
+ "url": "my-shop.vercel.app",
54464
+ "target": "production",
54465
+ "source": "git",
54466
+ "createdAt": 1716206500000,
54467
+ "readyState": "READY",
54468
+ "readyStateAt": 1716206800000
54469
+ }
54470
+ },
54471
+ "canaryDeployment": {
54472
+ "nullable": true,
54473
+ "properties": {
54474
+ "id": {
54475
+ "type": "string"
54476
+ },
54477
+ "name": {
54478
+ "type": "string"
54479
+ },
54480
+ "url": {
54481
+ "type": "string"
54482
+ },
54483
+ "target": {
54484
+ "nullable": true,
54485
+ "type": "string",
54486
+ "enum": [
54487
+ "staging",
54488
+ "production"
54489
+ ]
54490
+ },
54491
+ "source": {
54492
+ "type": "string",
54493
+ "enum": [
54494
+ "api-trigger-git-deploy",
54495
+ "cli",
54496
+ "clone/repo",
54497
+ "git",
54498
+ "import",
54499
+ "import/repo",
54500
+ "redeploy",
54501
+ "v0-web"
54502
+ ]
54503
+ },
54504
+ "createdAt": {
54505
+ "type": "number"
54506
+ },
54507
+ "readyState": {
54508
+ "type": "string",
54509
+ "enum": [
54510
+ "BUILDING",
54511
+ "ERROR",
54512
+ "INITIALIZING",
54513
+ "QUEUED",
54514
+ "READY",
54515
+ "CANCELED"
54516
+ ]
54517
+ },
54518
+ "readyStateAt": {
54519
+ "type": "number"
54520
+ }
54521
+ },
54522
+ "required": [
54523
+ "id",
54524
+ "name",
54525
+ "url",
54526
+ "createdAt",
54527
+ "readyState"
54528
+ ],
54529
+ "type": "object",
54530
+ "description": "The canary deployment being rolled out",
54531
+ "example": {
54532
+ "id": "dpl_def456",
54533
+ "name": "my-shop@9c7e2f4",
54534
+ "url": "9c7e2f4-my-shop.vercel.app",
54535
+ "target": "production",
54536
+ "source": "git",
54537
+ "createdAt": 1716210100000,
54538
+ "readyState": "READY",
54539
+ "readyStateAt": 1716210400000
54540
+ }
54541
+ },
54542
+ "queuedDeploymentId": {
54543
+ "nullable": true,
54544
+ "type": "string",
54545
+ "description": "The ID of a deployment queued for the next rolling release",
54546
+ "example": "dpl_ghi789"
54547
+ },
54548
+ "stages": {
54549
+ "items": {
54550
+ "properties": {
54551
+ "index": {
54552
+ "type": "number",
54553
+ "description": "The zero-based index of the stage",
54554
+ "example": 0
54555
+ },
54556
+ "isFinalStage": {
54557
+ "type": "boolean",
54558
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
54559
+ "example": false
54560
+ },
54561
+ "targetPercentage": {
54562
+ "type": "number",
54563
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
54564
+ "example": 25
54565
+ },
54566
+ "requireApproval": {
54567
+ "type": "boolean",
54568
+ "description": "Whether or not this stage requires manual approval to proceed",
54569
+ "example": true
54570
+ },
54571
+ "duration": {
54572
+ "nullable": true,
54573
+ "type": "number",
54574
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
54575
+ "example": null
54576
+ }
54577
+ },
54578
+ "required": [
54579
+ "index",
54580
+ "isFinalStage",
54581
+ "targetPercentage",
54582
+ "requireApproval",
54583
+ "duration"
54584
+ ],
54585
+ "type": "object",
54586
+ "description": "All stages configured for this rolling release",
54587
+ "example": [
54588
+ {
54589
+ "index": 0,
54590
+ "isFinalStage": false,
54591
+ "targetPercentage": 5,
54592
+ "requireApproval": true,
54593
+ "duration": null
54594
+ },
54595
+ {
54596
+ "index": 1,
54597
+ "isFinalStage": false,
54598
+ "targetPercentage": 25,
54599
+ "requireApproval": true,
54600
+ "duration": null
54601
+ },
54602
+ {
54603
+ "index": 2,
54604
+ "isFinalStage": false,
54605
+ "targetPercentage": 60,
54606
+ "requireApproval": true,
54607
+ "duration": null
54608
+ },
54609
+ {
54610
+ "index": 3,
54611
+ "isFinalStage": true,
54612
+ "targetPercentage": 100,
54613
+ "requireApproval": false,
54614
+ "duration": null
54615
+ }
54616
+ ]
54617
+ },
54618
+ "type": "array",
54619
+ "description": "All stages configured for this rolling release",
54620
+ "example": [
54621
+ {
54622
+ "index": 0,
54623
+ "isFinalStage": false,
54624
+ "targetPercentage": 5,
54625
+ "requireApproval": true,
54626
+ "duration": null
54627
+ },
54628
+ {
54629
+ "index": 1,
54630
+ "isFinalStage": false,
54631
+ "targetPercentage": 25,
54632
+ "requireApproval": true,
54633
+ "duration": null
54634
+ },
54635
+ {
54636
+ "index": 2,
54637
+ "isFinalStage": false,
54638
+ "targetPercentage": 60,
54639
+ "requireApproval": true,
54640
+ "duration": null
54641
+ },
54642
+ {
54643
+ "index": 3,
54644
+ "isFinalStage": true,
54645
+ "targetPercentage": 100,
54646
+ "requireApproval": false,
54647
+ "duration": null
54648
+ }
54649
+ ]
54650
+ },
54651
+ "activeStage": {
54652
+ "nullable": true,
54653
+ "properties": {
54654
+ "index": {
54655
+ "type": "number",
54656
+ "description": "The zero-based index of the stage",
54657
+ "example": 0
54658
+ },
54659
+ "isFinalStage": {
54660
+ "type": "boolean",
54661
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
54662
+ "example": false
54663
+ },
54664
+ "targetPercentage": {
54665
+ "type": "number",
54666
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
54667
+ "example": 25
54668
+ },
54669
+ "requireApproval": {
54670
+ "type": "boolean",
54671
+ "description": "Whether or not this stage requires manual approval to proceed",
54672
+ "example": true
54673
+ },
54674
+ "duration": {
54675
+ "nullable": true,
54676
+ "type": "number",
54677
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
54678
+ "example": null
54679
+ }
54680
+ },
54681
+ "required": [
54682
+ "index",
54683
+ "isFinalStage",
54684
+ "targetPercentage",
54685
+ "requireApproval",
54686
+ "duration"
54687
+ ],
54688
+ "type": "object",
54689
+ "description": "The currently active stage, null if the rollout is aborted",
54690
+ "example": {
54691
+ "index": 1,
54692
+ "isFinalStage": false,
54693
+ "targetPercentage": 25,
54694
+ "requireApproval": true,
54695
+ "duration": null
54696
+ }
54697
+ },
54698
+ "nextStage": {
54699
+ "nullable": true,
54700
+ "properties": {
54701
+ "index": {
54702
+ "type": "number",
54703
+ "description": "The zero-based index of the stage",
54704
+ "example": 0
54705
+ },
54706
+ "isFinalStage": {
54707
+ "type": "boolean",
54708
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
54709
+ "example": false
54710
+ },
54711
+ "targetPercentage": {
54712
+ "type": "number",
54713
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
54714
+ "example": 25
54715
+ },
54716
+ "requireApproval": {
54717
+ "type": "boolean",
54718
+ "description": "Whether or not this stage requires manual approval to proceed",
54719
+ "example": true
54720
+ },
54721
+ "duration": {
54722
+ "nullable": true,
54723
+ "type": "number",
54724
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
54725
+ "example": null
54726
+ }
54727
+ },
54728
+ "required": [
54729
+ "index",
54730
+ "isFinalStage",
54731
+ "targetPercentage",
54732
+ "requireApproval",
54733
+ "duration"
54734
+ ],
54735
+ "type": "object",
54736
+ "description": "The next stage to be activated, null if not in ACTIVE state",
54737
+ "example": {
54738
+ "index": 2,
54739
+ "isFinalStage": false,
54740
+ "targetPercentage": 60,
54741
+ "requireApproval": true,
54742
+ "duration": null
54743
+ }
54744
+ },
54745
+ "startedAt": {
54746
+ "type": "number",
54747
+ "description": "Unix timestamp in milliseconds when the rolling release started",
54748
+ "example": 1716210500000
54749
+ },
54750
+ "updatedAt": {
54751
+ "type": "number",
54752
+ "description": "Unix timestamp in milliseconds when the rolling release was last updated",
54753
+ "example": 1716210600000
54754
+ }
54755
+ },
54756
+ "required": [
54757
+ "state",
54758
+ "currentDeployment",
54759
+ "canaryDeployment",
54760
+ "queuedDeploymentId",
54761
+ "stages",
54762
+ "activeStage",
54763
+ "nextStage",
54764
+ "startedAt",
54765
+ "updatedAt"
54766
+ ],
54767
+ "type": "object",
54768
+ "description": "Rolling release information including configuration and document details, or null if no rolling release exists"
54769
+ }
54770
+ },
54771
+ "required": [
54772
+ "rollingRelease"
54773
+ ],
54774
+ "type": "object",
54775
+ "description": "The response format for rolling release endpoints that return rolling release information"
54776
+ }
54777
+ }
54778
+ }
54779
+ },
54780
+ "400": {
54781
+ "description": "One of the provided values in the request query is invalid.",
54782
+ "content": {
54783
+ "application/json": {
54784
+ "schema": {
54785
+ "$ref": "#/components/schemas/VercelBadRequestError"
54786
+ }
54787
+ }
54788
+ }
54789
+ },
54790
+ "401": {
54791
+ "description": "",
54792
+ "content": {
54793
+ "application/json": {
54794
+ "schema": {
54795
+ "$ref": "#/components/schemas/VercelForbiddenError"
54796
+ }
54797
+ }
54798
+ }
54799
+ },
54800
+ "403": {
54801
+ "description": "You do not have permission to access this resource."
54802
+ },
54803
+ "404": {
54804
+ "description": "",
54805
+ "content": {
54806
+ "application/json": {
54807
+ "schema": {
54808
+ "$ref": "#/components/schemas/VercelNotFoundError"
54809
+ }
54810
+ }
54811
+ }
54812
+ }
54813
+ },
54814
+ "parameters": [
54815
+ {
54816
+ "name": "idOrName",
54817
+ "description": "Project ID or project name (URL-encoded)",
54818
+ "in": "path",
54819
+ "required": true,
54820
+ "schema": {
54821
+ "description": "Project ID or project name (URL-encoded)",
54822
+ "type": "string"
54823
+ }
54824
+ },
54825
+ {
54826
+ "name": "state",
54827
+ "description": "Filter by rolling release state",
54828
+ "in": "query",
54829
+ "required": false,
54830
+ "schema": {
54831
+ "description": "Filter by rolling release state",
54832
+ "type": "string",
54833
+ "enum": [
54834
+ "ACTIVE",
54835
+ "COMPLETE",
54836
+ "ABORTED"
54837
+ ]
54838
+ }
54839
+ },
54840
+ {
54841
+ "description": "The Team identifier to perform the request on behalf of.",
54842
+ "in": "query",
54843
+ "name": "teamId",
54844
+ "schema": {
54845
+ "type": "string",
54846
+ "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
54847
+ }
54848
+ },
54849
+ {
54850
+ "description": "The Team slug to perform the request on behalf of.",
54851
+ "in": "query",
54852
+ "name": "slug",
54853
+ "schema": {
54854
+ "type": "string",
54855
+ "example": "my-team-url-slug"
54856
+ }
54857
+ }
54858
+ ]
54859
+ }
54860
+ },
54861
+ "/v1/projects/{idOrName}/rolling-release/approve-stage": {
54862
+ "post": {
54863
+ "description": "Advance a rollout to the next stage. This is only needed when rolling releases is configured to require manual approval.",
54864
+ "operationId": "approveRollingReleaseStage",
54865
+ "security": [
54866
+ {
54867
+ "bearerToken": []
54868
+ }
54869
+ ],
54870
+ "summary": "Update the active rolling release to the next stage for a project",
54871
+ "tags": [
54872
+ "rolling-release"
54873
+ ],
54874
+ "responses": {
54875
+ "200": {
54876
+ "description": "",
54877
+ "content": {
54878
+ "application/json": {
54879
+ "schema": {
54880
+ "properties": {
54881
+ "rollingRelease": {
54882
+ "nullable": true,
54883
+ "properties": {
54884
+ "state": {
54885
+ "type": "string",
54886
+ "enum": [
54887
+ "ACTIVE",
54888
+ "COMPLETE",
54889
+ "ABORTED"
54890
+ ],
54891
+ "description": "The current state of the rolling release",
54892
+ "example": "ACTIVE"
54893
+ },
54894
+ "currentDeployment": {
54895
+ "nullable": true,
54896
+ "properties": {
54897
+ "id": {
54898
+ "type": "string"
54899
+ },
54900
+ "name": {
54901
+ "type": "string"
54902
+ },
54903
+ "url": {
54904
+ "type": "string"
54905
+ },
54906
+ "target": {
54907
+ "nullable": true,
54908
+ "type": "string",
54909
+ "enum": [
54910
+ "staging",
54911
+ "production"
54912
+ ]
54913
+ },
54914
+ "source": {
54915
+ "type": "string",
54916
+ "enum": [
54917
+ "api-trigger-git-deploy",
54918
+ "cli",
54919
+ "clone/repo",
54920
+ "git",
54921
+ "import",
54922
+ "import/repo",
54923
+ "redeploy",
54924
+ "v0-web"
54925
+ ]
54926
+ },
54927
+ "createdAt": {
54928
+ "type": "number"
54929
+ },
54930
+ "readyState": {
54931
+ "type": "string",
54932
+ "enum": [
54933
+ "BUILDING",
54934
+ "ERROR",
54935
+ "INITIALIZING",
54936
+ "QUEUED",
54937
+ "READY",
54938
+ "CANCELED"
54939
+ ]
54940
+ },
54941
+ "readyStateAt": {
54942
+ "type": "number"
54943
+ }
54944
+ },
54945
+ "required": [
54946
+ "id",
54947
+ "name",
54948
+ "url",
54949
+ "createdAt",
54950
+ "readyState"
54951
+ ],
54952
+ "type": "object",
54953
+ "description": "The current deployment receiving production traffic",
54954
+ "example": {
54955
+ "id": "dpl_abc123",
54956
+ "name": "my-shop@main",
54957
+ "url": "my-shop.vercel.app",
54958
+ "target": "production",
54959
+ "source": "git",
54960
+ "createdAt": 1716206500000,
54961
+ "readyState": "READY",
54962
+ "readyStateAt": 1716206800000
54963
+ }
54964
+ },
54965
+ "canaryDeployment": {
54966
+ "nullable": true,
54967
+ "properties": {
54968
+ "id": {
54969
+ "type": "string"
54970
+ },
54971
+ "name": {
54972
+ "type": "string"
54973
+ },
54974
+ "url": {
54975
+ "type": "string"
54976
+ },
54977
+ "target": {
54978
+ "nullable": true,
54979
+ "type": "string",
54980
+ "enum": [
54981
+ "staging",
54982
+ "production"
54983
+ ]
54984
+ },
54985
+ "source": {
54986
+ "type": "string",
54987
+ "enum": [
54988
+ "api-trigger-git-deploy",
54989
+ "cli",
54990
+ "clone/repo",
54991
+ "git",
54992
+ "import",
54993
+ "import/repo",
54994
+ "redeploy",
54995
+ "v0-web"
54996
+ ]
54997
+ },
54998
+ "createdAt": {
54999
+ "type": "number"
55000
+ },
55001
+ "readyState": {
55002
+ "type": "string",
55003
+ "enum": [
55004
+ "BUILDING",
55005
+ "ERROR",
55006
+ "INITIALIZING",
55007
+ "QUEUED",
55008
+ "READY",
55009
+ "CANCELED"
55010
+ ]
55011
+ },
55012
+ "readyStateAt": {
55013
+ "type": "number"
55014
+ }
55015
+ },
55016
+ "required": [
55017
+ "id",
55018
+ "name",
55019
+ "url",
55020
+ "createdAt",
55021
+ "readyState"
55022
+ ],
55023
+ "type": "object",
55024
+ "description": "The canary deployment being rolled out",
55025
+ "example": {
55026
+ "id": "dpl_def456",
55027
+ "name": "my-shop@9c7e2f4",
55028
+ "url": "9c7e2f4-my-shop.vercel.app",
55029
+ "target": "production",
55030
+ "source": "git",
55031
+ "createdAt": 1716210100000,
55032
+ "readyState": "READY",
55033
+ "readyStateAt": 1716210400000
55034
+ }
55035
+ },
55036
+ "queuedDeploymentId": {
55037
+ "nullable": true,
55038
+ "type": "string",
55039
+ "description": "The ID of a deployment queued for the next rolling release",
55040
+ "example": "dpl_ghi789"
55041
+ },
55042
+ "stages": {
55043
+ "items": {
55044
+ "properties": {
55045
+ "index": {
55046
+ "type": "number",
55047
+ "description": "The zero-based index of the stage",
55048
+ "example": 0
55049
+ },
55050
+ "isFinalStage": {
55051
+ "type": "boolean",
55052
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
55053
+ "example": false
55054
+ },
55055
+ "targetPercentage": {
55056
+ "type": "number",
55057
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
55058
+ "example": 25
55059
+ },
55060
+ "requireApproval": {
55061
+ "type": "boolean",
55062
+ "description": "Whether or not this stage requires manual approval to proceed",
55063
+ "example": true
55064
+ },
55065
+ "duration": {
55066
+ "nullable": true,
55067
+ "type": "number",
55068
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
55069
+ "example": null
55070
+ }
55071
+ },
55072
+ "required": [
55073
+ "index",
55074
+ "isFinalStage",
55075
+ "targetPercentage",
55076
+ "requireApproval",
55077
+ "duration"
55078
+ ],
55079
+ "type": "object",
55080
+ "description": "All stages configured for this rolling release",
55081
+ "example": [
55082
+ {
55083
+ "index": 0,
55084
+ "isFinalStage": false,
55085
+ "targetPercentage": 5,
55086
+ "requireApproval": true,
55087
+ "duration": null
55088
+ },
55089
+ {
55090
+ "index": 1,
55091
+ "isFinalStage": false,
55092
+ "targetPercentage": 25,
55093
+ "requireApproval": true,
55094
+ "duration": null
55095
+ },
55096
+ {
55097
+ "index": 2,
55098
+ "isFinalStage": false,
55099
+ "targetPercentage": 60,
55100
+ "requireApproval": true,
55101
+ "duration": null
55102
+ },
55103
+ {
55104
+ "index": 3,
55105
+ "isFinalStage": true,
55106
+ "targetPercentage": 100,
55107
+ "requireApproval": false,
55108
+ "duration": null
55109
+ }
55110
+ ]
55111
+ },
55112
+ "type": "array",
55113
+ "description": "All stages configured for this rolling release",
55114
+ "example": [
55115
+ {
55116
+ "index": 0,
55117
+ "isFinalStage": false,
55118
+ "targetPercentage": 5,
55119
+ "requireApproval": true,
55120
+ "duration": null
55121
+ },
55122
+ {
55123
+ "index": 1,
55124
+ "isFinalStage": false,
55125
+ "targetPercentage": 25,
55126
+ "requireApproval": true,
55127
+ "duration": null
55128
+ },
55129
+ {
55130
+ "index": 2,
55131
+ "isFinalStage": false,
55132
+ "targetPercentage": 60,
55133
+ "requireApproval": true,
55134
+ "duration": null
55135
+ },
55136
+ {
55137
+ "index": 3,
55138
+ "isFinalStage": true,
55139
+ "targetPercentage": 100,
55140
+ "requireApproval": false,
55141
+ "duration": null
55142
+ }
55143
+ ]
55144
+ },
55145
+ "activeStage": {
55146
+ "nullable": true,
55147
+ "properties": {
55148
+ "index": {
55149
+ "type": "number",
55150
+ "description": "The zero-based index of the stage",
55151
+ "example": 0
55152
+ },
55153
+ "isFinalStage": {
55154
+ "type": "boolean",
55155
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
55156
+ "example": false
55157
+ },
55158
+ "targetPercentage": {
55159
+ "type": "number",
55160
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
55161
+ "example": 25
55162
+ },
55163
+ "requireApproval": {
55164
+ "type": "boolean",
55165
+ "description": "Whether or not this stage requires manual approval to proceed",
55166
+ "example": true
55167
+ },
55168
+ "duration": {
55169
+ "nullable": true,
55170
+ "type": "number",
55171
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
55172
+ "example": null
55173
+ }
55174
+ },
55175
+ "required": [
55176
+ "index",
55177
+ "isFinalStage",
55178
+ "targetPercentage",
55179
+ "requireApproval",
55180
+ "duration"
55181
+ ],
55182
+ "type": "object",
55183
+ "description": "The currently active stage, null if the rollout is aborted",
55184
+ "example": {
55185
+ "index": 1,
55186
+ "isFinalStage": false,
55187
+ "targetPercentage": 25,
55188
+ "requireApproval": true,
55189
+ "duration": null
55190
+ }
55191
+ },
55192
+ "nextStage": {
55193
+ "nullable": true,
55194
+ "properties": {
55195
+ "index": {
55196
+ "type": "number",
55197
+ "description": "The zero-based index of the stage",
55198
+ "example": 0
55199
+ },
55200
+ "isFinalStage": {
55201
+ "type": "boolean",
55202
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
55203
+ "example": false
55204
+ },
55205
+ "targetPercentage": {
55206
+ "type": "number",
55207
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
55208
+ "example": 25
55209
+ },
55210
+ "requireApproval": {
55211
+ "type": "boolean",
55212
+ "description": "Whether or not this stage requires manual approval to proceed",
55213
+ "example": true
55214
+ },
55215
+ "duration": {
55216
+ "nullable": true,
55217
+ "type": "number",
55218
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
55219
+ "example": null
55220
+ }
55221
+ },
55222
+ "required": [
55223
+ "index",
55224
+ "isFinalStage",
55225
+ "targetPercentage",
55226
+ "requireApproval",
55227
+ "duration"
55228
+ ],
55229
+ "type": "object",
55230
+ "description": "The next stage to be activated, null if not in ACTIVE state",
55231
+ "example": {
55232
+ "index": 2,
55233
+ "isFinalStage": false,
55234
+ "targetPercentage": 60,
55235
+ "requireApproval": true,
55236
+ "duration": null
55237
+ }
55238
+ },
55239
+ "startedAt": {
55240
+ "type": "number",
55241
+ "description": "Unix timestamp in milliseconds when the rolling release started",
55242
+ "example": 1716210500000
55243
+ },
55244
+ "updatedAt": {
55245
+ "type": "number",
55246
+ "description": "Unix timestamp in milliseconds when the rolling release was last updated",
55247
+ "example": 1716210600000
55248
+ }
55249
+ },
55250
+ "required": [
55251
+ "state",
55252
+ "currentDeployment",
55253
+ "canaryDeployment",
55254
+ "queuedDeploymentId",
55255
+ "stages",
55256
+ "activeStage",
55257
+ "nextStage",
55258
+ "startedAt",
55259
+ "updatedAt"
55260
+ ],
55261
+ "type": "object",
55262
+ "description": "Rolling release information including configuration and document details, or null if no rolling release exists"
55263
+ }
55264
+ },
55265
+ "required": [
55266
+ "rollingRelease"
55267
+ ],
55268
+ "type": "object",
55269
+ "description": "The response format for rolling release endpoints that return rolling release information"
55270
+ }
55271
+ }
55272
+ }
55273
+ },
55274
+ "400": {
55275
+ "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
55276
+ "content": {
55277
+ "application/json": {
55278
+ "schema": {
55279
+ "$ref": "#/components/schemas/VercelBadRequestError"
55280
+ }
55281
+ }
55282
+ }
55283
+ },
55284
+ "401": {
55285
+ "description": "",
55286
+ "content": {
55287
+ "application/json": {
55288
+ "schema": {
55289
+ "$ref": "#/components/schemas/VercelForbiddenError"
55290
+ }
55291
+ }
55292
+ }
55293
+ },
55294
+ "403": {
55295
+ "description": "You do not have permission to access this resource."
55296
+ },
55297
+ "404": {
55298
+ "description": "",
55299
+ "content": {
55300
+ "application/json": {
55301
+ "schema": {
55302
+ "$ref": "#/components/schemas/VercelNotFoundError"
55303
+ }
55304
+ }
55305
+ }
55306
+ },
55307
+ "500": {
55308
+ "description": ""
55309
+ }
55310
+ },
55311
+ "parameters": [
55312
+ {
55313
+ "name": "idOrName",
55314
+ "description": "Project ID or project name (URL-encoded)",
55315
+ "in": "path",
55316
+ "required": true,
55317
+ "schema": {
55318
+ "description": "Project ID or project name (URL-encoded)",
55319
+ "type": "string"
55320
+ }
55321
+ },
55322
+ {
55323
+ "description": "The Team identifier to perform the request on behalf of.",
55324
+ "in": "query",
55325
+ "name": "teamId",
55326
+ "schema": {
55327
+ "type": "string",
55328
+ "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
55329
+ }
55330
+ },
55331
+ {
55332
+ "description": "The Team slug to perform the request on behalf of.",
55333
+ "in": "query",
55334
+ "name": "slug",
55335
+ "schema": {
55336
+ "type": "string",
55337
+ "example": "my-team-url-slug"
55338
+ }
55339
+ }
55340
+ ],
55341
+ "requestBody": {
55342
+ "content": {
55343
+ "application/json": {
55344
+ "schema": {
55345
+ "type": "object",
55346
+ "required": [
55347
+ "nextStageIndex",
55348
+ "canaryDeploymentId"
55349
+ ],
55350
+ "properties": {
55351
+ "nextStageIndex": {
55352
+ "description": "The index of the stage to transition to",
55353
+ "type": "number"
55354
+ },
55355
+ "canaryDeploymentId": {
55356
+ "description": "The id of the canary deployment to approve for the next stage",
55357
+ "type": "string"
55358
+ }
55359
+ }
55360
+ }
55361
+ }
55362
+ }
55363
+ }
55364
+ }
55365
+ },
55366
+ "/v1/projects/{idOrName}/rolling-release/complete": {
55367
+ "post": {
55368
+ "description": "Force-complete a Rolling Release. The canary deployment will begin serving 100% of the traffic.",
55369
+ "operationId": "completeRollingRelease",
55370
+ "security": [
55371
+ {
55372
+ "bearerToken": []
55373
+ }
55374
+ ],
55375
+ "summary": "Complete the rolling release for the project",
55376
+ "tags": [
55377
+ "rolling-release"
55378
+ ],
55379
+ "responses": {
55380
+ "200": {
55381
+ "description": "",
55382
+ "content": {
55383
+ "application/json": {
55384
+ "schema": {
55385
+ "properties": {
55386
+ "rollingRelease": {
55387
+ "nullable": true,
55388
+ "properties": {
55389
+ "state": {
55390
+ "type": "string",
55391
+ "enum": [
55392
+ "ACTIVE",
55393
+ "COMPLETE",
55394
+ "ABORTED"
55395
+ ],
55396
+ "description": "The current state of the rolling release",
55397
+ "example": "ACTIVE"
55398
+ },
55399
+ "currentDeployment": {
55400
+ "nullable": true,
55401
+ "properties": {
55402
+ "id": {
55403
+ "type": "string"
55404
+ },
55405
+ "name": {
55406
+ "type": "string"
55407
+ },
55408
+ "url": {
55409
+ "type": "string"
55410
+ },
55411
+ "target": {
55412
+ "nullable": true,
55413
+ "type": "string",
55414
+ "enum": [
55415
+ "staging",
55416
+ "production"
55417
+ ]
55418
+ },
55419
+ "source": {
55420
+ "type": "string",
55421
+ "enum": [
55422
+ "api-trigger-git-deploy",
55423
+ "cli",
55424
+ "clone/repo",
55425
+ "git",
55426
+ "import",
55427
+ "import/repo",
55428
+ "redeploy",
55429
+ "v0-web"
55430
+ ]
55431
+ },
55432
+ "createdAt": {
55433
+ "type": "number"
55434
+ },
55435
+ "readyState": {
55436
+ "type": "string",
55437
+ "enum": [
55438
+ "BUILDING",
55439
+ "ERROR",
55440
+ "INITIALIZING",
55441
+ "QUEUED",
55442
+ "READY",
55443
+ "CANCELED"
55444
+ ]
55445
+ },
55446
+ "readyStateAt": {
55447
+ "type": "number"
55448
+ }
55449
+ },
55450
+ "required": [
55451
+ "id",
55452
+ "name",
55453
+ "url",
55454
+ "createdAt",
55455
+ "readyState"
55456
+ ],
55457
+ "type": "object",
55458
+ "description": "The current deployment receiving production traffic",
55459
+ "example": {
55460
+ "id": "dpl_abc123",
55461
+ "name": "my-shop@main",
55462
+ "url": "my-shop.vercel.app",
55463
+ "target": "production",
55464
+ "source": "git",
55465
+ "createdAt": 1716206500000,
55466
+ "readyState": "READY",
55467
+ "readyStateAt": 1716206800000
55468
+ }
55469
+ },
55470
+ "canaryDeployment": {
55471
+ "nullable": true,
55472
+ "properties": {
55473
+ "id": {
55474
+ "type": "string"
55475
+ },
55476
+ "name": {
55477
+ "type": "string"
55478
+ },
55479
+ "url": {
55480
+ "type": "string"
55481
+ },
55482
+ "target": {
55483
+ "nullable": true,
55484
+ "type": "string",
55485
+ "enum": [
55486
+ "staging",
55487
+ "production"
55488
+ ]
55489
+ },
55490
+ "source": {
55491
+ "type": "string",
55492
+ "enum": [
55493
+ "api-trigger-git-deploy",
55494
+ "cli",
55495
+ "clone/repo",
55496
+ "git",
55497
+ "import",
55498
+ "import/repo",
55499
+ "redeploy",
55500
+ "v0-web"
55501
+ ]
55502
+ },
55503
+ "createdAt": {
55504
+ "type": "number"
55505
+ },
55506
+ "readyState": {
55507
+ "type": "string",
55508
+ "enum": [
55509
+ "BUILDING",
55510
+ "ERROR",
55511
+ "INITIALIZING",
55512
+ "QUEUED",
55513
+ "READY",
55514
+ "CANCELED"
55515
+ ]
55516
+ },
55517
+ "readyStateAt": {
55518
+ "type": "number"
55519
+ }
55520
+ },
55521
+ "required": [
55522
+ "id",
55523
+ "name",
55524
+ "url",
55525
+ "createdAt",
55526
+ "readyState"
55527
+ ],
55528
+ "type": "object",
55529
+ "description": "The canary deployment being rolled out",
55530
+ "example": {
55531
+ "id": "dpl_def456",
55532
+ "name": "my-shop@9c7e2f4",
55533
+ "url": "9c7e2f4-my-shop.vercel.app",
55534
+ "target": "production",
55535
+ "source": "git",
55536
+ "createdAt": 1716210100000,
55537
+ "readyState": "READY",
55538
+ "readyStateAt": 1716210400000
55539
+ }
55540
+ },
55541
+ "queuedDeploymentId": {
55542
+ "nullable": true,
55543
+ "type": "string",
55544
+ "description": "The ID of a deployment queued for the next rolling release",
55545
+ "example": "dpl_ghi789"
55546
+ },
55547
+ "stages": {
55548
+ "items": {
55549
+ "properties": {
55550
+ "index": {
55551
+ "type": "number",
55552
+ "description": "The zero-based index of the stage",
55553
+ "example": 0
55554
+ },
55555
+ "isFinalStage": {
55556
+ "type": "boolean",
55557
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
55558
+ "example": false
55559
+ },
55560
+ "targetPercentage": {
55561
+ "type": "number",
55562
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
55563
+ "example": 25
55564
+ },
55565
+ "requireApproval": {
55566
+ "type": "boolean",
55567
+ "description": "Whether or not this stage requires manual approval to proceed",
55568
+ "example": true
55569
+ },
55570
+ "duration": {
55571
+ "nullable": true,
55572
+ "type": "number",
55573
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
55574
+ "example": null
55575
+ }
55576
+ },
55577
+ "required": [
55578
+ "index",
55579
+ "isFinalStage",
55580
+ "targetPercentage",
55581
+ "requireApproval",
55582
+ "duration"
55583
+ ],
55584
+ "type": "object",
55585
+ "description": "All stages configured for this rolling release",
55586
+ "example": [
55587
+ {
55588
+ "index": 0,
55589
+ "isFinalStage": false,
55590
+ "targetPercentage": 5,
55591
+ "requireApproval": true,
55592
+ "duration": null
55593
+ },
55594
+ {
55595
+ "index": 1,
55596
+ "isFinalStage": false,
55597
+ "targetPercentage": 25,
55598
+ "requireApproval": true,
55599
+ "duration": null
55600
+ },
55601
+ {
55602
+ "index": 2,
55603
+ "isFinalStage": false,
55604
+ "targetPercentage": 60,
55605
+ "requireApproval": true,
55606
+ "duration": null
55607
+ },
55608
+ {
55609
+ "index": 3,
55610
+ "isFinalStage": true,
55611
+ "targetPercentage": 100,
55612
+ "requireApproval": false,
55613
+ "duration": null
55614
+ }
55615
+ ]
55616
+ },
55617
+ "type": "array",
55618
+ "description": "All stages configured for this rolling release",
55619
+ "example": [
55620
+ {
55621
+ "index": 0,
55622
+ "isFinalStage": false,
55623
+ "targetPercentage": 5,
55624
+ "requireApproval": true,
55625
+ "duration": null
55626
+ },
55627
+ {
55628
+ "index": 1,
55629
+ "isFinalStage": false,
55630
+ "targetPercentage": 25,
55631
+ "requireApproval": true,
55632
+ "duration": null
55633
+ },
55634
+ {
55635
+ "index": 2,
55636
+ "isFinalStage": false,
55637
+ "targetPercentage": 60,
55638
+ "requireApproval": true,
55639
+ "duration": null
55640
+ },
55641
+ {
55642
+ "index": 3,
55643
+ "isFinalStage": true,
55644
+ "targetPercentage": 100,
55645
+ "requireApproval": false,
55646
+ "duration": null
55647
+ }
55648
+ ]
55649
+ },
55650
+ "activeStage": {
55651
+ "nullable": true,
55652
+ "properties": {
55653
+ "index": {
55654
+ "type": "number",
55655
+ "description": "The zero-based index of the stage",
55656
+ "example": 0
55657
+ },
55658
+ "isFinalStage": {
55659
+ "type": "boolean",
55660
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
55661
+ "example": false
55662
+ },
55663
+ "targetPercentage": {
55664
+ "type": "number",
55665
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
55666
+ "example": 25
55667
+ },
55668
+ "requireApproval": {
55669
+ "type": "boolean",
55670
+ "description": "Whether or not this stage requires manual approval to proceed",
55671
+ "example": true
55672
+ },
55673
+ "duration": {
55674
+ "nullable": true,
55675
+ "type": "number",
55676
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
55677
+ "example": null
55678
+ }
55679
+ },
55680
+ "required": [
55681
+ "index",
55682
+ "isFinalStage",
55683
+ "targetPercentage",
55684
+ "requireApproval",
55685
+ "duration"
55686
+ ],
55687
+ "type": "object",
55688
+ "description": "The currently active stage, null if the rollout is aborted",
55689
+ "example": {
55690
+ "index": 1,
55691
+ "isFinalStage": false,
55692
+ "targetPercentage": 25,
55693
+ "requireApproval": true,
55694
+ "duration": null
55695
+ }
55696
+ },
55697
+ "nextStage": {
55698
+ "nullable": true,
55699
+ "properties": {
55700
+ "index": {
55701
+ "type": "number",
55702
+ "description": "The zero-based index of the stage",
55703
+ "example": 0
55704
+ },
55705
+ "isFinalStage": {
55706
+ "type": "boolean",
55707
+ "description": "Whether or not this stage is the final stage (targetPercentage === 100)",
55708
+ "example": false
55709
+ },
55710
+ "targetPercentage": {
55711
+ "type": "number",
55712
+ "description": "The percentage of traffic to serve to the canary deployment (0-100)",
55713
+ "example": 25
55714
+ },
55715
+ "requireApproval": {
55716
+ "type": "boolean",
55717
+ "description": "Whether or not this stage requires manual approval to proceed",
55718
+ "example": true
55719
+ },
55720
+ "duration": {
55721
+ "nullable": true,
55722
+ "type": "number",
55723
+ "description": "Duration in seconds for automatic advancement, null for manual stages or the final stage",
55724
+ "example": null
55725
+ }
55726
+ },
55727
+ "required": [
55728
+ "index",
55729
+ "isFinalStage",
55730
+ "targetPercentage",
55731
+ "requireApproval",
55732
+ "duration"
55733
+ ],
55734
+ "type": "object",
55735
+ "description": "The next stage to be activated, null if not in ACTIVE state",
55736
+ "example": {
55737
+ "index": 2,
55738
+ "isFinalStage": false,
55739
+ "targetPercentage": 60,
55740
+ "requireApproval": true,
55741
+ "duration": null
55742
+ }
55743
+ },
55744
+ "startedAt": {
55745
+ "type": "number",
55746
+ "description": "Unix timestamp in milliseconds when the rolling release started",
55747
+ "example": 1716210500000
55748
+ },
55749
+ "updatedAt": {
55750
+ "type": "number",
55751
+ "description": "Unix timestamp in milliseconds when the rolling release was last updated",
55752
+ "example": 1716210600000
55753
+ }
55754
+ },
55755
+ "required": [
55756
+ "state",
55757
+ "currentDeployment",
55758
+ "canaryDeployment",
55759
+ "queuedDeploymentId",
55760
+ "stages",
55761
+ "activeStage",
55762
+ "nextStage",
55763
+ "startedAt",
55764
+ "updatedAt"
55765
+ ],
55766
+ "type": "object",
55767
+ "description": "Rolling release information including configuration and document details, or null if no rolling release exists"
55768
+ }
55769
+ },
55770
+ "required": [
55771
+ "rollingRelease"
55772
+ ],
55773
+ "type": "object",
55774
+ "description": "The response format for rolling release endpoints that return rolling release information"
55775
+ }
55776
+ }
55777
+ }
55778
+ },
55779
+ "400": {
55780
+ "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
55781
+ "content": {
55782
+ "application/json": {
55783
+ "schema": {
55784
+ "$ref": "#/components/schemas/VercelBadRequestError"
55785
+ }
55786
+ }
55787
+ }
55788
+ },
55789
+ "401": {
55790
+ "description": "",
55791
+ "content": {
55792
+ "application/json": {
55793
+ "schema": {
55794
+ "$ref": "#/components/schemas/VercelForbiddenError"
55795
+ }
55796
+ }
55797
+ }
55798
+ },
55799
+ "403": {
55800
+ "description": "You do not have permission to access this resource."
55801
+ },
55802
+ "404": {
55803
+ "description": "",
55804
+ "content": {
55805
+ "application/json": {
55806
+ "schema": {
55807
+ "$ref": "#/components/schemas/VercelNotFoundError"
55808
+ }
55809
+ }
55810
+ }
55811
+ }
55812
+ },
55813
+ "parameters": [
55814
+ {
55815
+ "name": "idOrName",
55816
+ "description": "Project ID or project name (URL-encoded)",
55817
+ "in": "path",
55818
+ "required": true,
55819
+ "schema": {
55820
+ "description": "Project ID or project name (URL-encoded)",
55821
+ "type": "string"
55822
+ }
55823
+ },
55824
+ {
55825
+ "description": "The Team identifier to perform the request on behalf of.",
55826
+ "in": "query",
55827
+ "name": "teamId",
55828
+ "schema": {
55829
+ "type": "string",
55830
+ "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
55831
+ }
55832
+ },
55833
+ {
55834
+ "description": "The Team slug to perform the request on behalf of.",
55835
+ "in": "query",
55836
+ "name": "slug",
55837
+ "schema": {
55838
+ "type": "string",
55839
+ "example": "my-team-url-slug"
55840
+ }
55841
+ }
55842
+ ],
55843
+ "requestBody": {
55844
+ "content": {
55845
+ "application/json": {
55846
+ "schema": {
55847
+ "type": "object",
55848
+ "required": [
55849
+ "canaryDeploymentId"
55850
+ ],
55851
+ "properties": {
55852
+ "canaryDeploymentId": {
55853
+ "description": "The ID of the canary deployment to complete",
55854
+ "type": "string"
55855
+ }
55856
+ }
55857
+ }
55858
+ }
55859
+ }
55860
+ }
55861
+ }
55862
+ },
55863
+ "/projects/{idOrName}/transfer-request": {
55864
+ "post": {
55865
+ "description": "Initiates a project transfer request from one team to another. \u003cbr/\u003e Returns a `code` that remains valid for 24 hours and can be used to accept the transfer request by another team using the `PUT /projects/transfer-request/:code` endpoint. \u003cbr/\u003e Users can also accept the project transfer request using the claim URL: `https://vercel.com/claim-deployment?code=\u003ccode\u003e\u0026returnUrl=\u003creturnUrl\u003e`. \u003cbr/\u003e The `code` parameter specifies the project transfer request code generated using this endpoint. \u003cbr/\u003e The `returnUrl` parameter redirects users to a specific page of the application if the claim URL is invalid or expired.",
55866
+ "operationId": "createProjectTransferRequest",
55867
+ "security": [
55868
+ {
55869
+ "bearerToken": []
55870
+ }
55871
+ ],
55872
+ "summary": "Create project transfer request",
55873
+ "tags": [
55874
+ "projects"
55875
+ ],
55876
+ "responses": {
55877
+ "200": {
55878
+ "description": "The project transfer request has been initiated successfully.",
55879
+ "content": {
55880
+ "application/json": {
55881
+ "schema": {
55882
+ "properties": {
55883
+ "code": {
55884
+ "type": "string",
55885
+ "description": "Code that can be used to accept the project transfer request.",
55886
+ "example": "f99cc49a-602e-4786-a748-762dfb205880"
55887
+ }
55888
+ },
55889
+ "required": [
55890
+ "code"
55891
+ ],
55892
+ "type": "object"
55893
+ }
55894
+ }
55895
+ }
55896
+ },
55897
+ "400": {
55898
+ "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
55899
+ "content": {
55900
+ "application/json": {
55901
+ "schema": {
55902
+ "$ref": "#/components/schemas/VercelBadRequestError"
55903
+ }
55904
+ }
55905
+ }
55906
+ },
55907
+ "401": {
55908
+ "description": "",
55909
+ "content": {
55910
+ "application/json": {
55911
+ "schema": {
55912
+ "$ref": "#/components/schemas/VercelForbiddenError"
55913
+ }
55914
+ }
55915
+ }
55916
+ },
55917
+ "403": {
55918
+ "description": "You do not have permission to access this resource."
55919
+ }
55920
+ },
55921
+ "parameters": [
55922
+ {
55923
+ "name": "idOrName",
55924
+ "description": "The ID or name of the project to transfer.",
55925
+ "in": "path",
55926
+ "required": true,
55927
+ "schema": {
55928
+ "type": "string",
55929
+ "description": "The ID or name of the project to transfer."
55930
+ }
55931
+ },
55932
+ {
55933
+ "description": "The Team identifier to perform the request on behalf of.",
55934
+ "in": "query",
55935
+ "name": "teamId",
55936
+ "schema": {
55937
+ "type": "string",
55938
+ "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
55939
+ }
55940
+ },
55941
+ {
55942
+ "description": "The Team slug to perform the request on behalf of.",
55943
+ "in": "query",
55944
+ "name": "slug",
55945
+ "schema": {
55946
+ "type": "string",
55947
+ "example": "my-team-url-slug"
55948
+ }
55949
+ }
55950
+ ],
55951
+ "requestBody": {
55952
+ "content": {
55953
+ "application/json": {
55954
+ "schema": {
55955
+ "type": "object",
55956
+ "properties": {
55957
+ "callbackUrl": {
55958
+ "type": "string",
55959
+ "description": "The URL to send a webhook to when the transfer is accepted."
55960
+ },
55961
+ "callbackSecret": {
55962
+ "type": "string",
55963
+ "description": "The secret to use to sign the webhook payload with HMAC-SHA256."
55964
+ }
55965
+ }
55966
+ }
55967
+ }
55968
+ }
55969
+ }
55970
+ }
55971
+ },
55972
+ "/projects/transfer-request/{code}": {
55973
+ "put": {
55974
+ "description": "Accept a project transfer request initated by another team. \u003cbr/\u003e The `code` is generated using the `POST /projects/:idOrName/transfer-request` endpoint.",
55975
+ "operationId": "acceptProjectTransferRequest",
55976
+ "security": [
55977
+ {
55978
+ "bearerToken": []
55979
+ }
55980
+ ],
55981
+ "summary": "Accept project transfer request",
55982
+ "tags": [
55983
+ "projects"
55984
+ ],
55985
+ "responses": {
55986
+ "202": {
55987
+ "description": "The project has been transferred successfully.",
55988
+ "content": {
55989
+ "application/json": {
55990
+ "schema": {
55991
+ "type": "object"
55992
+ }
55993
+ }
55994
+ }
55995
+ },
55996
+ "400": {
55997
+ "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
55998
+ "content": {
55999
+ "application/json": {
56000
+ "schema": {
56001
+ "$ref": "#/components/schemas/VercelBadRequestError"
56002
+ }
56003
+ }
56004
+ }
56005
+ },
56006
+ "401": {
56007
+ "description": "",
56008
+ "content": {
56009
+ "application/json": {
56010
+ "schema": {
56011
+ "$ref": "#/components/schemas/VercelForbiddenError"
56012
+ }
56013
+ }
56014
+ }
56015
+ },
56016
+ "403": {
56017
+ "description": "You do not have permission to access this resource."
56018
+ },
56019
+ "404": {
56020
+ "description": "",
56021
+ "content": {
56022
+ "application/json": {
56023
+ "schema": {
56024
+ "$ref": "#/components/schemas/VercelNotFoundError"
56025
+ }
56026
+ }
56027
+ }
56028
+ }
56029
+ },
56030
+ "parameters": [
56031
+ {
56032
+ "name": "code",
56033
+ "description": "The code of the project transfer request.",
56034
+ "in": "path",
56035
+ "required": true,
56036
+ "schema": {
56037
+ "type": "string",
56038
+ "description": "The code of the project transfer request."
56039
+ }
56040
+ },
56041
+ {
56042
+ "description": "The Team identifier to perform the request on behalf of.",
56043
+ "in": "query",
56044
+ "name": "teamId",
56045
+ "schema": {
56046
+ "type": "string",
56047
+ "example": "team_1a2b3c4d5e6f7g8h9i0j1k2l"
56048
+ }
56049
+ },
56050
+ {
56051
+ "description": "The Team slug to perform the request on behalf of.",
56052
+ "in": "query",
56053
+ "name": "slug",
56054
+ "schema": {
56055
+ "type": "string",
56056
+ "example": "my-team-url-slug"
56057
+ }
56058
+ }
56059
+ ],
56060
+ "requestBody": {
56061
+ "content": {
56062
+ "application/json": {
56063
+ "schema": {
56064
+ "type": "object",
56065
+ "additionalProperties": false,
56066
+ "properties": {
56067
+ "newProjectName": {
56068
+ "description": "The desired name for the project",
56069
+ "example": "a-project-name",
56070
+ "type": "string",
56071
+ "maxLength": 100
56072
+ },
56073
+ "paidFeatures": {
56074
+ "type": "object",
56075
+ "additionalProperties": false,
56076
+ "properties": {
56077
+ "concurrentBuilds": {
56078
+ "type": "integer",
56079
+ "nullable": true
56080
+ },
56081
+ "passwordProtection": {
56082
+ "type": "boolean",
56083
+ "nullable": true
56084
+ },
56085
+ "previewDeploymentSuffix": {
56086
+ "type": "boolean",
56087
+ "nullable": true
56088
+ }
56089
+ }
56090
+ }
56091
+ }
56092
+ }
56093
+ }
56094
+ }
56095
+ }
56096
+ }
56097
+ },
56098
+ "/v1/projects/{idOrName}/protection-bypass": {
56099
+ "patch": {
56100
+ "description": "Update the deployment protection automation bypass for a project",
56101
+ "operationId": "updateProjectProtectionBypass",
56102
+ "security": [
56103
+ {
56104
+ "bearerToken": []
56105
+ }
56106
+ ],
56107
+ "summary": "Update Protection Bypass for Automation",
56108
+ "tags": [
56109
+ "projects"
56110
+ ],
56111
+ "responses": {
56112
+ "200": {
56113
+ "description": "",
56114
+ "content": {
56115
+ "application/json": {
56116
+ "schema": {
56117
+ "properties": {
56118
+ "protectionBypass": {
56119
+ "additionalProperties": {
56120
+ "oneOf": [
56121
+ {
56122
+ "properties": {
56123
+ "createdAt": {
56124
+ "type": "number"
56125
+ },
56126
+ "createdBy": {
56127
+ "type": "string"
56128
+ },
56129
+ "scope": {
56130
+ "type": "string",
56131
+ "enum": [
56132
+ "integration-automation-bypass"
56133
+ ]
56134
+ },
56135
+ "integrationId": {
56136
+ "type": "string"
56137
+ },
56138
+ "configurationId": {
56139
+ "type": "string"
56140
+ }
56141
+ },
56142
+ "required": [
56143
+ "createdAt",
56144
+ "createdBy",
56145
+ "scope",
56146
+ "integrationId",
56147
+ "configurationId"
56148
+ ],
56149
+ "type": "object"
56150
+ },
56151
+ {
56152
+ "properties": {
56153
+ "createdAt": {
56154
+ "type": "number"
56155
+ },
56156
+ "createdBy": {
56157
+ "type": "string"
56158
+ },
56159
+ "scope": {
56160
+ "type": "string",
56161
+ "enum": [
56162
+ "automation-bypass"
56163
+ ]
56164
+ }
56165
+ },
56166
+ "required": [
56167
+ "createdAt",
56168
+ "createdBy",
56169
+ "scope"
56170
+ ],
56171
+ "type": "object"
56172
+ }
56173
+ ]
56174
+ },
56175
+ "type": "object"
56176
+ }
56177
+ },
56178
+ "type": "object"
56179
+ }
56180
+ }
56181
+ }
56182
+ },
56183
+ "400": {
56184
+ "description": "One of the provided values in the request body is invalid.\nOne of the provided values in the request query is invalid.",
54529
56185
  "content": {
54530
56186
  "application/json": {
54531
56187
  "schema": {
@@ -55883,48 +57539,7 @@
55883
57539
  "managedRules": {
55884
57540
  "type": "object",
55885
57541
  "additionalProperties": {
55886
- "anyOf": [
55887
- {
55888
- "type": "object",
55889
- "properties": {
55890
- "active": {
55891
- "type": "boolean"
55892
- },
55893
- "action": {
55894
- "type": "string",
55895
- "enum": [
55896
- "log",
55897
- "challenge",
55898
- "deny"
55899
- ]
55900
- },
55901
- "ruleGroups": {
55902
- "type": "object",
55903
- "additionalProperties": {
55904
- "type": "object",
55905
- "properties": {
55906
- "active": {
55907
- "type": "boolean"
55908
- },
55909
- "action": {
55910
- "type": "string",
55911
- "enum": [
55912
- "log",
55913
- "challenge",
55914
- "deny"
55915
- ]
55916
- }
55917
- },
55918
- "additionalProperties": false
55919
- }
55920
- }
55921
- },
55922
- "required": [
55923
- "active"
55924
- ],
55925
- "additionalProperties": false
55926
- }
55927
- ]
57542
+ "anyOf": []
55928
57543
  }
55929
57544
  },
55930
57545
  "crs": {
@@ -74488,46 +76103,6 @@
74488
76103
  },
74489
76104
  "Team": {
74490
76105
  "properties": {
74491
- "id": {
74492
- "type": "string",
74493
- "description": "The Team's unique identifier.",
74494
- "example": "team_nllPyCtREAqxxdyFKbbMDlxd"
74495
- },
74496
- "data": {
74497
- "properties": {
74498
- "query": {
74499
- "type": "string"
74500
- },
74501
- "creatorId": {
74502
- "type": "string"
74503
- },
74504
- "title": {
74505
- "type": "string"
74506
- },
74507
- "groupId": {
74508
- "type": "string"
74509
- },
74510
- "ownerId": {
74511
- "type": "string"
74512
- },
74513
- "projectId": {
74514
- "type": "string"
74515
- },
74516
- "createdAt": {
74517
- "type": "number"
74518
- }
74519
- },
74520
- "required": [
74521
- "query",
74522
- "creatorId",
74523
- "title",
74524
- "groupId",
74525
- "ownerId",
74526
- "projectId",
74527
- "createdAt"
74528
- ],
74529
- "type": "object"
74530
- },
74531
76106
  "connect": {
74532
76107
  "properties": {
74533
76108
  "enabled": {
@@ -74556,16 +76131,16 @@
74556
76131
  "properties": {
74557
76132
  "connection": {
74558
76133
  "properties": {
74559
- "status": {
74560
- "type": "string",
74561
- "description": "Current status of the connection.",
74562
- "example": "linked"
74563
- },
74564
76134
  "type": {
74565
76135
  "type": "string",
74566
76136
  "description": "The Identity Provider \"type\", for example Okta.",
74567
76137
  "example": "OktaSAML"
74568
76138
  },
76139
+ "status": {
76140
+ "type": "string",
76141
+ "description": "Current status of the connection.",
76142
+ "example": "linked"
76143
+ },
74569
76144
  "state": {
74570
76145
  "type": "string",
74571
76146
  "description": "Current state of the connection.",
@@ -74583,8 +76158,8 @@
74583
76158
  }
74584
76159
  },
74585
76160
  "required": [
74586
- "status",
74587
76161
  "type",
76162
+ "status",
74588
76163
  "state",
74589
76164
  "connectedAt"
74590
76165
  ],
@@ -74795,6 +76370,11 @@
74795
76370
  },
74796
76371
  "type": "array"
74797
76372
  },
76373
+ "id": {
76374
+ "type": "string",
76375
+ "description": "The Team's unique identifier.",
76376
+ "example": "team_nllPyCtREAqxxdyFKbbMDlxd"
76377
+ },
74798
76378
  "slug": {
74799
76379
  "type": "string",
74800
76380
  "description": "The Team's slug, which is unique across the Vercel platform.",
@@ -74831,6 +76411,9 @@
74831
76411
  },
74832
76412
  "type": "array"
74833
76413
  },
76414
+ "teamId": {
76415
+ "type": "string"
76416
+ },
74834
76417
  "confirmed": {
74835
76418
  "type": "boolean"
74836
76419
  },
@@ -74880,9 +76463,6 @@
74880
76463
  },
74881
76464
  "type": "array"
74882
76465
  },
74883
- "teamId": {
74884
- "type": "string"
74885
- },
74886
76466
  "createdAt": {
74887
76467
  "type": "number"
74888
76468
  },