Skip to main content

sailpoint.business_applications.BusinessApplicationsApi

A Business Application groups machine identities (for example AI agents or applications) under a common owner and sanctioned status. Business Applications can be defined out-of-the-box, discovered from a source, or created by an administrator. Signatures on a Business Application drive automatic correlation of machine identities to it; sanctioned status is independent metadata that machine identities inherit once linked. All URIs are relative to https://sailpoint.api.identitynow.com

MethodHTTP requestDescription
create-business-application-v1POST /business-applications/v1Create Business Application
get-business-application-v1GET /business-applications/v1/{id}Get Business Application
get-mcp-server-counts-v1GET /business-applications/v1/mcp-servers/countGet MCP server counts
get-mcp-server-v1GET /business-applications/v1/mcp-servers/{id}Get MCP server
list-business-applications-v1GET /business-applications/v1List Business Applications
list-mcp-server-connected-agents-v1GET /business-applications/v1/mcp-servers/{id}/connected-agentsList MCP server connected agents
list-mcp-servers-v1GET /business-applications/v1/mcp-serversList MCP servers
update-business-application-v1PATCH /business-applications/v1/{id}Update Business Application

create-business-application-v1​

experimental

This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.

setting x-sailpoint-experimental header

on the configuration object you can set the x-sailpoint-experimental header to `true' to enable all experimantl endpoints within the SDK. Example:

configuration = Configuration()
configuration.experimental = True

Create Business Application Creates a custom Business Application. Requires the idn:business-application:create right, the Machine Identity Security product to be enabled, and the custom Business Application feature to be enabled for the tenant. The name must be unique within the tenant, and any provided signatures must not already be assigned to another Business Application.

API Spec

Parameters​

Param TypeNameData TypeRequiredDescription
Bodybusiness_applicationBusinessApplicationTrue
x_sail_point_experimentalstr(optional) (default to 'true')Use this header to enable this experimental API.

Return type​

BusinessApplication

Responses​

CodeDescriptionData TypeResponse headers
200The created Business Application.BusinessApplication-
400Client Error - Returned if the request body is invalid, for example a missing or blank `name`, an unrecognized signature `type`, or a duplicate `(type, name)` signature pair within the request.ErrorResponseDto-
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListBusinessApplicationsV1401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
409Conflict - Returned if the `name` is already in use by another Business Application in the tenant, or if a requested signature is already assigned to another Business Application.ErrorResponseDto-
429Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.ListBusinessApplicationsV1429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers​

  • Content-Type: application/json
  • Accept: application/json

Example​

from sailpoint.business_applications.api.business_applications_api import BusinessApplicationsApi
from sailpoint.business_applications.api_client import ApiClient
from sailpoint.business_applications.models.business_application import BusinessApplication
from sailpoint.configuration import Configuration
configuration = Configuration()

configuration.experimental = True

with ApiClient(configuration) as api_client:
business_application = '''{
"owner" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"vendor" : "Cursor",
"created" : "2026-01-15T13:45:12.312Z",
"origin" : "",
"name" : "Cursor",
"description" : "AI coding assistant used by the platform engineering team.",
"modified" : "2026-02-20T09:31:47.882Z",
"id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"source" : {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
},
"signatures" : [ {
"name" : "cursor",
"type" : "AI Agent"
}, {
"name" : "cursor",
"type" : "AI Agent"
} ],
"additionalOwners" : [ {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
}, {
"name" : "William Wilson",
"id" : "2c91808568c529c60168cca6f90c1313",
"type" : "IDENTITY"
} ],
"sanctionedStatus" : ""
}''' # BusinessApplication |
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (optional) (default to 'true') # str | Use this header to enable this experimental API. (optional) (default to 'true')

try:
# Create Business Application
new_business_application = BusinessApplication.from_json(business_application)
results = BusinessApplicationsApi(api_client).create_business_application_v1(business_application=new_business_application)
# Below is a request that includes all optional parameters
# results = BusinessApplicationsApi(api_client).create_business_application_v1(new_business_application, x_sail_point_experimental)
print("The response of BusinessApplicationsApi->create_business_application_v1:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BusinessApplicationsApi->create_business_application_v1: %s\n" % e)

[Back to top]

get-business-application-v1​

experimental

This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.

setting x-sailpoint-experimental header

on the configuration object you can set the x-sailpoint-experimental header to `true' to enable all experimantl endpoints within the SDK. Example:

configuration = Configuration()
configuration.experimental = True

Get Business Application Returns a single Business Application by ID for the requesting tenant. Requires the idn:business-application:read right and the Machine Identity Security product to be enabled.

API Spec

Parameters​

Param TypeNameData TypeRequiredDescription
PathidstrTrueBusiness Application ID.
x_sail_point_experimentalstr(optional) (default to 'true')Use this header to enable this experimental API.

Return type​

BusinessApplication

Responses​

CodeDescriptionData TypeResponse headers
200A Business Application object.BusinessApplication-
400Client Error - Returned if the request body is invalid.ErrorResponseDto-
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListBusinessApplicationsV1401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
404Not Found - Returned if no Business Application exists for the given ID.ErrorResponseDto-
429Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.ListBusinessApplicationsV1429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

from sailpoint.business_applications.api.business_applications_api import BusinessApplicationsApi
from sailpoint.business_applications.api_client import ApiClient
from sailpoint.business_applications.models.business_application import BusinessApplication
from sailpoint.configuration import Configuration
configuration = Configuration()

configuration.experimental = True

with ApiClient(configuration) as api_client:
id = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890' # str | Business Application ID. # str | Business Application ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (optional) (default to 'true') # str | Use this header to enable this experimental API. (optional) (default to 'true')

try:
# Get Business Application

results = BusinessApplicationsApi(api_client).get_business_application_v1(id=id)
# Below is a request that includes all optional parameters
# results = BusinessApplicationsApi(api_client).get_business_application_v1(id, x_sail_point_experimental)
print("The response of BusinessApplicationsApi->get_business_application_v1:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BusinessApplicationsApi->get_business_application_v1: %s\n" % e)

[Back to top]

get-mcp-server-counts-v1​

experimental

This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.

setting x-sailpoint-experimental header

on the configuration object you can set the x-sailpoint-experimental header to `true' to enable all experimantl endpoints within the SDK. Example:

configuration = Configuration()
configuration.experimental = True

Get MCP server counts Returns tenant-wide MCP server totals: the number of MCP servers, the number with a remote endpoint, and the number of distinct connected AI agents. Requires the idn:business-application:read right and the Machine Identity Security product to be enabled for the tenant. Returns 404 if MCP server discovery is not enabled for the tenant.

API Spec

Parameters​

Param TypeNameData TypeRequiredDescription
x_sail_point_experimentalstr(optional) (default to 'true')Use this header to enable this experimental API.

Return type​

MCPServerCounts

Responses​

CodeDescriptionData TypeResponse headers
200MCP server counts for the tenant.MCPServerCounts-
400Client Error - Returned if the request body is invalid.ErrorResponseDto-
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListBusinessApplicationsV1401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto-
429Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.ListBusinessApplicationsV1429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

from sailpoint.business_applications.api.business_applications_api import BusinessApplicationsApi
from sailpoint.business_applications.api_client import ApiClient
from sailpoint.business_applications.models.mcp_server_counts import MCPServerCounts
from sailpoint.configuration import Configuration
configuration = Configuration()

configuration.experimental = True

with ApiClient(configuration) as api_client:
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (optional) (default to 'true') # str | Use this header to enable this experimental API. (optional) (default to 'true')

try:
# Get MCP server counts

results = BusinessApplicationsApi(api_client).get_mcp_server_counts_v1()
# Below is a request that includes all optional parameters
# results = BusinessApplicationsApi(api_client).get_mcp_server_counts_v1(x_sail_point_experimental)
print("The response of BusinessApplicationsApi->get_mcp_server_counts_v1:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BusinessApplicationsApi->get_mcp_server_counts_v1: %s\n" % e)

[Back to top]

get-mcp-server-v1​

experimental

This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.

setting x-sailpoint-experimental header

on the configuration object you can set the x-sailpoint-experimental header to `true' to enable all experimantl endpoints within the SDK. Example:

configuration = Configuration()
configuration.experimental = True

Get MCP server Returns a single MCP server by ID for the requesting tenant. Requires the idn:business-application:read right and the Machine Identity Security product to be enabled for the tenant. Returns 404 if MCP server discovery is not enabled for the tenant.

API Spec

Parameters​

Param TypeNameData TypeRequiredDescription
PathidstrTrueMCP server ID.
x_sail_point_experimentalstr(optional) (default to 'true')Use this header to enable this experimental API.

Return type​

MCPServer

Responses​

CodeDescriptionData TypeResponse headers
200An MCP server.MCPServer-
400Client Error - Returned if `id` is not a valid UUID.ErrorResponseDto-
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListBusinessApplicationsV1401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
404Not Found - Returned if no MCP server exists for the given ID, or if MCP server discovery is not enabled for the tenant.ErrorResponseDto-
429Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.ListBusinessApplicationsV1429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

from sailpoint.business_applications.api.business_applications_api import BusinessApplicationsApi
from sailpoint.business_applications.api_client import ApiClient
from sailpoint.business_applications.models.mcp_server import MCPServer
from sailpoint.configuration import Configuration
configuration = Configuration()

configuration.experimental = True

with ApiClient(configuration) as api_client:
id = '2ee5e239-e68c-4d69-93fb-6c7ce4576190' # str | MCP server ID. # str | MCP server ID.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (optional) (default to 'true') # str | Use this header to enable this experimental API. (optional) (default to 'true')

try:
# Get MCP server

results = BusinessApplicationsApi(api_client).get_mcp_server_v1(id=id)
# Below is a request that includes all optional parameters
# results = BusinessApplicationsApi(api_client).get_mcp_server_v1(id, x_sail_point_experimental)
print("The response of BusinessApplicationsApi->get_mcp_server_v1:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BusinessApplicationsApi->get_mcp_server_v1: %s\n" % e)

[Back to top]

list-business-applications-v1​

experimental

This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.

setting x-sailpoint-experimental header

on the configuration object you can set the x-sailpoint-experimental header to `true' to enable all experimantl endpoints within the SDK. Example:

configuration = Configuration()
configuration.experimental = True

List Business Applications Returns the list of Business Applications defined for the requesting tenant. Requires the idn:business-application:read right and the Machine Identity Security product to be enabled for the tenant.

API Spec

Parameters​

Param TypeNameData TypeRequiredDescription
Queryfiltersstr(optional)Filter results using the standard syntax described in API Standard Collection Parameters Filtering is supported for the following fields and operators: id: eq name: eq, co vendor: eq, co signatures.type: eq, co signatures.name: eq, co source.name: eq, co sanctionedStatus: eq
Querysortersstr(optional)Sort results using the standard syntax described in API Standard Collection Parameters Sorting is supported for the following fields: id, name, sanctionedStatus
Querycountbool(optional) (default to False)If true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored. Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used. See API Standard Collection Parameters for more information.
Querylimitint(optional) (default to 250)Max number of results to return. See API Standard Collection Parameters for more information.
Queryoffsetint(optional) (default to 0)Offset into the full result set. Usually specified with limit to paginate through the results. See API Standard Collection Parameters for more information.
x_sail_point_experimentalstr(optional) (default to 'true')Use this header to enable this experimental API.

Return type​

List[BusinessApplication]

Responses​

CodeDescriptionData TypeResponse headers
200A list of Business Application objects.List[BusinessApplication]* X-Total-Count - Included when count=true.
400Client Error - Returned if the request body is invalid.ErrorResponseDto-
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListBusinessApplicationsV1401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
429Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.ListBusinessApplicationsV1429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

from sailpoint.business_applications.api.business_applications_api import BusinessApplicationsApi
from sailpoint.business_applications.api_client import ApiClient
from sailpoint.business_applications.models.business_application import BusinessApplication
from sailpoint.configuration import Configuration
configuration = Configuration()

configuration.experimental = True

with ApiClient(configuration) as api_client:
filters = 'sanctionedStatus eq \"SANCTIONED\"' # str | Filter results using the standard syntax described in [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq* **name**: *eq, co* **vendor**: *eq, co* **signatures.type**: *eq, co* **signatures.name**: *eq, co* **source.name**: *eq, co* **sanctionedStatus**: *eq* (optional) # str | Filter results using the standard syntax described in [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq* **name**: *eq, co* **vendor**: *eq, co* **signatures.type**: *eq, co* **signatures.name**: *eq, co* **source.name**: *eq, co* **sanctionedStatus**: *eq* (optional)
sorters = 'name' # str | Sort results using the standard syntax described in [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **id, name, sanctionedStatus** (optional) # str | Sort results using the standard syntax described in [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **id, name, sanctionedStatus** (optional)
count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to False)
limit = 250 # int | Max number of results to return. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 250)
offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 0)
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (optional) (default to 'true') # str | Use this header to enable this experimental API. (optional) (default to 'true')

try:
# List Business Applications

results = BusinessApplicationsApi(api_client).list_business_applications_v1()
# Below is a request that includes all optional parameters
# results = BusinessApplicationsApi(api_client).list_business_applications_v1(filters, sorters, count, limit, offset, x_sail_point_experimental)
print("The response of BusinessApplicationsApi->list_business_applications_v1:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BusinessApplicationsApi->list_business_applications_v1: %s\n" % e)

[Back to top]

list-mcp-server-connected-agents-v1​

experimental

This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.

setting x-sailpoint-experimental header

on the configuration object you can set the x-sailpoint-experimental header to `true' to enable all experimantl endpoints within the SDK. Example:

configuration = Configuration()
configuration.experimental = True

List MCP server connected agents Returns the AI agents connected to an MCP server. Results are sorted by name ascending unless sorters is provided. Filtering is not supported on this endpoint. Requires the idn:business-application:read right and the Machine Identity Security product to be enabled for the tenant. Returns 404 if MCP server discovery is not enabled for the tenant.

API Spec

Parameters​

Param TypeNameData TypeRequiredDescription
PathidstrTrueMCP server ID.
Querysortersstr(optional)Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: created, modified, name, nativeIdentity, owners.primaryIdentity.name, owners.secondaryIdentity.name, source.name, resource.id
Querycountbool(optional) (default to False)If true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored. Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used. See API Standard Collection Parameters for more information.
Querylimitint(optional) (default to 250)Max number of results to return. See API Standard Collection Parameters for more information.
Queryoffsetint(optional) (default to 0)Offset into the full result set. Usually specified with limit to paginate through the results. See API Standard Collection Parameters for more information.
x_sail_point_experimentalstr(optional) (default to 'true')Use this header to enable this experimental API.

Return type​

List[Mcpconnectedagent]

Responses​

CodeDescriptionData TypeResponse headers
200A list of AI agents connected to the MCP server.List[Mcpconnectedagent]* X-Total-Count - Included when count=true.
400Client Error - Returned if `id` is not a valid UUID, if `filters` is provided, or if `sorters` names an unsupported field.ErrorResponseDto-
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListBusinessApplicationsV1401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
404Not Found - Returned if no MCP server exists for the given ID, or if MCP server discovery is not enabled for the tenant.ErrorResponseDto-
429Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.ListBusinessApplicationsV1429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

from sailpoint.business_applications.api.business_applications_api import BusinessApplicationsApi
from sailpoint.business_applications.api_client import ApiClient
from sailpoint.business_applications.models.mcpconnectedagent import Mcpconnectedagent
from sailpoint.configuration import Configuration
configuration = Configuration()

configuration.experimental = True

with ApiClient(configuration) as api_client:
id = '2ee5e239-e68c-4d69-93fb-6c7ce4576190' # str | MCP server ID. # str | MCP server ID.
sorters = 'name' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **created, modified, name, nativeIdentity, owners.primaryIdentity.name, owners.secondaryIdentity.name, source.name, resource.id** (optional) # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **created, modified, name, nativeIdentity, owners.primaryIdentity.name, owners.secondaryIdentity.name, source.name, resource.id** (optional)
count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to False)
limit = 250 # int | Max number of results to return. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 250)
offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 0)
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (optional) (default to 'true') # str | Use this header to enable this experimental API. (optional) (default to 'true')

try:
# List MCP server connected agents

results = BusinessApplicationsApi(api_client).list_mcp_server_connected_agents_v1(id=id)
# Below is a request that includes all optional parameters
# results = BusinessApplicationsApi(api_client).list_mcp_server_connected_agents_v1(id, sorters, count, limit, offset, x_sail_point_experimental)
print("The response of BusinessApplicationsApi->list_mcp_server_connected_agents_v1:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BusinessApplicationsApi->list_mcp_server_connected_agents_v1: %s\n" % e)

[Back to top]

list-mcp-servers-v1​

experimental

This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.

setting x-sailpoint-experimental header

on the configuration object you can set the x-sailpoint-experimental header to `true' to enable all experimantl endpoints within the SDK. Example:

configuration = Configuration()
configuration.experimental = True

List MCP servers Returns the MCP (Model Context Protocol) servers discovered for the requesting tenant. Requires the idn:business-application:read right and the Machine Identity Security product to be enabled for the tenant. Returns 404 if MCP server discovery is not enabled for the tenant.

API Spec

Parameters​

Param TypeNameData TypeRequiredDescription
Queryfiltersstr(optional)Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: serverName: eq, co, sw description: eq, co sanctionedStatus: eq, in remotes: eq Matching on serverName and description is case-insensitive. For remotes, true matches MCP servers with at least one remote endpoint.
Querysortersstr(optional)Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: serverName, description, modified, connectedAgentCount
Querycountbool(optional) (default to False)If true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored. Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used. See API Standard Collection Parameters for more information.
Querylimitint(optional) (default to 250)Max number of results to return. See API Standard Collection Parameters for more information.
Queryoffsetint(optional) (default to 0)Offset into the full result set. Usually specified with limit to paginate through the results. See API Standard Collection Parameters for more information.
x_sail_point_experimentalstr(optional) (default to 'true')Use this header to enable this experimental API.

Return type​

List[MCPServer]

Responses​

CodeDescriptionData TypeResponse headers
200A list of MCP servers.List[MCPServer]* X-Total-Count - Included when count=true.
400Client Error - Returned if the request body is invalid.ErrorResponseDto-
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListBusinessApplicationsV1401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
404Not Found - returned if the request URL refers to a resource or object that does not existErrorResponseDto-
429Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.ListBusinessApplicationsV1429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers​

  • Content-Type: Not defined
  • Accept: application/json

Example​

from sailpoint.business_applications.api.business_applications_api import BusinessApplicationsApi
from sailpoint.business_applications.api_client import ApiClient
from sailpoint.business_applications.models.mcp_server import MCPServer
from sailpoint.configuration import Configuration
configuration = Configuration()

configuration.experimental = True

with ApiClient(configuration) as api_client:
filters = 'serverName sw \"io.github\"' # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **serverName**: *eq, co, sw* **description**: *eq, co* **sanctionedStatus**: *eq, in* **remotes**: *eq* Matching on `serverName` and `description` is case-insensitive. For `remotes`, `true` matches MCP servers with at least one remote endpoint. (optional) # str | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **serverName**: *eq, co, sw* **description**: *eq, co* **sanctionedStatus**: *eq, in* **remotes**: *eq* Matching on `serverName` and `description` is case-insensitive. For `remotes`, `true` matches MCP servers with at least one remote endpoint. (optional)
sorters = '-connectedAgentCount' # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **serverName, description, modified, connectedAgentCount** (optional) # str | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **serverName, description, modified, connectedAgentCount** (optional)
count = False # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to False) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to False)
limit = 250 # int | Max number of results to return. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 250) # int | Max number of results to return. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 250)
offset = 0 # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 0) # int | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [API Standard Collection Parameters](https://developer.sailpoint.com/docs/api/standard-collection-parameters) for more information. (optional) (default to 0)
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (optional) (default to 'true') # str | Use this header to enable this experimental API. (optional) (default to 'true')

try:
# List MCP servers

results = BusinessApplicationsApi(api_client).list_mcp_servers_v1()
# Below is a request that includes all optional parameters
# results = BusinessApplicationsApi(api_client).list_mcp_servers_v1(filters, sorters, count, limit, offset, x_sail_point_experimental)
print("The response of BusinessApplicationsApi->list_mcp_servers_v1:\n")
for item in results:
print(item.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BusinessApplicationsApi->list_mcp_servers_v1: %s\n" % e)

[Back to top]

update-business-application-v1​

experimental

This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.

setting x-sailpoint-experimental header

on the configuration object you can set the x-sailpoint-experimental header to `true' to enable all experimantl endpoints within the SDK. Example:

configuration = Configuration()
configuration.experimental = True

Update Business Application Updates a Business Application using the JSON Patch standard. Requires the idn:business-application:update right and the Machine Identity Security product to be enabled. Patchable fields: name, description, owner, additionalOwners, sanctionedStatus, and signatures. Modifying signatures additionally requires the custom Business Application feature to be enabled.

API Spec

Parameters​

Param TypeNameData TypeRequiredDescription
PathidstrTrueBusiness Application ID.
Bodyjson_patch_operation[]JsonPatchOperationTrueA JSON array of patch operations per RFC 6902.
x_sail_point_experimentalstr(optional) (default to 'true')Use this header to enable this experimental API.

Return type​

BusinessApplication

Responses​

CodeDescriptionData TypeResponse headers
200The updated Business Application.BusinessApplication-
400Client Error - Returned if the patch is malformed, targets a non-patchable field, clears the required `name`, or specifies an invalid signature.ErrorResponseDto-
401Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.ListBusinessApplicationsV1401Response-
403Forbidden - Returned if the user you are running as, doesn't have access to this end-point.ErrorResponseDto-
404Not Found - Returned if no Business Application exists for the given ID.ErrorResponseDto-
409Conflict - Returned if the new `name` is already in use by another Business Application in the tenant, or if a requested signature is already assigned to another Business Application.ErrorResponseDto-
429Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.ListBusinessApplicationsV1429Response-
500Internal Server Error - Returned if there is an unexpected error.ErrorResponseDto-

HTTP request headers​

  • Content-Type: application/json-patch+json, application/json
  • Accept: application/json

Example​

from sailpoint.business_applications.api.business_applications_api import BusinessApplicationsApi
from sailpoint.business_applications.api_client import ApiClient
from sailpoint.business_applications.models.business_application import BusinessApplication
from sailpoint.business_applications.models.json_patch_operation import JsonPatchOperation
from sailpoint.configuration import Configuration
configuration = Configuration()

configuration.experimental = True

with ApiClient(configuration) as api_client:
id = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890' # str | Business Application ID. # str | Business Application ID.
json_patch_operation = '''[{"op":"replace","path":"/sanctionedStatus","value":"SANCTIONED"}]''' # List[JsonPatchOperation] | A JSON array of patch operations per RFC 6902.
x_sail_point_experimental = 'true' # str | Use this header to enable this experimental API. (optional) (default to 'true') # str | Use this header to enable this experimental API. (optional) (default to 'true')

try:
# Update Business Application
new_json_patch_operation = JsonPatchOperation.from_json(json_patch_operation)
results = BusinessApplicationsApi(api_client).update_business_application_v1(id=id, json_patch_operation=new_json_patch_operation)
# Below is a request that includes all optional parameters
# results = BusinessApplicationsApi(api_client).update_business_application_v1(id, new_json_patch_operation, x_sail_point_experimental)
print("The response of BusinessApplicationsApi->update_business_application_v1:\n")
print(results.model_dump_json(by_alias=True, indent=4))
except Exception as e:
print("Exception when calling BusinessApplicationsApi->update_business_application_v1: %s\n" % e)

[Back to top]