Get project details
get_projectGet a single project: name, slug, description, public URL, listen port, run plan, timestamps. listen_port is the port inside the box that this project's URL is routed to, so an app here binds that rather than a port of its own choosing, and has to be running for the URL to answer. listen_port is null on a project created before the field existed, and on a box old enough to predate the in-pod proxy the published port (8080) is reached directly instead, so treat those two as the fallback when an app that binds listen_port still cannot be reached. url_status covers only whether the address and its certificate are ready, so it reads "active" for a public project with nothing listening; it is not a health check. run_plan is how bring-up installs and starts it, or null if no plan has been settled yet; a run_plan whose port is null means the project isn't a server.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The project's id, as returned by create_project or list_projects. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| 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. | |
| run_plan | No | How bring-up installs and starts the project: stack, install, start, port, env, notes. null until one is settled. | |
| template | No | Template id it was created from. | |
| 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. | |
| listen_port | No | The port inside the box this project's URL is routed to. | |
| runtime_status | No | Whether the project is running or paused. |