Leap0

Upload a template

Upload a container image as a template. The image is pulled, converted to a rootfs, and stored for later use when creating sandboxes. A maximum of 25 templates per organization is enforced.

POST
/v1/template

Upload a container image as a template. The image is pulled, converted to a rootfs, and stored for later use when creating sandboxes. A maximum of 25 templates per organization is enforced.

Authorization

BearerAuth
AuthorizationBearer <token>

API key passed as a Bearer token in the Authorization header. Alternatively, use the leap0-authorization header.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

name*string

Template name. Must not start with a system prefix or contain whitespace.

uri*string

Container image URI to pull and convert.

Lengthlength <= 500
credentials?|||

Credentials for pulling from a private container registry.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://api.leap0.dev/v1/template" \  -H "Content-Type: application/json" \  -d '{    "name": "my-python-app",    "uri": "docker.io/library/python:3.12"  }'
{  "id": "tpl-abc123",  "name": "my-python-app",  "digest": "sha256:0123456789abcdef",  "image_config": {    "entrypoint": [      "string"    ],    "cmd": [      "string"    ],    "working_dir": "string",    "user": "user",    "env": {      "property1": "string",      "property2": "string"    }  },  "is_system": false,  "created_at": "2026-02-08T12:34:56Z"}
{  "message": "string",  "errors": [    {      "field": "string",      "error": "string"    }  ]}
{  "message": "string"}
{  "message": "string"}