Boomi Partner API
The Boomi Enterprise Platform Partner API provides partners with programmatic access to the secondary accounts that they manage.
The Partner API shares many of the same implementation details as the standard Boomi Enterprise Platform API. The main differences between the two APIs are:
-
In addition to the standard Boomi Enterprise Platform API operations, the Partner API supports certain operations that are not available in the standard API:
-
Account CREATE and DELETE operations
-
Cancel Execution and Account Provision operations
-
-
Most Boomi Partner API requests take an optional account override parameter that you can use to override the authenticated account. For a RESTish, implementation the parameter is
overrideAccount. For SOAP, the parameter is calledaccountId.The account override parameter enables you to perform a request against the specified account; the override value becomes the effective account that runs the call. For example, if the authenticated account is primary, a request can override the account ID with Sub01 to perform the request on Sub01 rather than primary. Of course, the primary account must be in the hierarchy of the Sub01 account for the request to pass authorization and authentication logic.
The Account CREATE and DELETE operations and the Account Provision operation do not support the account override parameter.
The Boomi Enterprise Platform Partner API connector enables partner accounts to perform API object-based operations and actions within their integration processes. You can override the account to which a request applies by defining a process property called boomiPartnerApi-overrideAccountId in the Boomi Enterprise Platform Partner API connector operation.
For Boomi Partner API calls, rate limits are specific to each account (primary or override).
- The rate limit applied is based on the account specified in the API call request body.
- The application of the override account's rate limit depends on the
overrideAccountRateLimitproperty setting in the primary account.- If enabled, the override account's rate limit applies.
- If disabled, the primary account's rate limit applies.
- If an API request does not specify an override account, the primary account's rate limit is applied, even if the
overrideAccountRateLimitproperty is enabled.
Contact your Boomi representative to enable the overrideAccountRateLimit feature for your account.
You must explicitly enable access to the Boomi Partner API. Contact your representative to allow the Partner API for your account.
Namespace usage in SOAP implementations
One thing to keep in mind when working with SOAP is that the Partner API uses namespaces differently than the standard Boomi Enterprise Platform API does:
-
The Boomi Enterprise Platform API uses
http://api.platform.boomi.comas its primary namespace, and the prefix isapi:. -
The Partner API uses:
-
A unique namespace for its structure (
http://partner.api.platform.boomi.comwith a prefix ofpar:). -
The standard Boomi Enterprise Platform API namespace for identifying objects (
http://api.platform.boomi.com/with a prefix ofapi:).
-
Furthermore, most Boomi Partner API operations, including GET, QUERY, DELETE, EXECUTE, and the action-based operations, leverage namespaces at every level of a request. However, the CREATE and UPDATE operations do not use a namespace for wrapper elements such as object and accountId.
Unlike the SOAP implementation, the RESTish implementation of the Partner API uses the standard Boomi Enterprise Platform API namespace for both structure and objects.
Partner API implementation
- REST
- SOAP
Most Partner API RESTish requests take an optional account ID parameter that you can use to set the effective account. In addition, it adds the account override parameter to each request as a query string parameter called overrideAccount.
The following two code samples illustrate the difference between the Boomi Enterprise Platform API GET request and the Partner API GET request for a Deployment object.
Boomi Enterprise Platform API GET
https://api.boomi.com/api/rest/v1/{YOUR_ACCOUNT_ID}/Deployment/XXXXX
Partner API GET
https://api.boomi.com/partner/api/rest/v1/{YOUR_ACCOUNT_ID}/Deployment/XXXXX?overrideAccount=OVERRIDE_ACCOUNT_ID
For all requests, the structure of responses from the Boomi Enterprise Platform API and the Partner API are the same.
Integration-specific Boomi Enterprise Platform API and Partner REST APIs are also available from the OpenAPI 3.0 specification. Because OpenAPI 3.0 is language agnostic, it enables users to easily discover available Integration API and Partner API objects and actions, test requests and responses, and understand the API's functionality. For more information, refer to the topic OpenAPI 3.0.
The location of the Web Services Description Language (WSDL) for Boomi Partner API SOAP calls is:
https://api.boomi.com/partner/api/soap/v1/{accountID}?wsdl
where accountID is your account ID.
HTTP Basic Authentication protects the WSDL, so you must use your Boomi Enterprise Platform API token or user name and password to obtain access. WS-Security protects each SOAP request using a UsernameToken, where it passes the password as PasswordText.
Most Partner API SOAP requests take an optional accountId parameter that you can use to set the effective account. In addition, it adds the account override parameter to each request as the last parameter.
- GET
- QUERY
- UPDATE
The following two code samples illustrate the difference between the Boomi Enterprise Platform API GET request and the Partner API GET request for a Deployed Package object.
Boomi Enterprise Platform API
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com/">
<soapenv:Body>
<api:get>
<api:objectType>DeployedPackage</api:objectType>
<api:objectId>75bdf0f7-e9d5-46f7-b90f-37e77df03c0a</api:objectId>
</api:get>
</soapenv:Body>
</soapenv:Envelope>
Partner API
Note the following differences:
-
The
xmlnsattribute specifies the Boomi Partner API namespace (https://partner.api.platform.boomi.com). -
It uses the namespace prefix
par:instead ofapi:. -
It uses the optional
accountIDparameter to override the authenticated account.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://partner.api.platform.boomi.com/">
<soapenv:Body>
<par:get>
<par:objectType>DeployedPackage</par:objectType>
<par:objectId>75bdf0f7-e9d5-46f7-b90f-37e77df03c0a</par:objectId>
<par:accountId>OVERRIDE_ACCOUNT_ID</par:accountId>
</par:get>
</soapenv:Body>
</soapenv:Envelope>
The following two code samples illustrate the difference between the Boomi Enterprise Platform API QUERY request and the Partner API QUERY request for an Execution Record object.
Boomi Enterprise Platform API
<soapenv:Envelope xmlns:api="http://api.platform.boomi.com/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<api:query>
<api:objectType>ExecutionRecord</api:objectType>
<api:queryConfig>
<api:QueryFilter>
<api:expression operator='BETWEEN' property='executionTime' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:type='SimpleExpression'>
<api:argument>2011-01-01T12:00:00Z</api:argument>
<api:argument>2011-02-01T12:00:00Z</api:argument>
</api:expression>
</api:QueryFilter>
</api:queryConfig>
</api:query>
</soapenv:Body>
</soapenv:Envelope>
Partner API
<soapenv:Envelope xmlns:api="http://api.platform.boomi.com/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:par="http://partner.api.platform.boomi.com/">
<soapenv:Body>
<par:query>
<par:objectType>ExecutionRecord</par:objectType>
<par:queryConfig>
<api:QueryFilter>
<api:expression operator='BETWEEN' property='executionTime' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:type='SimpleExpression'>
<api:argument>2011-01-01T12:00:00Z</api:argument>
<api:argument>2011-02-01T12:00:00Z</api:argument>
</api:expression>
</api:QueryFilter>
</par:queryConfig>
<par:accountId>OVERRIDE_ACCOUNT_ID</par:accountId>
</par:query>
</soapenv:Body>
</soapenv:Envelope>
The following two code samples illustrate the difference between the Boomi Enterprise Platform API UPDATE request and the Partner API UPDATE request for an Account Group object.
Boomi Enterprise Platform API
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.platform.boomi.com">
<soapenv:Body>
<api:update>
<object xsi:type="api:AccountGroup" name="TestGroupRenamed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
accountId ="account-123456" id="fedcba98-7654-3210-fedc-ba9876543210">
</object>
</api:update>
</soapenv:Body>
</soapenv:Envelope>
Partner API
Note the following differences:
-
The
<object>element’sxsi:typeattribute specifies the Boomi Enterprise Platform API namespace (api:) rather than the Partner API namespace. -
The
<accountID>element does not have a namespace.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:par="http://partner.api.platform.boomi.com/"
<soapenv:Body>
<par:update>
<object xsi:type="api:AccountGroup" name="TestGroupRenamed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
id="fedcba98-7654-3210-fedc-ba9876543210">
</object>
<accountId>OVERRIDE_ACCOUNT_ID</accountId>
</par:update>
</soapenv:Body>
</soapenv:Envelope>
For all requests, the structure of responses from the Boomi Enterprise Platform API and the Partner API are the same.