| id | Yes | Project id. | |
| url | No | Public URL. null while the project is private. | |
| name | No | Project name. | |
| slug | No | URL slug. Stays the same when visibility changes. | |
| access | No | Who may open the URL once it is public. | |
| source | No | What the workspace was seeded from: kind plus git_url, ref, subdir, or archive_path. | |
| template | No | Template id it was created from. | |
| warnings | No | Anything about the bundle worth knowing. | |
| bound_env | No | Env vars bound from secrets this account already holds. | |
| lifecycle | No | ephemeral projects are removed with cleanup_project. | |
| server_id | Yes | The server the project lives on. | |
| created_at | No | ISO 8601 timestamp. | |
| init_phase | No | Where bring-up has got to, for a project seeded from a source. | |
| updated_at | No | ISO 8601 timestamp. | |
| url_status | No | Whether the address and certificate are ready. Not a health check. | |
| visibility | No | public = live at url. private = not publicly reachable. | |
| cert_status | No | State of the shared certificate. null while private. | |
| description | No | One-line description. | |
| exported_at | No | When the bundle was made, ISO 8601. | |
| init_run_id | No | The bring-up run that unpacks and starts it. Poll it with get_run. | |
| listen_port | No | The port inside the box this project's URL is routed to. | |
| missing_env | No | Env vars still unset. Set them with set_secret before the app will run. | |
| imported_from | No | The deployment the bundle was exported from. | |
| runtime_status | No | Whether the project is running or paused. | |