Boomi Platform API Reference (1.0.0) - ComponentReference
Use the Component Reference object to programatically retrieve and query all the components which use or are used by a specific component.
This object represents the functionality provided by the Show Where Used filter found in Component Explorer of the service. You can use this filter to find the bi-directional relationships between components by querying for all the primary components that use a common secondary component or, conversely, querying for all the secondary components used in a common primary component.
A secondary component is one used or referenced by the primary component. For example, the individual components used in a process flow are considered dependent or secondary references to the process itself (where the process is the primary component).
In another example, when you configure EDI profiles as your source and destination profiles in a Map component, those profiles are considered secondary components to the primary Map component. These concepts are important to remember when deciding how you want to use the Component Reference object — you can query for all the secondary components you configure under a single primary component, or you can retrieve a list of multiple components or processes that use a common secondary component.
Retrieves an instance of a ComponentReference object
Retrieves the component reference for a component ID.
Send an HTTP GET to https://api.boomi.com/api/rest/v1/{accountId}/ComponentReference/{componentId}
where {accountId} is the ID of the authenticating account for the request and {componentId} is the ID of the secondary component whose references you are attempting to GET.
If you want to specify a branch, send an HTTP GET to https://api.boomi.com/api/rest/v1/{accountId}/ComponentReference/{componentId}~{branchId}
where {accountId} is the ID of the authenticating account for the request and {componentId} is the ID of the secondary component whose references you are attempting to GET, and {branchId} is the branch on which you want to GET component references.
Authorizations:
path Parameters
| componentId required | string The ID of the secondary component. The component ID is available in the Revision History dialog, which you can access from the Build page in the service. |
Responses
Response Schema:
Array of objects (References) | |||||||||||
Array
| |||||||||||
Response samples
- 200
- 403
- 410
- 503
{- "Component": {
- "folderFullPath": "Platform APIs/Tests/Platform API Connector/AS2 Connector Record",
- "componentId": "456789a-bcde-f0123-4567-89abcdef012",
- "version": "1",
- "name": "Receiver Encryption Public Certificate_2017",
- "type": "certificate",
- "createdDate": "2018-05-31T15:12:30Z",
- "createdBy": "userboomi.com",
- "modifiedDate": "2018-05-31T15:12:30Z",
- "modifiedBy": "userboomi.com",
- "deleted": "false",
- "currentVersion": "true",
- "folderName": "Originator",
- "folderId": "RjoxNjMxNTA",
- "copiedFromComponentId": "123456a-bcde-f4567-8901-23abcdef456",
- "copiedFromComponentVersion": "1",
- "encryptedValues": {
- "encryptedValue": {
- "path": "//CertificateModel/CertificateData/text()",
- "isSet": "true"
}
}, - "description": null,
- "object": {
- "CertificateModel": {
- "MD5Fingerprint": "88:44:1A:90:C7:40:DF:A4:2F:95:70:F9:88:7A:76:54",
- "SHA1Fingerprint": "4B:2F:1E:A7:3C:DA:AD:F8:F2:86:38:98:25:3E:09:B4:86:5B:11:A9",
- "serialNumber": "01",
- "signatureAlgorithm": "SHA512withRSA",
- "version": "3",
- "Type": "public",
- "IssuedTo": {
- "commonName": "receiver",
- "country": "usa",
- "fullName": "CN=receiver,OU=boomi,O=dell,L=chesterbrook,ST=pa,C=usa",
- "organization": "dell",
- "organizationalUnit": "boomi"
}, - "Issuer": {
- "commonName": "receiver",
- "country": "usa",
- "fullName": "CN=receiver,OU=boomi,O=dell,L=chesterbrook,ST=pa,C=usa",
- "organization": "dell",
- "organizationalUnit": "boomi"
}, - "Validity": {
- "expireDate": "2024-03-12T16:46:57.000Z",
- "issueDate": "2017-09-20T16:46:57.000Z"
}, - "CertificateData": "12dac3f45bbaf67d89101234a3e1e567f889fcf10abaee1234ed5fab678910e123dec456789f10ddc234cc009b56d7890e1a2e345edd6c78ea9a10b234ea"
}
}
}
}Retrieves multiple ComponentReference objects by identifier
To learn more about bulk, refer to the topic Bulk GET operations.
Authorizations:
Request Body schema: optional
Array of objects (BulkId) | |
| type | string Enum: "GET" "DELETE" "UPDATE" "CREATE" |
Responses
Response Schema:
Array of objects | |||||||||||
Array
| |||||||||||
Request samples
- Payload
{- "request": [
- {
- "id": "56789abc-def0-1234-5678-9abcdef01234"
}
], - "type": "GET"
}Response samples
- 200
- 403
- 410
- 503
{- "response": [
- {
- "Result": {
- "references": [
- {
- "parentComponentId": "123456a-bcde-f4567-8901-23abcdef456",
- "parentVersion": "7",
- "componentId": "456789a-bcde-f0123-4567-89abcdef012",
- "type": "DEPENDENT"
}, - {
- "parentComponentId": "9876a543-21ab-0e98-7a65-4d32bf109f87"
}
]
}, - "index": 0,
- "id": "string",
- "statusCode": 0,
- "errorMessage": "string"
}
]
}Queries for a ComponentReference object(s)
For general information about the structure of QUERY filters, their sample payloads, and how to handle the paged results, refer to Query filters and Query paging.
- You can use the QUERY operation to return the latest version(s) of a primary component(s) that references a given secondary component ID, or all the secondary components that the given primary component ID references.
Note: When querying either primary or secondary component references, the API object returns the immediate reference (one level). It does not recursively trace through nested references like the Show Where Used feature does in the user interface.
For example, take a process that references a Map component where it references two Profile components. If you query by parentComponentId=<process>, the API returns a result for the Map component but not the profiles. To get the profiles, you need to perform a second call to query references for the Map component.
You can filter the query operation in one of two ways:
To find all the secondary components referenced by a given primary component, you must provide both the parentComponentId and the parentVersion values. You can optionally use the type filter in your query.
To find all the primary components that reference a given secondary component, you must provide the componentId value. You can optionally include the type filter in your query.
To view more information about a component ID returned in the response, like the component's type or name, you can query that same ID using the Component Metadata object.
Understanding references to deleted components
Filtering or querying by componentId only returns the component's current version. If you delete the current component revision, it does not return results.
When filtering by parentComponentId or parentVersion, it saves references to other components for a given version of the primary component. If you delete the given primary component version, it does not return results. Note that it is possible to return a reference to a deleted secondary component if you do not remove the reference in the user interface (appears in red).
Authorizations:
Request Body schema: optional
Possible properties include: parentComponentId, parentVersion, componentId, type
required | object | ||||||||||
| |||||||||||
Responses
Response Schema:
| numberOfResults | integer <int32> |
| queryToken | string By default, the queryToken parameter is not available in the query response. It appears only when the query response contains more than 100 results. The maximum number of results returned per query is 100. To retrieve the next set of results, use the queryToken in the queryMore request. |
Array of objects (ComponentReference) |
Request samples
- Payload
{- "QueryFilter": {
- "expression": {
- "argument": [
- "456789a-bcde-f0123-4567-89abcdef012"
], - "operator": "EQUALS",
- "property": "componentId"
}
}
}Response samples
- 200
- 403
- 410
- 503
{- "@type": "QueryResult",
- "result": [
- {
- "@type": "ComponentReference",
- "references": [
- {
- "@type": "references",
- "parentComponentId": "123456a-bcde-f4567-8901-23abcdef456",
- "parentVersion": 2,
- "componentId": "456789a-bcde-f0123-4567-89abcdef012",
- "type": "DEPENDENT"
}
]
}
], - "numberOfResults": 1
}Retrieves additional results for a ComponentReference query
To learn about using queryMore, refer to the topic Query paging.
Authorizations:
Request Body schema: text/plainrequired
Responses
Response Schema:
| numberOfResults | integer <int32> |
| queryToken | string By default, the queryToken parameter is not available in the query response. It appears only when the query response contains more than 100 results. The maximum number of results returned per query is 100. To retrieve the next set of results, use the queryToken in the queryMore request. |
Array of objects (ComponentReference) |
Response samples
- 200
- 403
- 410
- 503
{- "@type": "QueryResult",
- "result": [
- {
- "@type": "ComponentReference",
- "references": [
- {
- "@type": "references",
- "parentComponentId": "123456a-bcde-f4567-8901-23abcdef456",
- "parentVersion": 2,
- "componentId": "456789a-bcde-f0123-4567-89abcdef012",
- "type": "DEPENDENT"
}
]
}
], - "numberOfResults": 1
}