iTwin Component Center icon

iTwin Component Center

Comprehensive iTwin Component Center API

Overview

The node integrates with the iTwin Component Center API, specifically enabling users to update existing components within the Component Center. This operation is useful for managing component metadata such as display name, description, state, associated catalogs, application, category, manufacturer, hashtags, and custom payloads.

Typical use cases include:

  • Automating updates to component details in a centralized repository.
  • Synchronizing component metadata from other systems or workflows.
  • Managing lifecycle states of components (e.g., Draft, Published, Approved).
  • Associating components with catalogs, applications, categories, or manufacturers programmatically.

For example, a user might update a component's display name and state after reviewing changes, or add hashtags to improve searchability within the Component Center.

Properties

Name Meaning
ID The unique identifier (ID) of the component to update. Required string.
Display Name The new display name for the component. Must be a string up to 150 characters and cannot include special characters: >, <, ^, $, ?, `
Description A textual description of the component. Maximum length is 250 characters. Optional.
State The lifecycle state of the component. Required. Options are: Draft, Published, Checked, Approved, Archived.
Catalogs JSON array of catalog IDs (GUID strings) that the component is associated with. Optional.
Application The ID (GUID string) of the associated application. Optional.
Category The ID (GUID string) of the associated category. Optional.
Manufacturer The ID (GUID string) of the associated manufacturer. Optional.
Hashtags JSON array of hashtags related to the component. Each hashtag can be up to 50 characters and must not include special characters: >, <, ^, $, ?, `
Options Collection of additional options. Currently supports:
- Custom Payload: Allows overriding the request body with a custom JSON payload. Useful for advanced scenarios where the standard properties do not suffice.

Output

The node outputs an array of items, each containing a json property representing the response from the Component Center API after updating the component.

  • If the API returns an array, each element is output as a separate item.
  • If the API returns an object, it is output as a single item.
  • If the response is a primitive or other type, it is wrapped inside an object under the key result.

No binary data output is indicated by the code or properties.

Dependencies

  • Requires an OAuth2 API credential configured for authenticating with the iTwin Component Center API.
  • Uses an internal interpreter module (ComponentCenterOpenApiInterpreter) to map operations and execute API calls.
  • The node expects valid GUIDs for IDs related to catalogs, applications, categories, and manufacturers.
  • Proper network access to the iTwin Component Center API endpoint is necessary.

Troubleshooting

  • Unknown operation error: If the specified operation is not recognized, the node throws an error "Unknown operation". Ensure the operation parameter is correctly set to "update-component".
  • Invalid or missing required parameters: Missing required fields like id, displayName, or state will cause errors. Verify all mandatory inputs are provided and valid.
  • Invalid GUID format: For properties expecting GUIDs (catalogs, application, category, manufacturer), invalid formats may cause API rejection.
  • Special character restrictions: Display name and hashtags have restrictions on certain special characters; violating these will likely result in validation errors.
  • API authentication failures: Ensure the OAuth2 credentials are properly configured and authorized.
  • Custom Payload misuse: When using the custom payload option, ensure the JSON is well-formed and matches the API schema; otherwise, the API may reject the request.

If the node is set to continue on fail, errors will be returned in the output JSON under an error key with a message.

Links and References

Discussion