Waiting for engine...
Skip to main content

Agent Control Tower GraphQL APIs

Currently, the Custom account APIs alone are available as public APIs.

Custom accounts list accounts and agents from providers not currently supported by the Agent Control Tower like the Amazon Bedrock Provider. Custom accounts helps list all your custom agents in one place. You can create multiple accounts representing different services and add, organize, and group agents. They act as an overarching container to manually register and list agents from providers that are currently not supported by Boomi.

The Custom Accounts GraphQL APIs expose many GraphQL queries and mutations to retrieve, create, and update data.

Benefits of Custom Accounts API include:

  • Broader ecosystem support: Seamlessly integrate and manage third-party or custom AI providers not natively supported in ACT.
  • Unified catalog: Centralize all providers, agents, and their relationships with tasks, tools, instructions, and associated models in ACT.
  • Faster onboarding: Eliminate the need for backend enablement. You can directly onboard new providers and agents via APIs.
  • Consistency across UI and API: Providers and agents created via APIs are automatically reflected in the ACT interface for unified visibility.
  • Scalability: Support rapid expansion of the AI ecosystem as new providers emerge, without waiting for native integrations.
  • Auditable: Every creation, update, and deletion is logged for full traceability and governance.

Authentication

  • Your Boomi platform account should have the AI_AGENT_REGISTRY feature enabled.

  • All GraphQL requests require a valid JWT (JSON Web Token) for both authentication and authorization.

    Step 1: Generate a JWT

    Send a GET request to the following endpoint using Basic Authentication. This request returns a JWT in the response:

    https://api.boomi.com/auth/jwt/generate/{accountID}

    Username: BOOMI_TOKEN.username
    Password: <Boomi_Platform_ApiToken>

    To learn how to create a new API token, refer to Adding new API Tokens on a User Account.

    Step 2: Use the JWT for GraphQL API Requests

    Include the JWT in the Authorization header for all GraphQL requests to https://platform.boomi.com/graphql.

    Header format: Authorization: Bearer <JWT>

    note

    JWTs expire every five minutes. You must generate a new token once it expires.

Rate limits

The GraphQL APIs include rate limits to guard against large spikes of incoming requests and to improve share access equally across all incoming requests. Rate limiting is applied to the number of your requests running on each platform instance. Your requests can all go to the same runtime instance or distributed across instances.

If you send a large number of requests in succession, you might get a status code 429 as your error response to the request. This status code means that you sent too many requests. Allow your requests to clear out before you resubmit the requests.

Supported categories

OperationQUERYMUTATION
Provider Account✅ Supported✅ Supported
AI Agent✅ Supported✅ Supported
Large language model✅ Supported✅ Supported
Task✅ Supported✅ Supported
Tools✅ Supported✅ Supported
Guardrails✅ Supported✅ Supported

To learn more about available queries and mutations, refer to Operations. For object details, refer to Types.

Custom Accounts Error Codes

The possible error codes you are likely to encounter:

Error codes
Error CodeError Message
INVALID_CREDENTIALS_INPUTThe credentials provided are either empty, invalid, or incorrectly formatted.
INVALID_CREDENTIALS_KEYThe provided credentials are invalid, preventing successful authentication with the agent provider.
PROVIDER_CONNECTION_FAILEDUnable to establish a connection to the Agent Provider. Please check the connection details and ensure the provider is reachable.
INVALID_INPUTThe provided input contains invalid character or whitespace. Please ensure all inputs are correct and properly formatted.
AUTHENTICATED_ACCOUNT_ID_MISSINGUnable to obtain authenticated account ID.
PAGE_INDEX_INVALIDThe provided page index is invalid. The page number must be 0 or greater. Please ensure the page number is valid.
PAGE_SIZE_INVALIDThe provided page size is invalid. The page size must be greater than 0. Please ensure the page size is valid.
FETCH_AI_PROVIDER_ACCOUNT_ACCOUNT_ERRORUnable to retrieve AI Agent Provider Account Details.
INVALID_PROVIDER_ACCOUNT_IDThe provided provider account id is not in valid UUID format.
TOOL_ALREADY_EXISTSTool with the provided externalId already exists for the supplied provider account ID.
FETCH_AI_AGENT_TAG_ERRORUnable to retrieve AI Agent Tag Details.
INVALID_TOOL_IDThe provided tool id is not in valid UUID format.
INVALID_TASK_IDThe provided task id is not in valid UUID format.
TOOL_NOT_FOUNDTool with the provided ID 0 could not be located.
MISSING_TOOL_ID_OR_EXTERNAL_IDPlease ensure you provide either the Tool ID or the Tool External ID.
STALE_UPDATEUpdate rejected: The provided update at provider's timestamp is not newer.
PROVIDER_ACCOUNT_NOT_FOUNDProvider account not found with the supplied ID 0.
FETCH_AI_AGENT_PROVIDER_ERRORUnable to retrieve AI Agent provider details.
ACCOUNT_NOT_FOUNDThe AI agent provider account corresponding to the supplied ID 0 could not be located.
ACCOUNT_NAME_EMPTYThe supplied provider account name is either empty or null.
INVALID_CREDENTIALSThe provided credentials are either empty or invalid.
INVALID_AUTH_SCHEMAThe provided authentication schema is either empty or not of type AiProviderAuthSchema.
INVALID_METADATA_JSONThe supplied metadata JSON is either empty or invalid.
REGION_REQUIRED_IF_AUTHThe 'region' field is required when the 'authSchema' is set to 0.
UNSUPPORTED_REGIONThe provider region 0 is not supported.
CROSS_ACCOUNT_MONITORING_CONFIG_FAILEDUnable to update cross-account monitoring configuration in region 0.
EXTERNAL_ID_NOT_FOUNDThe External ID required for cross-account monitoring setup could not be found.
PRESIGNED_URL_GENERATION_FAILEDFailed to generate presigned URL for the CloudFormation template.
INVALID_PROVIDER_ACCOUNT_STATUSThe provider account status provided is invalid.
SSM_UPDATE_FAILEDThe SSM update has failed.
INVALID_EXTERNAL_PROVIDER_ACCOUNT_IDThe supplied external provider account ID is either null or empty.
INVALID_CONNECTION_DETAILSThe health check connection failed due to the provided credentials for the authentication schema.
DIFFERENT_EXTERNAL_PROVIDER_ACCOUNT_IDThe credentials supplied correspond to a different external provider account ID than the one linked to the current account.
ACCOUNT_EXISTS_FOR_PROVIDER_ACCOUNT_ID_AND_TYPEAn AI agent registry account already exists for the specified provider account ID 0 and provider type 1.
SYNC_AI_AGENT_TAG_ERRORError syncing tags.
SYNC_PROVIDER_ACCOUNT_ERRORError while syncing Provider Account 0.
FETCH_AI_AGENT_ERRORUnable to retrieve AI Agents Details.
AI_AGENT_NOT_FOUNDAI Agent not found.
AI_AGENT_VERSION_NOT_FOUNDThe specified AI Agent version ID does not correspond to any existing AI Agent version in the registry.
AI_AGENT_TASK_NOT_FOUNDThe specified AI Agent task ID does not correspond to any existing AI Agent task in the registry.
AI_AGENT_TASK_NAME_ALREADY_EXISTAI agent task name already exists. Please use a unique name.
CREATE_AI_AGENT_TASK_ERRORUnexpected error occurred while creating Task for provider account 0. Error: 1.
AI_AGENT_TASK_NAME_REQUIREDAI agent task name is required. Please provide a valid name.
AI_AGENT_TASK_UPDATE_ERRORUnexpected error occurred while updating AI Agent Task. Error: 0.
AI_AGENT_ALIAS_NOT_FOUNDThe specified AI Agent alias ID does not correspond to any existing AI Agent alias in the registry.
AI_AGENT_CREATE_ERRORError while creating AI Agent.
AI_AGENT_UPDATE_ERRORError while updating AI Agent.
AI_AGENT_VERSION_ALREADY_EXISTSAgent and version already exist. Please try updating.
AI_AGENT_VERSION_TAG_ERRORError fetching tags for agent version with ID 0.
AI_AGENT_AUTH_CHECK_ERRORThe logged-in account ID is not allowed to access this agent.
INVALID_TRUST_LEVELThe provided trust level is either null or not of type AiAgentRegistryTrustLevel.
FAILED_TO_ADD_TRUST_LEVELFailed to add trust level for the provided agent version 0.
INVALID_TAG_INPUTThe provided tags input is invalid, null, or empty.
AI_AGENT_BY_VERSION_ERRORError while fetching AI Agent by version ID 0.
AI_AGENT_BY_ALIAS_ERRORError while fetching AI Agent by alias ID 0.
PROVIDER_ACCOUNT_DUPLICATE_CONSTRAINTAn agent provider account with the specified credentials already exists with idp account id 0.
PROVIDER_ACCOUNT_DUPLICATE_NAME_CONSTRAINTThe account provider name already exists in the registry. Please choose a different name.
BEDROCK_ACCOUNT_REGION_IS_CHANGEDThe region field cannot be modified after the AWS Bedrock provider account has been established.
GARDEN_ACCOUNT_ID_IS_CHANGEDThe account ID field cannot be modified after the Boomi Agent Garden provider account has been established.
FAILED_TO_ENABLE_AGENT_VERSIONUnable to enable the specified agent version: 0.
FAILED_TO_DISABLE_AGENT_VERSIONUnable to disable the specified agent version: 0.
FAILED_TO_ENABLE_AGENT_ALIASUnable to enable the specified agent alias: 0.
FAILED_TO_DISABLE_AGENT_ALIASUnable to disable the specified agent alias: 0.
FAILED_TO_DELETE_PROVIDER_ACCOUNTUnable to delete the specified agent provider account: 0.
FAILED_TO_DELETE_OAM_LINKUnable to remove the OAM link in the customer's AWS account for monitoring account 0.
ACCOUNT_NAME_TOO_LONGThe provided provider account name exceeds the maximum limit of 200 characters.
INVALID_CONNECTION_DETAILS_FOR_AWS_BEDROCKConnection validation failed: Invalid credentials or region specified for AWS Bedrock.
PROVIDER_ACCOUNT_SYNC_IN_PROGRESSA synchronization process is currently in progress. Please wait before retrying.
INVALID_PROVIDER_TYPEThe specified agent provider account type is invalid or missing.
FETCH_AI_AGENT_FILTER_ERRORUnable to retrieve AI Agent filter Details.
PROVIDER_ACCOUNT_DESCRIPTION_TOO_LONGThe provider account description exceeds the maximum limit of 1000 characters.
INVALID_LLM_INPUTThe provided LLM input is either null or empty.
AI_AGENT_CREATE_INPUT_NULLThe input provided for AI agent creation is either null or empty.
AI_AGENT_NAME_REQUIREDAI agent name is required.
AI_AGENT_NAME_ALREADY_EXISTAI agent name already exists. Please use a unique name.
VERSION_ID_REQUIREDAI agent version id is required.
NON_CUSTOM_PROVIDER_AGENTThis operation is allowed only for custom provider type.
EXTERNAL_ACCOUNT_ID_REQUIREDAccount ID of the system that has the AI agents is required.
INVALID_AWS_ACCOUNT_IDThe provided AWS account ID 0 is invalid.
FETCH_AI_AGENT_REFRESH_TRACKER_ERRORError while fetching AI Agent Refresh Tracker Status.
FETCH_AI_AGENT_LLMS_ERRORError while fetching AI Agent LLMs for Account: 0.
PROVIDER_ACCOUNT_ID_NOT_FOUNDOne or more specified Provider Account IDs not found.
NO_PROVIDER_ACCOUNTS_FOUNDYour account does not have any provider accounts.
PROVIDER_ACCOUNT_SYNC_DISABLEDAgent sync failed. Syncing has been deactivated for the supplied provider account ID 0.
LICENSE_NOT_FOUND_ERRORLicense Not Found for provided Tier Id.
UPDATE_LICENSE_LIMIT_ERRORError in updating license limit.
UPDATE_IDP_ACCOUNT_TIER_LIMIT_ERRORError in updating IdP Account Tier license limit.
UNABLE_TO_FIND_LICENSE_ASSOCIATION_ERRORUnable to find the License Association for provided account.
INVALID_OFFSETInvalid pagination offset value. Must be ≥ 0.
INVALID_LIMITInvalid pagination limit value. Must be > 0.
OAM_LINK_ALREADY_PRESENT_ERROROam Link is already present from your AWS account to the provider account.
OAM_LINK_CREATION_FAILED_ERROROam Link creation failed.
INVALID_URLThe provided URL is invalid or missing.
UNSUPPORTED_AUTH_SCHEMAInvalid authentication schema 0 for provider 1.
INVALID_CREDENTIALS_JSONThe supplied credentials JSON is either empty or invalid.
INVALID_AGENT_VERSION_IDSThe provided agent version IDs are either empty or null.
NO_LLM_INPUT_PROVIDED_TO_CREATENo LLM input has been provided for creating the LLM.
CREATE_AI_AGENT_LLM_ERRORUnexpected error occurred while creating LLM for provider account 0.
LLM_ALREADY_EXISTSLLM with the provided parameters already exists.
UPDATE_AI_AGENT_LLM_ERRORUnexpected error occurred while updating LLM for id 0.
LLM_NOT_FOUNDLLM not found for provided id 0.
INVALID_LLM_EXTERNAL_IDThe provided LLM external id is either empty or null.
LLM_EXTERNAL_ID_ALREADY_EXISTSThe provided LLM external id 0 already exists for current provider account id 1.
INVALID_LLM_NAMEThe provided LLM name is either empty or null.
INVALID_AI_AGENT_LLM_IDThe provided LLM ID 0 is not in valid UUID format.
INVALID_JSONThe provided JSON input is invalid for the field: 0.
NO_ANOMALIES_FOUNDNo agent anomalies found.
FAILED_TO_FETCH_ANOMALIESFailed to fetch agent anomalies for Provider Account ID: 0.
FAILED_TO_FETCH_MULTIPLIERFailed to fetch multiplier information for Agent ID: 0.
INVALID_MULTIPLIER_VALUEInvalid multiplier value provided.
FAILED_OVERRIDE_MULTIPLIERFailed to override multiplier value for Agent ID: 0.
TOOL_MULTIPLE_ASSOCIATIONS_REQUIRE_DISASSOCIATIONTool is associated with multiple entities. Specify which associations to remove.
INVALID_ENTITY_TYPEInvalid entity type 0. Only 1 entity types are allowed.
DESCRIPTION_TOO_LONGThe 0 description exceeds the maximum limit of 2000 characters.
DELETE_AI_AGENT_LLM_ERRORUnexpected error occurred while deleting LLM for id 0.
DELETE_AI_AGENT_LLM_VERSION_ASSOCIATIONS_NOT_FOUND_ERRORLLM is not associated with the specified agent version IDs.
LLM_INVALID_AGENT_VERSION_IDSOne or more invalid agent version ids provided.
FIELD_TOO_LONGThe provided 0 exceeds the maximum limit of 1 characters.
INVALID_FIELD_VALUEThe provided 0 cannot be null, empty, or contain only whitespace characters.
DUPLICATE_EXTERNAL_IDThe tool resource external ID is already in use.
INVALID_AI_AGENT_TOOL_IDSThe provided agent tool IDs are invalid.
AI_AGENT_GUARDRAIL_ALREADY_EXISTSGuardrail with the provided name already exists.
AI_AGENT_GUARDRAIL_NOT_FOUNDThe specified AI Agent Guardrail ID does not exist.
CREATE_AI_AGENT_GUARDRAIL_ERRORUnexpected error occurred while creating Guardrail for provider account 0.
AI_AGENT_GUARDRAIL_NAME_REQUIREDAI agent Guardrail name is required.
AI_AGENT_GUARDRAIL_UPDATE_ERRORUnexpected error occurred while updating AI Agent Guardrail.
AGENT_ID_REQUIREDAt least one agent ID is required.
INVALID_AI_AGENT_GUARDRAIL_IDThe provided guardrail ID is not in valid UUID format.
AI_AGENT_GUARDRAIL_VERSION_ASSOCIATIONS_NOT_FOUNDGuardrail ID 0 is not associated with the specified agent version IDs.
AI_AGENT_GUARDRAIL_DELETE_ERRORError during guardrail deletion for guardrail ID 0.
AI_AGENT_TASK_DELETE_ERROR_DUE_TO_ASSOCIATIONSTask cannot be deleted since it has associations.
AI_AGENT_TOOL_DELETE_ERROR_DUE_TO_ASSOCIATIONSTool cannot be deleted since it has associations.
AI_AGENT_GUARDRAIL_DELETE_ERROR_DUE_TO_ASSOCIATIONSGuardrail cannot be deleted since it has associations.
AI_AGENT_LLM_DELETE_ERROR_DUE_TO_ASSOCIATIONSLLM cannot be deleted since it has associations.
AGENT_VERSION_ALREADY_EXISTSAgent version with name 0 and version 1 already exists for agent 2.
INVALID_AGENT_IDInvalid Agent ID provided: 0.
INVALID_AGENT_VERSIONProvided version is invalid.
VERSION_EDIT_NOT_ALLOWEDVersion can only be edited when status is draft.
INVALID_RELATED_ENTITY_IDProvided entity id:0 does not belong to the same provider account.
AI_AGENT_TOOL_ALREADY_EXISTSTool with the provided name already exists.
PROVIDER_ACCOUNT_MISMATCHProvided id does not belong to the same provider account.
AI_AGENT_TASK_VERSION_ASSOCIATIONS_NOT_FOUNDTask ID 0 is not associated with the specified agent version IDs.
Note

The 0, 1, etc. placeholders in the error messages are replaced with actual values at runtime using Java's MessageFormat.

On this Page