Skip to main content

System

All the objects in SIM can be related to the system breakdown structure. SIM supports multi-level system breakdown structures stored as a tree. The system breakdown structure is not the same as the work breakdown structure.

System Object

FieldTypeDescription
idsnowflakethe system's ID
organisation_idsnowflakethe ID of the organisation the system belongs to
numberintegerthe system's number
formatted_numberstringthe system's formatted number
codestringthe system's code (max 12 characters)
namestringthe system's name (max 60 characters)
descriptionstringthe system's description
root_prefixstringthe root system's prefix
root_id?snowflakethe root system's ID
rootsystem objectthe root system
parent_id?snowflakethe parent system's ID
parentsystem objectthe parent system
unusedbooleanwhether the system is unused (soft delete flag)

Get System

GET /systems/{system.id}

Returns the system object for the given system id. Requires membership in the organisation that owns the system.

Error Responses
Status CodeDescription
400The system was not found
403The user is not a member of the organisation

Get SubSystems

GET /systems/{system.id}/subsystems

Returns an array of system objects that are subsystems of the given root system id. Requires membership in the organisation that owns the root system.

Error Responses
Status CodeDescription
400The root system was not found
403The user is not a member of the organisation

List Systems

GET /organisations/{organisation.id}/systems

Returns an array of system objects for the organisation. Requires membership in the organisation, or an accepted fleet share from the organisation.

Parameters
FieldTypeDescriptionDefault
root?booleanwhen set to true, only root systems will be returnedtrue
unused?booleanwhen set to true, unused systems will be included in the responsefalse

Create System

POST /organisations/{organisation.id}/systems

Creates a new system in the organisation. Requires the MANAGE_SYSTEMS permission.

All parameters for this method are optional.

Parameters
FieldTypeDescriptionDefault
parent_id?snowflakethe parent system's ID; if provided, the new system becomes a subsystemnull
root_prefixstringthe root system's prefix (only used if no parent is specified)
namestringthe system's name (max 60 characters)new system
codestringthe system's code (max 12 characters)
descriptionstringthe system's descriptionnew system description
Notes
  • If parent_id is provided, the parent system must belong to the same organisation.
  • If a parent is specified, the new system inherits the parent's root_id and root_prefix.
  • The system number is automatically assigned atomically.
Error Responses
Status CodeDescription
400The organisation was not found
400The parent system does not belong to the organisation
403The user lacks the MANAGE_SYSTEMS permission

Update System

PATCH /systems/{system.id}

Updates a system. Requires the MANAGE_SYSTEMS permission for the organisation.

All parameters for this method are optional. Only the fields provided will be updated.

Parameters
FieldTypeDescription
namestringthe system's name (max 60 characters)
codestringthe system's code (max 12 characters)
descriptionstringthe system's description
unusedbooleanwhether the system is unused (soft delete flag)
root_prefixstringthe root system's prefix (only applied if system has no parent)
Notes
  • If the system has no parent (root_id is null), setting root_prefix will also update the RootPrefix for all systems sharing the same RootId and OrganisationId.
  • Re-ordering systems is not currently supported.
Error Responses
Status CodeDescription
400The system was not found
403The user lacks the MANAGE_SYSTEMS permission

Delete System

Cannot delete systems, use Update setting unused to true instead.