Skip to content

Sign in to a declared Sandbox application port

POST
/apis/nodus.dev/v1/namespaces/{namespace}/sandboxes/{name}/previews
curl --request POST \
--url https://example.com/apis/nodus.dev/v1/namespaces/example/sandboxes/example/previews \
--header 'Content-Type: application/json' \
--data '{ "expectedUID": "example", "port": 1 }'
namespace
required
string

The project.

name
required
string

The object’s name.

Media type application/json

SandboxPreviewRequest mints a short-lived browser sign-in for one declared app port, without waking compute.

object
expectedUID
required

ExpectedUID binds the request to the displayed Sandbox, not a replacement with the same name.

string
port
required

Port is a port declared in spec.ingress.ports.

integer format: int32
Example generated
{
"expectedUID": "example",
"port": 1
}

OK

Media type application/json

SandboxPreviewResponse contains a host-bound sign-in URL. Treat it as a credential; it expires in 60 seconds.

object
url
required
string
Example generated
{
"url": "example"
}

An error: a metav1.Status whose reason is a registered code.

Media type application/json

Status is the error body of every API response: a Kubernetes metav1.Status (so kubectl and client-go understand it) plus three top-level extensions that those clients ignore (ADR-028).

object
apiVersion
string
code
integer format: int32
details
object
causes
Array<object>
nullable
object
field
string
message
string
reason
string
group
string
kind
string
name
string
retryAfterSeconds
integer format: int32
uid
string
docs

Docs is the URL of the code’s docs page.

string
fix

Fix says what to do next, for example a CLI command or the field to change.

string
kind
string
message
string
metadata
object
continue
string
remainingItemCount
integer format: int64
resourceVersion
string
selfLink
string
shardInfo
object
selector
required
string
reason
string
requestId

RequestID identifies the request in logs and support tickets.

string
status
string
Example generated
{
"apiVersion": "example",
"code": 1,
"details": {
"causes": [
{
"field": "example",
"message": "example",
"reason": "example"
}
],
"group": "example",
"kind": "example",
"name": "example",
"retryAfterSeconds": 1,
"uid": "example"
},
"docs": "example",
"fix": "example",
"kind": "example",
"message": "example",
"metadata": {
"continue": "example",
"remainingItemCount": 1,
"resourceVersion": "example",
"selfLink": "example",
"shardInfo": {
"selector": "example"
}
},
"reason": "example",
"requestId": "example",
"status": "example"
}