https://api.generalvalidation.com with an
application token issued for the General Validation API and one of the
application roles described below. General Validation does not issue API keys.
Your workload’s identity must live in the same Microsoft Entra directory as
your Organization, and that Organization must already be activated by a
person. The API resolves the Organization from the token’s verified directory;
a supplied Organization identifier cannot select another Organization’s
resources. Machine clients cannot activate an Organization or accept an
invitation. An application role authorizes the workload without a membership
record; a person still needs an active membership to use the app.
Application roles
Assign the lowest role the workflow needs. Roles are cumulative, and when a workload holds more than one, the highest recognized role applies.
The API reference states the minimum role for each
operation. No Fabric or OneLake permission is involved: the API holds none,
and an application role grants none. Browsing workspaces and Tables, setting
up the Environment, submitting a Run to Fabric, and reading exact values or
mismatch evidence happen in the app with the signed-in user’s own Fabric
access. See API and automation for what the API covers
in this release.
Assign a role to your workload
Use a dedicated identity that your organization owns: a managed identity for an Azure workload, or an application registration with its own credential. An Azure subscription role such as Contributor does not grant API access. Roles are assigned on the General Validation API’s service principal in your directory. You need the API’s application (client) ID to assign a role and to request tokens. The API publishes it in theentraApplication security scheme
of its OpenAPI document: x-gv-audience is the application ID and
x-gv-scope is the scope to request. See
API and automation for retrieving the document. If you
cannot retrieve it yet, ask
support@generalvalidation.com for the
identifiers.
For an application registration, an Entra administrator adds the General
Validation API’s application permission for the chosen role to your
application and grants admin consent.
A managed identity has a service principal rather than an editable
registration, so an administrator assigns the chosen role to that service
principal directly. The following example assigns Reader to an existing
managed identity when run by an administrator who can assign application
roles:
Acquire and send a token
For client credentials, request a token from your directory’s token endpoint using the caller’s own credential:x-gv-scope. It names the General Validation
API resource and ends in /.default. For an Azure managed identity whose
token request takes a resource or audience rather than a scope, use the same
identifier without the /.default suffix. Requesting a scope does not grant
an application role; the assignment above does.
Tokens for the General Validation app itself are delegated user tokens for
people signed in with a browser. The API rejects an application token issued
for the app’s audience, so always request the API resource.
Send the token over HTTPS on every request:
Verify access
Start with the access resource, which returns the caller’s effective role:principal reports kind as service_principal for a
workload and effectiveRole as reader, contributor, or owner. A 401
response with the code auth.unauthenticated
means the token was not accepted. A 403 response with the code
auth.forbidden means the caller lacks the required
role: review the role assignment, then confirm that the workload’s directory
is the one where your Organization was activated. Every problem response
carries a requestId; include it with the error code when you contact
support@generalvalidation.com.