
Cloud Create Project
Create and manage Elastic Cloud Serverless projects (elasticsearch, observability, security) via the api.elastic-cloud.com REST API from your agent workflow.
Overview
Cloud Create Project is an agent skill for the Build phase that documents Elastic Cloud Serverless REST endpoints to create and manage elasticsearch, observability, and security projects.
Install
npx skills add https://github.com/elastic/agent-skills --skill cloud-create-projectWhat is this skill?
- Base URL api.elastic-cloud.com with ApiKey Authorization header
- POST /api/v1/serverless/projects/{type} to create elasticsearch, observability, or security projects
- List, get, patch, delete, and status endpoints for project lifecycle
- Reset credentials and resume suspended projects via dedicated POST routes
- GET project roles for access configuration
- 3 project types: elasticsearch, observability, security
- 9+ documented project management HTTP operations in the reference table
Adoption & trust: 944 installs on skills.sh; 502 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need Elastic Cloud Serverless online but lack a concise API map for creating projects and handling credentials and status from automation.
Who is it for?
Builders automating Elastic Cloud Serverless onboarding for search, observability, or security stacks with API keys already issued.
Skip if: Self-managed Elastic on your own VMs or Kubernetes without Serverless, or teams that only use the web console and never script the control plane.
When should I use this skill?
Automating creation or lifecycle of Elastic Cloud Serverless projects via the public management API.
What do I get? / Deliverables
Your agent can call the documented Serverless project endpoints with ApiKey auth to create, update, inspect, reset credentials, or delete the right project type.
- Created or updated Serverless project via API
- Project status and roles introspection
- Credential reset or resume actions when needed
Recommended Skills
Journey fit
Build/integrations is canonical because the skill is an API reference for provisioning and lifecycle against Elastic Cloud Serverless. Project create/list/patch/delete and credential reset are external service integration tasks during product setup.
How it compares
API integration reference for Elastic Cloud Serverless—not an MCP server and not a local Elasticsearch install guide.
Common Questions / FAQ
Who is cloud-create-project for?
Solo and indie developers integrating Elastic Cloud Serverless into SaaS, APIs, or agent tooling via scripted project lifecycle.
When should I use cloud-create-project?
In Build/integrations when provisioning a new Serverless project type, and in Operate/infra when checking status, resetting credentials, or resuming a suspended project.
Is cloud-create-project safe to install?
Review the Security Audits panel on this Prism page; protect ApiKey secrets and treat DELETE and credential-reset calls as high-impact operations.
SKILL.md
READMESKILL.md - Cloud Create Project
# Elastic Cloud Serverless API Reference Reference for the Elastic Cloud Serverless project management API. Base URL: `https://api.elastic-cloud.com`. All requests require an API key in the `Authorization` header: ```text Authorization: ApiKey <your-api-key> ``` ## Endpoints ### Projects | Method | Path | Description | | -------- | ------------------------------------------------------------ | ------------------------ | | `POST` | `/api/v1/serverless/projects/{type}` | Create a project | | `GET` | `/api/v1/serverless/projects/{type}` | List projects | | `GET` | `/api/v1/serverless/projects/{type}/{id}` | Get project details | | `PATCH` | `/api/v1/serverless/projects/{type}/{id}` | Update a project | | `DELETE` | `/api/v1/serverless/projects/{type}/{id}` | Delete a project | | `GET` | `/api/v1/serverless/projects/{type}/{id}/status` | Get project status | | `POST` | `/api/v1/serverless/projects/{type}/{id}/_reset-credentials` | Reset credentials | | `POST` | `/api/v1/serverless/projects/{type}/{id}/_resume` | Resume suspended project | | `GET` | `/api/v1/serverless/projects/{type}/{id}/roles` | Get project roles | Where `{type}` is one of: `elasticsearch`, `observability`, `security`. ### Regions | Method | Path | Description | | ------ | --------------------------------- | ------------------ | | `GET` | `/api/v1/serverless/regions` | List all regions | | `GET` | `/api/v1/serverless/regions/{id}` | Get region details | ### Traffic Filters | Method | Path | Description | | -------- | ----------------------------------------- | ----------------------- | | `POST` | `/api/v1/serverless/traffic-filters` | Create a traffic filter | | `GET` | `/api/v1/serverless/traffic-filters` | List traffic filters | | `GET` | `/api/v1/serverless/traffic-filters/{id}` | Get a traffic filter | | `PATCH` | `/api/v1/serverless/traffic-filters/{id}` | Update a traffic filter | | `DELETE` | `/api/v1/serverless/traffic-filters/{id}` | Delete a traffic filter | ## Create project request bodies ### Elasticsearch ```json { "name": "my-es-project", "region_id": "gcp-us-central1", "optimized_for": "general_purpose", "search_lake": { "search_power": 100, "boost_window": 30 } } ``` | Field | Type | Required | Description | | --------------- | ------ | -------- | ---------------------------------------------------- | | `name` | string | Yes | Project name (1–255 chars) | | `region_id` | string | Yes | Region ID (for example, `gcp-us-central1`) | | `alias` | string | No | Custom domain label (RFC-1035, max 50 chars) | | `optimized_for` | string | No | `general_purpose` (default) or `vector` | | `search_lake` | object | No | Search power (28–3000) and boost window (1–180 days) | `optimized_for` options: - `general_purpose` — suitable for full-text search, sparse vectors, compressed dense vectors. Default when creating from the UI. - `vector` — for uncompressed dense vectors with high dimensionality. Impacts VCU consumption. ### Observability ```json { "name": "my-obs-project", "region_id": "gcp-us-central1", "product_tier": "complete" } ``` | Field | Type | Required | Description | | -------------- | ------ | -------- | ----------------------------------------- | | `name` | string | Yes | Project name | | `region_id` | string | Yes | Region ID