Boomi Data Integration API Reference (1.0.0) - Connections
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 create 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 carries a token scoped to creating a single connection of the resolved type and expires after at most 24 hours.
Provide either a source_name or an explicit connection_type.
Authorizations:
path Parameters
| account_id required | string (Account Id) |
| environment_id required | string (Environment Id) |
Request Body schema: application/jsonrequired
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
{- "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