postProjectsSitesDeployWithHttpInfo method
Deploys a caller-supplied file manifest — the deploy_site capability an agent calls — and answers with where it went live.
Deploys a caller-supplied file manifest — the deploy_site capability an agent calls — and answers with where it went live. files is a list of {path, content} pairs, the same shape the brief build emits, and it runs through the SAME guards: index.html required at the root, absolute and traversal paths rejected, per-file and total size capped, and a mobile viewport meta tag injected into every HTML document that lacks one — so a hand-built site is exactly as safe and as responsive as a generated one. slug and name are optional; a slug is derived from the name or minted. It writes into the SAME org-scoped store as /v1/projects, ensuring a project (framework static) for the resolved slug and recording a deployment. The hosting gate runs before the upload and the debit lands once, after the site is live — a failed upload is never billed. Answers 503 when object storage is unconfigured. Scope: a validated principal is required (403 without one) and the site is published into THAT principal's org.
Note: This method returns the HTTP Response.
Parameters:
- ProjectsDeploySite projectsDeploySite (required):
Implementation
Future<Response> postProjectsSitesDeployWithHttpInfo(ProjectsDeploySite projectsDeploySite,) async {
// ignore: prefer_const_declarations
final path = r'/v1/projects/sites/deploy';
// ignore: prefer_final_locals
Object? postBody = projectsDeploySite;
final queryParams = <QueryParam>[];
final headerParams = <String, String>{};
final formParams = <String, String>{};
const contentTypes = <String>['application/json'];
return apiClient.invokeAPI(
path,
'POST',
queryParams,
postBody,
headerParams,
formParams,
contentTypes.isEmpty ? null : contentTypes.first,
);
}