Documentation Index
Fetch the complete documentation index at: https://docs.gateways.app/llms.txt
Use this file to discover all available pages before exploring further.
Bucket Explorer Management Endpoints
Note: Utility resources (terminals, bucket explorers, db monitors) share common patterns. See 11-utility-resources.md for a consolidated overview; this file focuses on bucket-explorer specifics.
Bucket explorers are resources that can be connected to storage buckets to browse and explore their contents. Similar to terminals that connect to instances, bucket explorers provide a way to interact with S3 buckets.
Create Bucket Explorer
POST /api/:projectSlug/:environmentSlug/bucket-explorers - Create a new bucket explorer resource and S3 storage bucket
Description: The name provided will be used directly as the S3 bucket name. The endpoint will automatically create the S3 bucket and connect it to the bucket explorer.
Important:
- The name must be a valid S3 bucket name (3-63 characters, lowercase, alphanumeric, hyphens, periods)
- Bucket names must be globally unique across all AWS accounts
- The endpoint will automatically create the S3 bucket and connect it to the bucket explorer
Request Body:
{
"name": "my-bucket-name", // Will be used as S3 bucket name (must follow AWS S3 naming rules)
"region": "us-east-1", // Optional, defaults to connection region
"positionX": 100, // Optional, canvas X coordinate
"positionY": 200 // Optional, canvas Y coordinate
}
S3 Bucket Naming Rules:
- Must be 3 to 63 characters long
- Must begin and end with a letter or number
- Can contain lowercase letters (a-z), numbers (0-9), periods (.), and hyphens (-)
- Cannot contain consecutive periods (..)
- Cannot be formatted as an IP address (e.g., 192.168.1.1)
- Cannot start with “xn—” or end with “-s3alias”
- Must be globally unique across all AWS accounts
Example:
curl -X POST "https://api.gateways.app/api/codepanel/master/bucket-explorers" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-bucket-name",
"region": "us-east-1",
"positionX": 300,
"positionY": 400
}'
Example Response:
{
"message": "Bucket explorer and S3 bucket created successfully",
"data": {
"id": 1,
"name": "my-bucket-name",
"bucketName": "my-bucket-name",
"status": "inactive",
"position": {
"x": 300,
"y": 400
},
"storageBucket": {
"id": 1,
"name": "my-bucket-name",
"awsBucketName": "my-bucket-name",
"region": "us-east-1"
},
"project": {
"id": 1,
"slug": "codepanel",
"name": "CodePanel"
},
"environment": {
"id": 1,
"slug": "master",
"name": "master"
},
"createdAt": "2024-01-15T10:30:00.000Z"
}
}
Error Response (Invalid bucket name):
{
"error": "Invalid bucket name",
"message": "Bucket name must be at least 3 characters long"
}
Error Response (Bucket already exists):
{
"error": "Bucket name already exists",
"message": "A bucket with name \"my-bucket-name\" already exists in AWS. Bucket names must be globally unique."
}
List Bucket Explorers
GET /api/:projectSlug/:environmentSlug/bucket-explorers - List all bucket explorers for a project environment
Example:
curl "https://api.gateways.app/api/codepanel/master/bucket-explorers" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Example Response:
{
"message": "Bucket explorers retrieved successfully",
"data": [
{
"id": 1,
"name": "My Bucket Explorer",
"status": "inactive",
"position": {
"x": 300,
"y": 400
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z"
},
{
"id": 2,
"name": "Backup Explorer",
"status": "active",
"position": {
"x": 500,
"y": 600
},
"createdAt": "2024-01-15T11:00:00.000Z",
"updatedAt": "2024-01-15T11:00:00.000Z"
}
]
}
Get Bucket Explorer Details
GET /api/:projectSlug/:environmentSlug/bucket-explorers/:explorerId - Get details of a specific bucket explorer
Example:
curl "https://api.gateways.app/api/codepanel/master/bucket-explorers/1" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Example Response:
{
"message": "Bucket explorer retrieved successfully",
"data": {
"id": 1,
"name": "My Bucket Explorer",
"status": "inactive",
"position": {
"x": 300,
"y": 400
},
"project": {
"id": 1,
"slug": "codepanel",
"name": "CodePanel"
},
"environment": {
"id": 1,
"slug": "master",
"name": "master"
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z"
}
}
Update Bucket Explorer
PATCH /api/:projectSlug/:environmentSlug/bucket-explorers/:explorerId - Update a bucket explorer
Request Body:
{
"name": "Updated Explorer Name", // Optional
"status": "active", // Optional: active, inactive, connecting, error
"positionX": 350, // Optional
"positionY": 450 // Optional
}
Example:
curl -X PATCH "https://api.gateways.app/api/codepanel/master/bucket-explorers/1" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Explorer Name",
"status": "active",
"positionX": 350,
"positionY": 450
}'
Example Response:
{
"message": "Bucket explorer updated successfully",
"data": {
"id": 1,
"name": "Updated Explorer Name",
"status": "active",
"position": {
"x": 350,
"y": 450
},
"updatedAt": "2024-01-15T12:00:00.000Z"
}
}
Delete Bucket Explorer
Bucket explorer deletion is performed only via the unified resources API:
DELETE /api/:projectSlug/:environmentSlug/resources/:resourceId
Use the bucket explorer’s database ID. The service removes all resource connections, then soft-deletes the resource. See Resources API — Delete Resource by ID.
Example:
curl -X DELETE "https://api.gateways.app/api/codepanel/master/resources/1" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
Connecting Bucket Explorers to Storage Buckets
Bucket explorers can be connected to storage buckets using the Resource Connections API. This allows the bucket explorer to browse and interact with the contents of the connected storage bucket.
Example: Connect bucket explorer to a storage bucket
curl -X POST "https://api.gateways.app/api/codepanel/master/resource-connections" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sourceResourceType": "bucket_explorer",
"sourceResourceId": 1,
"targetResourceType": "storage_bucket",
"targetResourceId": 1
}'
See the Resource Connections documentation for more details on connecting resources.
Status Values
Bucket explorers have the following status values:
inactive - Default status when created
active - Explorer is active and connected
connecting - Currently establishing connection
error - Connection error occurred