Boomi Data Integration API Reference (1.0.0) - Connections
UpdatedΒ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.
Get Connections
Authorization scope: connection:list
Get all connection entities as a paginated list
π Instructions for usage
list_connections
List all connections in an environment (sweeps every page in one call).
Returns {items, total_items, page, has_next}. Each item includes connection_name,
connection_type, connection_type_id, and cross_id; use cross_id as connection_id
when creating data flows. If the upstream 500s on a specific page, that page is
skipped and its number is reported under "incomplete_pages" rather than failing
the whole listing.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
query Parameters
| items_per_page | integer (Items Per Page) [ 1 .. 500 ] Default: 20 The number of items per page in the paginated list. |
| page | integer (Page) >= 1 Default: 1 The current page number in the paginated list. |
Responses
Response Schema: application/json
| current_page_size required | integer (Current Page Size) The current page size |
| account_id required | string (Account Id) The account id |
| environment_id required | string (Environment Id) The environment id |
required | Array of objects (Items) |
Next Page (string) or Next Page (null) (Next Page) The next page URL | |
Previous Page (string) or Previous Page (null) (Previous Page) The previous page URL | |
| page | integer (Page) Default: 1 The page number |
| total_items | integer (Total Items) Default: 0 The total number of entities fetched |
Response samples
- 200
- 422
{- "next_page": "string",
- "previous_page": "string",
- "page": 1,
- "current_page_size": 0,
- "total_items": 0,
- "account_id": "string",
- "environment_id": "string",
- "items": [
- {
- "account_id": "string",
- "environment_id": "string",
- "cross_id": "5f887c764c40e5598f717676",
- "_id": "5f887c764c40e5598f717676",
- "connection_name": "test connection",
- "connection_type": "Oracle",
- "connection_type_id": "oracle",
- "is_test_connection": false,
- "connection_update_by": "5f887c764c40e5598f717676",
- "connection_update_time": "2019-08-24T14:15:22Z"
}
]
}Add Connection
Authorization scope: connection:edit
Creates a new connection entity.
The connection type is resolved from the required source_name (the name of a data source
or target). A connection_type may still be provided explicitly, in which case it is
validated and takes precedence. An optional segment disambiguates a source_name
available as both a source and a target (e.g. "snowflake").
π Instructions for usage
create_connection
Create a new connection. body must match the CreateConnection API schema.
NOT ALL CONNECTION TYPES CAN BE CREATED HERE. Connections that authenticate
via OAuth (e.g. Google services, Salesforce, HubSpot, Facebook/Meta, LinkedIn,
and similar β anything that needs a browser sign-in / "Connect with..." flow)
CANNOT be created through this tool, because OAuth requires an interactive
browser consent step. For those, tell the user:
"This connection uses OAuth β please create it in the Boomi Data Integration
console, then I can use it here."
REQUIRED before calling this tool:
1. Confirm with the user whether the connection will be used as a source or a
target β ask if the intent is not already clear from context.
2. Call get_connection_source_names to obtain the list of valid source_names
and their connection_types per segment.
3. Select the exact source_name (and segment when the name appears for both
source and target) from that list, and use the returned connection_type.
Do not guess or invent source_name or connection_type values (e.g. "postgres"
is not a valid source_name unless it was returned by get_connection_source_names).
Build the request body only from values that came back from that call.
This tool works for connections that authenticate with credentials you can
supply directly (host/port/user/password/keys), e.g. databases like mysql,
postgresql, mssql, snowflake, bigquery, redshift, mongodb.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
Request Body schema: application/jsonrequired
| connection_name required | string (Connection Name) The name of the connection |
Source Name (string) or Source Name (null) (Source Name) Optional. The source_name of the data source or target the connection is created for; the connection type is resolved from it. Provide this or 'connection_type'. Do not guess this value: call the 'get_connection_source_names' endpoint first and use one of the returned source_names verbatim. | |
ConnectionSegmentEnum (string) or null Optional. Disambiguates a source_name that is available as both a source and a target (e.g. 'snowflake'). One of 'source' or 'target'. | |
Connection Type (string) or Connection Type (null) (Connection Type) Optional. The connection type. When omitted it is resolved from 'source_name'. When provided it is validated to exist and takes precedence. Do not guess this value: resolve it from 'source_name' by calling 'get_connection_source_names' and using the 'connection_type' on the matching entry. | |
| property name* additional property | any |
Responses
Request samples
- Payload
{- "source_name": "snowflake",
- "connection_name": "my connection",
- "segment": "source",
- "connection_type": "snowflake"
}Response samples
- 201
- 422
{ }Get Connection Source Names
Authorization scope: connection:list
List the source_names available for creating a connection.
Each entry carries a source_name, its segment, and the resolved connection_type.
To create a connection end to end:
1. Pick a source_name (and segment if the same source_name is returned for both
source and target).
2. Pass its connection_type to GET /connections_types/{connection_type} to retrieve the
properties (fields) that connection type accepts.
3. Call the create-connection endpoint with the source_name (and segment) plus those
fields as top-level entries in the request body.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
Responses
Response Schema: application/json
required | Array of objects (Source Names) | ||||||
Array
| |||||||
Response samples
- 200
- 422
{- "source_names": [
- {
- "source_name": "snowflake",
- "segment": "source",
- "connection_type": "snowflake"
}
]
}Create Connection Link
Authorization scope: connection:share
Generate a single-use link that lets a third party work on one connection.
The link can be sent to someone outside the tenant (a customer, a partner) so they can fill in connection credentials without being given access to the account. It expires after at most 24 hours and is spent as soon as it is used.
Two modes:
*** To have a new connection created, provide either a source_name or an explicit**
connection_type.
*** To have an existing connection updated, provide its connection_id. The link opens**
that connection with its current values filled in - passwords shown as a mask - and can be
used on that connection only.
Both modes work for every connection type: the console opens whichever connection form the data source belongs to.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
Request Body schema: application/jsonrequired
Connection Id (string) or Connection Id (null) (Connection Id) Optional. The id of an existing connection to share for editing. When provided the link opens that connection with its current values filled in, and neither 'source_name' nor 'connection_type' is needed. The link can only be used on this connection - it cannot create or edit any other one. | |
Source Name (string) or Source Name (null) (Source Name) Optional. The source_name of the data source or target the link creates a connection for; the connection type is resolved from it. Provide this or 'connection_type'. Do not guess this value: call the 'get_connection_source_names' endpoint first and use a returned source_name verbatim. | |
ConnectionSegmentEnum (string) or null Optional. Disambiguates a source_name that is available as both a source and a target (e.g. 'snowflake'). One of 'source' or 'target'. | |
Connection Type (string) or Connection Type (null) (Connection Type) Optional. The connection type. When omitted it is resolved from 'source_name'. When provided it is validated to exist and takes precedence. |
Responses
Request samples
- Payload
{- "connection_id": "5f887c764c40e5598f717676",
- "source_name": "snowflake",
- "segment": "source",
- "connection_type": "snowflake"
}Response samples
- 201
- 422
{- "expires_at": "2019-08-24T14:15:22Z"
}Test Connection By Id
Authorization scope: connection:edit
This endpoint triggers a connectivity test for an existing, saved connection.
connection_id is the connection's cross_id, not the Mongo document's _id.
Be advised: the test is an async operation, which means that
after triggering it, the client must poll the returned operation
(via GET .../operations/{operation_id}) until it reaches a terminal status (D or E).
π Instructions for usage
test_connection_by_id
Trigger a live connectivity test for an existing, saved connection.
Submits a test-connection pull request to the v1 API and returns an
async operation handle immediately (status "W"). This does NOT confirm
success or failure by itself.
Poll GET /accounts/{a}/environments/{e}/operations/{operation_id} (the
operation_id from this response) until status reaches a terminal value:
"D" (done) or "E" (error). Do NOT poll in a tight loop β wait a few seconds
between checks. When done, `result` indicates whether the connection is
valid and `error_message` carries the failure reason if not.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| connection_id required | string (Connection Id) |
| environment_id required | string (Environment Id) |
Responses
Response samples
- 202
- 422
{- "operation_id": "62e7f4352c13160013dc39be",
- "operation_type": "dataframe",
- "run_id": "5cbc6bbbc90a4658b00c70a3bb0f3b31",
- "last_update_date": "2022-08-02T13:38:44.054000",
- "status": "D",
- "result": "true",
- "error_message": "[RVR-QBK-003]: Response value error: Missing Rows/Columns"
}Update Connection
Authorization scope: connection:edit
This endpoint updates a connection
π Instructions for usage
update_connection
Update an existing connection.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
| cross_id required | string (Cross Id) |
Request Body schema: application/jsonrequired
Responses
Response Schema: application/json
Request samples
- Payload
{ }Response samples
- 200
- 422
{ }Delete Connection
Authorization scope: connection:delete
This endpoint deletes a connection
π Instructions for usage
delete_connection
Delete a connection.
The upstream DELETE returns an empty body on success; this returns
{"deleted": true, "connection_id": ...}.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
| connection_cross_id required | string (Connection Cross Id) |
Responses
Response Schema: application/json
Response samples
- 200
- 422
nullAdd File
Authorization scope: connection:edit
Uploads a connection file. e.g. a pem file.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
| connection_type required | string (Connection Type) |
Request Body schema: multipart/form-datarequired
| file required | string <binary> (File) |
Responses
Response samples
- 201
- 422
{- "file_path": "string"
}Get Connections Types
Authorization scope: connection:list
Get all connection types entities as a paginated list
Authorizations:
query Parameters
| items_per_page | integer (Items Per Page) [ 1 .. 1000 ] Default: 20 The number of items per page in the paginated list. |
| page | integer (Page) >= 1 Default: 1 The current page number in the paginated list. |
Responses
Response Schema: application/json
| current_page_size required | integer (Current Page Size) The current page size |
required | Array of objects (Items) |
Next Page (string) or Next Page (null) (Next Page) The next page URL | |
Previous Page (string) or Previous Page (null) (Previous Page) The previous page URL | |
| page | integer (Page) Default: 1 The page number |
| total_items | integer (Total Items) Default: 0 The total number of entities fetched |
Response samples
- 200
- 422
{- "current_page_size": 1,
- "items": [
- {
- "fields": {
- "_id": "5643062270ec07e624d4320d",
- "allowed_file_extensions": [ ],
- "connection_type": "spotx",
- "connection_type_name": "SpotX",
- "has_key_file": false,
- "is_test_connection": true,
- "oauth2": false,
- "properties": [
- {
- "id": "username",
- "type": "string",
- "ui_type": "text",
- "display_name": "Username",
- "row": 0
}, - {
- "id": "password",
- "type": "password",
- "ui_type": "password",
- "display_name": "Password",
- "row": 1
}, - {
- "id": "connection_name",
- "type": "string"
}, - {
- "id": "connection_desc",
- "type": "string"
}
]
}
}
], - "page": 1,
- "total_items": 189
}Get Connection Type
Authorization scope: connection:list
Get a specific connection type entity
Authorizations:
path Parameters
| connection_type required | string (Connection Type) |
Responses
Response Schema: application/json
| connection_type required | string (Connection Type) |
| connection_type_name required | string (Connection Type Name) |
| properties required | Array of objects (Properties) |
Message (string) or Message (null) (Message) Set when the connection type has no API-fillable fields (all its fields are interactive-only), explaining that it can only be created through the UI. |
Response samples
- 200
- 422
{- "connection_type": "string",
- "connection_type_name": "string",
- "properties": [
- { }
], - "message": "string"
}Get Connections
Authorization scope: connection:list
Get all connection entities as a paginated list
π Instructions for usage
list_connections
List all connections in an environment (sweeps every page in one call).
Returns {items, total_items, page, has_next}. Each item includes connection_name,
connection_type, connection_type_id, and cross_id; use cross_id as connection_id
when creating data flows. If the upstream 500s on a specific page, that page is
skipped and its number is reported under "incomplete_pages" rather than failing
the whole listing.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
query Parameters
| items_per_page | integer (Items Per Page) [ 1 .. 500 ] Default: 20 The number of items per page in the paginated list. |
| page | integer (Page) >= 1 Default: 1 The current page number in the paginated list. |
Responses
Response Schema: application/json
| current_page_size required | integer (Current Page Size) The current page size |
| account_id required | string (Account Id) The account id |
| environment_id required | string (Environment Id) The environment id |
required | Array of objects (Items) |
Next Page (string) or Next Page (null) (Next Page) The next page URL | |
Previous Page (string) or Previous Page (null) (Previous Page) The previous page URL | |
| page | integer (Page) Default: 1 The page number |
| total_items | integer (Total Items) Default: 0 The total number of entities fetched |
Response samples
- 200
- 422
{- "next_page": "string",
- "previous_page": "string",
- "page": 1,
- "current_page_size": 0,
- "total_items": 0,
- "account_id": "string",
- "environment_id": "string",
- "items": [
- {
- "account_id": "string",
- "environment_id": "string",
- "cross_id": "5f887c764c40e5598f717676",
- "_id": "5f887c764c40e5598f717676",
- "connection_name": "test connection",
- "connection_type": "Oracle",
- "connection_type_id": "oracle",
- "is_test_connection": false,
- "connection_update_by": "5f887c764c40e5598f717676",
- "connection_update_time": "2019-08-24T14:15:22Z"
}
]
}Add Connection
Authorization scope: connection:edit
Creates a new connection entity.
The connection type is resolved from the required source_name (the name of a data source
or target). A connection_type may still be provided explicitly, in which case it is
validated and takes precedence. An optional segment disambiguates a source_name
available as both a source and a target (e.g. "snowflake").
π Instructions for usage
create_connection
Create a new connection. body must match the CreateConnection API schema.
NOT ALL CONNECTION TYPES CAN BE CREATED HERE. Connections that authenticate
via OAuth (e.g. Google services, Salesforce, HubSpot, Facebook/Meta, LinkedIn,
and similar β anything that needs a browser sign-in / "Connect with..." flow)
CANNOT be created through this tool, because OAuth requires an interactive
browser consent step. For those, tell the user:
"This connection uses OAuth β please create it in the Boomi Data Integration
console, then I can use it here."
REQUIRED before calling this tool:
1. Confirm with the user whether the connection will be used as a source or a
target β ask if the intent is not already clear from context.
2. Call get_connection_source_names to obtain the list of valid source_names
and their connection_types per segment.
3. Select the exact source_name (and segment when the name appears for both
source and target) from that list, and use the returned connection_type.
Do not guess or invent source_name or connection_type values (e.g. "postgres"
is not a valid source_name unless it was returned by get_connection_source_names).
Build the request body only from values that came back from that call.
This tool works for connections that authenticate with credentials you can
supply directly (host/port/user/password/keys), e.g. databases like mysql,
postgresql, mssql, snowflake, bigquery, redshift, mongodb.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
Request Body schema: application/jsonrequired
| connection_name required | string (Connection Name) The name of the connection |
Source Name (string) or Source Name (null) (Source Name) Optional. The source_name of the data source or target the connection is created for; the connection type is resolved from it. Provide this or 'connection_type'. Do not guess this value: call the 'get_connection_source_names' endpoint first and use one of the returned source_names verbatim. | |
ConnectionSegmentEnum (string) or null Optional. Disambiguates a source_name that is available as both a source and a target (e.g. 'snowflake'). One of 'source' or 'target'. | |
Connection Type (string) or Connection Type (null) (Connection Type) Optional. The connection type. When omitted it is resolved from 'source_name'. When provided it is validated to exist and takes precedence. Do not guess this value: resolve it from 'source_name' by calling 'get_connection_source_names' and using the 'connection_type' on the matching entry. | |
| property name* additional property | any |
Responses
Request samples
- Payload
{- "source_name": "snowflake",
- "connection_name": "my connection",
- "segment": "source",
- "connection_type": "snowflake"
}Response samples
- 201
- 422
{ }Test Connection By Id
Authorization scope: connection:edit
This endpoint triggers a connectivity test for an existing, saved connection.
connection_id is the connection's cross_id, not the Mongo document's _id.
Be advised: the test is an async operation, which means that
after triggering it, the client must poll the returned operation
(via GET .../operations/{operation_id}) until it reaches a terminal status (D or E).
π Instructions for usage
test_connection_by_id
Trigger a live connectivity test for an existing, saved connection.
Submits a test-connection pull request to the v1 API and returns an
async operation handle immediately (status "W"). This does NOT confirm
success or failure by itself.
Poll GET /accounts/{a}/environments/{e}/operations/{operation_id} (the
operation_id from this response) until status reaches a terminal value:
"D" (done) or "E" (error). Do NOT poll in a tight loop β wait a few seconds
between checks. When done, `result` indicates whether the connection is
valid and `error_message` carries the failure reason if not.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| connection_id required | string (Connection Id) |
| environment_id required | string (Environment Id) |
Responses
Response samples
- 202
- 422
{- "operation_id": "62e7f4352c13160013dc39be",
- "operation_type": "dataframe",
- "run_id": "5cbc6bbbc90a4658b00c70a3bb0f3b31",
- "last_update_date": "2022-08-02T13:38:44.054000",
- "status": "D",
- "result": "true",
- "error_message": "[RVR-QBK-003]: Response value error: Missing Rows/Columns"
}Update Connection
Authorization scope: connection:edit
This endpoint updates a connection
π Instructions for usage
update_connection
Update an existing connection.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
| cross_id required | string (Cross Id) |
Request Body schema: application/jsonrequired
Responses
Response Schema: application/json
Request samples
- Payload
{ }Response samples
- 200
- 422
{ }Delete Connection
Authorization scope: connection:delete
This endpoint deletes a connection
π Instructions for usage
delete_connection
Delete a connection.
The upstream DELETE returns an empty body on success; this returns
{"deleted": true, "connection_id": ...}.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
| connection_cross_id required | string (Connection Cross Id) |
Responses
Response Schema: application/json
Response samples
- 200
- 422
null