Docs Reference
MCP tools
These are the 76 tools your agent sees after it connects to https://app.dawnrose.ai/mcp. This page is generated from the server, so the names and parameters match what the agent gets. To connect an agent, see Connect your agent.
Most tools that take a service accept either its id (svc_…) or its name together with project, and default to the production environment. Tools marked Read-only change nothing. Tools marked Destructive require confirm: true and can’t be undone.
Account and projects
whoamiRead-only
Who am I
Your user, workspaces (with plan and role), available regions and the platform domain. Each region has a priceMultiplier: usage there costs that many times the standard prices (1 is the standard price). Call this first.
No parameters.
list_projectsRead-only
List projects
Projects you can access, with their environments and production services.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug; defaults to all your workspaces. |
create_project
Create project
Creates a project with a production environment. Returns the project and its environments.
| Parameter | Type | Description |
|---|---|---|
name | stringrequired | Project name |
workspace | string | Workspace id or slug (defaults to your first workspace) |
region | string | Region id from whoami.regions, e.g. eu-central. Usage is priced by the region’s priceMultiplier |
description | string | Up to 2000 characters |
get_projectRead-only
Get project
The project canvas for one environment: every service with status, domains, private hostname, volume, active/latest deployment, replica health, live metrics and pending (undeployed) changes, plus reference edges between services.
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
environment | string | Environment name or id; defaults to production |
update_project
Update project
Renames a project or changes its description.
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id or name |
name | string | Up to 100 characters |
description | string | Up to 2000 characters |
delete_projectDestructive
Delete project
Deletes a project, all environments, services, volumes and data.
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
create_environment
Create environment
Creates an environment. With from, duplicates services, variables (not sealed ones), volumes and domains from that environment (not deployed until you call deploy_changes).
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
name | stringrequired | Lowercased to letters, digits and dashes, up to 32 characters |
from | string | Environment to duplicate, e.g. production |
rename_environment
Rename environment
Renames an environment (not production).
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
environment | stringrequired | Current name or id |
name | stringrequired | Lowercased to letters, digits and dashes, up to 32 characters |
delete_environmentDestructive
Delete environment
Deletes an environment and everything in it.
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
environment | stringrequired | Environment name or id; production can’t be deleted |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
rename_workspace
Rename workspace
Renames a workspace. Needs the admin role.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug (defaults to your first) |
name | stringrequired | Up to 100 characters |
Services
create_service
Create service
Creates a service from a GitHub repo (repo: owner/name or URL), a Docker image (image), or empty (deploy code later with deploy_files). Deploys immediately when it has a source unless deploy=false. For databases prefer deploy_template (postgres, mysql, redis, mongo).
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
environment | string | Environment name or id; defaults to production |
name | string | Up to 60 characters; taken from the source when left out |
repo | string | GitHub owner/repo or any git URL |
branch | string | Git branch; the repository’s default when left out |
root_dir | string | Monorepo subdirectory to build |
image | string | Docker image, e.g. nginx:1.27 |
variables | object | Initial variables; may use ${{ Other.VAR }}, ${{ shared.VAR }}, ${{ secret(32) }} |
start_command | string | Command that starts the app, up to 8 KB; detected when left out |
port | integer | Port the app listens on; PORT is injected automatically |
healthcheck_path | string | Path that must answer before traffic moves to a new deploy, e.g. /health |
cron_schedule | string | 5-field UTC crontab; turns the service into a cron job |
replicas | integer | 0-50, within the plan’s limit |
volume_mount_path | string | Attach a volume at this absolute path, e.g. /data |
generate_domain | boolean | Create a public URL (default true for repo/image sources without cron) |
deploy | boolean | Deploy right away (default true) |
get_serviceRead-only
Get service
Full configuration and live status of a service.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
update_service
Update service
Changes source, build or deploy settings. Pass null to clear a field. Changes apply on the next deploy (call deploy or deploy_changes). Builders: auto (zero-config detection), dockerfile, nixpacks. Changing what it runs needs confirm=true: the repo or image, and the start, pre-deploy, build and install commands.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
name | string | New service name |
repo | string | GitHub owner/repo or any git URL to build from |
branch | string | Git branch; the repository’s default when left out |
root_dir | string | Monorepo subdirectory to build |
image | string | Docker image to run instead of building |
builder | "auto" | "dockerfile" | "nixpacks" | auto detects the stack; dockerfile or nixpacks force one |
dockerfile_path | string | Relative to the source, up to 512 characters |
build_command | string | Up to 8 KB; null clears it |
install_command | string | Up to 8 KB; null clears it |
watch_paths | string[] | Glob patterns; pushes touching no matching file are skipped |
start_command | string | Up to 8 KB; null goes back to the detected one |
pre_deploy_command | string | Runs once before each deploy (e.g. migrations); non-zero exit fails the deploy |
port | integer | 1-65535; null detects it |
replicas | integer | 0-50, within the plan’s limit |
restart_policy | "ON_FAILURE" | "ALWAYS" | "NEVER" | When a stopped container is started again |
max_retries | integer | Restarts after a crash before giving up, 0-100 |
healthcheck_path | string | Starts with /, up to 1024 characters; null turns the healthcheck off |
healthcheck_timeout | integer | Seconds to wait for the healthcheck, 1-3600 |
cron_schedule | string | 5-field UTC crontab; null makes it a normal service again |
cpu_limit | number | vCPU per replica |
memory_limit_mb | integer | Per replica, at least 64 and within the plan’s limit; null uses the default |
sleep_after_seconds | integer | Serverless: stop after this many idle seconds, wake on request (0/null disables) |
overlap_seconds | integer | Seconds old and new replicas run side by side in a rollout, 0-600 |
draining_seconds | integer | Seconds a stopping replica gets to finish its requests, 0-600 |
auto_rollback | boolean | Roll back by itself when a new deployment keeps crashing in its first 10 minutes (default true) |
auto_deploy | boolean | Deploy on git push |
confirm | true | Must be true for the destructive form of this call described above |
delete_serviceDestructive
Delete service
Deletes a service, its deployments and its volume data. Its backups are kept for 7 days (backupsKeptUntil), for the workspace owner to restore into a new service.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
restart_service
Restart service
Restarts the running replicas of the active deployment (wakes it if sleeping).
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
add_volume
Add volume
Attaches persistent storage at mount_path (one volume per service; not combinable with replicas). Redeploy to mount.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
mount_path | stringrequired | Absolute path in the container, e.g. /data |
size_gb | number | At least 0.25, within the plan’s volume storage; default what is left, up to 5 |
update_volume
Resize volume
Grows a volume (size_gb, up to the plan’s limit) or changes its mount path. The new mount path applies on the next deploy.
| Parameter | Type | Description |
|---|---|---|
volume_id | stringrequired | From get_service → volume.id |
size_gb | number | Grows only, within the plan’s volume storage |
mount_path | string | New absolute path; applies on the next deploy |
remove_volumeDestructive
Remove volume
Deletes a volume and all its data. The service must be stopped.
| Parameter | Type | Description |
|---|---|---|
volume_id | stringrequired | Volume id (vol_…), from get_service |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
Variables
list_variablesRead-only
List variables
Service variables (or shared environment variables when shared is true). With resolved=true also returns resolved values, provided DAWNROSE_* variables and reference errors. Sealed values are never shown.
| Parameter | Type | Description |
|---|---|---|
service | string | Service id (svc_…) or name; leave out when shared is true |
project | string | Project id or name; needed with a service name or shared |
environment | string | Environment name or id; defaults to production |
shared | boolean | The environment’s shared variables instead of a service’s |
resolved | boolean | Also return resolved values, DAWNROSE_* variables and reference errors |
set_variables
Set variables
Upserts variables (null deletes a key). Reference syntax: ${{ Postgres.DATABASE_URL }}, ${{ shared.KEY }}, ${{ KEY }}; generators ${{ secret(32) }}, ${{ randomInt(1,100) }}. Use raw to paste a .env file. Set shared for environment-wide variables. Changes need a deploy. Deleting keys (null values or replace) needs confirm=true.
| Parameter | Type | Description |
|---|---|---|
service | string | Service id (svc_…) or name; leave out when shared is true |
project | string | Project id or name; needed with a service name or shared |
environment | string | Environment name or id; defaults to production |
shared | boolean | Set the environment’s shared variables instead of a service’s |
variables | object | Name to value, null deletes; values up to 64 KB, at most 500 per scope |
raw | string | .env-formatted text |
sealed | string[] | Keys to seal (write-only afterwards) |
replace | boolean | Remove keys not present in this call |
deploy | boolean | Deploy the service right after (service scope only) |
confirm | true | Must be true for the destructive form of this call described above |
Deploys
deploy
Deploy
Builds the service from its source (latest commit for repos) and rolls it out with zero downtime. Set wait=true to block until it is live or failed (returns log tail on failure).
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
message | string | Shown with the deployment, up to 1000 characters |
wait | boolean | Block until it is live or failed, up to 15 minutes |
deploy_files
Deploy files
Uploads source files you wrote and deploys them (like dawn up). Include a Dockerfile, or a package.json / requirements.txt / go.mod / index.html for zero-config builds. The app must listen on $PORT. Max 20 MB total; use encoding=base64 for binary files. Replacing what a running service runs needs confirm=true.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
files | object[]required | At most 10,000 files and 20 MB in all; relative paths up to 1024 characters and 40 levels deep |
message | string | Shown with the deployment, up to 1000 characters |
wait | boolean | Block until it is live or failed, up to 15 minutes |
confirm | true | Must be true for the destructive form of this call described above |
deploy_changes
Deploy pending changes
Deploys every service in the environment whose settings or variables changed since its last deploy (the staged-changes banner).
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
environment | string | Environment name or id; defaults to production |
message | string | Shown with the deployment, up to 1000 characters |
redeploy
Redeploy
Re-runs a deployment’s image with the current variables (no rebuild).
| Parameter | Type | Description |
|---|---|---|
deployment_id | stringrequired | Deployment id (dep_…) |
rollback
Rollback
Restores the image, settings and variables of an earlier deployment and deploys it. Undeployed changes it replaces are listed in discards; they come back if the rollback fails.
| Parameter | Type | Description |
|---|---|---|
deployment_id | stringrequired | Deployment id (dep_…) |
cancel_deployment
Cancel deployment
Cancels a queued or building deployment.
| Parameter | Type | Description |
|---|---|---|
deployment_id | stringrequired | Deployment id (dep_…) |
remove_deploymentDestructive
Stop deployment
Stops and removes a deployment’s containers (takes the service offline if it was active).
| Parameter | Type | Description |
|---|---|---|
deployment_id | stringrequired | Deployment id (dep_…) |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
list_deploymentsRead-only
List deployments
Recent deployments of a service, newest first.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
limit | integer | 1-200; default 10 |
get_deploymentRead-only
Get deployment
Status and details of one deployment.
| Parameter | Type | Description |
|---|---|---|
deployment_id | stringrequired | Deployment id (dep_…) |
wait_for_deploymentRead-only
Wait for deployment
Blocks until the deployment is live, failed or cancelled (max timeout 1800s). On failure includes the last log lines and what to do next.
| Parameter | Type | Description |
|---|---|---|
deployment_id | stringrequired | Deployment id (dep_…) |
timeout_seconds | integer | At most 1800; default 600 |
Stacks and repositories
detect_stackRead-only
Detect stack
Reads the repository’s docker-compose file. When it builds the repo’s own code, returns every service it defines (apps, databases mapped to Dawnrose templates, other repos run via ghcr.io images), how they connect, what is skipped and which variables need values. null means deploy the repo as one service.
| Parameter | Type | Description |
|---|---|---|
repo | stringrequired | owner/repo |
branch | string | Git branch; the repository’s default when left out |
deploy_stack
Deploy stack
Creates and deploys every service detect_stack found (databases first, variables wired to them) in one environment. Set the variables listed under missing afterwards.
| Parameter | Type | Description |
|---|---|---|
repo | stringrequired | GitHub owner/repo |
branch | string | Git branch; the repository’s default when left out |
project | stringrequired | Project id (prj_…) or name |
environment | string | Environment name or id; defaults to production |
list_github_reposRead-only
List GitHub repos
Repositories you can deploy (requires GitHub connected).
| Parameter | Type | Description |
|---|---|---|
query | string | Only repositories whose owner/name contains this |
list_github_branchesRead-only
List GitHub branches
Branches of a repository (owner/name), to pick one to deploy.
| Parameter | Type | Description |
|---|---|---|
repo | stringrequired | owner/name |
Functions
create_function
Create function
Creates a one-file service and deploys it: TypeScript (index.ts, Node 22) or Python (main.py). Without a schedule it is an HTTP function that must listen on $PORT and gets a URL; with schedule (5-field UTC crontab) it runs as a job and exits. Leave code out for a starter you can edit. No package installs: use a repo or deploy_files for dependencies.
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
environment | string | Environment name or id; defaults to production |
name | string | Service name; function, or job with a schedule, when left out |
runtime | "typescript" | "python" | Default typescript |
code | string | The whole file, up to 256 KB; a starter when left out |
schedule | string | 5-field UTC crontab; runs as a job instead of serving HTTP |
get_functionRead-only
Get function code
Returns the code, runtime and schedule of a function service.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
update_function
Update function
Replaces the code of a function service (and optionally its schedule; empty string removes it) and deploys it. Changing the code or the schedule needs confirm=true.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
code | stringrequired | The whole new file, up to 256 KB |
schedule | string | 5-field UTC crontab; null or an empty string removes it |
confirm | true | Must be true for the destructive form of this call described above |
Templates and backups
list_templatesRead-only
List templates
One-click stacks: databases (postgres, mysql, redis, mongo) and apps (wordpress, n8n, …).
| Parameter | Type | Description |
|---|---|---|
query | string | Matches id, name, description, tags and category; all when left out |
deploy_template
Deploy template
Adds a template’s services (wired together with references, volumes and domains) to an environment and deploys them.
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
environment | string | Environment name or id; defaults to production |
template | stringrequired | Template id from list_templates, e.g. postgres |
list_backupsRead-only
List backups
Backups of a database or volume and the backup schedule.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
create_backup
Back up now
Takes an encrypted backup to S3 storage (native dump for databases, tarball for volumes).
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
configure_backups
Configure backups
Turns scheduled backups on/off and sets retention (GFS). Turning them off needs confirm=true.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
enabled | booleanrequired | Scheduled backups on or off; on needs a plan that includes backups |
schedule | string | Cron expression (UTC), at most once an hour |
keep_last | integer | Latest backups to keep, 0-60 |
keep_daily | integer | Daily backups to keep, 0-60 |
keep_weekly | integer | Weekly backups to keep, 0-60 |
keep_monthly | integer | Monthly backups to keep, 0-60 |
confirm | true | Must be true for the destructive form of this call described above |
restore_backupDestructive
Restore backup
Restores a backup into the running service, overwriting current data.
| Parameter | Type | Description |
|---|---|---|
backup_id | stringrequired | Backup id (bak_…), from list_backups |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
delete_backupDestructive
Delete backup
Deletes a backup from storage.
| Parameter | Type | Description |
|---|---|---|
backup_id | stringrequired | Backup id (bak_…), from list_backups |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
Networking and domains
generate_domain
Generate domain
Creates a public https URL on the platform domain. target_port defaults to the port the app listens on.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
target_port | integer | Container port, 1-65535; default the port the app listens on |
add_custom_domain
Add custom domain
Attaches your domain (or wildcard *.example.com). Returns the DNS records to create; then call verify_domain. Certificates are issued automatically.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
hostname | stringrequired | e.g. app.example.com, or *.example.com for every subdomain |
target_port | integer | Container port, 1-65535; default the port the app listens on |
wildcard | boolean | Also serve every subdomain; adds a DNS-01 CNAME to create |
verify_domain
Verify domain
Checks the TXT ownership record and activates the domain.
| Parameter | Type | Description |
|---|---|---|
domain_id | stringrequired | Domain id (dom_…), from get_service or add_custom_domain |
update_domain
Update domain
Changes which container port a domain routes to.
| Parameter | Type | Description |
|---|---|---|
domain_id | stringrequired | Domain id (dom_…), from get_service or add_custom_domain |
target_port | integerrequired | 1-65535; null routes to the port the app listens on |
remove_domainDestructive
Remove domain
Detaches a domain from its service.
| Parameter | Type | Description |
|---|---|---|
domain_id | stringrequired | Domain id (dom_…), from get_service or add_custom_domain |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
configure_domain_dnsDestructive
Set up a custom domain’s DNS in Cloudflare
Adds the CNAME and verification records for a custom domain in the workspace’s connected Cloudflare account (DNS only), then verifies it. This changes the company’s real DNS: only when the user asked for it. Fails with cloudflare_not_connected if the user hasn’t connected Cloudflare; ask them to do it in the dashboard (it needs their API token).
| Parameter | Type | Description |
|---|---|---|
domain_id | stringrequired | Domain id (dom_…), from get_service or add_custom_domain |
overwrite | boolean | Replace an existing record at that name that points somewhere else. Only when the user confirmed that record can go. |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
enable_tcp_proxyDestructive
Enable TCP proxy
Exposes a non-HTTP port (e.g. a database) publicly on host:port. Database templates fill *_PUBLIC_URL from it. Needs confirm=true, like disable_tcp_proxy.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
target_port | integerrequired | Container port to expose, e.g. 5432 |
confirm | truerequired | Must be true. Opens this port to the whole internet: only when the user asked for it. |
disable_tcp_proxyDestructive
Disable TCP proxy
Closes the public TCP port.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
Shells and commands
open_shellDestructive
Open shell
Opens a shell inside a running replica that stays open between calls, like the dashboard’s terminal: cd, exported variables, an activated virtualenv and background processes carry over. Run commands with run_in_shell, then close_shell. Closes by itself after 30 minutes unused. For a single command, exec_command is simpler.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
replica | string | Replica id; defaults to the first running one |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
run_in_shellDestructive
Run in shell
Runs a command in a shell from open_shell and returns its output, exit code and the directory it ended in. Commands get no stdin (use flags like -y). If it is still running at timeout_seconds you get the output so far and done=false; call again without a command to keep waiting.
| Parameter | Type | Description |
|---|---|---|
shell | stringrequired | Shell id from open_shell |
command | string | Omit to keep waiting for the previous command |
timeout_seconds | integer | Default 60, max 600 |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
close_shell
Close shell
Closes a shell and stops everything still running in it.
| Parameter | Type | Description |
|---|---|---|
shell | stringrequired | Shell id from open_shell |
exec_commandDestructive
Run command
Runs a shell command inside a running replica, returns exit code and output. Good for migrations, inspecting files, psql.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
command | stringrequired | Shell command, up to 64 KB |
timeout_seconds | integer | 1-600; default 60 |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
http_request
HTTP request to service
Sends an HTTP request straight to a running replica over the private network — use it to verify a deploy works. Returns status, headers and body (truncated at 20 KB). Methods other than GET and HEAD can change the app’s data, so they need confirm=true.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
path | string | Default / |
method | string | Letters only, default GET |
headers | object | Request headers |
body | string | Request body as text |
port | integer | 1-65535; default the port the app listens on |
confirm | true | Must be true for the destructive form of this call described above |
run_cron
Run cron now
Triggers a cron service immediately.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
list_cron_runsRead-only
List cron runs
Past runs of a cron service with their exit codes and times.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
Logs and metrics
get_build_logsRead-only
Build & deploy logs
Logs of a deployment’s build (phase=build) and rollout (phase=deploy).
| Parameter | Type | Description |
|---|---|---|
deployment_id | stringrequired | Deployment id (dep_…) |
phase | "build" | "deploy" | Both when left out |
tail | integer | Last N lines, 1-20,000; default 200 |
search | string | Only lines containing this, ignoring case |
get_runtime_logsRead-only
Runtime logs
Application logs (stdout/stderr) of the service. Filter syntax: text, "phrase", @level:error, @replica:0, @attr:value for JSON logs, -negation, OR.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
filter | string | Filter expression, e.g. @level:error -healthcheck |
tail | integer | Last N lines, 1-5000; default 200 |
since | string | ISO timestamp |
deployment_id | string | Only this deployment (dep_…) |
search_logsRead-only
Search environment logs
Runtime logs across all services in an environment. Use @service:name to narrow.
| Parameter | Type | Description |
|---|---|---|
project | stringrequired | Project id (prj_…) or name |
environment | string | Environment name or id; defaults to production |
filter | string | Filter expression; @service:name narrows to one service |
tail | integer | Last N lines, 1-3000; default 200 |
get_http_logsRead-only
HTTP logs
Recent requests through the edge proxy: method, path, status, latency.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
status | string | e.g. 500 or 5xx |
path | string | Only requests whose path contains this |
limit | integer | 1-2000; default 50 |
get_metricsRead-only
Metrics
CPU, memory, network and HTTP stats (avg/max/last) plus a compact time series.
| Parameter | Type | Description |
|---|---|---|
service | stringrequired | Service id (svc_…) or service name. When using a name also pass project. |
project | string | Project id (prj_…) or name; needed when service is a name. |
environment | string | Environment name or id. Defaults to production. |
minutes | integer | Window, default 60 |
Alerts and notifications
create_alert
Create alert
Notifies the workspace’s channels when a metric stays above a threshold (percent) for duration_seconds.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id; the project’s, or your first, when left out |
service | string | Only this service (id or name); every service when left out |
project | string | Project id or name; needed with a service name |
metric | "cpu" | "memory" | "http_5xx"required | cpu and memory as a share of the limit; http_5xx as a share of requests |
threshold | numberrequired | Percentage, above 0 and at most 100 |
duration_seconds | integer | How long it must stay above, 60-86400; default 300 |
list_alertsRead-only
List alerts
The workspace’s metric alerts.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug; defaults to your first |
delete_alertDestructive
Delete alert
Deletes a metric alert.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug; defaults to your first |
alert_id | stringrequired | Alert id (mon_…), from list_alerts |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
add_notification_channel
Add notification channel
Sends deploy/crash/alert/usage notifications to email, Slack, Discord or a webhook. config: {to:[emails]} | {webhookUrl} | {url, secret?}.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id; defaults to your first |
name | stringrequired | Up to 100 characters |
type | "email" | "slack" | "discord" | "webhook"required | Where notifications go |
config | objectrequired | email: {to: [up to 50 addresses]}; slack or discord: {webhookUrl}; webhook: {url, secret?}; up to 8 KB |
events | string[] | Event names, e.g. deploy.failed or service.crashed; every event when left out |
list_notification_channelsRead-only
List notification channels
Where the workspace’s notifications go, and the events each channel gets.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug; defaults to your first |
update_notification_channel
Update notification channel
Renames a channel, changes its events or config, or turns it on or off. Changing config, where notifications go, needs confirm=true.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug; defaults to your first |
channel_id | stringrequired | Channel id (nch_…), from list_notification_channels |
name | string | Up to 100 characters |
events | string[] | Replaces the channel’s event list |
config | object | Same shape as in add_notification_channel |
enabled | boolean | Turn the channel on or off |
confirm | true | Must be true for the destructive form of this call described above |
test_notification_channel
Test notification channel
Sends a test message to a channel.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug; defaults to your first |
channel_id | stringrequired | Channel id (nch_…), from list_notification_channels |
delete_notification_channelDestructive
Delete notification channel
Stops sending notifications to a channel.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug; defaults to your first |
channel_id | stringrequired | Channel id (nch_…), from list_notification_channels |
confirm | truerequired | Must be true. This action is destructive and cannot be undone. |
notify_user
Message the user
Shows a message in the user’s Dawnrose dashboard (toast + activity feed), optionally highlighting a service. Use it to report progress or ask the user to look at something.
| Parameter | Type | Description |
|---|---|---|
message | stringrequired | Up to 2000 characters |
level | "info" | "success" | "warning" | "error" | Default info |
project | string | Project id or name to attach it to; this, service or workspace is needed |
service | string | Service to highlight (id or name); pass project with a name |
workspace | string | Workspace id or slug, for a message about the whole workspace |
Team
list_membersRead-only
List members
People in the workspace with their roles, and pending invites. Inviting, removing and changing roles happens in the dashboard only; send the user there.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id or slug; defaults to your first |
Activity and usage
get_activityRead-only
Activity
Audit log: who (user or AI agent) changed what.
| Parameter | Type | Description |
|---|---|---|
project | string | Only this project (id or name) |
workspace | string | Workspace id, used when project is left out |
limit | integer | 1-1000; default 30 |
get_usageRead-only
Usage & billing
Current period usage, costs, credits, plan limits.
| Parameter | Type | Description |
|---|---|---|
workspace | string | Workspace id; defaults to your first |