Skip to content
Raster
Esc
↑↓navigate↵open⌘Jpreview

Open a terminal

POST/v1/machines/{machine_id}/terminals
Authorization
AuthorizationBearer token · headerrequired
an organization api key, created in the dashboard.
Path parameters
machine_idstringrequired
matches ^mch_[0-9a-z]{20,32}$
Request body
requiredapplication/json
commandstring[]
min items 1 · max items 64
cwdstring
max length 4096
userstring
default: "agent"
Allowed:agentroot
colsinteger
min 1 · max 1000 · default: 80
rowsinteger
min 1 · max 1000 · default: 24
idle_timeout_secondsinteger
min 30 · max 86400
Responses
201OK
idstringrequired
terminal identifier
min length 1 · max length 64 · matches ^[A-Za-z0-9_-]+$
colsintegerrequired
rowsintegerrequired
userstringrequired
commandstring[]required
created_atstring<date-time>required
attachedbooleanrequired
exitedbooleanrequired
exit_codeinteger | anyrequired
Show properties
Any of:
integer
integer
any
any
idle_timeout_secondsintegerrequired
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
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
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
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
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
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
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
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
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
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
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
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/machines/mch_01h8xk2q4v9m3n7p5r0t/terminals" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "command": [
    "string"
  ],
  "cwd": "string",
  "user": "agent",
  "cols": 80,
  "rows": 24,
  "idle_timeout_seconds": 30
}'
Response
{
  "id": "pty_01h8xk2q4v9m",
  "cols": 0,
  "rows": 0,
  "user": "string",
  "command": [
    "string"
  ],
  "created_at": "2026-08-19T12:00:00Z",
  "attached": true,
  "exited": true,
  "exit_code": 0,
  "idle_timeout_seconds": 0
}