{
  "openapi": "3.1.0",
  "info": {
    "title": "Wildflower Computer API",
    "version": "0.8.0",
    "description": "A narrow BYOK API for creating and operating sandboxes through direct provider APIs and explicitly versioned customer-owned bridges."
  },
  "servers": [
    {
      "url": "http://localhost:8080",
      "description": "Local development"
    }
  ],
  "tags": [
    {
      "name": "Sandboxes",
      "description": "Persistent sandbox lifecycle and command execution"
    },
    {
      "name": "Provider profiles",
      "description": "Project-scoped BYOK provider setup"
    },
    {
      "name": "Browser authentication",
      "description": "Google sign-in and opaque browser-session lifecycle for the Wildflower Computer control plane"
    },
    {
      "name": "Accounts",
      "description": "Personal accounts, organizations, and fixed-role membership"
    },
    {
      "name": "Projects",
      "description": "Browser-owned projects and one-time Wildflower Computer API-key issuance"
    },
    {
      "name": "Legal lifecycle",
      "description": "Versioned legal releases, explicit user acceptance, organization agreements, notices, and optional consent records"
    },
    {
      "name": "System",
      "description": "Service metadata and health"
    }
  ],
  "paths": {
    "/healthz": {
      "get": {
        "operationId": "getHealth",
        "summary": "Check service health",
        "x-wildflower-sdk": false,
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "The API is healthy",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              },
              "Wildflower-Build-Revision": {
                "$ref": "#/components/headers/BuildRevision"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            }
          }
        }
      }
    },
    "/metrics": {
      "get": {
        "operationId": "getMetrics",
        "summary": "Get identifier-free API delivery metrics",
        "description": "Prometheus text counters for sandbox usage telemetry attempts, pre-enqueue rejection, and post-enqueue ClickHouse batch loss.",
        "x-wildflower-sdk": false,
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "Prometheus text exposition",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              },
              "Wildflower-Build-Revision": {
                "$ref": "#/components/headers/BuildRevision"
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "getOpenApiDocument",
        "summary": "Get this OpenAPI document",
        "x-wildflower-sdk": false,
        "tags": [
          "System"
        ],
        "responses": {
          "200": {
            "description": "The OpenAPI 3.1 document",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              },
              "Wildflower-Build-Revision": {
                "$ref": "#/components/headers/BuildRevision"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/v1/auth/google/intent": {
      "post": {
        "operationId": "createGoogleLoginIntent",
        "summary": "Start Google sign-in",
        "description": "Creates a short-lived, single-use login intent and sets its opaque HttpOnly cookie. The returned nonce must be supplied to Google Identity Services and the CSRF token must be returned when completing sign-in.",
        "x-wildflower-sdk": false,
        "tags": [
          "Browser authentication"
        ],
        "responses": {
          "201": {
            "description": "Google login intent created",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              },
              "Wildflower-Build-Revision": {
                "$ref": "#/components/headers/BuildRevision"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoogleLoginIntent"
                }
              }
            }
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/auth/google": {
      "post": {
        "operationId": "completeGoogleLogin",
        "summary": "Complete Google sign-in",
        "description": "Verifies a Google ID token against Google's rotating signing keys, consumes the one-time login intent, and creates an opaque browser session.",
        "x-wildflower-sdk": false,
        "tags": [
          "Browser authentication"
        ],
        "security": [
          {
            "BrowserLoginIntent": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleLoginInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Browser session created",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserSession"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/auth/session/refresh": {
      "post": {
        "operationId": "refreshBrowserSession",
        "summary": "Rotate the browser session",
        "description": "Atomically invalidates the current opaque session token and CSRF token and issues replacements without extending the absolute session lifetime.",
        "x-wildflower-sdk": false,
        "tags": [
          "Browser authentication"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "200": {
            "description": "Browser session rotated",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserSession"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/auth/logout": {
      "post": {
        "operationId": "logoutBrowserSession",
        "summary": "Log out the browser session",
        "description": "Revokes the current browser session after double-submit CSRF validation and clears its cookies.",
        "x-wildflower-sdk": false,
        "tags": [
          "Browser authentication"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "204": {
            "description": "Browser session revoked",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/me": {
      "get": {
        "operationId": "getBrowserUser",
        "summary": "Get the authenticated browser user",
        "description": "Returns the user and current legal state associated with the opaque browser session and advances its idle expiration without extending its absolute lifetime.",
        "x-wildflower-sdk": false,
        "tags": [
          "Browser authentication"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Authenticated browser user",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserUserResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "delete": {
        "operationId": "deleteUser",
        "summary": "Delete the authenticated user",
        "description": "Deletes the personal account after its sandboxes are cleaned up. Organization projects remain intact, and deletion is rejected while the user is an organization's sole owner.",
        "x-wildflower-sdk": false,
        "tags": [
          "Browser authentication"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteAccountInput"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "User deleted and browser cookies cleared",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/AccountDeletionConflict"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts": {
      "get": {
        "operationId": "listAccounts",
        "summary": "List accessible accounts",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AccountCatalogOk"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "post": {
        "operationId": "createOrganization",
        "summary": "Create an organization",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganizationInput"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/AccountCreated"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountId"
        }
      ],
      "get": {
        "operationId": "getAccount",
        "summary": "Get an accessible account",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AccountOk"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "patch": {
        "operationId": "updateAccount",
        "summary": "Update an account",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAccountInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/AccountOk"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "delete": {
        "operationId": "deleteOrganization",
        "summary": "Delete an organization",
        "description": "Deletes an organization after all of its sandboxes have been deleted. The authenticated user must be an owner and must confirm the exact organization name or slug.",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteOrganizationInput"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Organization deleted",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "409": {
            "$ref": "#/components/responses/AccountDeletionConflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/members": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountId"
        }
      ],
      "get": {
        "operationId": "listAccountMembers",
        "summary": "List account members",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AccountMemberCatalogOk"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/members/{userId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountId"
        },
        {
          "$ref": "#/components/parameters/UserId"
        }
      ],
      "patch": {
        "operationId": "updateAccountMember",
        "summary": "Change an account member role",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAccountMemberInput"
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/NoContent"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "delete": {
        "operationId": "removeAccountMember",
        "summary": "Remove an account member",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/NoContent"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/leave": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountId"
        }
      ],
      "post": {
        "operationId": "leaveAccount",
        "summary": "Leave an organization",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/NoContent"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/projects": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountId"
        }
      ],
      "get": {
        "operationId": "listAccountProjects",
        "summary": "List accessible projects in an account",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ProjectCatalogOk"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "post": {
        "operationId": "createAccountProject",
        "summary": "Create a project in an account",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectInput"
              }
            }
          }
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ProjectCreated"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/invitations": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountId"
        }
      ],
      "get": {
        "operationId": "listAccountInvitations",
        "summary": "List pending organization invitations",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AccountInvitationCatalogOk"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "post": {
        "operationId": "createAccountInvitation",
        "summary": "Invite a person to an organization",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAccountInvitationInput"
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/AccountInvitationAccepted"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/invitations/{invitationId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountId"
        },
        {
          "$ref": "#/components/parameters/InvitationId"
        }
      ],
      "delete": {
        "operationId": "revokeAccountInvitation",
        "summary": "Revoke a pending organization invitation",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/NoContent"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/invitations/{invitationId}/resend": {
      "parameters": [
        {
          "$ref": "#/components/parameters/AccountId"
        },
        {
          "$ref": "#/components/parameters/InvitationId"
        }
      ],
      "post": {
        "operationId": "resendAccountInvitation",
        "summary": "Rotate and resend a pending organization invitation",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "202": {
            "$ref": "#/components/responses/AccountInvitationAccepted"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/invitations": {
      "get": {
        "operationId": "listUserInvitations",
        "summary": "List invitations matching the signed-in user's verified identities",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AccountInvitationCatalogOk"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/invitations/{invitationId}/accept": {
      "parameters": [
        {
          "$ref": "#/components/parameters/InvitationId"
        }
      ],
      "post": {
        "operationId": "acceptAccountInvitation",
        "summary": "Accept an organization invitation",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteAccountInvitationInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/AccountInvitationOk"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/invitations/{invitationId}/decline": {
      "parameters": [
        {
          "$ref": "#/components/parameters/InvitationId"
        }
      ],
      "post": {
        "operationId": "declineAccountInvitation",
        "summary": "Decline an organization invitation",
        "x-wildflower-sdk": false,
        "tags": [
          "Accounts"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteAccountInvitationInput"
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/NoContent"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/projects": {
      "get": {
        "operationId": "listProjects",
        "summary": "List owned projects",
        "description": "Returns the projects owned by the authenticated browser user.",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Owned projects",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCatalog"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/projects/{projectId}/transfer": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        }
      ],
      "post": {
        "operationId": "transferProject",
        "summary": "Transfer a personal project to an organization",
        "description": "Moves the stable project ownership root from the caller's personal account to an organization where they are an owner or admin. Project API keys, provider profiles, sandboxes, and idempotency records remain attached to the unchanged project ID.",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferProjectInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ProjectOk"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "409": {
            "$ref": "#/components/responses/ControlPlaneConflict"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/projects/{projectId}/members": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        }
      ],
      "get": {
        "operationId": "listProjectMembers",
        "summary": "List effective project members",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ProjectMemberCatalogOk"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "post": {
        "operationId": "addProjectMember",
        "summary": "Add a project member",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddProjectMemberInput"
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/NoContent"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/projects/{projectId}/members/{userId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        },
        {
          "$ref": "#/components/parameters/UserId"
        }
      ],
      "patch": {
        "operationId": "updateProjectMember",
        "summary": "Change a project member role",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectMemberInput"
              }
            }
          }
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/NoContent"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "delete": {
        "operationId": "removeProjectMember",
        "summary": "Remove an explicit project member",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/NoContent"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/projects/{projectId}/api-keys": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        }
      ],
      "get": {
        "operationId": "listProjectApiKeys",
        "summary": "List project API keys",
        "description": "Returns non-secret API-key metadata. Plaintext keys are never returned by this operation.",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "responses": {
          "200": {
            "description": "Project API-key metadata",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApiKeyCatalog"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "post": {
        "operationId": "createProjectApiKey",
        "summary": "Create a project API key",
        "description": "Creates a project-scoped API key and returns its plaintext exactly once. Only its prefix and SHA-256 digest are persisted.",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectApiKeyInput"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Project API key created; apiKey is shown only in this response",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IssuedProjectApiKey"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/projects/{projectId}/api-keys/{keyId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        },
        {
          "$ref": "#/components/parameters/ProjectApiKeyId"
        }
      ],
      "delete": {
        "operationId": "revokeProjectApiKey",
        "summary": "Revoke a project API key",
        "description": "Permanently revokes the selected API key. A missing key and a key owned by another user fail identically.",
        "x-wildflower-sdk": false,
        "tags": [
          "Projects"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "204": {
            "description": "Project API key revoked",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/ControlPlaneNotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/providers": {
      "get": {
        "operationId": "listProviders",
        "summary": "List provider capabilities",
        "description": "Returns stable provider identifiers, display names, official pricing evidence, and the runtime and lifecycle behavior Wildflower Computer can currently honor for each configured provider.",
        "tags": [
          "System"
        ],
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Typed provider capability catalog",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              },
              "Wildflower-Build-Revision": {
                "$ref": "#/components/headers/BuildRevision"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderCatalog"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        }
      }
    },
    "/v1/provider-observability": {
      "get": {
        "operationId": "getProviderObservabilityCoverage",
        "summary": "Get provider observability coverage",
        "description": "Returns provider-by-provider evidence for credential verification, latency, usage, and cost. Missing, delayed, account-scoped, and unintegrated provider signals are explicit and are never represented as measured sandbox usage.",
        "tags": [
          "System"
        ],
        "x-wildflower-sdk": false,
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Versioned provider observability coverage",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderObservabilityCoverage"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        }
      }
    },
    "/v1/provider-profiles": {
      "get": {
        "operationId": "listProviderProfiles",
        "summary": "List connected provider profiles",
        "description": "Returns project-scoped profile metadata and non-secret connection context. Provider credentials are never returned.",
        "tags": [
          "Provider profiles"
        ],
        "x-wildflower-sdk": false,
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Connected provider profiles",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderProfileCatalog"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/provider-profiles/{provider}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProviderName"
        }
      ],
      "post": {
        "operationId": "connectProvider",
        "summary": "Connect or replace a provider profile",
        "description": "Stores one BYOK credential and its provider-specific connection context for this Wildflower Computer project.",
        "tags": [
          "Provider profiles"
        ],
        "x-wildflower-sdk": false,
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderProfileInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Provider profile connected",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderProfile"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "delete": {
        "operationId": "disconnectProvider",
        "summary": "Disconnect a provider profile",
        "tags": [
          "Provider profiles"
        ],
        "x-wildflower-sdk": false,
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "responses": {
          "204": {
            "description": "Provider profile disconnected",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ProviderProfileNotFound"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/provider-profiles/{provider}/test": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProviderName"
        }
      ],
      "post": {
        "operationId": "testProviderProfile",
        "summary": "Test stored profile resolution",
        "description": "Checks that the encrypted profile can be resolved and its adapter is installed. This keyless check does not claim to authenticate against the provider.",
        "tags": [
          "Provider profiles"
        ],
        "x-wildflower-sdk": false,
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Stored profile is ready for lifecycle requests",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderProfileTest"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ProviderProfileNotFound"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/provider-profiles/{provider}/verify": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProviderName"
        }
      ],
      "post": {
        "operationId": "verifyProviderProfile",
        "summary": "Deeply verify provider lifecycle permissions",
        "description": "Creates a minimal provider sandbox, gets it, executes a deterministic command, and deletes it. The result persists a per-operation readiness matrix. This endpoint mutates provider state and may incur provider charges; the caller must acknowledge both.",
        "tags": [
          "Provider profiles"
        ],
        "x-wildflower-sdk": false,
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeepProviderProfileTestInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Per-operation provider verification result, including cleanup proof",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderProfileTest"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/ProviderProfileNotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/sandboxes": {
      "get": {
        "operationId": "listSandboxes",
        "summary": "List project sandboxes",
        "description": "Returns project-scoped registry records in newest-first order, including deleted tombstones. This endpoint never calls a sandbox provider; status is the last provider state observed by Wildflower Computer and statusObservedAt describes its freshness.",
        "tags": [
          "Sandboxes"
        ],
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxCursor"
          },
          {
            "$ref": "#/components/parameters/SandboxPageLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "A page of project sandboxes",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxPage"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "post": {
        "operationId": "createSandbox",
        "summary": "Create a persistent running sandbox",
        "description": "Creates one provider-backed sandbox and registers its opaque project-scoped ID. Provider access comes from a connected profile or an inline header override, and the selected provider remains fixed for this sandbox.",
        "tags": [
          "Sandboxes"
        ],
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/ProviderWorkspace"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/ProviderBridgeUrl"
          },
          {
            "$ref": "#/components/parameters/ProviderTeamId"
          },
          {
            "$ref": "#/components/parameters/ProviderProjectId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSandboxRequest"
              },
              "examples": {
                "agentcore": {
                  "summary": "Create an AgentCore Code Interpreter session",
                  "value": {
                    "provider": "agentcore",
                    "timeout": 900
                  }
                },
                "blaxel": {
                  "summary": "Create a Blaxel sandbox",
                  "value": {
                    "provider": "blaxel",
                    "image": "blaxel/base-image:latest",
                    "timeout": 300
                  }
                },
                "box": {
                  "summary": "Create an ASCII Box",
                  "value": {
                    "provider": "box",
                    "timeout": 3600
                  }
                },
                "e2b": {
                  "summary": "Create an E2B sandbox",
                  "value": {
                    "provider": "e2b",
                    "image": "base",
                    "timeout": 300
                  }
                },
                "novita": {
                  "summary": "Create a Novita Agent Sandbox",
                  "value": {
                    "provider": "novita",
                    "image": "base",
                    "timeout": 300
                  }
                },
                "daytona": {
                  "summary": "Create a Daytona sandbox",
                  "value": {
                    "provider": "daytona",
                    "image": "ubuntu:22.04",
                    "timeout": 300
                  }
                },
                "cloudflare": {
                  "summary": "Create a Cloudflare sandbox through its official bridge",
                  "value": {
                    "provider": "cloudflare"
                  }
                },
                "modal": {
                  "summary": "Create a Modal sandbox through the Wildflower Computer bridge",
                  "value": {
                    "provider": "modal",
                    "image": "debian:bookworm-slim",
                    "timeout": 300
                  }
                },
                "sprites": {
                  "summary": "Create a Fly.io Sprite",
                  "value": {
                    "provider": "sprites"
                  }
                },
                "runloop": {
                  "summary": "Create a Runloop Devbox",
                  "value": {
                    "provider": "runloop",
                    "image": "runloop/universal-ubuntu-24.04-x86_64",
                    "timeout": 300
                  }
                },
                "smol": {
                  "summary": "Create a Smol Cloud machine",
                  "value": {
                    "provider": "smol",
                    "image": "python:3.12-alpine",
                    "timeout": 300
                  }
                },
                "vercel": {
                  "summary": "Create a persistent Vercel sandbox",
                  "value": {
                    "provider": "vercel",
                    "timeout": 300
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Previously completed sandbox create replayed",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Idempotency-Replayed": {
                "$ref": "#/components/headers/IdempotencyReplayed"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            }
          },
          "201": {
            "description": "Sandbox created",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                },
                "example": {
                  "id": "wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                  "provider": "e2b",
                  "status": "running",
                  "metadata": {
                    "nativeProviderId": "native-1"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "502": {
            "$ref": "#/components/responses/BadGateway"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/sandboxes/{id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/SandboxId"
        },
        {
          "$ref": "#/components/parameters/ProviderWorkspace"
        },
        {
          "$ref": "#/components/parameters/ProviderBridgeUrl"
        },
        {
          "$ref": "#/components/parameters/ProviderTeamId"
        },
        {
          "$ref": "#/components/parameters/ProviderProjectId"
        }
      ],
      "get": {
        "operationId": "getSandbox",
        "summary": "Get a sandbox",
        "description": "Fetches the current provider state for one project-owned sandbox and returns it through the normalized Wildflower lifecycle model.",
        "tags": [
          "Sandboxes"
        ],
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current sandbox state",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "502": {
            "$ref": "#/components/responses/BadGateway"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      },
      "delete": {
        "operationId": "deleteSandbox",
        "summary": "Delete a sandbox",
        "description": "Permanently deletes one project-owned provider sandbox and records a Wildflower registry tombstone for later project-scoped listing.",
        "tags": [
          "Sandboxes"
        ],
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Sandbox deletion accepted by the provider",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeletedSandbox"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "502": {
            "$ref": "#/components/responses/BadGateway"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/sandboxes/{id}/exec": {
      "parameters": [
        {
          "$ref": "#/components/parameters/SandboxId"
        },
        {
          "$ref": "#/components/parameters/ProviderWorkspace"
        }
      ],
      "post": {
        "operationId": "runSandboxCommand",
        "summary": "Run a command in an existing sandbox",
        "description": "Runs a command without replacing the sandbox, preserving its filesystem and state.",
        "tags": [
          "Sandboxes"
        ],
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunCommandInput"
              },
              "example": {
                "command": "pwd && ls -la",
                "cwd": "/workspace",
                "env": {
                  "CI": "true"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Command completed, including non-zero exits",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommandResult"
                },
                "example": {
                  "sandboxId": "wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                  "stdout": "",
                  "stderr": "command failed\n",
                  "exitCode": 7
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "502": {
            "$ref": "#/components/responses/BadGateway"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/sandboxes/{id}/files/read": {
      "parameters": [
        {
          "$ref": "#/components/parameters/SandboxId"
        },
        {
          "$ref": "#/components/parameters/ProviderWorkspace"
        }
      ],
      "post": {
        "operationId": "readSandboxFile",
        "summary": "Read a file from an existing sandbox",
        "description": "Reads one file through the shared sandbox command boundary. UTF-8 is the default; use base64 for binary content.",
        "tags": [
          "Sandboxes"
        ],
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReadFileInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "File content",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadFileResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntity"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "502": {
            "$ref": "#/components/responses/BadGateway"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/sandboxes/{id}/files/write": {
      "parameters": [
        {
          "$ref": "#/components/parameters/SandboxId"
        },
        {
          "$ref": "#/components/parameters/ProviderWorkspace"
        }
      ],
      "post": {
        "operationId": "writeSandboxFile",
        "summary": "Write a file in an existing sandbox",
        "description": "Writes one file through the shared sandbox command boundary. Parent directories must already exist and writes are limited to 1 MiB.",
        "tags": [
          "Sandboxes"
        ],
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WriteFileInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "File written",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WriteFileResult"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableEntity"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "502": {
            "$ref": "#/components/responses/BadGateway"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/sandboxes/{id}/usage": {
      "parameters": [
        {
          "$ref": "#/components/parameters/SandboxId"
        }
      ],
      "get": {
        "operationId": "getSandboxUsage",
        "summary": "Get transparent sandbox usage and cost fidelity",
        "description": "Returns a normalized list-price estimate for an active or deleted project sandbox. Provider-reported and invoice-reconciled values remain explicitly unavailable until an authoritative provider signal is integrated. This endpoint does not call the provider and does not require billing permissions.",
        "tags": [
          "Sandboxes"
        ],
        "x-wildflower-sdk": false,
        "security": [
          {
            "WildflowerApiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Versioned sandbox usage estimate with assumptions and exclusions",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxUsage"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/legal/current": {
      "get": {
        "operationId": "getCurrentLegalRelease",
        "summary": "Get the current legal release",
        "description": "Returns the effective release, or a published future release that requires advance acceptance. This public response never includes user completion state.",
        "x-wildflower-sdk": false,
        "tags": [
          "Legal lifecycle"
        ],
        "responses": {
          "200": {
            "description": "Current legal release",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalState"
                }
              }
            }
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/legal/acceptances": {
      "post": {
        "operationId": "acceptLegalDocuments",
        "summary": "Accept current legal documents",
        "description": "Records the exact release, document versions, content hashes, browser session, request, and UI revision. A stale release fails closed.",
        "x-wildflower-sdk": false,
        "tags": [
          "Legal lifecycle"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegalAcceptanceInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated user legal state",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LegalState"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "409": {
            "$ref": "#/components/responses/LegalReleaseChanged"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/legal/notifications/{notificationId}/seen": {
      "post": {
        "operationId": "markLegalNotificationSeen",
        "summary": "Mark a legal notice as seen",
        "x-wildflower-sdk": false,
        "tags": [
          "Legal lifecycle"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "name": "notificationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "responses": {
          "204": {
            "description": "Legal notice marked as seen",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/legal/consents": {
      "post": {
        "operationId": "recordLegalConsent",
        "summary": "Record or withdraw optional consent",
        "description": "Appends an analytics or marketing consent event. Consent is separate from the service agreement and can be withdrawn.",
        "x-wildflower-sdk": false,
        "tags": [
          "Legal lifecycle"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegalConsentInput"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Consent event recorded",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentState"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/legal": {
      "get": {
        "operationId": "getAccountLegalState",
        "summary": "Get organization agreement state",
        "x-wildflower-sdk": false,
        "tags": [
          "Legal lifecycle"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Organization agreement state",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountLegalState"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "428": {
            "$ref": "#/components/responses/LegalAcceptanceRequired"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/accounts/{accountId}/legal/agreements": {
      "post": {
        "operationId": "acceptAccountLegalAgreement",
        "summary": "Accept the release for an organization",
        "description": "Allows an active organization owner who completed their user acceptance to attest authority and bind the organization to the current release.",
        "x-wildflower-sdk": false,
        "tags": [
          "Legal lifecycle"
        ],
        "security": [
          {
            "BrowserSession": []
          }
        ],
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "$ref": "#/components/parameters/BrowserCsrf"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountLegalAgreementInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Organization agreement recorded",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountLegalState"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "409": {
            "$ref": "#/components/responses/LegalReleaseChanged"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "428": {
            "$ref": "#/components/responses/LegalAcceptanceRequired"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    },
    "/v1/webhooks/resend": {
      "post": {
        "operationId": "receiveResendWebhook",
        "summary": "Receive a Resend delivery event",
        "description": "Verifies the signed raw Resend payload before recording delivery state and durable suppression events. This endpoint is for Resend, not browser or SDK clients.",
        "x-wildflower-sdk": false,
        "tags": [
          "Legal lifecycle"
        ],
        "parameters": [
          {
            "name": "svix-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          {
            "name": "svix-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "svix-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Delivery event accepted or already processed",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/RequestId"
              },
              "Server-Timing": {
                "$ref": "#/components/headers/ServerTiming"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "408": {
            "$ref": "#/components/responses/RequestTimeout"
          },
          "413": {
            "$ref": "#/components/responses/PayloadTooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "WildflowerApiKey": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "Wildflower Computer API key",
        "description": "Authenticates the caller to the Wildflower Computer API."
      },
      "ProviderApiKey": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Provider-Api-Key",
        "description": "Optional per-request override for the project's connected provider credential. Wildflower Computer forwards it for this request and does not persist the override."
      },
      "BrowserLoginIntent": {
        "type": "apiKey",
        "in": "cookie",
        "name": "wildflower_login",
        "x-wildflower-sdk": false,
        "description": "Short-lived, single-use, opaque HttpOnly cookie created before Google sign-in."
      },
      "BrowserSession": {
        "type": "apiKey",
        "in": "cookie",
        "name": "wildflower_session",
        "x-wildflower-sdk": false,
        "description": "Opaque HttpOnly browser session cookie. Its plaintext value is never persisted."
      }
    },
    "parameters": {
      "AccountId": {
        "name": "accountId",
        "in": "path",
        "required": true,
        "description": "Stable personal-account or organization identifier",
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1
        }
      },
      "UserId": {
        "name": "userId",
        "in": "path",
        "required": true,
        "description": "Stable global user identifier",
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1
        }
      },
      "InvitationId": {
        "name": "invitationId",
        "in": "path",
        "required": true,
        "description": "Opaque organization invitation identifier",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "ProjectId": {
        "name": "projectId",
        "in": "path",
        "required": true,
        "description": "Browser-owned project identifier",
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1
        }
      },
      "ProjectApiKeyId": {
        "name": "keyId",
        "in": "path",
        "required": true,
        "description": "Project API-key identifier",
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 1
        }
      },
      "BrowserCsrf": {
        "name": "X-Wildflower-Csrf",
        "in": "header",
        "required": true,
        "description": "Double-submit CSRF token. It must equal the readable wildflower_csrf cookie associated with the current browser session.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "SandboxId": {
        "name": "id",
        "in": "path",
        "required": true,
        "description": "Opaque, project-scoped Wildflower sandbox ID returned by create. The provider namespace is visible, but the random payload does not encode the provider-native ID.",
        "schema": {
          "type": "string",
          "pattern": "^wf_(agentcore|blaxel|box|cloudflare|e2b|novita|daytona|modal|runloop|smol|sprites|vercel)_[A-Za-z0-9_-]{32}$"
        },
        "example": "wf_e2b_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
      },
      "SandboxCursor": {
        "name": "cursor",
        "in": "query",
        "required": false,
        "description": "Opaque cursor returned as nextCursor by the previous page.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1024
        }
      },
      "SandboxPageLimit": {
        "name": "limit",
        "in": "query",
        "required": false,
        "description": "Maximum records to return. Defaults to 50.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 50
        }
      },
      "ProviderName": {
        "name": "provider",
        "in": "path",
        "required": true,
        "description": "Provider to connect, test, or disconnect",
        "schema": {
          "$ref": "#/components/schemas/Provider"
        }
      },
      "ProviderWorkspace": {
        "name": "X-Provider-Workspace",
        "in": "header",
        "required": false,
        "description": "Optional inline provider workspace override. Required with an inline Blaxel credential and omitted when using a connected profile.",
        "schema": {
          "type": "string",
          "minLength": 1
        }
      },
      "IdempotencyKey": {
        "name": "Idempotency-Key",
        "in": "header",
        "required": false,
        "description": "Caller-generated logical operation key. Reusing it with the same request replays a completed create; conflicting, concurrent, or indeterminate attempts fail closed.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[!-~]+$"
        }
      },
      "ProviderBridgeUrl": {
        "name": "X-Provider-Bridge-Url",
        "in": "header",
        "required": false,
        "description": "Optional inline customer-owned bridge URL. Required with an inline Cloudflare, Modal, or AgentCore credential and omitted when using a connected profile.",
        "schema": {
          "type": "string",
          "format": "uri",
          "minLength": 1
        }
      },
      "ProviderTeamId": {
        "name": "X-Provider-Team-Id",
        "in": "header",
        "required": false,
        "description": "Optional inline Vercel team identifier. Required with an inline Vercel credential.",
        "schema": {
          "type": "string",
          "minLength": 1
        }
      },
      "ProviderProjectId": {
        "name": "X-Provider-Project-Id",
        "in": "header",
        "required": false,
        "description": "Optional inline Vercel project identifier. Required with an inline Vercel credential.",
        "schema": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "headers": {
      "RequestId": {
        "description": "Server-generated request identifier for support and error correlation.",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "ServerTiming": {
        "description": "Standard Server-Timing metrics for total Wildflower Computer API time, application processing, and provider adapter time when an adapter was invoked.",
        "schema": {
          "type": "string",
          "example": "wildflower;dur=12.500, app;dur=2.000, provider;dur=10.500"
        }
      },
      "BuildRevision": {
        "description": "Exact source revision embedded in the API build, or development for an unversioned local build.",
        "schema": {
          "type": "string",
          "minLength": 1
        }
      },
      "IdempotencyReplayed": {
        "description": "True when a completed create response was replayed without dispatching to the provider.",
        "schema": {
          "type": "string",
          "const": "true"
        }
      },
      "RetryAfter": {
        "description": "Whole seconds before the client should retry a rate-limited operation.",
        "schema": {
          "type": "integer",
          "format": "int64",
          "minimum": 0
        }
      }
    },
    "schemas": {
      "Provider": {
        "type": "string",
        "description": "Stable provider identifier used for creation, routing, capability discovery, and errors.",
        "enum": [
          "agentcore",
          "blaxel",
          "box",
          "cloudflare",
          "e2b",
          "novita",
          "daytona",
          "modal",
          "runloop",
          "smol",
          "sprites",
          "vercel"
        ]
      },
      "ImageMode": {
        "type": "string",
        "description": "How a provider selects or fixes the sandbox runtime image.",
        "enum": [
          "template",
          "container",
          "blueprint",
          "fixed"
        ]
      },
      "TimeoutMode": {
        "type": "string",
        "description": "Whether sandbox lifetime is configured in seconds or managed entirely by the provider.",
        "enum": [
          "seconds",
          "provider_managed"
        ]
      },
      "OutputStreams": {
        "type": "string",
        "description": "Whether the provider preserves stdout and stderr separately or returns combined command output.",
        "enum": [
          "separate",
          "combined"
        ]
      },
      "ProviderPricingProfile": {
        "type": "object",
        "description": "Versioned workload used to compare published provider prices without implying an invoice quote.",
        "additionalProperties": false,
        "required": [
          "id",
          "currency",
          "vcpus",
          "memoryGib",
          "durationSeconds",
          "cpuUtilizationPercent",
          "storageIncluded",
          "description",
          "capturedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Stable identifier for this normalized comparison profile."
          },
          "currency": {
            "type": "string",
            "pattern": "^USD$",
            "description": "Currency used by every normalized amount in this catalog."
          },
          "vcpus": {
            "type": "integer",
            "minimum": 1,
            "description": "Fully busy virtual CPUs in the comparison workload."
          },
          "memoryGib": {
            "type": "integer",
            "minimum": 1,
            "description": "Memory in GiB held for the complete comparison workload."
          },
          "durationSeconds": {
            "type": "integer",
            "minimum": 1,
            "description": "Complete duration of the comparison workload in seconds."
          },
          "cpuUtilizationPercent": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "CPU utilization assumed for the complete comparison duration."
          },
          "storageIncluded": {
            "type": "boolean",
            "description": "Whether storage charges are included in the normalized amount."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Human-readable explanation of the normalized workload."
          },
          "capturedAt": {
            "type": "string",
            "format": "date-time",
            "description": "UTC timestamp when every official pricing source was captured."
          }
        }
      },
      "ProviderPricing": {
        "type": "object",
        "description": "Official provider pricing evidence and, when published rates permit it, a normalized catalog comparison.",
        "additionalProperties": false,
        "required": [
          "normalizedBusyHourUsd",
          "billingBasis",
          "sourceUrl",
          "sourceDigest",
          "caveat"
        ],
        "properties": {
          "normalizedBusyHourUsd": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0-9]+\\.[0-9]{6}$",
            "description": "Exact six-decimal USD estimate for the catalog comparison profile, or null when the provider does not publish comparable unit rates."
          },
          "billingBasis": {
            "type": "string",
            "minLength": 1,
            "description": "Provider-specific resource or activity basis used for billing."
          },
          "sourceUrl": {
            "type": "string",
            "format": "uri",
            "description": "Primary official provider page used to extract pricing or billing evidence."
          },
          "sourceDigest": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$",
            "description": "SHA-256 digest binding the provider's configured official source captures."
          },
          "caveat": {
            "type": "string",
            "minLength": 1,
            "description": "Important provider-specific limitation on interpreting the normalized amount."
          }
        }
      },
      "ProviderCapabilities": {
        "type": "object",
        "description": "Discovery entry with identity, official pricing evidence, and runtime behavior for one configured sandbox provider.",
        "additionalProperties": false,
        "required": [
          "provider",
          "displayName",
          "pricing",
          "imageMode",
          "timeoutMode",
          "supportsCwd",
          "supportsEnv",
          "outputStreams",
          "supportsPersistentResume",
          "supportsExplicitStop",
          "supportsSnapshots",
          "supportsRestore",
          "supportsDelete"
        ],
        "properties": {
          "provider": {
            "$ref": "#/components/schemas/Provider",
            "description": "Provider identifier accepted by create requests."
          },
          "displayName": {
            "type": "string",
            "minLength": 1,
            "description": "Human-readable provider name for developer interfaces."
          },
          "pricing": {
            "$ref": "#/components/schemas/ProviderPricing",
            "description": "Official pricing evidence and an optional normalized catalog comparison."
          },
          "imageMode": {
            "$ref": "#/components/schemas/ImageMode",
            "description": "Image-selection behavior exposed by this provider."
          },
          "timeoutMode": {
            "$ref": "#/components/schemas/TimeoutMode",
            "description": "Lifetime-selection behavior exposed by this provider."
          },
          "timeoutDefaultSeconds": {
            "type": "integer",
            "description": "Default sandbox lifetime in seconds when Wildflower supplies one."
          },
          "timeoutMaximumSeconds": {
            "type": "integer",
            "description": "Largest sandbox lifetime accepted through the common API, in seconds."
          },
          "timeoutGranularitySeconds": {
            "type": "integer",
            "description": "Provider timeout rounding or scheduling granularity, in seconds."
          },
          "supportsCwd": {
            "type": "boolean",
            "description": "Whether command execution accepts a working directory."
          },
          "supportsEnv": {
            "type": "boolean",
            "description": "Whether command execution accepts environment variables."
          },
          "outputStreams": {
            "$ref": "#/components/schemas/OutputStreams",
            "description": "How command stdout and stderr are returned."
          },
          "supportsPersistentResume": {
            "type": "boolean",
            "description": "Whether a stopped sandbox can resume with its persistent state."
          },
          "supportsExplicitStop": {
            "type": "boolean",
            "description": "Whether the provider exposes an explicit stop operation."
          },
          "supportsSnapshots": {
            "type": "boolean",
            "description": "Whether the current Wildflower adapter can create snapshots."
          },
          "supportsRestore": {
            "type": "boolean",
            "description": "Whether the current Wildflower adapter can restore snapshots."
          },
          "supportsDelete": {
            "type": "boolean",
            "description": "Whether the provider supports permanent sandbox deletion through Wildflower."
          }
        }
      },
      "ProviderCatalog": {
        "type": "object",
        "description": "Identity, pricing evidence, and capability catalog for every provider configured in this Wildflower build.",
        "additionalProperties": false,
        "required": [
          "pricingProfile",
          "providers"
        ],
        "properties": {
          "pricingProfile": {
            "$ref": "#/components/schemas/ProviderPricingProfile",
            "description": "Shared workload and source timestamp for normalized provider pricing."
          },
          "providers": {
            "type": "array",
            "description": "Provider identity, pricing, and capabilities in stable catalog order.",
            "items": {
              "$ref": "#/components/schemas/ProviderCapabilities"
            }
          }
        }
      },
      "ProviderObservabilityCoverage": {
        "x-wildflower-sdk": false,
        "type": "object",
        "description": "Versioned provider-by-provider evidence for credential verification, latency, usage, and cost fidelity.",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "capturedAt",
          "warning",
          "providers"
        ],
        "properties": {
          "schemaVersion": {
            "const": 1
          },
          "capturedAt": {
            "type": "string",
            "format": "date-time"
          },
          "warning": {
            "type": "string",
            "minLength": 1
          },
          "providers": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        }
      },
      "ProviderProfileConnection": {
        "type": "object",
        "description": "Non-secret provider-specific routing context stored with or supplied alongside a provider credential.",
        "additionalProperties": false,
        "properties": {
          "bridgeUrl": {
            "type": "string",
            "format": "uri",
            "description": "Required for AgentCore, Cloudflare, and Modal."
          },
          "workspace": {
            "type": "string",
            "minLength": 1,
            "description": "Required for Blaxel."
          },
          "teamId": {
            "type": "string",
            "minLength": 1,
            "description": "Required for Vercel."
          },
          "projectId": {
            "type": "string",
            "minLength": 1,
            "description": "Required for Vercel."
          }
        }
      },
      "ProviderProfileInput": {
        "type": "object",
        "description": "Credential and optional non-secret connection context used to connect one project-scoped provider profile.",
        "additionalProperties": false,
        "required": [
          "apiKey"
        ],
        "properties": {
          "apiKey": {
            "type": "string",
            "minLength": 1,
            "maxLength": 16384,
            "writeOnly": true,
            "description": "The provider credential or customer-owned bridge bearer token."
          },
          "connection": {
            "$ref": "#/components/schemas/ProviderProfileConnection",
            "description": "Provider-specific routing context required in addition to the credential."
          }
        }
      },
      "ProviderProfilePersistence": {
        "type": "string",
        "description": "Storage boundary currently protecting a connected provider profile.",
        "enum": [
          "process_memory",
          "encrypted_database"
        ]
      },
      "ProviderOperation": {
        "type": "string",
        "description": "Provider operation whose credential entitlement or evidence was evaluated.",
        "enum": [
          "create",
          "get",
          "exec",
          "delete",
          "usage"
        ]
      },
      "ProviderOperationStatus": {
        "type": "string",
        "description": "Current evidence state for one provider operation.",
        "enum": [
          "unverified",
          "verified",
          "unavailable",
          "failed",
          "not_run"
        ]
      },
      "ProviderProfileStatus": {
        "type": "string",
        "description": "Overall provider profile readiness derived from the required operation matrix.",
        "enum": [
          "unverified",
          "ready",
          "degraded",
          "invalid",
          "unsafe"
        ]
      },
      "ProviderTestMode": {
        "type": "string",
        "description": "Whether the result came from a non-mutating safe check or a provider-mutating deep verification.",
        "enum": [
          "safe",
          "deep"
        ]
      },
      "ProviderOperationReadiness": {
        "type": "object",
        "description": "Evidence, failure reason, and remediation for one provider operation.",
        "additionalProperties": false,
        "required": [
          "operation",
          "status",
          "reason",
          "remediation"
        ],
        "properties": {
          "operation": {
            "$ref": "#/components/schemas/ProviderOperation",
            "description": "Provider lifecycle or usage operation represented by this evidence row."
          },
          "status": {
            "$ref": "#/components/schemas/ProviderOperationStatus",
            "description": "Current verification outcome for this provider operation."
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "description": "Provider-neutral explanation of why this operation has its current status."
          },
          "remediation": {
            "type": "string",
            "minLength": 1,
            "description": "Concrete next step for making an unavailable or failed operation usable."
          }
        }
      },
      "ProviderProfileReadiness": {
        "type": "object",
        "description": "Persisted operation-level readiness for a connected provider profile.",
        "additionalProperties": false,
        "required": [
          "status",
          "checkedAt",
          "operations"
        ],
        "properties": {
          "status": {
            "$ref": "#/components/schemas/ProviderProfileStatus",
            "description": "Overall readiness derived from the required lifecycle operations and cleanup safety."
          },
          "checkedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Last deep provider verification time, or null when no provider request has run."
          },
          "verificationExpiresAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time after which successful readiness evidence becomes unverified and deep verification must run again. Omitted when no valid verification timestamp exists."
          },
          "operations": {
            "type": "array",
            "description": "Per-operation verification evidence retained from the most recent deep check.",
            "items": {
              "$ref": "#/components/schemas/ProviderOperationReadiness"
            }
          }
        }
      },
      "ProviderProfile": {
        "type": "object",
        "description": "Redacted metadata for a connected project-scoped provider profile.",
        "additionalProperties": false,
        "required": [
          "provider",
          "connected",
          "persistence",
          "connection",
          "readiness"
        ],
        "properties": {
          "provider": {
            "$ref": "#/components/schemas/Provider",
            "description": "Provider associated with this connected profile."
          },
          "connected": {
            "type": "boolean",
            "const": true,
            "description": "Always true for a profile returned by the connected-profile catalog."
          },
          "persistence": {
            "$ref": "#/components/schemas/ProviderProfilePersistence",
            "description": "Storage boundary used for the profile credential."
          },
          "connection": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Non-secret provider-specific connection context."
          },
          "readiness": {
            "$ref": "#/components/schemas/ProviderProfileReadiness",
            "description": "Last verified provider operation matrix. A newly connected profile is unverified."
          }
        }
      },
      "ProviderProfileCatalog": {
        "type": "object",
        "description": "Redacted project-scoped provider profiles visible to the authenticated project.",
        "additionalProperties": false,
        "required": [
          "profiles"
        ],
        "properties": {
          "profiles": {
            "type": "array",
            "description": "Connected profiles without provider credentials.",
            "items": {
              "$ref": "#/components/schemas/ProviderProfile"
            }
          }
        }
      },
      "ProviderProfileTest": {
        "type": "object",
        "description": "Safe or deep provider profile result with per-operation evidence and cleanup state.",
        "additionalProperties": false,
        "required": [
          "provider",
          "ready",
          "profile",
          "adapter",
          "providerAuthentication",
          "status",
          "mode",
          "checkedAt",
          "operations",
          "message"
        ],
        "properties": {
          "provider": {
            "$ref": "#/components/schemas/Provider",
            "description": "Provider whose stored profile was tested."
          },
          "ready": {
            "type": "boolean",
            "description": "Whether the four required lifecycle operations are verified. Optional usage can remain unavailable."
          },
          "profile": {
            "const": "passed",
            "description": "Profile decryption and resolution result."
          },
          "adapter": {
            "const": "passed",
            "description": "Installed adapter discovery result."
          },
          "providerAuthentication": {
            "type": "string",
            "enum": [
              "not_run",
              "previously_verified",
              "verified",
              "failed"
            ],
            "description": "Provider authentication evidence available to this result."
          },
          "status": {
            "$ref": "#/components/schemas/ProviderProfileStatus",
            "description": "Overall readiness derived from the operation results in this test."
          },
          "mode": {
            "$ref": "#/components/schemas/ProviderTestMode",
            "description": "Whether this was a non-mutating local check or a provider-mutating deep verification."
          },
          "checkedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Deep verification time, or null when the provider has never been called."
          },
          "operations": {
            "type": "array",
            "description": "Per-operation evidence produced or reused by this test.",
            "items": {
              "$ref": "#/components/schemas/ProviderOperationReadiness"
            }
          },
          "orphanedProviderResourceId": {
            "type": "string",
            "minLength": 1,
            "description": "Provider-native resource that could not be proven deleted. Present only when status is unsafe."
          },
          "reconciliationOperationId": {
            "type": "string",
            "format": "uuid",
            "description": "Operation identifier to use when reconciling an ambiguous create or failed cleanup with the provider."
          },
          "message": {
            "type": "string",
            "description": "Human-readable explanation of the keyless readiness result."
          }
        }
      },
      "DeepProviderProfileTestInput": {
        "type": "object",
        "description": "Explicit acknowledgement required before a provider-mutating deep verification.",
        "additionalProperties": false,
        "required": [
          "acknowledgeCostAndMutation"
        ],
        "properties": {
          "acknowledgeCostAndMutation": {
            "type": "boolean",
            "const": true,
            "description": "Must be true because verification creates, executes in, and deletes a provider sandbox and may incur charges."
          }
        }
      },
      "SandboxStatus": {
        "type": "string",
        "description": "Provider-neutral sandbox lifecycle state observed by Wildflower Computer.",
        "enum": [
          "creating",
          "running",
          "paused",
          "stopped",
          "deleting",
          "deleted",
          "error",
          "unknown"
        ]
      },
      "CreateSandboxRequest": {
        "description": "Provider-discriminated input for creating one persistent sandbox.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/AgentcoreCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/BlaxelCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/BoxCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/CloudflareCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/E2bCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/NovitaCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/DaytonaCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/ModalCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/RunloopCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/SmolCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/SpritesCreateSandboxRequest"
          },
          {
            "$ref": "#/components/schemas/VercelCreateSandboxRequest"
          }
        ],
        "discriminator": {
          "propertyName": "provider",
          "mapping": {
            "agentcore": "#/components/schemas/AgentcoreCreateSandboxRequest",
            "blaxel": "#/components/schemas/BlaxelCreateSandboxRequest",
            "box": "#/components/schemas/BoxCreateSandboxRequest",
            "cloudflare": "#/components/schemas/CloudflareCreateSandboxRequest",
            "e2b": "#/components/schemas/E2bCreateSandboxRequest",
            "novita": "#/components/schemas/NovitaCreateSandboxRequest",
            "daytona": "#/components/schemas/DaytonaCreateSandboxRequest",
            "modal": "#/components/schemas/ModalCreateSandboxRequest",
            "runloop": "#/components/schemas/RunloopCreateSandboxRequest",
            "smol": "#/components/schemas/SmolCreateSandboxRequest",
            "sprites": "#/components/schemas/SpritesCreateSandboxRequest",
            "vercel": "#/components/schemas/VercelCreateSandboxRequest"
          }
        }
      },
      "AgentcoreCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "agentcore",
            "description": "Selects the AWS AgentCore Code Interpreter adapter."
          },
          "timeout": {
            "type": "integer",
            "minimum": 60,
            "maximum": 28800,
            "description": "AgentCore Code Interpreter session lifetime in seconds."
          }
        },
        "description": "AgentCore is a capability-limited, non-resumable session provider reached through the Wildflower Computer bridge."
      },
      "BlaxelCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "blaxel",
            "description": "Selects the Blaxel sandbox adapter."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Blaxel runtime image. Defaults to blaxel/base-image:latest."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4294967295,
            "description": "Sandbox lifetime in seconds, sent as the Blaxel runtime TTL."
          }
        },
        "description": "Blaxel requires workspace context in either the connected profile or an inline X-Provider-Workspace override."
      },
      "BoxCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "box",
            "description": "Selects the ASCII Box sandbox adapter."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2592000,
            "description": "Seconds before Box automatically archives the VM. Defaults to one hour."
          }
        },
        "description": "Box creates a fixed Ubuntu VM without injecting account-level Box secrets and permanently removes it on delete."
      },
      "CloudflareCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "cloudflare",
            "description": "Selects the customer-deployed Cloudflare Sandbox bridge."
          }
        },
        "description": "Cloudflare uses the customer-deployed official Sandbox Bridge. Image and timeout selection are configured in that Worker."
      },
      "E2bCreateSandboxRequest": {
        "type": "object",
        "description": "E2B creation input using an optional template and sandbox lifetime.",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "e2b",
            "description": "Selects the E2B sandbox adapter."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "E2B template ID."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4294967295,
            "description": "Sandbox lifetime in seconds."
          }
        }
      },
      "NovitaCreateSandboxRequest": {
        "type": "object",
        "description": "Novita Agent Sandbox creation input using an optional template and sandbox lifetime.",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "novita",
            "description": "Selects the Novita Agent Sandbox adapter."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Novita sandbox template ID. Defaults to base."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4294967295,
            "description": "Sandbox lifetime in seconds."
          }
        }
      },
      "DaytonaCreateSandboxRequest": {
        "type": "object",
        "description": "Daytona creation input using an optional container image and rounded TTL.",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "daytona",
            "description": "Selects the Daytona sandbox adapter."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Daytona container image."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4294967295,
            "description": "Sandbox lifetime in seconds. Daytona rounds up to whole TTL minutes."
          }
        }
      },
      "ModalCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "modal",
            "description": "Selects the customer-owned Modal provider bridge."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Registry image used to construct the Modal Image."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4294967,
            "description": "Modal sandbox lifetime in seconds."
          }
        },
        "description": "Modal uses the customer-owned Wildflower Computer provider bridge and the official Modal SDK."
      },
      "SpritesCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "sprites",
            "description": "Selects the Fly.io Sprites adapter."
          }
        },
        "description": "Sprites provides a fixed environment, sleeps automatically, and persists until deleted."
      },
      "RunloopCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "runloop",
            "description": "Selects the Runloop Devbox adapter."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Runloop Blueprint name. The default starter image is used when omitted."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 172800,
            "description": "Devbox maximum lifetime in seconds."
          }
        },
        "description": "Runloop Devboxes use the direct REST API and are shut down permanently on delete."
      },
      "SmolCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "smol",
            "description": "Selects the Smol Cloud machine adapter."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "OCI image reference. Defaults to alpine."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4294967295,
            "description": "Machine lifetime in seconds, sent as Smol Cloud ttlSeconds."
          }
        },
        "description": "Smol Cloud creates a persistent hardware-isolated microVM with blocked network egress; the first command automatically starts it."
      },
      "VercelCreateSandboxRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "provider"
        ],
        "properties": {
          "provider": {
            "const": "vercel",
            "description": "Selects the Vercel Sandbox adapter."
          },
          "image": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Vercel Container Registry image. The stock runtime is used when omitted."
          },
          "timeout": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4294967,
            "description": "Vercel sandbox session timeout in seconds."
          }
        },
        "description": "Wildflower Computer creates Vercel sandboxes with persistence enabled and permanently deletes them on delete."
      },
      "SandboxMetadata": {
        "type": "object",
        "description": "Provider provenance and logical operation metadata associated with a sandbox.",
        "additionalProperties": false,
        "required": [
          "nativeProviderId"
        ],
        "properties": {
          "nativeProviderId": {
            "type": "string",
            "minLength": 1,
            "description": "The provider-native sandbox ID retained for debugging."
          },
          "nativeProviderVersion": {
            "type": "string",
            "minLength": 1,
            "description": "Provider runtime or protocol version when the provider exposes one."
          },
          "operationId": {
            "type": "string",
            "format": "uuid",
            "description": "Wildflower Computer logical create-operation identifier, also attached to provider resources when the provider supports metadata or names."
          }
        }
      },
      "Sandbox": {
        "type": "object",
        "description": "Current normalized state of one provider-backed persistent sandbox.",
        "additionalProperties": false,
        "required": [
          "id",
          "provider",
          "status",
          "metadata"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^wf_(agentcore|blaxel|box|cloudflare|e2b|novita|daytona|modal|runloop|smol|sprites|vercel)_[A-Za-z0-9_-]{32}$",
            "description": "Opaque project-scoped Wildflower sandbox identifier used by later lifecycle calls."
          },
          "provider": {
            "$ref": "#/components/schemas/Provider",
            "description": "Provider selected when this sandbox was created."
          },
          "status": {
            "$ref": "#/components/schemas/SandboxStatus",
            "description": "Current normalized provider state."
          },
          "metadata": {
            "$ref": "#/components/schemas/SandboxMetadata",
            "description": "Provider-native and logical operation metadata."
          }
        }
      },
      "SandboxListItem": {
        "type": "object",
        "description": "Project registry record for a sandbox, including cached status timestamps and deletion history.",
        "additionalProperties": false,
        "required": [
          "id",
          "provider",
          "status",
          "metadata",
          "createdAt",
          "updatedAt",
          "statusObservedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^wf_(agentcore|blaxel|box|cloudflare|e2b|novita|daytona|modal|runloop|smol|sprites|vercel)_[A-Za-z0-9_-]{32}$",
            "description": "Opaque project-scoped Wildflower sandbox identifier."
          },
          "provider": {
            "$ref": "#/components/schemas/Provider",
            "description": "Provider selected when this sandbox was created."
          },
          "status": {
            "$ref": "#/components/schemas/SandboxStatus",
            "description": "Last normalized state observed by Wildflower."
          },
          "metadata": {
            "$ref": "#/components/schemas/SandboxMetadata",
            "description": "Provider-native and logical operation metadata."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When Wildflower first registered the sandbox."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When Wildflower last changed this registry record."
          },
          "statusObservedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When Wildflower Computer last observed this status. List does not refresh provider state."
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When deletion completed, when this item is a tombstone."
          }
        }
      },
      "SandboxPage": {
        "type": "object",
        "description": "Cursor-paginated page of project sandbox registry records.",
        "additionalProperties": false,
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "description": "Sandbox registry records in newest-first order.",
            "items": {
              "$ref": "#/components/schemas/SandboxListItem"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "Pass this opaque value as cursor to fetch the next page. Omitted on the final page."
          }
        }
      },
      "DeletedSandbox": {
        "description": "Sandbox response whose normalized state is permanently deleted.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Sandbox"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "status"
            ],
            "properties": {
              "status": {
                "const": "deleted",
                "description": "Deletion-complete lifecycle marker."
              }
            }
          }
        ]
      },
      "RunCommandInput": {
        "type": "object",
        "description": "Bounded command, working directory, and environment executed in an existing sandbox.",
        "additionalProperties": false,
        "required": [
          "command"
        ],
        "properties": {
          "command": {
            "type": "string",
            "minLength": 1,
            "maxLength": 262144,
            "description": "Shell command to execute without replacing the sandbox."
          },
          "cwd": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4096,
            "description": "Optional existing working directory for command execution."
          },
          "env": {
            "type": "object",
            "description": "Optional environment variables supplied only to this command.",
            "maxProperties": 256,
            "propertyNames": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256,
              "pattern": "^[^=\\u0000]+$"
            },
            "additionalProperties": {
              "type": "string",
              "maxLength": 16384
            }
          }
        }
      },
      "CommandResult": {
        "type": "object",
        "description": "Normalized command output and process exit code from an existing sandbox.",
        "additionalProperties": false,
        "required": [
          "sandboxId",
          "stdout",
          "stderr",
          "exitCode"
        ],
        "properties": {
          "sandboxId": {
            "type": "string",
            "pattern": "^wf_(agentcore|blaxel|box|cloudflare|e2b|novita|daytona|modal|runloop|smol|sprites|vercel)_[A-Za-z0-9_-]{32}$",
            "description": "Wildflower sandbox identifier that executed the command."
          },
          "stdout": {
            "type": "string",
            "description": "Captured standard output, or combined output for providers that cannot separate streams."
          },
          "stderr": {
            "type": "string",
            "description": "Captured standard error, or an empty string when the provider combines output."
          },
          "exitCode": {
            "type": "integer",
            "format": "int32",
            "description": "Native command exit code; a non-zero value is still a successful API response."
          }
        }
      },
      "FileEncoding": {
        "type": "string",
        "description": "Wire encoding for bounded file content.",
        "enum": [
          "utf8",
          "base64"
        ]
      },
      "ReadFileInput": {
        "type": "object",
        "description": "Path and requested encoding for reading one bounded sandbox file.",
        "additionalProperties": false,
        "required": [
          "path"
        ],
        "properties": {
          "path": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4096,
            "description": "Absolute or sandbox-relative file path to read."
          },
          "encoding": {
            "$ref": "#/components/schemas/FileEncoding",
            "description": "Requested response encoding; defaults to UTF-8."
          }
        }
      },
      "ReadFileResult": {
        "type": "object",
        "description": "Bounded file content read from an existing sandbox.",
        "additionalProperties": false,
        "required": [
          "sandboxId",
          "path",
          "content",
          "encoding"
        ],
        "properties": {
          "sandboxId": {
            "type": "string",
            "pattern": "^wf_(agentcore|blaxel|box|cloudflare|e2b|novita|daytona|modal|runloop|smol|sprites|vercel)_[A-Za-z0-9_-]{32}$",
            "description": "Wildflower sandbox identifier from which the file was read."
          },
          "path": {
            "type": "string",
            "description": "File path that was read."
          },
          "content": {
            "type": "string",
            "description": "File content encoded according to the encoding field."
          },
          "encoding": {
            "$ref": "#/components/schemas/FileEncoding",
            "description": "Encoding used for the returned content."
          }
        }
      },
      "WriteFileInput": {
        "type": "object",
        "description": "Path, content, and encoding for writing one bounded sandbox file.",
        "additionalProperties": false,
        "required": [
          "path",
          "content"
        ],
        "properties": {
          "path": {
            "type": "string",
            "minLength": 1,
            "maxLength": 4096,
            "description": "Absolute or sandbox-relative destination path whose parent already exists."
          },
          "content": {
            "type": "string",
            "description": "File content encoded according to the encoding field."
          },
          "encoding": {
            "$ref": "#/components/schemas/FileEncoding",
            "description": "Encoding of the supplied content; defaults to UTF-8."
          }
        }
      },
      "WriteFileResult": {
        "type": "object",
        "description": "Result of writing one bounded file into an existing sandbox.",
        "additionalProperties": false,
        "required": [
          "sandboxId",
          "path",
          "bytesWritten"
        ],
        "properties": {
          "sandboxId": {
            "type": "string",
            "pattern": "^wf_(agentcore|blaxel|box|cloudflare|e2b|novita|daytona|modal|runloop|smol|sprites|vercel)_[A-Za-z0-9_-]{32}$",
            "description": "Wildflower sandbox identifier into which the file was written."
          },
          "path": {
            "type": "string",
            "description": "Destination path that was written."
          },
          "bytesWritten": {
            "type": "integer",
            "format": "int64",
            "minimum": 0,
            "description": "Decoded byte count written to the sandbox file."
          }
        }
      },
      "SandboxUsage": {
        "x-wildflower-sdk": false,
        "type": "object",
        "description": "Transparent sandbox cost estimate that keeps list-price, provider-reported, and invoice-reconciled fidelity separate.",
        "additionalProperties": false,
        "required": [
          "schemaVersion",
          "sandboxId",
          "provider",
          "generatedAt",
          "currency",
          "status",
          "confidence",
          "window",
          "listPriceEstimateUsd",
          "providerReported",
          "invoiceReconciled",
          "components",
          "coverage",
          "excludes",
          "assumptions",
          "priceSource",
          "warning"
        ],
        "properties": {
          "schemaVersion": {
            "const": "wildflower.sandbox-usage.v2"
          },
          "sandboxId": {
            "type": "string",
            "description": "Opaque Wildflower sandbox identifier."
          },
          "provider": {
            "$ref": "#/components/schemas/Provider"
          },
          "generatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "const": "USD"
          },
          "status": {
            "enum": [
              "estimated",
              "unavailable"
            ]
          },
          "confidence": {
            "const": "low"
          },
          "window": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "start",
              "end",
              "durationMilliseconds",
              "basis"
            ],
            "properties": {
              "start": {
                "type": "string",
                "format": "date-time"
              },
              "end": {
                "type": "string",
                "format": "date-time"
              },
              "durationMilliseconds": {
                "type": "integer",
                "format": "int64",
                "minimum": 0
              },
              "basis": {
                "const": "wildflower_registry_observed_wall_time"
              }
            }
          },
          "listPriceEstimateUsd": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0-9]+\\.[0-9]{6}$",
            "description": "Normalized comparison-profile estimate, never a claim of provider-measured usage. Null when the provider does not publish enough comparable pricing detail."
          },
          "providerReported": {
            "$ref": "#/components/schemas/UnavailableProviderAmount"
          },
          "invoiceReconciled": {
            "$ref": "#/components/schemas/UnavailableProviderAmount"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UsageComponent"
            }
          },
          "coverage": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "excludes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "assumptions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "priceSource": {
            "$ref": "#/components/schemas/UsagePriceSource"
          },
          "warning": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "UnavailableProviderAmount": {
        "x-wildflower-sdk": false,
        "type": "object",
        "description": "Explicitly unavailable provider-reported or invoice-reconciled amount.",
        "additionalProperties": false,
        "required": [
          "status",
          "amountUsd",
          "asOf",
          "lagSeconds",
          "reason"
        ],
        "properties": {
          "status": {
            "const": "unavailable"
          },
          "amountUsd": {
            "type": [
              "string",
              "null"
            ]
          },
          "asOf": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "lagSeconds": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0
          },
          "reason": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "UsageComponent": {
        "x-wildflower-sdk": false,
        "type": "object",
        "description": "One meter used in a transparent usage estimate.",
        "additionalProperties": false,
        "required": [
          "meter",
          "quantity",
          "unit",
          "costUsd"
        ],
        "properties": {
          "meter": {
            "type": "string"
          },
          "quantity": {
            "type": "string",
            "pattern": "^[0-9]+\\.[0-9]{3}$"
          },
          "unit": {
            "const": "second"
          },
          "costUsd": {
            "type": "string",
            "pattern": "^[0-9]+\\.[0-9]{6}$"
          }
        }
      },
      "UsagePriceSource": {
        "x-wildflower-sdk": false,
        "type": "object",
        "description": "Official pricing evidence used by a normalized estimate.",
        "additionalProperties": false,
        "required": [
          "capturedAt",
          "url",
          "digest",
          "basis"
        ],
        "properties": {
          "capturedAt": {
            "type": "string",
            "format": "date-time"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "digest": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "basis": {
            "enum": [
              "sandbox_creation_snapshot",
              "current_catalog_fallback"
            ],
            "description": "Whether the price was pinned when the sandbox was created or comes from the current catalog for a legacy record."
          }
        }
      },
      "ErrorCode": {
        "type": "string",
        "description": "Stable Wildflower Computer error code set, version 3.",
        "enum": [
          "invalid_request",
          "payload_too_large",
          "request_timeout",
          "invalid_idempotency_key",
          "idempotency_conflict",
          "idempotency_in_progress",
          "idempotency_outcome_unknown",
          "idempotency_unavailable",
          "sandbox_registry_unavailable",
          "sandbox_create_outcome_unknown",
          "invalid_file_content",
          "file_not_utf8",
          "file_operation_failed",
          "missing_api_key",
          "provider_profiles_unavailable",
          "provider_profile_not_found",
          "provider_operation_unavailable",
          "invalid_sandbox_id",
          "provider_invalid_request",
          "authentication_error",
          "control_plane_conflict",
          "last_account_owner",
          "personal_account_immutable",
          "account_deleting",
          "sandbox_not_found",
          "rate_limited",
          "provider_unavailable",
          "provider_error",
          "internal_error",
          "legal_acceptance_required",
          "legal_release_changed",
          "legal_not_found",
          "legal_unavailable",
          "invalid_email_webhook"
        ]
      },
      "Error": {
        "type": "object",
        "description": "Normalized API failure safe to expose to SDK callers.",
        "additionalProperties": false,
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "$ref": "#/components/schemas/ErrorCode",
            "description": "Stable machine-readable Wildflower error code."
          },
          "message": {
            "type": "string",
            "description": "Credential-safe human-readable failure explanation."
          },
          "provider": {
            "$ref": "#/components/schemas/Provider",
            "description": "Provider associated with the failure, when one was selected."
          },
          "operationId": {
            "type": "string",
            "format": "uuid",
            "description": "Safe logical operation identifier for support and outcome reconciliation when an operation may have succeeded upstream."
          },
          "orphanedProviderResourceId": {
            "type": "string",
            "minLength": 1,
            "description": "Provider-native resource that may require manual cleanup after verification lost a concurrent profile update."
          },
          "reconciliationOperationId": {
            "type": "string",
            "format": "uuid",
            "description": "Logical operation identifier to use for provider-side reconciliation."
          },
          "operation": {
            "$ref": "#/components/schemas/ProviderOperation",
            "description": "Provider operation blocked by a known credential capability failure."
          },
          "reason": {
            "type": "string",
            "description": "Stable safe explanation for a known provider operation capability failure."
          },
          "remediation": {
            "type": "string",
            "description": "Provider-neutral action needed to make the blocked operation available."
          }
        }
      },
      "ErrorEnvelope": {
        "type": "object",
        "description": "JSON envelope returned for every API failure.",
        "additionalProperties": false,
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "$ref": "#/components/schemas/Error",
            "description": "Normalized error body."
          }
        }
      },
      "Health": {
        "type": "object",
        "description": "Service liveness and optional build provenance.",
        "additionalProperties": false,
        "required": [
          "status"
        ],
        "properties": {
          "status": {
            "const": "ok",
            "description": "Successful service-health marker."
          },
          "revision": {
            "type": "string",
            "minLength": 1,
            "description": "Exact source revision embedded at build time, or development for a local build without provenance."
          },
          "telemetryDelivery": {
            "type": "object",
            "description": "Process-lifetime aggregate delivery counters for non-transactional telemetry.",
            "additionalProperties": false,
            "required": [
              "sandboxUsage"
            ],
            "properties": {
              "sandboxUsage": {
                "type": "object",
                "description": "Sandbox usage telemetry delivery counters. They contain no project, sandbox, provider, or credential dimensions.",
                "additionalProperties": false,
                "required": [
                  "emitAttempts",
                  "sinkRejections",
                  "clickhouseDroppedRows"
                ],
                "properties": {
                  "emitAttempts": {
                    "type": "integer",
                    "format": "int64",
                    "minimum": 0,
                    "description": "Events offered to the configured usage telemetry sink since process start."
                  },
                  "sinkRejections": {
                    "type": "integer",
                    "format": "int64",
                    "minimum": 0,
                    "description": "Events synchronously rejected before successful queueing since process start."
                  },
                  "clickhouseDroppedRows": {
                    "type": "integer",
                    "format": "int64",
                    "minimum": 0,
                    "description": "Rows dropped after a ClickHouse batch insert failed since process start."
                  }
                }
              }
            }
          }
        }
      },
      "GoogleLoginIntent": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "nonce",
          "csrfToken",
          "expiresInSeconds"
        ],
        "properties": {
          "nonce": {
            "type": "string",
            "minLength": 1,
            "description": "Single-use nonce that must be supplied to Google Identity Services."
          },
          "csrfToken": {
            "type": "string",
            "minLength": 1,
            "description": "Token that must be returned in the Google login completion request."
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 1,
            "maximum": 600
          }
        }
      },
      "GoogleLoginInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "credential",
          "csrfToken"
        ],
        "properties": {
          "credential": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32768,
            "description": "Google Identity Services ID token."
          },
          "csrfToken": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        }
      },
      "BrowserUser": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "id",
          "email",
          "emailVerified",
          "displayName",
          "pictureUrl"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "email": {
            "type": [
              "string",
              "null"
            ],
            "format": "email",
            "maxLength": 320
          },
          "emailVerified": {
            "type": "boolean"
          },
          "displayName": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 512
          },
          "pictureUrl": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri",
            "maxLength": 2048
          }
        }
      },
      "BrowserSession": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "user",
          "csrfToken",
          "legalState"
        ],
        "properties": {
          "user": {
            "$ref": "#/components/schemas/BrowserUser"
          },
          "csrfToken": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          },
          "legalState": {
            "$ref": "#/components/schemas/LegalState"
          }
        }
      },
      "CreateProjectInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          }
        }
      },
      "TransferProjectInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "targetAccountId",
          "confirmation"
        ],
        "properties": {
          "targetAccountId": {
            "type": "integer",
            "format": "int64",
            "minimum": 1
          },
          "confirmation": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Exact current project name."
          }
        }
      },
      "Project": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "createdAt"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ProjectCatalog": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "projects"
        ],
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Project"
            }
          }
        }
      },
      "CreateProjectApiKeyInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "expiresInSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 31536000
          }
        }
      },
      "ProjectApiKey": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "id",
          "projectId",
          "name",
          "prefix",
          "createdAt",
          "lastUsedAt",
          "expiresAt",
          "revokedAt"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1
          },
          "projectId": {
            "type": "integer",
            "format": "int64",
            "minimum": 1
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "prefix": {
            "type": "string",
            "pattern": "^wf_live_[a-f0-9]{16}$"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastUsedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "revokedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "ProjectApiKeyCatalog": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "keys"
        ],
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectApiKey"
            }
          }
        }
      },
      "IssuedProjectApiKey": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "id",
          "projectId",
          "name",
          "prefix",
          "apiKey",
          "createdAt",
          "expiresAt"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "minimum": 1
          },
          "projectId": {
            "type": "integer",
            "format": "int64",
            "minimum": 1
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "prefix": {
            "type": "string",
            "pattern": "^wf_live_[a-f0-9]{16}$"
          },
          "apiKey": {
            "type": "string",
            "pattern": "^wf_live_[a-f0-9]{16}_[a-f0-9]{64}$",
            "description": "One-time plaintext API key. It is never returned again."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "Account": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "id",
          "kind",
          "status",
          "name",
          "slug",
          "role",
          "capabilities",
          "createdAt"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "kind": {
            "type": "string",
            "enum": [
              "personal",
              "organization"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "deleting"
            ]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "slug": {
            "type": [
              "string",
              "null"
            ],
            "minLength": 3,
            "maxLength": 63
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AccountCatalog": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "accounts"
        ],
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Account"
            }
          }
        }
      },
      "CreateOrganizationInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "name",
          "slug"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "slug": {
            "type": "string",
            "minLength": 3,
            "maxLength": 63
          }
        }
      },
      "UpdateAccountInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "minProperties": 1,
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "slug": {
            "type": "string",
            "minLength": 3,
            "maxLength": 63
          }
        }
      },
      "AccountMember": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "userId",
          "email",
          "displayName",
          "role",
          "status",
          "joinedAt"
        ],
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int64"
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "displayName": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "suspended"
            ]
          },
          "joinedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AccountMemberCatalog": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "members"
        ],
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountMember"
            }
          }
        }
      },
      "AccountInvitation": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "id",
          "accountId",
          "accountName",
          "email",
          "role",
          "createdAt",
          "expiresAt",
          "acceptedAt",
          "revokedAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "accountId": {
            "type": "integer",
            "format": "int64",
            "minimum": 1
          },
          "accountName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 512
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "acceptedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "revokedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "AccountInvitationCatalog": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "invitations"
        ],
        "properties": {
          "invitations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountInvitation"
            }
          }
        }
      },
      "CreateAccountInvitationInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "email",
          "role"
        ],
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 512
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          }
        }
      },
      "CompleteAccountInvitationInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string",
            "pattern": "^wf_invite_[a-f0-9]{16}_[a-f0-9]{64}$"
          }
        }
      },
      "UpdateAccountMemberInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "role"
        ],
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          }
        }
      },
      "ProjectMember": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "userId",
          "email",
          "displayName",
          "accountRole",
          "explicitProjectRole",
          "effectiveProjectRole"
        ],
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int64"
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "displayName": {
            "type": [
              "string",
              "null"
            ]
          },
          "accountRole": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "member"
            ]
          },
          "explicitProjectRole": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "admin",
              "developer",
              null
            ]
          },
          "effectiveProjectRole": {
            "type": "string",
            "enum": [
              "admin",
              "developer"
            ]
          }
        }
      },
      "ProjectMemberCatalog": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "members"
        ],
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectMember"
            }
          }
        }
      },
      "AddProjectMemberInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "userId",
          "role"
        ],
        "properties": {
          "userId": {
            "type": "integer",
            "format": "int64",
            "minimum": 1
          },
          "role": {
            "type": "string",
            "enum": [
              "admin",
              "developer"
            ]
          }
        }
      },
      "UpdateProjectMemberInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "role"
        ],
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "admin",
              "developer"
            ]
          }
        }
      },
      "DeleteAccountInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "confirmation"
        ],
        "properties": {
          "confirmation": {
            "const": "delete"
          }
        }
      },
      "DeleteOrganizationInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "confirmation"
        ],
        "properties": {
          "confirmation": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "The exact organization name or slug."
          }
        }
      },
      "LegalRelease": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "id",
          "status",
          "changeClass",
          "summary",
          "publishedAt",
          "effectiveAt",
          "acceptanceDeadline",
          "requiresReacceptance"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "status": {
            "type": "string",
            "enum": [
              "published",
              "effective"
            ]
          },
          "changeClass": {
            "type": "string",
            "enum": [
              "initial",
              "editorial",
              "material",
              "urgent"
            ]
          },
          "summary": {
            "type": "string",
            "minLength": 20,
            "maxLength": 2000
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "effectiveAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "acceptanceDeadline": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "requiresReacceptance": {
            "type": "boolean"
          }
        }
      },
      "LegalDocument": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "document",
          "label",
          "version",
          "requirement",
          "currentUrl",
          "archiveUrl",
          "contentSha256",
          "completed",
          "completedAt"
        ],
        "properties": {
          "document": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "requirement": {
            "type": "string",
            "enum": [
              "accept",
              "acknowledge",
              "notice",
              "none"
            ]
          },
          "currentUrl": {
            "type": "string",
            "pattern": "^/legal/"
          },
          "archiveUrl": {
            "type": "string",
            "pattern": "^/legal/"
          },
          "contentSha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          },
          "completed": {
            "type": "boolean"
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "LegalNotification": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "id",
          "releaseId",
          "channel",
          "status",
          "queuedAt",
          "seenAt"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "releaseId": {
            "type": "string"
          },
          "channel": {
            "type": "string",
            "enum": [
              "in_app",
              "email"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "sending",
              "sent",
              "delivered",
              "seen",
              "failed"
            ]
          },
          "queuedAt": {
            "type": "string",
            "format": "date-time"
          },
          "seenAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "LegalState": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "configured",
          "restricted",
          "requiresAction",
          "governingReleaseId",
          "release",
          "documents",
          "notifications"
        ],
        "properties": {
          "configured": {
            "type": "boolean"
          },
          "restricted": {
            "type": "boolean"
          },
          "requiresAction": {
            "type": "boolean"
          },
          "governingReleaseId": {
            "type": [
              "string",
              "null"
            ]
          },
          "release": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/LegalRelease"
              },
              {
                "type": "null"
              }
            ]
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LegalDocument"
            }
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LegalNotification"
            }
          }
        }
      },
      "BrowserUserResponse": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "user",
          "legalState"
        ],
        "properties": {
          "user": {
            "$ref": "#/components/schemas/BrowserUser"
          },
          "legalState": {
            "$ref": "#/components/schemas/LegalState"
          }
        }
      },
      "LegalActionInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "document",
          "version",
          "action",
          "contentSha256"
        ],
        "properties": {
          "document": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "action": {
            "type": "string",
            "enum": [
              "accepted",
              "acknowledged"
            ]
          },
          "contentSha256": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$"
          }
        }
      },
      "LegalAcceptanceInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "releaseId",
          "actions",
          "uiRevision"
        ],
        "properties": {
          "releaseId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "actions": {
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/LegalActionInput"
            }
          },
          "uiRevision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          }
        }
      },
      "AccountLegalState": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "accountId",
          "canAccept",
          "releaseId",
          "accepted",
          "acceptedAt",
          "acceptedByUserId"
        ],
        "properties": {
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "canAccept": {
            "type": "boolean"
          },
          "releaseId": {
            "type": [
              "string",
              "null"
            ]
          },
          "accepted": {
            "type": "boolean"
          },
          "acceptedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "acceptedByUserId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          }
        }
      },
      "AccountLegalAgreementInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "releaseId",
          "authorityAttested"
        ],
        "properties": {
          "releaseId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "authorityAttested": {
            "type": "boolean",
            "const": true
          }
        }
      },
      "LegalConsentInput": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "purpose",
          "action",
          "policyVersion"
        ],
        "properties": {
          "accountId": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "purpose": {
            "type": "string",
            "enum": [
              "analytics",
              "marketing"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "granted",
              "withdrawn"
            ]
          },
          "policyVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          }
        }
      },
      "ConsentState": {
        "type": "object",
        "x-wildflower-sdk": false,
        "additionalProperties": false,
        "required": [
          "purpose",
          "granted",
          "policyVersion",
          "occurredAt"
        ],
        "properties": {
          "purpose": {
            "type": "string",
            "enum": [
              "analytics",
              "marketing"
            ]
          },
          "granted": {
            "type": "boolean"
          },
          "policyVersion": {
            "type": "string"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    },
    "responses": {
      "NoContent": {
        "description": "The control-plane mutation completed",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        }
      },
      "AccountOk": {
        "description": "Accessible account",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Account"
            }
          }
        }
      },
      "AccountCreated": {
        "description": "Organization created",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Account"
            }
          }
        }
      },
      "AccountCatalogOk": {
        "description": "Accessible accounts",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AccountCatalog"
            }
          }
        }
      },
      "AccountMemberCatalogOk": {
        "description": "Account members",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AccountMemberCatalog"
            }
          }
        }
      },
      "AccountInvitationOk": {
        "description": "Organization invitation",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AccountInvitation"
            }
          }
        }
      },
      "AccountInvitationAccepted": {
        "description": "Invitation delivery was accepted or an equivalent pending invitation already exists",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AccountInvitation"
            }
          }
        }
      },
      "AccountInvitationCatalogOk": {
        "description": "Pending organization invitations",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AccountInvitationCatalog"
            }
          }
        }
      },
      "ProjectCatalogOk": {
        "description": "Accessible projects",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ProjectCatalog"
            }
          }
        }
      },
      "ProjectOk": {
        "description": "Project metadata",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Project"
            }
          }
        }
      },
      "ProjectCreated": {
        "description": "Project created",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Project"
            }
          }
        }
      },
      "ProjectMemberCatalogOk": {
        "description": "Effective project members",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ProjectMemberCatalog"
            }
          }
        }
      },
      "BadRequest": {
        "description": "The request input or sandbox ID is invalid",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "error": {
                "code": "provider_invalid_request",
                "message": "e2b rejected the request",
                "provider": "e2b"
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "The Wildflower Computer API key or browser session is invalid, no provider profile or inline credential is available, or the provider credential was rejected",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "examples": {
              "invalidWildflowerAuthentication": {
                "summary": "The Wildflower Computer bearer credential is invalid",
                "value": {
                  "error": {
                    "code": "authentication_error",
                    "message": "missing or invalid Wildflower Computer API key"
                  }
                }
              },
              "providerAuthenticationRejected": {
                "summary": "The provider credential is invalid",
                "value": {
                  "error": {
                    "code": "authentication_error",
                    "message": "e2b rejected the provider API key",
                    "provider": "e2b"
                  }
                }
              }
            }
          }
        }
      },
      "Forbidden": {
        "description": "Browser CSRF validation failed",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "error": {
                "code": "authentication_error",
                "message": "CSRF validation failed"
              }
            }
          }
        }
      },
      "ControlPlaneNotFound": {
        "description": "The requested control-plane resource was not found; cross-user resources fail identically",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "ControlPlaneConflict": {
        "description": "The requested control-plane change conflicts with current state or its confirmation does not match",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "AccountDeletionConflict": {
        "description": "The personal or organization account still owns non-deleted sandboxes, or the user is an organization's sole active owner",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "error": {
                "code": "invalid_request",
                "message": "delete every active sandbox before deleting the account"
              }
            }
          }
        }
      },
      "Conflict": {
        "description": "The idempotency key conflicts with another request, is still in progress, or has an indeterminate prior outcome",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "NotFound": {
        "description": "The provider sandbox was not found",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "ProviderProfileNotFound": {
        "description": "The provider profile was not found",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "RateLimited": {
        "description": "A Wildflower Computer or upstream provider rate limit was reached",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          },
          "Retry-After": {
            "$ref": "#/components/headers/RetryAfter"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "RequestTimeout": {
        "description": "The request body or total API request exceeded a Wildflower Computer timeout",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "PayloadTooLarge": {
        "description": "The request body exceeds the 2 MiB Wildflower Computer limit",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "BadGateway": {
        "description": "The provider returned an unexpected response",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "UnprocessableEntity": {
        "description": "The file operation could not be completed inside the sandbox",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "ServiceUnavailable": {
        "description": "The provider, persistence layer, or browser identity service is temporarily unavailable",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "LegalAcceptanceRequired": {
        "description": "Current legal acceptance is required",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      },
      "LegalReleaseChanged": {
        "description": "The legal release changed and must be reloaded",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/RequestId"
          },
          "Server-Timing": {
            "$ref": "#/components/headers/ServerTiming"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            }
          }
        }
      }
    }
  }
}
