Component Metadata object
The Component Metadata object represents the summary information for a component in the service. You can use the object to retrieve metadata information for a given component, such as name, component type, folder location, and more. The Component Metadata object also supports the ability to update the metadata information; as well as, delete and restore deleted components. This lets you rename or move components programmatically. The ability to create a new component is not supported at this time. You can also retrieve the full configuration details for a component, using the Component object.
You can use the Component Metadata object's GET and QUERY operations to find:
-
Components created within a specific date range
-
Components modified by a specific user
-
Components of a certain type
-
Revision history for a specified component
For example, you can use a combination of these operations to retrieve the revision history for a given component, or to create audit reports of which users changed a component.
The ComponentMetadata API is available only with certain permissions:
- In order to use the Get and Query operations, Build Read access is needed.
- In order to use the Update, Create, and Delete operations, Read and Write Access privileges are needed.
- If Folder Restrictions are enabled, you need sufficient edit access on the folder and parent folder to use these operations.
- If Component Locking is enabled, including being locked by the same user credentials that were used in the API, the component cannot be modified.
Structure
<ComponentMetadata componentId="" version="" name="" type="" subType="" createdDate="" createdBy="" modifiedDate="" modifiedBy="" deleted="" currentVersion="" folderName="" folderId=""> <copiedFromComponentId="" copiedFromComponentVersion=""/> </ComponentMetadata>
| Field | Type | Description |
|---|---|---|
| Filter | Filter | Filter |
| componentId | string | Required. Read only. The ID of the component. The component ID is available on the Revision History dialog, which you can access from the Build page in the service. |
| version | string | Read only. |
| name | string | Read only. |
| type | string | Read only. The type of component. See the section Component Types later in this topic for a complete list of component type values |
| subType | string | Read only. Used by connector-related components (connections and operations) to identify the connector type. Subtype values are the internal connector ID, not the user-facing name.See Connector object. |
| createdDate | dateTime — yyyy-MM-dd (for example, 2020-01-31) | Read only. Date and time. |
| createdBy | string — (for example, user@boomi.com) | Read only. User name of the user who created the component. |
| modifiedDate | dateTime — yyyy-MM-dd (for example, 2020-01-31) | Read only. Date and time. |
| modifiedBy | string — (for example, user@boomi.com) | Read only. User name of the user who last modified the component. |
| deleted | string | Read only. Indicates if the component is deleted. A value of True indicates a deleted status, whereas False indicates an active status. |
| currentVersion | string | Read only. Indicates if the value specified in the version field is the most current and latest revision number created for the component on the Build tab. A value of True indicates that the revision number is the most current revision number on the Build tab, whereas False indicates that the version field value is not the most current revision number. |
| folderName | string | Read only. The folder location of the component within Component Explorer. |
| folderId | string | The ID of the folder where the component currently resides. |
| copiedFromComponentId | string | Read only. If you copied the component, this field is the ID of the original component from where you copied the component. |
| copiedFromComponentVersion | string | Read only. If you copied the component, this field is the revision number of the original component you copied. |
Component types
Use the following table to determine the component types that are available for use within the Component Metadata object. Note that connector subtype fields are not defined in the following table; you can retrieve subtype values using the Connector object.
| Component type field | Component type description |
|---|---|
| certificate | X.509 Certificate |
| certificate.pgp | PGP Certificate |
| connector-action | Connector Operation |
| connector-settings | Connector Connection |
| crossref | Cross Reference Table |
| documentcache | Document Cache |
| transform.map | Map |
| transform.function | Map Function |
| process | Process |
| processproperty | Process Property |
| profile.db | Database Profile |
| profile.edi | EDI Profile |
| profile.flatfile | Flat File Profile |
| profile.xml | XML Profile |
| profile.json | JSON Profile |
| queue | Queue |
| tradingpartner | Trading Partner |
| tpgroup | Processing Group |
| tporganization | Organization |
| tpcommoptions | Communication Channel |
| webservice | API Service |
| webservice.external | API Proxy |
| processroute | Process Route |
| customlibrary | Custom Library |
| flowservice | Flow Service |
| script.processing | Process Script |
| script.mapping | Map Script |
| xslt | XSLT Stylesheet |
Supported operations
| GET | QUERY | CREATE | UPDATE | EXECUTE | DELETE |
|---|---|---|---|---|---|
| Supported | Supported | Not Supported | Supported | Not Supported | Supported |
Using the GET operation
-
The GET operation by,
componentId, returns the latest component revision if you do not provide theversion. -
Providing the
versionin the format of<componentId>~<version>, returns the specific version of the component.
Using the QUERY operation
-
By default, QUERY results include previous revisions including deleted versions. Use query filters to exclude previous and deleted versions if desired. For more examples of querying components, see Component Metadata API example requests.
-
The
versionfield must be accompanied by thecomponentIdfield. You can query all other fields. -
The
copiedFromComponentIdfield must accompany thecopiedFromComponentVersionfield.
Using the UPDATE operation
-
ComponentId is required for the UPDATE operation. Only name and folderId may be updated. They are optional and will only be modified if included in the UPDATE request.
-
folderId must be a valid, non-deleted folder. If folderId is included in the request but with a blank value, it defaults to the root folder.
Using the DELETE operation
- When using the DELETE operation by
componentId, it lets you delete required components. Note that deleting a component does NOT delete dependent components.
Restoring a component
- To Restore a component you must have Read and Write access and a valid ComponentId of an existing deleted component. When restoring a component, the component will not be renamed or moved and its parent folder will also be restored. This will NOT create a new component.
SOAP implementation
-
GET operation
POST
https://api.boomi.com/api/soap/v1/<accountID>Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:get>
<!--Optional:-->
<api:objectType>componentmetadata</api:objectType>
<!--Optional:-->
<api:objectId>1234a5-67a8-912f-a345-a6ed7891c2b</api:objectId>
</api:get>
</soapenv:Body>Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:getResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.boomi.com/">
<bns:result xsi:type="bns:ComponentMetadata" componentId="1234a5-67a8-912f-a345-a6ed7891c2b" version="1" name="Transform Map" type="transform.map" createdDate="2018-09-27T19:03:44Z" createdBy="user@boomi.com" modifiedDate="2018-09-27T19:03:44Z" modifiedBy="user2@boomi.com" deleted="false" currentVersion="true" folderName="API Regression" folderId="PloxRzM5OTk" copiedFromComponentId="4d7a8021-b93c-46d1-a3a8-3489373ff3ac" copiedFromComponentVersion="1"/>
</bns:getResponse>
</S:Body>
</S:Envelope> -
QUERY operation
POST
https://api.boomi.com/api/soap/v1/<accountID>The following example query returns the metadata information of the most current version available for a given ComponentId.
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:query>
<api:objectType>componentmetadata</api:objectType>
<api:queryConfig>
<api:QueryFilter>
<api:expression operator="and" xsi:type="api:GroupingExpression" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<api:nestedExpression operator="EQUALS" property="componentId" xsi:type="api:SimpleExpression">
<api:argument>1234a5-67a8-912f-a345-a6ed7891c2b</api:argument>
</api:nestedExpression>
<api:nestedExpression operator="EQUALS" property="currentVersion" xsi:type="api:SimpleExpression">
<api:argument>true</api:argument>
</api:nestedExpression>
</api:expression>
</api:QueryFilter>
</api:queryConfig>
</api:query>
</soapenv:Body>
</soapenv:Envelope>Response:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:queryResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.boomi.com/">
<bns:results numberOfResults="1">
<bns:result xsi:type="bns:ComponentMetadata" componentId="1234a5-67a8-912f-a345-a6ed7891c2b" version="10" name="component 1" type="process" createdDate="2014-06-10T15:56:50Z" createdBy="user@boomi.com" modifiedDate="2019-01-24T14:25:13Z" modifiedBy="user@boomi.com" deleted="false" currentVersion="true" folderName="TEST-1234" folderId="PloxRzM5OTk"/>
</bns:results>
</bns:queryResponse>
</S:Body>
</S:Envelope> -
UPDATE operation
POST
https://api.boomi.com/api/soap/v1/{accountId}Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>admin@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">test</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:update>
<object xsi:type="api:ComponentMetadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.boomi.com/" componentId="4109e989-21fb-4260-8355-d81bd8044768" name="user123456" >
</object>
</api:update>
</soapenv:Body>
</soapenv:Envelope>Response:
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:updateResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.boomi.com/">
<result xsi:type="bns:ComponentMetadata" componentId="4109e989-21fb-4260-8355-d81bd8044768" version="58" name="user123456" type="process" createdDate="2022-09-30T10:24:50Z" createdBy="admin@boomi.com" modifiedDate="2023-02-02T09:15:50Z" modifiedBy="admin@boomi.com" deleted="false" currentVersion="true" folderName="INT-5778-2" folderId="Rjo5MzQ"/>
</bns:updateResponse>
</S:Body>
</S:Envelope> -
DELETE operation
DELETE
https://api.boomi.com/api/soap/v1/{accountId}Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:delete>
<objectType>componentmetadata</objectType>
<objectId>ae9e0ac0-fbdf-486a-8b27-6702c82dbba0</objectId>
</api:delete>
</soapenv:Body>
</soapenv:Envelope>Response:
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:deleteResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/">
<successful>true</successful>
</bns:deleteResponse>
</S:Body>
</S:Envelope> -
RESTORE operation
POST
https://api.boomi.com/api/soap/v1/{accountId}Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>user@boomi.com</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<api:create>
<object xsi:type="api:ComponentMetadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/" componentId="ae9e0ac0-fbdf-486a-8b27-6702c82dbba0">
</object>
</api:create>
</soapenv:Body>
</soapenv:Envelope>Response:
<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<bns:createResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/">
<result xsi:type="bns:ComponentMetadata" componentId="ae9e0ac0-fbdf-486a-8b27-6702c82dbba0" version="19" name="Process2" type="process" createdDate="2023-02-08T18:50:46Z" createdBy="user@boomi.com" modifiedDate="2023-02-08T19:21:07Z" modifiedBy="user@boomi.com" deleted="false" currentVersion="true" folderName="Folder123" folderId="RjoxMDU2NTMx"/>
</bns:createResponse>
</S:Body>
</S:Envelope>