Boomi Platform API Reference (1.0.0) - Component
Download OpenAPI Specification: Download
For more information about Postman collections, forking, and making your first API call, refer to the Working with Boomi APIs on Postman page.
Use the Component object to retrieve, create, and update the component configuration XML for a single component ID and version number. It is similar to opening and viewing a component's XML from the Revision History panel on the user interface's Build tab. You can use the Component object to:
- Perform static code analysis and validation using external tools for code quality or following coding standards.
- Perform textual version differentials using external tools.
- Search component XML for specific configuration elements using external tools.
- Migrate from other tools by creating integration components.
- Generate process configuration documentation and dependency reports.
- Archive deployment and component metadata for compliance requirements.
You can use the Component object to retrieve additional, complimentary information to what the Component Metadata object provides.
For example, if you use the Component Metadata object to get the component type, you can then use the Component object to find its XML structure, or to see if a process-type component contains the processOverrides XML. The Component object additionally returns a component's full folder path in the Component Explorer hierarchy, as well as the component's user-defined description (if specified).
Sensitive data
Any password-type fields, such as private certificates, are masked using a cryptographic hash. Though your actual password value is masked and re-encrypted with a one-way algorithm, the result is a value that cannot be decrypted but can be used to detect if the password value changed between versions.
Note: The Component APIs can encrypt and decrypt all payload values up to one level, regardless of whether the values are in plain text or already encrypted.
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.
Component types
Use the following table to determine the component types available for use within the Component object. Note that connector subtype fields are not defined in the table; subtype values exactly match the various connector types that you can select from the Build tab on the user interface, and can be retrieved 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 |
Considerations by Component Type
Profiles
- Profile elements must be created individually. There is not an “import from schema” option via the API at this time.
Certificates
- For the X.509, first we have to generate the key and then we have to pass the generated certificate model while creating the Certificate.
Key Generation Payload for X.509 Certificates:
- Invoke POST API
https://api.boomi.com/api/rest/v1/Account-ID/CertificateKeyGenerationwith the below payload:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bns:CertificateGeneration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bns="http://api.platform.boomi.com/" alias="Name" signatureAlgorithm="SHA512withRSA" keyLength="2048" validity="365" passPhrase="boomi">
<bns:Name fullName="str1234" commonName="CN" organization="Org" organizationalUnit="OU" locality="LOC" state="USA" country="CTY"/>
</bns:CertificateGeneration>
| Field | Description |
|---|---|
signatureAlgorithm |
Required. Must not be blank. The values should be SHA512withRSA, SHA384withRSA, SHA256withRSA, SHA224withRSA or SHA1withRSA. If not, API will return an error. |
keyLength |
Required. Must not be blank. The values should be 1024 or 2048. If not, API will return an error. |
Validity |
Required. Must not be blank. The values must be integer and should be in between 1 to 9999. |
passPhrase |
Required. Must not be blank. |
alias |
Required, can be blank. |
commonName, organization, organizationalUnit, locality, country |
Required. Must not be blank. |
Key Generation Response:
<bns:CertificateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<!--Cerificate values and certificate data-->
</bns:CertificateData> </bns:CertificateModel>
- Pass the above key generation response in the
<object>section of the Component create/update XML, as below by taking any GET response of an existing certificate:
<bns:encryptedValues/>
<bns:description></bns:description>
<bns:object>
<!--Copy and Paste of Key generation response here -->
<bns:CertificateModel> <bns:CertificateData> </bns:CertificateData> </bns:CertificateModel> </bns:object> </bns:Component>
Required Privileges
Write access
- Build Read and Write Acccess
Read access
- Build Read Access
Creates a Component object
- Cannot create components for types not eligible for your account. For example, if your account does not have the B2B/EDI feature, you will not be able to create Trading Partner components.
- Request will not be processed in case if the payload has invalid attributes and tags under the