postProjectsSitesDeployWithHttpInfo method

Future<Response> postProjectsSitesDeployWithHttpInfo(
  1. ProjectsDeploySite projectsDeploySite
)

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:

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,
  );
}