Stay organized with collections
Save and categorize content based on your preferences.
Labels, fields, and choices go through specific states throughout their lives.
Additionally, labels might have different revisions. The following diagram shows
the label lifecycle, including revisioning:
Figure 3. Lifecycle of a label
Create a label (create())—The label is created and stored in a
database as revision_id=1. The label has the state of UNPUBLISHED_DRAFT.
In this state:
Users can't view the label
Users can't apply the label to Drive items.
(optional) Update a label, field, or choice (delta())— Every update,
even before it's published, is stored in a database, and the label's
revision is incremented.
Publish a label (publish())—The label has the state of PUBLISHED and
users can apply the label. Publishing the label increments its revision.
(optional) Update a label, field, or choice (delta())— The label,
field, or choice is updated and stored in a database as a draft label. The
label has the state of PUBLISHED with hasUnpublishedChanges=true meaning
there are draft changes, but they aren't available to users. Each update
increments the label's revision.
(optional) Publish a label (publish())—If available, the most-current
draft is published. The label has the state of PUBLISHED and users can
apply the label. Publishing the label increments its version.
Disable a label (disable())—The label has the state of DISABLED
though users can apply the label through the API. However, a disabled label
isn't shown in a UI unless configured to be shown. Deprecating the label
increments its revision.
Enable a label (enable())—The label is returned to a PUBLISHED state
and users can apply the label. Publishing the label increments its revision.
Delete a label (delete())—The label has a state of DELETED and
can't be applied. Deleted labels are eventually purged.
It's important to emphasize that every update to a label increments the label's
revision. And, if the label has already been published, publishing it again
after n updates means that its published revision number is revision + n + 1
number of successive updates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-19 UTC."],[[["Labels, fields, and choices transition through various states such as UNPUBLISHED_DRAFT, PUBLISHED, DISABLED, and DELETED during their lifecycle."],["Labels are initially created in an UNPUBLISHED_DRAFT state and can't be viewed or applied until published."],["Every update to a label, including drafts and publishes, increments its revision number."],["Published labels can be disabled and re-enabled, each action impacting their state and revision."],["Deleting a label renders it unusable and eventually leads to its permanent removal."]]],["Labels have lifecycles involving creation, updates, publishing, disabling, enabling, and deletion. Upon creation, a label is an `UNPUBLISHED_DRAFT` and each update increments its revision number. Publishing transitions it to `PUBLISHED`, enabling user application. Updates to a published label create drafts (`hasUnpublishedChanges=true`) and also increment the revision. Disabling sets the state to `DISABLED`, while enabling returns it to `PUBLISHED`. Deletion changes the state to `DELETED`, and eventually the label is purged. Every label update increments the revision count.\n"]]