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
- 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 |