Docs
Open the console →
API reference

API reference: Blueprint catalog

Snowtrol blueprint-catalog API: list the managed + own-org catalog, create/update/delete your organization's own blueprints, and import a definition from a connected repo.

Your organization's own blueprints, alongside the read-only platform-managed catalog (synced by staff from a Git source of native .tf blueprint folders — see Build your own Terraform blueprint). Reads are open to members; writes need mutate_infra. Platform rows and cross-org ids answer 404 on mutation.

GET/api/blueprintsSession or Bearer

List the catalog visible to your org: platform-managed blueprints plus your own. Own rows include the definition; the response also carries the native .tf file rendering for the catalog view.

Example response
json
{ "blueprints": [ { "id": 4, "blueprintId": "custom/org/team-s3-bucket", "slug": "team-s3-bucket",
  "title": "Team S3 bucket", "provider": "AWS", "tfType": "aws_s3_bucket", "enabled": true, "own": true } ] }
Errors
StatusWhen
401Not signed in.
POST/api/blueprintsmutate_infra

Create an own-org blueprint from { slug, title, description, provider, resourceType, tfType, fields, module } — or import one from a connected repo with { fromRepo: { connectionId, path } } (the path may point at a native .tf blueprint file or folder; legacy .tf.json/.json still parse). Validation rejects terraform/provider/backend blocks in the module.

Errors
StatusWhen
400Validation failed (the error names the field/block).
403Role lacks mutate_infra.
409Duplicate slug in your catalog.

PATCH /api/blueprints/{id} updates or toggles { enabled }; DELETE /api/blueprints/{id} removes an own blueprint. The deployable union (built-ins + enabled platform + enabled own) is what `GET /api/terraform/blueprints` returns.