Skip to main content
PUT
Replace the enterprise blueprint's YAML contents

Permissions

Requires a service user or personal access token with the ManageAccountSnapshots permission at the enterprise level.

Behavior

Replaces the enterprise blueprint’s YAML contents. The call validates the YAML and stores it as a new version of the blueprint. Older versions stay stored. The response returns the updated blueprint metadata, not the YAML. Updating a blueprint does not trigger a build. Builds run per organization through Trigger Build.

Errors

  • 404 Not Found: The blueprint does not exist, is deleted, or is not the enterprise blueprint of this account.
  • 422 Unprocessable Entity: contents is not valid blueprint YAML. The detail field starts with Invalid YAML: and names the problem.

Authorizations

Authorization
string
header
required

Service User credential (prefix: cog_)

Path Parameters

blueprint_id
string
required

Body

application/json
contents
string
required

New YAML body for the blueprint.

Response

Successful Response

Public Blueprint resource shape.

Note: the type enum may grow in the future; clients MUST gracefully handle unknown values. YAML contents are fetched separately via GET /blueprints/{id}/contents.

blueprint_id
string
required
created_at
integer
required
repo_name
string | null
required
type
enum<string>
required
Available options:
enterprise,
org,
repo
updated_at
integer
required
build_on_default_branch_commit
boolean | null

Whether each push to the repo's default branch builds the environment. Null unless this is a repo's root blueprint.

report_check_runs
boolean | null

Whether each commit build is reported as a GitHub check run on the commit. Null unless this is a repo's root blueprint.

source
enum<string> | null

Where the YAML is authored: 'git' (synced from .devin/blueprint.yaml in the repo) or 'database' (edited via the API/UI). Always null for enterprise- and org-tier blueprints.

Available options:
git,
database