Skip to main content
A Microsoft Foundry agent can inspect validation metadata, propose Tests, and run approved validations through the General Validation SaaS API. Foundry acquires a Microsoft Entra application token for its managed identity and calls the hosted API. General Validation applies the identity’s API role and resolves its Organization from the verified Entra directory. Validation compute stays in your Azure environment. Metadata returned to the agent is processed in your Foundry environment; account for that boundary in your organization’s Foundry logging and retention settings.

Before you start

You need:
  • An activated General Validation Organization in the Foundry identity’s Entra directory, with a ready execution environment if the agent will run Tests.
  • A Foundry project, deployed model, and agent you can configure.
  • A system-assigned managed identity on the parent Foundry resource.
  • An Entra administrator who can assign the identity a General Validation API application role in your directory.
  • Network access from Foundry to the General Validation API origin.
For the portal OpenAPI integration described here, Microsoft identifies the parent Foundry resource’s system-assigned identity as the API caller. Record that identity’s Object (principal) ID. See Microsoft’s OpenAPI managed-identity setup.

1. Authorize the managed identity

Choose a cumulative role: Start with Reader for a read-only assistant, or Contributor to create and run Tests. Follow API authentication using the parent Foundry identity’s principal ID as gv_caller_object_id. Assign the role on the General Validation API service principal in your Organization’s directory. Azure subscription Contributor is a different permission. The SaaS API registration is separate from the browser application’s registration. You do not register a customer-hosted General Validation app or configure App Service authentication to use this integration.

2. Retrieve the tool schema and audience

Use the General Validation API origin and API client ID from your Organization’s connection configuration or General Validation support. A caller with Reader or higher access can download the generated tool profile:
Opening that URL in a browser tab alone does not attach a bearer token. The first-party browser sign-in is not a cookie login for API documentation. The deployed canonical /openapi.json publishes the client-credentials scope in components.securitySchemes.entraApplication.x-gv-scope. Remove its /.default suffix to obtain the managed-identity resource URI:
Use that URI in Foundry’s Audience field, without /.default. The API’s client ID is distinct from the browser app client ID. The schema’s servers entry supplies the API origin. Website-form schemas and repository documents with placeholder hosts are unsuitable for a live connection. /openapi-agent.json simplifies request unions for tool clients and includes operation guidance. It is a lossy projection: the canonical /openapi.json remains authoritative when validating a request shape.

3. Create the OpenAPI tool

Open your agent’s tools configuration in Microsoft Foundry. Add a custom OpenAPI tool and configure these values: Save the tool and agent. Foundry supports OpenAPI 3.0 and 3.1 specifications with operation IDs. Its portal labels and supported model combinations can change; use Microsoft’s OpenAPI tool guide for the current Foundry setup flow.

4. Set the agent’s operating instructions

Use this starting point and adjust it to your review process:
Instructions help govern intended actions. Entra role assignment remains the hard access boundary: keep an agent on Reader if its job needs only reads.

5. Verify with a read-only request

Ask the agent:
Check the trace for GET /api/v1/installation/capabilities and a bounded GET /api/v1/validation-tests request to the correct API origin. A successful tool save alone does not prove that authentication or authorization works. After those reads pass, ask the agent to draft a Test against a real Pair. Review the function, fields, filters, join keys, comparison options, tolerances, and evidence settings before approving creation or a Run.

Troubleshooting

Foundry may wrap an API failure in a tool-level error. Inspect its operation name and HTTP status, then the General Validation problem response when available. Avoid sharing generated curl commands or raw diagnostic wrappers, which can contain authorization headers. Use the endpoint reference for each operation’s contract and the error reference for remediation. Refresh the tool profile when service contract changes affect your integration.