Skip to main content

Utility Resources (Terminals, Bucket Explorers, DB Monitors)

Utility resources share a common table (utility_resources) and consistent CRUD patterns. Each resource type is identified by resource_type:
  • terminal — connect to instances via SSH/WebSocket
  • bucket_explorer — browse S3 buckets or static websites
  • db_monitor — attach metadata for DB health/metrics dashboards
All endpoints are scoped by project/environment and require authentication unless noted.

Create

  • POST /api/:projectSlug/:environmentSlug/terminals
  • POST /api/:projectSlug/:environmentSlug/bucket-explorers
  • POST /api/:projectSlug/:environmentSlug/db-monitors
Common body fields:
  • name (string, required)
  • positionX, positionY (optional canvas coords)
  • metadata (optional JSON; used by db_monitors for config, by bucket_explorers for bucket info)
Bucket explorer specifics:
  • name is the S3 bucket name (must follow AWS rules, globally unique). Region optional; will auto-detect when importing existing buckets.

List

  • GET /api/:projectSlug/:environmentSlug/terminals
  • GET /api/:projectSlug/:environmentSlug/bucket-explorers
  • GET /api/:projectSlug/:environmentSlug/db-monitors
Returns id, name, status, metadata, position, timestamps.

Get one

  • GET /api/:projectSlug/:environmentSlug/terminals/:terminalId
  • GET /api/:projectSlug/:environmentSlug/bucket-explorers/:bucketExplorerId
  • GET /api/:projectSlug/:environmentSlug/db-monitors/:monitorId

Update

  • PATCH /api/:projectSlug/:environmentSlug/terminals/:terminalId
  • PATCH /api/:projectSlug/:environmentSlug/bucket-explorers/:bucketExplorerId
  • PATCH /api/:projectSlug/:environmentSlug/db-monitors/:monitorId
Updatable fields: name, status, metadata, positionX, positionY.

Delete

Deletion is performed only via the unified resources API. Use the resource’s database ID (from the list or get-one response):
  • DELETE /api/:projectSlug/:environmentSlug/resources/:resourceId
See Resources API — Delete Resource by ID. The service deletes associated resource_connections and then soft-deletes the utility resource.

DB Monitor Pulse/Metrics

  • GET /api/:projectSlug/:environmentSlug/db-monitors/:monitorId/pulse - Get database metrics using DB monitor (CPU, connections, memory, storage, I/O, network)
Description:
  • Fetches real-time and historical metrics from AWS CloudWatch for the connected database
  • Automatically resolves the connected database from the resource connection between the DB monitor and database
  • Returns CPU utilization, database connections, memory, storage, read/write latency, IOPS, and network throughput
  • Supports custom time ranges and aggregation periods
  • Note: The DB monitor must be connected to a database via resource connections for this endpoint to work
Path Parameters:
  • monitorId - DB monitor database ID
Query Parameters:
  • startTime (optional): ISO 8601 timestamp for start time (default: 1 hour ago)
  • endTime (optional): ISO 8601 timestamp for end time (default: now)
  • period (optional): Period in seconds for metric aggregation (default: 300 = 5 minutes, minimum: 60)
Example:
Example Response:
Note:
  • Values are the most recent (latest) single data point from CloudWatch
  • cpu: CPU utilization percentage (0-100)
  • ram: Freeable memory in bytes
  • connections: Number of active database connections
  • If a metric has no data available, it will be null
Error Response (No Connection):

Positions

All utility resources include position in responses and can be updated via:
  • PATCH /api/:projectSlug/:environmentSlug/resources/:resourceId/position (use resource’s database ID)

Resources listing

Utility resources are returned by:
  • GET /api/:projectSlug/:environmentSlug/resources (project/environment scope; filter with type=db_monitors, type=bucket_explorers, or type=terminals)
  • Resource detail: GET /api/:projectSlug/:environmentSlug/resources/:resourceId (use resource’s database ID)