Laravel Cloud API Skill
Wraps the entire Laravel Cloud REST API in a single bash script.
Setup
Option 1 — Environment variable (preferred):
export LARAVEL_CLOUD_API_TOKEN="your-token-here"
Option 2 — Credentials file:
mkdir -p ~/.openclaw/credentials/laravel-cloud
echo '{"token":"your-token-here"}' > ~/.openclaw/credentials/laravel-cloud/config.json
Generate your token at: cloud.laravel.com → Settings → API Tokens
Usage
laravel-cloud <resource> <action> [args...]
Quick Reference
| Resource |
Actions |
apps |
list, get, create, update, delete |
envs |
list, get, create, update, delete, start, stop, metrics, logs, vars-add, vars-replace |
commands |
list, get, run |
deployments |
list, get, initiate |
domains |
list, get, create, update, delete, verify |
instances |
list, get, sizes, create, update, delete |
bg-processes |
list, get, create, update, delete |
databases |
clusters, cluster, cluster-create, cluster-update, cluster-delete, cluster-metrics, types, list, get, create, delete, snapshots, snapshot, snapshot-create, snapshot-delete, restore, dedicated |
caches |
list, get, types, create, update, delete, metrics |
buckets |
list, get, create, update, delete |
bucket-keys |
list, get, create, update, delete |
websockets |
list, get, create, update, delete, metrics |
ws-apps |
list, get, create, update, delete, metrics |
ips |
list |
org |
get |
regions |
list |
Common Examples
# List all applications
laravel-cloud apps list
# Create an application (requires --repository)
laravel-cloud apps create --name "my-app" --region us-east-1 --repository owner/repo
# List environments for an app
laravel-cloud envs list <app-id>
# Create an environment
laravel-cloud envs create <app-id> --name "Production" --branch main
# Start / stop an environment
laravel-cloud envs start <env-id>
laravel-cloud envs stop <env-id>
# View environment metrics and logs
laravel-cloud envs metrics <env-id> --period 24h
laravel-cloud envs logs <env-id>
# Set environment variables
laravel-cloud envs vars-add <env-id> --vars 'APP_KEY=base64:...,DB_HOST=localhost'
laravel-cloud envs vars-replace <env-id> --vars 'KEY1=val1,KEY2=val2'
# Trigger a deployment
laravel-cloud deployments initiate <env-id>
# Run an Artisan command
laravel-cloud commands run <env-id> --command "php artisan migrate --force"
# Get organization and regions
laravel-cloud org get
laravel-cloud regions list
# Manage databases
# NOTE: Creating a cluster auto-creates a "main" database (schema).
# Use that default — don't create an extra one. Wire the "main" schema
# to your environment via: envs update <env-id> --database-schema-id <main-schema-id>
# To find the schema ID: databases cluster <cluster-id> (with ?include=schemas)
laravel-cloud databases clusters
# DB types: laravel_mysql_84, laravel_mysql_8, neon_serverless_postgres_16/17/18, aws_rds_mysql_8, aws_rds_postgres_18
laravel-cloud databases cluster-create --name my-db --type laravel_mysql_84 --region us-east-1 --size db-flex.m-1vcpu-512mb --storage 5
# Manage caches
laravel-cloud caches list
# Cache types: upstash_redis (sizes: 250mb, 1gb, ...) or laravel_valkey (sizes: valkey-pro.250mb, ...)
laravel-cloud caches create --name my-cache --type laravel_valkey --region us-east-1 --size valkey-pro.250mb
# Object storage
laravel-cloud buckets list
laravel-cloud buckets create --name my-bucket --region us-east-1
# WebSocket clusters
laravel-cloud websockets list
laravel-cloud ws-apps list <ws-cluster-id>
# Per-resource help
laravel-cloud help
laravel-cloud envs help
laravel-cloud databases help
Dependencies
curl — HTTP requests
jq — JSON parsing and pretty-printing
1---2name: laravel-cloud3description: Manage Laravel Cloud infrastructure via API — apps, environments, deployments, databases, caches, domains, scaling, commands, storage, and WebSockets.4---56# Laravel Cloud API Skill78Wraps the entire [Laravel Cloud REST API](https://cloud.laravel.com/docs) in a single bash script.910## Setup1112**Option 1 — Environment variable (preferred):**13```bash14export LARAVEL_CLOUD_API_TOKEN="your-token-here"15```1617**Option 2 — Credentials file:**18```bash19mkdir -p ~/.openclaw/credentials/laravel-cloud20echo '{"token":"your-token-here"}' > ~/.openclaw/credentials/laravel-cloud/config.json21```2223Generate your token at: **cloud.laravel.com → Settings → API Tokens**2425## Usage2627```bash28laravel-cloud <resource> <action> [args...]29```3031## Quick Reference3233| Resource | Actions |34|---|---|35| `apps` | list, get, create, update, delete |36| `envs` | list, get, create, update, delete, start, stop, metrics, logs, vars-add, vars-replace |37| `commands` | list, get, run |38| `deployments` | list, get, initiate |39| `domains` | list, get, create, update, delete, verify |40| `instances` | list, get, sizes, create, update, delete |41| `bg-processes` | list, get, create, update, delete |42| `databases` | clusters, cluster, cluster-create, cluster-update, cluster-delete, cluster-metrics, types, list, get, create, delete, snapshots, snapshot, snapshot-create, snapshot-delete, restore, dedicated |43| `caches` | list, get, types, create, update, delete, metrics |44| `buckets` | list, get, create, update, delete |45| `bucket-keys` | list, get, create, update, delete |46| `websockets` | list, get, create, update, delete, metrics |47| `ws-apps` | list, get, create, update, delete, metrics |48| `ips` | list |49| `org` | get |50| `regions` | list |5152## Common Examples5354```bash55# List all applications56laravel-cloud apps list5758# Create an application (requires --repository)59laravel-cloud apps create --name "my-app" --region us-east-1 --repository owner/repo6061# List environments for an app62laravel-cloud envs list <app-id>6364# Create an environment65laravel-cloud envs create <app-id> --name "Production" --branch main6667# Start / stop an environment68laravel-cloud envs start <env-id>69laravel-cloud envs stop <env-id>7071# View environment metrics and logs72laravel-cloud envs metrics <env-id> --period 24h73laravel-cloud envs logs <env-id>7475# Set environment variables76laravel-cloud envs vars-add <env-id> --vars 'APP_KEY=base64:...,DB_HOST=localhost'77laravel-cloud envs vars-replace <env-id> --vars 'KEY1=val1,KEY2=val2'7879# Trigger a deployment80laravel-cloud deployments initiate <env-id>8182# Run an Artisan command83laravel-cloud commands run <env-id> --command "php artisan migrate --force"8485# Get organization and regions86laravel-cloud org get87laravel-cloud regions list8889# Manage databases90# NOTE: Creating a cluster auto-creates a "main" database (schema).91# Use that default — don't create an extra one. Wire the "main" schema92# to your environment via: envs update <env-id> --database-schema-id <main-schema-id>93# To find the schema ID: databases cluster <cluster-id> (with ?include=schemas)94laravel-cloud databases clusters95# DB types: laravel_mysql_84, laravel_mysql_8, neon_serverless_postgres_16/17/18, aws_rds_mysql_8, aws_rds_postgres_1896laravel-cloud databases cluster-create --name my-db --type laravel_mysql_84 --region us-east-1 --size db-flex.m-1vcpu-512mb --storage 59798# Manage caches99laravel-cloud caches list100# Cache types: upstash_redis (sizes: 250mb, 1gb, ...) or laravel_valkey (sizes: valkey-pro.250mb, ...)101laravel-cloud caches create --name my-cache --type laravel_valkey --region us-east-1 --size valkey-pro.250mb102103# Object storage104laravel-cloud buckets list105laravel-cloud buckets create --name my-bucket --region us-east-1106107# WebSocket clusters108laravel-cloud websockets list109laravel-cloud ws-apps list <ws-cluster-id>110111# Per-resource help112laravel-cloud help113laravel-cloud envs help114laravel-cloud databases help115```116117## Dependencies118119- `curl` — HTTP requests120- `jq` — JSON parsing and pretty-printing121