# Model APIs

String Length Limit

All properties, variables, and attributes that have a string data type cannot exceed a length of 64135 characters when part of a PUT, POST, or PATCH operation payload.

# GET Query Model Definitions

# /modelDefinitions

# Description

Filterable properties:
- modelId: string
- name: string
- tags: array[string]
- components: object

# Parameters

Name Located in Description Required Schema
filter query A boolean expression used to filter the results No WhereClause
limit query Limit the number of returned values. Defaults to 100 if not specified No LimitClause
includeDeleted query Whether to included model definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
200 A list of model definitions. feedResponseModelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# POST Create a Model Definition

# /modelDefinitions

# Description

Creates a new model definition based on the request payload. The model definition is defined by selecting components from the set of possible components the information model supports (properties, variables, methods, references, and attributes). The selection is done by adding them to the model definition. Additionally, shared elements can be defined such as properties that should have common semantics across all types within this model definition. A common property serves as an example. The semantics of the model definition that defines common elements are not required to be defined in the types; however, if they are defined they must conform to the definition.

# Responses

Code Description Schema
201 Creation succeeded. modelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# GET Retrieve Model Definition

# /modelDefinitions/{modelId}

# Description

Retrieves a model definition based on its modelId. By specifying the includeDeleted parameter, this can also be used to retrieve a model definition that has been marked as deleted.

# Parameters

Name Located in Description Required Schema
modelId path Model definition ID Yes string
includeDeleted query Whether to return a model definition that has been marked as deleted. No boolean

# Responses

Code Description Schema
200 Model definition modelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Model definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# PUT Update a Model Definition

# /modelDefinitions/{modelId}

# Description

Updates a model definition based on its modelId. The model definition must be backwards compatible to the previous one. For example, no removal of components such as "variables" is allowed. The version attribute provided in the request must match the version on the server or the request will be rejected.

# Parameters

Name Located in Description Required Schema
modelId path Model definition ID Yes string

# Responses

Code Description Schema
200 Model definition. modelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Model definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# DELETE Delete a Model Definition

# /modelDefinitions/{modelId}

# Description

This marks a model definition as deleted. No new types can be added to it. So far no cascading delete for the contained types will be done. The model definition will stay in the database and the modelId will stay reserved, as this is a soft delete. To delete the entity completely (hard delete), please contact the Operations Team.

# Parameters

Name Located in Description Required Schema
modelId path Model definition ID Yes string

# Responses

Code Description Schema
204 Model definition was successfully deleted
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Model definition was not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# GET Retrieve Type Definitions

# /modelDefinitions/{modelId}/types

# Description

The following filtering properties are available:
- typeId: string
- name: string
- tags: array[string]
- version: string

If version is not specified in the filter, the latest version of the type definition is retrieved. If any version is included in the filter, the version(s) from filter are retrieved

# Parameters

Name Located in Description Required Schema
modelId path model definition ID Yes string
filter query A boolean expression used to filter the results No WhereClause
limit query Limit the number of returned values. Defaults to 100 if not specified No LimitClause
includeDeleted query Whether to included type definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
200 List of type definitions that were found feedResponseTypeDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Model definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# POST Add a New Type Definition

# /modelDefinitions/{modelId}/types

# Description

Adds a new type definition to the given model definition. The type definition must be either a new typeId, or the provided version property must conform to the semantic versioning rules for type definitions. Otherwise, the request will be rejected. Note that there is NO update of a type definition. If changes need to be made, at minimum a minor or patch version increase is required. Therefore, there is also no PUT operation on this endpoint.

# Parameters

Name Located in Description Required Schema
modelId path Model definition ID Yes string

# Responses

Code Description Schema
201 Type definition was added to database typeDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# GET Retrieve a Type Definition

# /modelDefinitions/{modelId}/types/{typeId}

# Description

Gets latest (based on its version) type definition based on versions for specific modelId and typeId. Deleted type definitions can also be retrieved by this operation, if the includeDeleted flag is set to "true".

# Parameters

Name Located in Description Required Schema
modelId path model definition ID Yes string
typeId path type definition ID Yes string
includeDeleted query Whether to included type definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
200 type definition typeDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# DELETE Delete a Type Definition

# /modelDefinitions/{modelId}/types/{typeId}

# Description

Marks the type definition as deleted. No new instances can be created and no new versions added. The type definition will stay in the database though, as this is a soft delete. To delete the entity completely (hard delete), please contact the Operations Team.

# Parameters

Name Located in Description Required Schema
modelId path Model definition ID Yes string
typeId path Type definition ID Yes string

# Responses

Code Description Schema
204 type definition successfully marked as deleted. object
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# Revoke Soft-Deleted Type Definition

# About the feature

This allows users to restore soft-deleted type definitions, enabling the recreation of essential defi-nitions that were mistakenly removed or are needed for specific use cases. Users can easily recover and reuse deleted type definitions without conflict, ensuring smoother workflows and data con-sistency.

# PUT Revokes all versions or specific version of type definitions

# /modelDefinitions/{modelId}/types/{typeId}

# Description

Revokes existing TypeDefinition to the given ModelDefinition. If user provides only Type Definition Id all versions will be revoked. If specific version is given, then TypeDefinition for the specific ver-sion will be revoked.

# Parameters

Name Located in Description Required Schema
modelId path Model definition ID Yes string
typeId path Type definition ID Yes string

# Responses

Code Description Schema
204 Revokes Type definition. feedResponseModelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# GET Get Type Definition Versions

# /modelDefinitions/{modelId}/types/{typeId}/versions

# Description

Retrieves a list of available versions for the given typeId. In order to retrieve the versions of a soft-deleted type definition, the includeDeleted flag must be set to "true".

# Parameters

Name Located in Description Required Schema
modelId path Model definition ID Yes string
typeId path Type definition ID Yes string
includeDeleted query Whether to retrieve a type definitions that has been marked as deleted. No boolean

# Responses

Code Description Schema
200 List of available versions of the type definition versionsList
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# GET Get Type Definition by Version Number

# /modelDefinitions/{modelId}/types/{typeId}/versions/{version}

# Description

Retrieves a specific type definition identified by its modelId and typeId. Additionally, a version number needs to be supplied which can be partial (e.g., 1 or 1.1) which means that the latest sub-version of that version will be returned (e.g., 1.2.5 or 1.1.3). In order to retrieve the specified version of a soft-deleted type definition, the includeDeleted flag must be set to "true".

# Parameters

Name Located in Description Required Schema
modelId path model definition ID Yes string
typeId path type definition ID Yes string
version path (Partial) version number Yes string
includeDeleted query Whether to retrieve a type definition that has been marked as deleted. No boolean

# Responses

Code Description Schema
200 Type definition that was found typeDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# Get Hierarchy of Model

# Hierarchy API

# GET Get Hierarchy

# /hierarchy/{objectId}/models/{model}

# Description

Get tree hierarchy of the model from a particular root node in nested format for speci-fied objectId associated with the model

# Parameters

Name Located in Description Required Schema
modelId path Model definition ID Yes string
objectId path Object Id Yes string
includeDeleted query Join results with their properties information No boolean

# Responses

Code Description Schema
200 Success Object Model Nested Json
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# Group a Model Definition

This allows users to filter model and type definitions by ID, group name, tag, and status. It also allows to group the model definitions based on a group name and type definitions based on group name and model id.

# GROUPING

1.IN MODELS

# GET GET Groups

# /modelDefinitions/groups

# Description

Retrieves the list of groups and their corresponding counts for all existing Model Definitions.

Filterable properties:

  • model: string
  • group: string
  • status: string

# Parameters

Name Located in Description Required Schema
filter query A boolean expression used to filter the results No WhereClause
limit query Limit the number of returned values. Defaults to 100 if not specified No LimitClause
sort query Sorts the value based on SortColumn SortDirection eg: modelId desc No sortClause
page query Indicates page number. default value is set to 1. No integer
includeDeleted query Whether to included model definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
200 Type definition that was found typeDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# PUT Bulk Update model definitions

# /modelDefinitions/groupUpdate

# Description

Bulk Update multiple ModelDefinition based on given group.

# Parameters

Name Located in Description Required Schema
includeDeleted query Whether to included model definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
200 Model definition. modelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Model definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# Update a Type Definition

  1. In TYPES

# PUT Bulk Update type definitions

# /typeDefinitions/groupUpdate

# Description

Bulk Update multiple TypeDefinition based on given group.

# Parameters

Name Located in Description Required Schema
includeDeleted query Whether to included model definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
204 Type definition. feedResponseModelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# GET Aggregate groupBy

# /typeDefinitions/aggregate/{groupBy}

# Description

Retrieves the list of groups and their corresponding counts for all existing Type Definitions. Filterable properties:

  • model: string
  • group: string
  • status: string

# Parameters

Name Located in Description Required Schema
filter query A boolean expression used to filter the results No WhereClause
limit query Limit the number of returned values. Defaults to 100 if not specified No LimitClause
sort query Sorts the value based on SortColumn SortDirection eg: modelId desc No sortClause
groupBy query groupBys either group/name/model.Default value is set to group No [groupBy-Clause] (../data/api-data-models.md#groupbyclause)
page query Indicates page number. default value is set to 1 No integer
includeDeleted query Whether to included model definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
200 A list of groups Group
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Model definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

# Filter a Model Definition

# FILTERING

1.IN MODELS

# GET Query Model Definitions

# /modelDefinitions

# Description

Retrieves ModelDefinitions from the registry. Can be filtered by a filter expression such as "modelId HAS 'abb.processAutomation'". Deleted ModelDefinitions will only be included if the includeDelet-ed parameter is set to true. The response will include the result set to a maximum of the limit pa-rameter (default 100). If nothing was found the data array will be empty. Filterable properties:

  • modelId: string
  • group: string
  • status: string
  • name: string
  • tags: array[string]
  • components: object

These all properties can be passed in the filter parameter of the API.

# Parameters

Name Located in Description Required Schema
filter query A boolean expression used to filter the results No WhereClause
limit query Limit the number of returned values. Defaults to 100 if not specified No LimitClause
sort query Sorts the value based on SortColumn SortDirection eg: modelId desc No sortClause
page query Indicates page number. default value is set to 1. No integer
includeDeleted query Whether to included model definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
200 A list of model definitions. modelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Model definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors

2.IN TYPES

# GET Retrieve Type Definitions

# /modelDefinitions/{modelId}/types

# Description

The following filtering properties are available:

  • typeId: string
  • group: string
  • status: string
  • name: string
  • tags: array[string]
  • version: string

If version is not specified in the filter, the latest version of the type definition is retrieved. If any version is included in the filter, the version(s) from filter are retrieved.

# Parameters

Name Located in Description Required Schema
modelId path Model defini-tion ID Yes string
filter query A boolean expression used to filter the results No WhereClause
limit query Limit the number of returned values. Defaults to 100 if not specified No LimitClause
includeDeleted query Whether to included model definitions that have been marked as deleted. No boolean

# Responses

Code Description Schema
200 List of type definitions that were found feedResponseModelDefinition
400 Invalid request. Response will contain details about all encountered validation errors - i.e. request payload too large, malformed JSON, etc ServiceErrors
401 Not Authorized. Either the Access token is missing or the access token validation failed
403 Access Forbidden. Requesting entity does not have enough permissions to access the resource
404 Type definition not found ServiceErrors
429 Too many requests - indicates the user has sent too many requests in a given amount of time ServiceErrors
500 Service error. Service has encountered one or more unexpected conditions that prevented it from fulfilling the request, which may or may not be temporary. Response will contain more details about these errors ServiceErrors
Last updated: 11/4/2024, 9:35:39 AM
Feedback