Waiting for engine...
Skip to main content

Boomi Platform API Reference (1.0.0) - ComponentReference

Toggle Pane

Download OpenAPI Specification: Download

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:
basicAuth
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
componentId
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.

parentComponentId
string

The ID of the primary component that the secondary components reference. You can use this attribute specifically in the QUERY operation. The component ID is available in the Revision History dialog, which you can access from the Build page in the service.

parentVersion
integer <int32>

The revision number of the primary component. This attribute is used specifically in the QUERY operation. A component's version number is available in the Revision History dialog, which you can access from the Build page in the service.

type
string
Enum: "DEPENDENT" "INDEPENDENT"

The type of reference component.

  • A value of DEPENDENT indicates that the component is included automatically in a process at packaging and deployment time.
  • A value of INDEPENDENT indicates the component is standalone, and you must package and deploy it individually and manually, though you might use it in a process configuration.

For more information on component reference types, refer to the topic Component References.

branchId
string

If specified, the ID of the branch on which you want to query.

Response samples

Content type
{
  • "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": {
      },
    • "description": null,
    • "object": {
      }
    }
}

Retrieves multiple ComponentReference objects by identifier

To learn more about bulk, refer to the topic Bulk GET operations.

Authorizations:
basicAuth
Request Body schema:
optional
Array of objects (BulkId)
type
string
Enum: "GET" "DELETE" "UPDATE" "CREATE"

Responses

Response Schema:
Array of objects
Array
required
object (ComponentReference)
index
integer <int32>
id
string
statusCode
integer <int32>
errorMessage
string

Request samples

Content type
{
  • "request": [
    • {
      }
    ],
  • "type": "GET"
}

Response samples

Content type
{
  • "response": [
    • {
      }
    ]
}

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:
basicAuth
Request Body schema:
optional

Possible properties include: parentComponentId, parentVersion, componentId, type

required
object
required
ComponentReferenceSimpleExpression (object) or ComponentReferenceGroupingExpression (object) (ComponentReferenceExpression)
One of
operator
required
string
Enum: "EQUALS" "LIKE" "NOT_EQUALS" "IS_NULL" "IS_NOT_NULL" "BETWEEN" "GREATER_THAN" "GREATER_THAN_OR_EQUAL" "LESS_THAN" "LESS_THAN_OR_EQUAL" "CONTAINS" "NOT_CONTAINS"
property
required
string
Enum: "parentComponentId" "parentVersion" "componentId" "type"
argument
Array of strings

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

Content type
Example
{
  • "QueryFilter": {
    • "expression": {
      }
    }
}

Response samples

Content type
{
  • "@type": "QueryResult",
  • "result": [
    • {
      }
    ],
  • "numberOfResults": 1
}

Retrieves additional results for a ComponentReference query

To learn about using queryMore, refer to the topic Query paging.

Authorizations:
basicAuth
Request Body schema: text/plain
required
string

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

Content type
{
  • "@type": "QueryResult",
  • "result": [
    • {
      }
    ],
  • "numberOfResults": 1
}