Skip to main content

Plan Tags

Overview

A Plan Tag is a named reference pointing to a plan, similar to a Docker tag. Tags provide a stable, human-readable way to reference plans that may be recompiled over time. In API responses, the referenced plan is inlined.

Here is an example:

name: smoke-tests-latest
spec:
planID: pl_abc123
status:
createdAt: "2025-01-15T10:00:00Z"
updatedAt: "2025-01-20T14:30:00Z"
history:
- planID: pl_abc123
taggedAt: "2025-01-20T14:30:00Z"
- planID: pl_xyz789
taggedAt: "2025-01-15T10:00:00Z"
untaggedAt: "2025-01-20T14:30:00Z"

name

The tag name, unique within the organization. Used as the identifier for the tag in API operations.

name is required.

plan

The resolved plan this tag points to. This field is populated in API responses and contains the full plan object.

spec

The tag spec contains the user-editable specification.

spec.planID

The ID of the plan this tag points to. Updating this field moves the tag to a different plan.

planID is required.

status

The tag status is server-managed.

status.createdAt

When the tag was created. Serialized as RFC3339.

status.updatedAt

When the tag was last updated. Serialized as RFC3339.

history

The history field is an array of historical tag-to-plan assignments, providing an audit trail of which plans the tag has pointed to over time.

Each entry has the following fields:

FieldDescription
planIDThe plan this tag pointed to during this period
taggedAtWhen the tag was assigned to this plan (RFC3339)
untaggedAtWhen the tag was moved or deleted (RFC3339, empty if current)

The most recent entry (with an empty untaggedAt) represents the current assignment.