list templates
GET
/v1/templatesAuthorization
AuthorizationBearer token · headerrequiredan organization api key. browser clients use the session cookie instead.
or
computer_sessionAPI key · cookierequiredfirst-party httponly browser session; never readable from javascript.
Query parameters
limitintegermin 1 · max 100 · default: 25
cursorstringmin length 1
Responses
200OK
dataTemplate[]requiredShow propertiesHide properties
Array of
Templateidstringrequiredtemplate identifier
matches ^tpl_[0-9a-z]{20,32}$
organization_idstringrequiredorganization identifier
matches ^org_[0-9a-z]{20,32}$
namestringrequiredmin length 1 · max length 63 · matches ^[a-z0-9]([a-z0-9-]*[a-z0-9])?$
descriptionstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
anystateTemplateStaterequiredAllowed:
buildingreadyerrorosMachineOsrequiredAllowed:
linuxsizeMachineSizerequiredAllowed:
smallstandardlargeimage_idstringrequiredmachine image identifier
matches ^img_[0-9a-z]{20,32}$
publishedbooleanrequiredprovisionTemplateProvision | anyrequiredShow propertiesHide properties
Any of:
TemplateProvision
filesTemplateProvisionFile[]max items 32 · default: []
Show propertiesHide properties
Array of
TemplateProvisionFilepathstringrequiredmin length 2 · max length 4096 · matches ^\/[^\0]+$
contentstringrequiredmax length 65536
setupstringrequiredmin length 1 · max length 65536
any
anysnapshot_idstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
anysource_machine_idstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
anysize_bytesinteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyerrorstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
anymetadataobjectrequiredcaller-defined key/value pairs, echoed back unchanged
created_atstring<date-time>requiredupdated_atstring<date-time>requirednext_cursorstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
anyhas_morebooleanrequired400invalid request
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any401unauthenticated
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any402quota exceeded
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any403permission denied
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any404not found
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any409conflict with current state
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any412precondition failed
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any429rate limited
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any500internal error
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any501unsupported operation
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
any503compute unavailable
errorobjectrequiredShow propertiesHide properties
codeErrorCoderequiredAllowed:
invalid_requestunauthenticatedpermission_deniednot_foundconflictprecondition_failedquota_exceededrate_limitedunsupported_operationinternal_errorcompute_unavailablemessagestringrequiredhuman-readable, not machine-parseable
request_idstringrequireddetailsFieldError[]Show propertiesHide properties
Array of
FieldErrorfieldstringrequireddotted path into the request body
messagestringrequiredquotaobjectShow propertiesHide properties
limitstringrequiredthe entitlement that declined this request
currentintegerrequiredmin 0 · max 9007199254740991
maximuminteger | anyrequiredShow propertiesHide properties
Any of:
integer
integerany
anyplan_idstringrequiredupgrade_urlstring | anyrequiredShow propertiesHide properties
Any of:
string
stringany
anyTry it
Server
Authorization
Parameters
Request
curl -X GET "https://api.raster.sh/v1/v1/templates" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.raster.sh/v1/v1/templates", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"https://api.raster.sh/v1/v1/templates",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"data": [
{
"id": "tpl_01h8xk2q4v9m3n7p5r0t",
"organization_id": "org_01h8xk2q4v9m3n7p5r0t",
"name": "research-box",
"description": "string",
"state": "building",
"os": "linux",
"size": "small",
"image_id": "img_01h8xk2q4v9m3n7p5r0t",
"published": true,
"provision": {
"files": [],
"setup": "string"
},
"snapshot_id": "snp_01h8xk2q4v9m3n7p5r0t",
"source_machine_id": "mch_01h8xk2q4v9m3n7p5r0t",
"size_bytes": 9007199254740991,
"error": "string",
"metadata": {
"property1": "string",
"property2": "string"
},
"created_at": "2026-08-19T12:00:00Z",
"updated_at": "2026-08-19T12:00:00Z"
}
],
"next_cursor": "string",
"has_more": true
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}{
"error": {
"code": "invalid_request",
"message": "string",
"request_id": "string",
"details": [
{
"field": "string",
"message": "string"
}
],
"quota": {
"limit": "running_machines",
"current": 9007199254740991,
"maximum": 9007199254740991,
"plan_id": "string",
"upgrade_url": "string"
}
}
}