Skip to content
Raster
Esc
navigateopen⌘Jpreview

publish a port on the machine at its own https url

The port is the one inside the machine. Nothing has to be listening on it yet: a preview for a port with no server answers compute_unavailable until one starts, which is the ordinary state of a dev server that is still booting. A private preview’s secret and access_url are in this response and in no other.

POST/v1/machines/{machine_id}/ports
Authorization
AuthorizationBearer token · headerrequired
an organization api key. browser clients use the session cookie instead.
or
computer_sessionAPI key · cookierequired
first-party httponly browser session; never readable from javascript.
Path parameters
machine_idstringrequired
matches ^mch_[0-9a-z]{20,32}$
Header parameters
idempotency-keystring
min length 1 · max length 255
Request body
requiredapplication/json
portintegerrequired
the port inside the machine, not a host port
min 1 · max 65535
namestring
min length 1 · max length 63
accessstring
default: "private"
Allowed:privatepublic
Responses
201OK
idstringrequired
port preview identifier
matches ^prv_[0-9a-z]{20,32}$
organization_idstringrequired
organization identifier
matches ^org_[0-9a-z]{20,32}$
machine_idstringrequired
machine identifier
matches ^mch_[0-9a-z]{20,32}$
portintegerrequired
min 1 · max 65535
namestring | anyrequired
Show properties
Any of:
string
string
any
any
accessstringrequired
Allowed:privatepublic
urlstring<uri>required
the https url this port answers on
secretstring | anyrequired
the preview secret, returned once at creation and never again
Show properties
Any of:
string
string
any
any
access_urlstring<uri> | anyrequired
Show properties
Any of:
string<uri>
string<uri>
any
any
last_request_atstring<date-time> | anyrequired
Show properties
Any of:
string<date-time>
string<date-time>
any
any
created_atstring<date-time>required
400invalid request
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
401unauthenticated
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
402quota exceeded
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
403permission denied
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
404not found
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
409conflict with current state
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
412precondition failed
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
429rate limited
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
500internal error
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
501unsupported operation
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
503compute unavailable
errorobjectrequired
Show properties
codeErrorCoderequired
Allowed:invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailable
messagestringrequired
human-readable, not machine-parseable
request_idstringrequired
detailsFieldError[]
Show properties
Array of FieldError
fieldstringrequired
dotted path into the request body
messagestringrequired
quotaobject
Show properties
limitstringrequired
the entitlement that declined this request
currentintegerrequired
min 0 · max 9007199254740991
maximuminteger | anyrequired
Show properties
Any of:
integer
integer
any
any
plan_idstringrequired
upgrade_urlstring | anyrequired
Show properties
Any of:
string
string
any
any
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST "https://api.raster.sh/v1/v1/machines/mch_01h8xk2q4v9m3n7p5r0t/ports" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "port": 3000,
  "name": "string",
  "access": "private"
}'
Response
{
  "id": "prv_01h8xk2q4v9m3n7p5r0t",
  "organization_id": "org_01h8xk2q4v9m3n7p5r0t",
  "machine_id": "mch_01h8xk2q4v9m3n7p5r0t",
  "port": 1,
  "name": "string",
  "access": "private",
  "url": "https://k3f9x2q7m1.preview.raster.sh",
  "secret": "string",
  "access_url": "http://example.com",
  "last_request_at": "2026-08-19T12:00:00Z",
  "created_at": "2026-08-19T12:00:00Z"
}