Skip to content
Proud to collaborate with Microsoft for Startups

neon.projects.create ​

Create a Neon project (fire-and-forget)

Creates a Neon project via POST /projects (API v2).

This atomic is fire-and-forget: Neon returns an operations[] array whose create operation must reach finished, but this atomic does NOT poll. It returns immediately with neon_project_id, the auto-created default branch id, and the create neon_operation_id. Orchestration (C-01) composes the polling atomic A-22 neon.operations.wait to block until the operation finishes. This keeps every base atomic uniformly 3-state.

Inputs:

  • connection_uuid: tenant connection holding the Neon credential (required)
  • name: human-readable project name (required)
  • region_id: Neon region id (optional, default: aws-us-east-2)
  • pg_version: Postgres major version (optional, default: 16)

Outputs (terminal state_data):

  • neon_project_id: str — Neon provider id of the created project
  • name: str — confirmed project name
  • region_id: str — confirmed region
  • pg_version: int — confirmed Postgres version
  • neon_default_branch_id: str — Neon id of the auto-created main branch
  • neon_operation_id: str — id of the create operation; feed to A-22
  • provider_metadata: dict — full Neon project object

Plugin required: context.get_plugin("neon") must expose .api_token.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-neon
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
connection_uuiduuidYes—Tenant connection holding the Neon credential
namestringYes—Human-readable Neon project name
region_idstringNo—Neon region id (default: aws-us-east-2)
pg_versionintegerNo—Postgres major version (default: 16)

Output Schema ​

FieldTypeRequiredDefaultDescription
neon_project_idstringNo——
namestringNo——
region_idstringNo——
pg_versionintegerNo——
neon_default_branch_idstringNo—Neon id of the auto-created main branch
neon_operation_idstringNo—Id of the create operation; feed to A-22
provider_metadatajsonNo——
connection_uuiduuidNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "neon.projects.create",
  "initial_data": {
    "connection_uuid": "value",
    "name": "value"
  }
}