Skip to content

Beta: send one HTTP request to a running Sandbox

POST
/apis/nodus.dev/v1/namespaces/{namespace}/sandboxes/{name}/http
curl --request POST \
--url https://example.com/apis/nodus.dev/v1/namespaces/example/sandboxes/example/http \
--header 'Content-Type: application/json' \
--data '{ "body": "example", "headers": { "additionalProperty": [ "example" ] }, "method": "example", "path": "example", "port": 1 }'
namespace
required
string

The project.

name
required
string

The object’s name.

Media type application/json

SandboxHTTPRequest sends one bounded HTTP request to a running Sandbox’s loopback port. It never starts stopped compute, follows redirects or retries the application request.

object
body

Body is base64-encoded on the JSON wire and is limited to 1 MiB after decoding.

string format: base64
headers

Headers are explicit application headers. Platform credentials and transport headers are never forwarded.

object
key
additional properties
Array<string>
nullable
method
required

Method is GET, HEAD, POST, PUT, PATCH, DELETE or OPTIONS.

string
path
required

Path is an origin-relative path with an optional query, such as /health?full=true.

string
port
required

Port is the application’s TCP port, from 1024 through 65535 except Nodus-reserved ports.

integer format: int32
Example generated
{
"body": "example",
"headers": {
"additionalProperty": [
"example"
]
},
"method": "example",
"path": "example",
"port": 1
}

OK

Media type application/json

SandboxHTTPResponse contains an application response as data, never executable API-origin content. A successful relay returns HTTP 200 even when StatusCode is an application error or redirect.

object
body
required

Body is base64-encoded on the JSON wire and limited to 2 MiB after decoding.

string format: base64
headers
required

Headers are the application’s end-to-end headers, as data rather than API response headers.

object
key
additional properties
Array<string>
nullable
statusCode
required

StatusCode is the application’s HTTP status.

integer format: int64
Example generated
{
"body": "example",
"headers": {
"additionalProperty": [
"example"
]
},
"statusCode": 1
}

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"
}