# Status Lifecycle
The Status Lifecycle governs the states a schema can transition through within the Info Model application. This lifecycle ensures structured schema evolution, better governance, and controlled usage.
# Lifecycle Status Overview
Status | Description | Typical Use Case |
---|---|---|
Draft | Editable schemas not yet versioned or approved. | Initial schema creation and experimentation. |
New | Schemas ready for use with versioning enabled. | Schema is ready for deployment and usage. |
Active | Schema is in use; Type Definitions or Instances have been created from it. | Schema is actively used in production. |
Inactive | Schema is deprecated (soft-deleted); no new Types or Instances can be created. | Schema is retired but may be needed again in the future. |
# 🧩 Detailed Status Definitions
# 📝 Draft
- Purpose: For initial schema design and iteration.
- Behaviour:
- Fully editable.
- Not versioned.
- Cannot be used to create Type Definitions or Instances.
- Available actions:
- Can be hard deleted at any time. Soft delete is not supported
# 🆕 New
- Purpose: Schema is finalized and ready for use.
- Behaviour:
- Versioning is applied.
- Can be used to create Type Definitions and Instances.
- Available actions:
- Can be soft deleted or hard deleted.
# ✅ Active
- Purpose: Schema is in active use.
- Behaviour:
- Type Definitions or Instances have been created from it.
- Cannot be edited directly. Can be upgraded.
- Available actions:
- Can be soft deleted at any time. hard delete is not supported.
# 🚫 Inactive
- Purpose: Schema is deprecated but retained for potential future use.
- Behaviour:
- No new Type Definitions or Instances can be created.
- Can be revoked if needed.
- Available actions:
- Can be revoked or hard deleted ( if the last known status was
New
) at any time.
- Can be revoked or hard deleted ( if the last known status was
# Introduction of status
Field in GET Calls
To support the Information Model Status Lifecycle, a new field named status
is introduced in all relevant GET API responses for schemas. This field will indicate the current lifecycle state of each schema and will reflect one of the following values:
"Draft"
"New"
"Active"
"Inactive"
This enhancement enables clients and systems to programmatically determine the usability and governance state of a schema, ensuring better control over schema consumption and modification.
Example:
abb.ability.configuration model in Active state
{
"modelId": "abb.ability.configuration",
"group": "Config Model",
"name": "Config Model",
"components": {
"properties": {},
"attributes": {}
},
"version": 1,
"status": "Active",
"isDeleted": false
},
Type definition based on abb.ability.configuration model in new state
{
"model": "abb.ability.configuration",
"typeId": "engine",
"version": "1.0.0",
"name": "engine",
"group": "Group1",
"properties": {},
"isExtensible": true,
"isDeleted": false,
"status": "New"
}