addedInput schema / properties / answers
Added value: +{
+ "additionalProperties": false,
+ "description": "Answers to the plan's questions (from get_saved_stack), kept with the stack so a re-plan doesn't ask again. Plans only. Re-prices the stack.",
+ "properties": {
+ "builder_profile": {
+ "enum": [
+ "developer",
+ "non_developer"
+ ],
+ "type": "string"
+ },
+ "confirmed": {
+ "description": "Question ids whose assumption is right, e.g. [\"region\", \"builder\"].",
+ "items": {
+ "maxLength": 40,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "data_in_eu": {
+ "description": "true: user data has to stay in the EU. false: no region requirement.",
+ "type": "boolean"
+ },
+ "per_user": {
+ "additionalProperties": false,
+ "description": "Usage per active user a month, e.g. {\"sms\": 2, \"file_storage_gb\": 0.2, \"ai_input_ktok\": 30}. Replaces the profile and the filled-in defaults for those units; a plan's questions say which unit each answer sets. Units: mau, seat, request_million, bandwidth_gb, db_storage_gb, egress_gb, email, event, error_event, compute_hour, revenue_usd, transaction, ai_input_ktok, ai_output_ktok, kv_read, kv_write, ci_hour, file_storage_gb, file_egress_gb, file_write, file_read, video_min_stored, video_min_delivered, sms, job_run, search_request, search_record.",
+ "properties": {
+ "ai_input_ktok": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "ai_output_ktok": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "bandwidth_gb": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "ci_hour": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "compute_hour": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "db_storage_gb": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "egress_gb": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "email": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "error_event": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "event": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "file_egress_gb": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "file_read": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "file_storage_gb": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "file_write": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "job_run": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "kv_read": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "kv_write": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "mau": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "request_million": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "revenue_usd": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "search_record": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "search_request": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "seat": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "sms": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "transaction": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "video_min_delivered": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "video_min_stored": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "revenue_per_mau_usd": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "transactions_per_mau": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "users_per_account": {
+ "description": "People who use it at each business customer.",
+ "maximum": 100000,
+ "minimum": 1,
+ "type": "number"
+ }
+ },
+ "type": "object"
+}
addedInput schema / properties / build_progress
Added value: +{
+ "additionalProperties": false,
+ "description": "Tick build-pack steps done (true) or not done (false), by step id from get_build_pack: domain or the step's category (hosting, database, auth…). Plans only.",
+ "properties": {
+ "ai": {
+ "type": "boolean"
+ },
+ "app_store": {
+ "type": "boolean"
+ },
+ "auth": {
+ "type": "boolean"
+ },
+ "coding": {
+ "type": "boolean"
+ },
+ "database": {
+ "type": "boolean"
+ },
+ "domain": {
+ "type": "boolean"
+ },
+ "edge": {
+ "type": "boolean"
+ },
+ "email": {
+ "type": "boolean"
+ },
+ "hosting": {
+ "type": "boolean"
+ },
+ "jobs": {
+ "type": "boolean"
+ },
+ "observability": {
+ "type": "boolean"
+ },
+ "payments": {
+ "type": "boolean"
+ },
+ "push": {
+ "type": "boolean"
+ },
+ "search": {
+ "type": "boolean"
+ },
+ "sms": {
+ "type": "boolean"
+ },
+ "storage": {
+ "type": "boolean"
+ },
+ "video": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+}