ISM Core API Operation Requests
- Last UpdatedJul 30, 2026
- 11 minute read
These APIs provide access to core Information Standards Manager (ISM) capabilities, including class library and catalog management. They include:
Catalog operations
API request to retrieve catalog information is listed below.
|
Request |
Request body |
Description |
|---|---|---|
|
Query catalog content |
query { core { catalog { collection ( filters:{idLike: "AIM-A%"} orderBys:{ name: "ASC" } pagination: {count:0} includeObsoleted: false ) { id classLibraryHandle name version sortOrder } } } } |
Get the collection of catalog content with all listed properties after applying the filters configured: idLike: "AIM-A%" includeObsoleted: false |
Example: To display catalog collection
-
collectionPaged – Returns list of available catalog collection/standards with pagination metadata including total count and page information.
-
collection - Returns list of available catalog collections/standards without pagination metadata.
Request: Catalog Collection without Paging metadata
query {
core {
catalog {
collection
(
filters:{idLike: "%"}
orderBys:{
name: "ASC"
}
pagination: {count:2,skip:0}
includeObsoleted: false
)
{
id
classLibraryHandle
name
version
sortOrder
}
}
}
}
Response:
Page 1 with 2 records
|
|
id |
classLibraryHandle |
name |
version |
sortOrder |
|
0 |
ClassLibrary1 |
_485137!!_ |
ClassLibrary1 |
0.0.0.1 |
2147483647 |
|
1 |
ClassLibrary2 |
_346293!!_ |
ClassLibrary2 |
0.0.1.0 |
2147483647 |
Specify pagination {count:2,skip:2} to go to page 2 with next 2 records.
By default , pagination:{count:0} specifies to display all records in a single page.
|
id |
classLibraryHandle |
name |
version |
sortOrder |
|
|
0 |
ClassLibrary1 |
_514640!!_ |
Goliath classlibrary |
0.0.0.80 |
2147483647 |
|
1 |
ClassLibrary2 |
_528223!!_ |
Goliath Baby Brother classlibrary |
0.0.0.79 |
2147483647 |
Request: Catalog collection with paging metadata
{
core {
catalog {
collectionPaged(pagination: { skip: 0, count: 1 }) {
items {
classLibraryHandle
id
name
version
sortOrder
immutable
temporary
lockedByCurrentUser
hasChanges
isRelease
isDeleted
accessMask
}
pageInfo {
totalCount
count
skip
}
}
}
}
}
Response:

SecurityModel operations
API requests used to retrieve security-related information, including folders, users, groups, and related entities.
|
Request Type |
Request body |
Description |
|---|---|---|
|
Query users |
query Core { core { securityModel { users { name handle createdTimeUtc createdBy updatedTimeUtc updatedBy } userGroups { hasMembers hasPotentialMembers hasAccessRights name groupType handle createdTimeUtc createdBy updatedTimeUtc updatedBy } } } } |
Get the list of users and user groups |
Example
Request: To get the users
query Core {
core {
securityModel {
users (pagination: {count:2,skip:10})
{
name
handle
createdTimeUtc
}
}
}
}
Response:

Updating (pagination: {count:2,skip:2}) gives us the next 2 records
Request: To get the userGroups
query Core {
core {
securityModel {
userGroups(pagination :{count:1, skip:0}) {
hasMembers
hasPotentialMembers
hasAccessRights
name
groupType
handle
createTimeUtc
}
}
}
}
Response:

Updating (pagination: {count:1,skip:5}) gives us the next record.
Class library operations
A set of API requests to view contents of a class library like attributes, classes, enumerations
|
Request Type |
Request body |
Description |
|
Query a class library with filters |
query { core { classLibrary { content(idOrHandle: "<clib id or handle>") { id name description classes{ id name description } attributes{ id name description } } } } } |
Query a specific class library where Id="class library id or handle" And list all available classes and attributes |
|
Query classes and attributes |
query { core { classLibrary { content(idOrHandle: "<clib id or handle>") { classes(filters: { nameLike: "Equipment" }) { id name description attributes { id name description dataType } } } } } } |
Get the list of all permissible attributes for the Equipment class |
|
Query enumerations |
query { core { classLibrary { content(idOrHandle: "<clib id or handle>") { id name enumerations(filters: { idLike: "<enum Id>" }) { id description name items { name description id } } } } } } |
Query an enumeration by applying filter on enumeration Id |
Example
Query classes and attributes within an Information Standard using two options:
Classes
-
classesPaged - Returns classes with pagination metadata including total count and page information.
-
classes - Returns a simple list of classes without pagination metadata.
Attributes
-
attributesPaged - Returns attribute type definitions with pagination metadata including total count and page information.
-
attributes - Returns a direct list of attribute type definitions without pagination metadata.
Request: To get the classes present without paging metadata.
query{
core {
classLibrary {
content(idOrHandle: "_786876!!_") {
classes(pagination: { skip: 0, count: 1 }) {
id
name
nodeStatesValue
nodeStates
validationStatesValue
validationStates
isDerived
isExternallyDerived
origin {
id
name
language
version
}
derivedFrom {
id
name
}
obsolete
aspect
hasExtensions
sortOrder
description
hasLanguages
languageCount
languages {
name
}
abstract
extendsAsString
lifeCycleTypeAsString
type
concept
conceptValue
hasNamingTemplates
namingTemplateCount
namingTemplates {
id
name
}
hasElements
elementsPaged
{
items{
id
name
sortOrder
mandatory
minNumberOfCharacters
maxNumberOfCharacters
paddingCharacter
regExAsString
}
hasAttributes
attributeCount
attributes {
id
name
dataType
}
}
}
}
}
}
Response:


Updating (pagination: {count:5,skip:5}) gives us the next 5 records.
Request: To get the attributes without paging metadata
{
core {
classLibrary {
content(idOrHandle: "_76587!!_") {
attributes(pagination: { count: 2, skip: 0 }) {
id
name
description
}
}
}
}
}
Response:

Updating (pagination: {count:2,skip:2}) gives us the next 2 records.
Request: To get classes with paging metadata.
{
core {
classLibrary {
content(idOrHandle: "_77665!!_ ") {
classesPaged(pagination: { skip: 0, count: 1 }) {
items {
id
name
description
attributes
{
id
name
description
}
}
pageInfo {
skip
count
totalCount
}
}
}
}
}
}
Response:

|
pageInfo |
|
|
skip |
0 |
|
count |
1 |
|
totalCount |
3696 |
Updating (pagination: {count:5,skip:5}) gives us the next 5 records.
Request: To get attributes with paging metadata.
query{
core {
classLibrary {
content(idOrHandle: "<clib id or handle>") {
attributesPaged(pagination: { skip: 0, count: 1 }) {
items {
id
name
description
groupId
dataType
presence
uomClassId
obsolete
aspect
sortOrder
hasExtensions
extensions {
namespaces(filters: { prefixIn: ["anet", "tim"] }) {
prefix
properties {
name
value
}
nodes {
id
properties {
value
}
}
}
}
concept
hasMaturityLevels
maturityLevels {
name
}
}
pageInfo {
skip
count
totalCount
}
}
}
}
}
}
Response:

|
pageInfo |
|
|
skip |
43 |
|
count |
1 |
|
totalCount |
2573 |
Properties available for Class library-> Content->Classes
|
Property |
Type |
Description |
|
nodeStatesValue |
int |
The change states as a bit-mask |
|
nodeStates |
string[] |
The change states (e.g., "ADDED", "MODIFIED", "DELETED") |
|
validationStatesValue |
int |
The validation states as a bit-mask |
|
validationStates |
string[] |
The validation states |
|
origin |
ContextItem[] |
The origin of the instance |
|
derivedFrom |
ContextItem[] |
The node this instance derives from (if any) |
|
isDerived |
bool |
Whether the instance is derived in its entirety |
|
isExternallyDerived |
bool |
Whether derived from an external Class Library |
|
obsolete |
bool |
Whether the instance has been obsoleted/soft-deleted |
|
obsoleteProperty |
PropertyBool |
Property metadata for obsolete |
|
aspect |
string[] |
The aspect tokens on the instance |
|
aspectProperty |
PropertyAspect |
Property metadata for aspect |
|
hasExtensions |
bool |
Whether the instance has any extensions |
|
extensions |
Extension |
Collection of extension namespaces |
|
properties |
PropertyWithValue[] |
Collection of all properties with values |
|
id |
string |
The unique identifier of the instance |
|
idProperty |
PropertyString |
Property metadata for id |
|
sortOrder |
int |
The sort order value for ordering in collections |
|
sortOrderProperty |
PropertyInt |
Property metadata for sortOrder |
|
name |
string |
The name of the instance |
|
nameProperty |
PropertyString |
Property metadata for name |
|
description |
string |
The description of the instance |
|
descriptionProperty |
PropertyString |
Property metadata for description |
|
hasLanguages |
bool |
Whether the instance has language translations |
|
languageCount |
int |
The number of language definitions |
|
languages |
Language[] |
Collection of language translations |
|
languagesPaged |
PagedCollectionResult<Language> |
Languages with paging info |
|
abstract |
bool |
Whether the class is abstract (to be extended) |
|
abstractProperty |
PropertyBool |
Property metadata for abstract |
|
extendsAsString |
string |
The identifier of the parent class being extended |
|
extendsAsStringProperty |
PropertyString |
Property metadata for extendsAsString |
|
lifeCycleTypeAsString |
string |
The identifier of an associated Life Cycle |
|
lifeCycleTypeAsStringProperty |
PropertyString |
Property metadata for lifeCycleTypeAsString |
|
type |
string |
The class type |
|
typeProperty |
PropertyString |
Property metadata for type |
|
concept |
string |
The class concept ("FUNCTIONAL", "PHYSICAL", "GENERAL", "DOCUMENT") |
|
conceptValue |
int |
The class concept as an integer value |
|
conceptProperty |
PropertyEnumConcept |
Property metadata for concept |
Naming Templates (Nested Collection)
|
Field/Query |
Return Type |
Description |
|
hasNamingTemplates |
bool |
Whether the class has any naming templates |
|
namingTemplateCount |
int |
The number of naming templates |
|
namingTemplates(filters, orderBys, pagination) |
ClassNamingTemplate[] |
Collection of naming templates |
|
namingTemplatesPaged(filters, orderBys, pagination) |
PagedCollectionResult |
Naming templates with items + pageInfo |
|
namingTemplateCountDistinct(propertyName, filters, orderBys, pagination) |
EntityCountDistinctResponse |
Distinct value counts for a property |
Attributes (Nested Collection)
|
Field/Query |
Return Type |
Description |
|
hasAttributes |
bool |
Whether the class has any attributes |
|
attributeCount |
int |
The number of attributes |
|
attributes(filters, orderBys, pagination) |
ClassAttribute[] |
Collection of attribute definitions |
|
attributesPaged(filters, orderBys, pagination) |
PagedCollectionResult |
Attributes with items + pageInfo |
|
attributeCountDistinct(propertyName, filters, orderBys, pagination) |
EntityCountDistinctResponse |
Distinct value counts for a property |
Properties available for Class library-> Content->Attributes
|
Property |
Type |
Description |
|
nodeStatesValue |
int |
The change states as a bit-mask |
|
nodeStates |
string[] |
The change states (e.g., "ADDED", "MODIFIED", "DELETED") |
|
validationStatesValue |
int |
The validation states as a bit-mask |
|
validationStates |
string[] |
The validation states |
|
origin |
ContextItem[] |
Origin context with typeAsString, id, name, language, version |
|
derivedFrom |
ContextItem[] |
Derived-from context (if derived) |
|
isDerived |
bool |
Whether the instance is derived in its entirety |
|
isExternallyDerived |
bool |
Whether derived from an external Class Library |
|
obsolete |
bool |
Whether the instance has been obsoleted/soft-deleted |
|
obsoleteProperty |
PropertyBool |
Property metadata for obsolete |
|
aspect |
string[] |
The aspect tokens on the instance |
|
aspectProperty |
PropertyAspect |
Property metadata for aspect |
|
hasExtensions |
bool |
Whether the instance has any extensions |
|
extensions |
Extension |
Collection of extension namespaces |
|
properties |
PropertyWithValue[] |
Collection of all properties with values |
|
idProperty |
PropertyString |
Property metadata for id |
|
sortOrder |
int |
The sort order value for ordering in collections |
|
sortOrderProperty |
PropertyInt |
Property metadata for sortOrder |
|
name |
string |
The name of the attribute |
|
nameProperty |
PropertyString |
Property metadata for name |
|
description |
string |
The description of the attribute |
|
descriptionProperty |
PropertyString |
Property metadata for description |
|
hasLanguages |
bool |
Whether the instance has language translations |
|
languageCount |
int |
The number of language definitions |
|
languages |
Language[] |
Collection of language translations |
|
languagesPaged |
PagedCollectionResult<Language> |
Languages with paging info |
|
concept |
string[] |
The class concepts that the attribute applies to (e.g., "FUNCTIONAL", "PHYSICAL") |
|
conceptValue |
int |
The concepts as an integer bit-mask |
|
conceptProperty |
PropertyEnumConceptCollection |
Property metadata for concept |
|
dataType |
string |
The data type of the attribute (e.g., "STRING", "INTEGER", "BOOLEAN", "URI") |
|
dataTypeValue |
int |
The data type as an integer value |
|
dataTypeProperty |
PropertyEnumDataType |
Property metadata for dataType |
|
presence |
string |
The presence requirement (e.g., "OPTIONAL", "MANDATORY", "RECOMMENDED") |
|
presenceValue |
int |
The presence as an integer value |
|
presenceProperty |
PropertyEnumPresence |
Property metadata for presence |
|
discipline |
string |
The ruling discipline for the attribute |
|
disciplineProperty |
PropertyString |
Property metadata for discipline |
|
groupId |
string |
A value to use for grouping sibling attribute definitions |
|
groupIdProperty |
PropertyString |
Property metadata for groupId |
|
maxOccurs |
int |
The maximum cardinality for the attribute value |
|
maxOccursProperty |
PropertyInt |
Property metadata for maxOccurs |
|
minOccurs |
int |
The minimum cardinality for the attribute value |
|
minOccursProperty |
PropertyInt |
Property metadata for minOccurs |
|
uomClassId |
string |
The Unit of Measure Class identifier |
|
uomClassIdProperty |
PropertyString |
Property metadata for uomClassId |
|
uomRequired |
bool |
Whether a UoM designation is required for the attribute value |
|
uomRequiredProperty |
PropertyBool |
Property metadata for uomRequired |
|
validationRule |
string |
The validation rule for the attribute |
|
validationRuleProperty |
PropertyString |
Property metadata for validationRule |
|
validationType |
string |
The validation type for the attribute (e.g., "REGEX", "ENUMERATION") |
|
validationTypeValue |
int |
The validation type as an integer value |
|
validationTypeProperty |
PropertyEnumValidationType |
Property metadata for validationType |
|
size |
string |
Size restrictions (max characters for string, max digits for integer/decimal) |
|
sizeProperty |
PropertyString |
Property metadata for size |
|
hasMaturityLevels |
bool |
Whether the attribute has any permissible maturity levels |
|
maturityLevels(filters, orderBys, pagination) |
AttributeMaturityLevel[] |
Collection of permissible maturity levels |
|
maturityLevelsPaged(filters, orderBys, pagination) |
PagedCollectionResult |
Maturity levels with items + pageInfo |
Request: To get the class library metadata.
query GetClassLibraryMetadata {
core {
classLibrary {
metadata(idOrHandle: "_485127!!_", includeUncommittedChanges: true) {
id
classLibraryHandle
name
description
version
sortOrder
lockedByCurrentUser
isValid
isRelease
hasTruncatedComposition
appliedLanguages
extensionNamespaces {
name
uri
prefix
type
}
intrinsicTypes {
attributeDataTypes {
id
name
description
}
concepts {
id
name
description
}
validationTypes {
id
name
description
}
}
}
}
}
}
Response:





Class Library ->Metadata properties available:
|
Property |
Type |
Description |
|
classLibraryHandle |
string |
The handle for the instance |
|
id |
string |
The identifier of the instance |
|
name |
string |
The name of the instance |
|
description |
string |
The description of the instance |
|
version |
string |
The version number for the instance |
|
abstract |
boolean |
Whether the instance is qualified as abstract |
|
sortOrder |
integer |
A sort order value deciding on the position of the instance in a collection of siblings |
|
immutable |
boolean |
Whether the instance is immutable and therefore cannot be locked for editing |
|
temporary |
boolean |
Whether the instance is temporary |
|
lockedBy |
string |
The name of the user that has locked the instance for editing |
|
createdBy |
string |
The name of the user who created the instance |
|
lockedByCurrentUser |
boolean |
Whether the instance is locked for editing by the current user. If not |
|
hasChanges |
boolean |
Whether the instance is locked for editing |
|
isRelease |
boolean |
Whether this instance represents a released version |
|
isDeleted |
boolean |
Whether the instance is annotated as soft-deleted |
|
accessMaskItems |
string[] |
Current user's access rights to the instance (e.g. |
|
isValid |
boolean |
Whether the Class Library does not contain any validation issues |
|
hasTruncatedComposition |
boolean |
Whether current user is lacking adequate access rights to some of the ancestors in the composition manifest |
|
appliedLanguages |
string[] |
Languages that have been applied in translations of Class Library entities |
|
extensionNamespaces |
ExtensionNamespace[] |
Extension namespaces defined in the Class Library |
|
extensionNamespaces.name |
string |
The name of the extension namespace |
|
extensionNamespaces.uri |
string |
The URI of the extension namespace |
|
extensionNamespaces.prefix |
string |
The prefix for the extension namespace |
|
extensionNamespaces.type |
string |
The type of extension namespace (e.g. |
|
intrinsicTypes |
TypeCollections |
The intrinsic types used for entity properties with restricted value space |
|
intrinsicTypes.attributeDataTypes |
Type[] |
All valid Attribute Data Type values |
|
intrinsicTypes.attributeDataTypes.id |
string |
The identifier of the attribute data type |
|
intrinsicTypes.attributeDataTypes.name |
string |
The name of the attribute data type |
|
intrinsicTypes.attributeDataTypes.description |
string |
The description of the attribute data type |
|
intrinsicTypes.concepts |
Type[] |
All valid Class Concept values |
|
intrinsicTypes.concepts.id |
string |
The identifier of the concept |
|
intrinsicTypes.concepts.name |
string |
The name of the concept |
|
intrinsicTypes.concepts.description |
string |
The description of the concept |
|
intrinsicTypes.taxonomyConcepts |
Type[] |
All valid Taxonomy Concept values |
|
intrinsicTypes.taxonomyConcepts.id |
string |
The identifier of the taxonomy concept |
|
intrinsicTypes.taxonomyConcepts.name |
string |
The name of the taxonomy concept |
|
intrinsicTypes.taxonomyConcepts.description |
string |
The description of the taxonomy concept |
|
intrinsicTypes.namingTemplateApplicationTypes |
Type[] |
All valid Naming Template ApplicableFor values |
|
intrinsicTypes.namingTemplateApplicationTypes.id |
string |
The identifier of the naming template application type |
|
intrinsicTypes.namingTemplateApplicationTypes.name |
string |
The name of the naming template application type |
|
intrinsicTypes.namingTemplateApplicationTypes.description |
string |
The description of the naming template application type |
|
intrinsicTypes.presences |
Type[] |
All valid Attribute Presence values |
|
intrinsicTypes.presences.id |
string |
The identifier of the presence |
|
intrinsicTypes.presences.name |
string |
The name of the presence |
|
intrinsicTypes.presences.description |
string |
The description of the presence |
|
intrinsicTypes.uomSystemTypes |
Type[] |
All valid UoM System Type values |
|
intrinsicTypes.uomSystemTypes.id |
string |
The identifier of the UoM system type |
|
intrinsicTypes.uomSystemTypes.name |
string |
The name of the UoM system type |
|
intrinsicTypes.uomSystemTypes.description |
string |
The description of the UoM system type |
|
intrinsicTypes.validationTypes |
Type[] |
All valid Validation Type values |
|
intrinsicTypes.validationTypes.id |
string |
The identifier of the validation type |
|
intrinsicTypes.validationTypes.name |
string |
The name of the validation type |
|
intrinsicTypes.validationTypes.description |
string |
The description of the validation type |
Request: To get the naming and numbering template elements.
{
core {
classLibrary {
content(idOrHandle: "_485127!!_") {
namingTemplates(filters: { idLike: "%ASSET" } ) {
id
sortOrder
description
name
applicableFor
nodeStatesValue
validationStates
validationStatesValue
isDerived
isExternallyDerived
hasElements
elementsPaged
{
items{
id
name
sortOrder
mandatory
minNumberOfCharacters
maxNumberOfCharacters
paddingCharacter
regExAsString
}
}
}
}
}
}
Response:


