# General Validation > Reconcile source and target data with a hosted workspace and validation execution in your Azure environment. - [General Validation documentation](https://docs.generalvalidation.com/index.md): Set up your workspace, connect Azure, and reconcile source and target data. - [Getting started](https://docs.generalvalidation.com/getting-started.md): Start your free trial, connect your Azure execution environment, and reconcile your first source and target datasets. - [Supported scope: systems, formats, tests](https://docs.generalvalidation.com/supported-scope.md): What General Validation can discover and validate across Azure Data Factory and Microsoft Fabric, including supported data, validation functions, field types, and current limits. - [Set up your Azure environment](https://docs.generalvalidation.com/installing-general-validation.md): Connect the hosted application to a customer-owned execution environment using the reviewed Deploy to Azure template. - [Azure resources and permissions](https://docs.generalvalidation.com/what-general-validation-provisions.md): Understand the customer execution resources, identities, and scoped permissions created when you connect General Validation to Azure. - [Sign-in and team access](https://docs.generalvalidation.com/single-sign-on-and-access.md): Use Microsoft work accounts, invite organization members, assign product roles, and control access to customer-stored evidence. - [Trial and billing](https://docs.generalvalidation.com/licensing-and-activation.md): Understand the seven-day free trial, Dataset Pair limits, subscription checkout, and what happens when access expires. - [When to validate, and what to check](https://docs.generalvalidation.com/when-to-validate.md): Choose source-to-target checks for pipeline changes, production loads, runtime upgrades, and migration decisions. - [Creating your first test](https://docs.generalvalidation.com/creating-your-first-test.md): Use the hosted application to import prepared datasets, create a source and target pair, run a row-count test, and review customer-owned evidence. - [Validating your ADF to Fabric migration](https://docs.generalvalidation.com/validating-your-adf-to-fabric-migration.md): Reconcile old and new pipeline outputs, review discrepancies, and retain the customer-owned evidence needed for a migration decision. - [Validating on an ongoing basis](https://docs.generalvalidation.com/validating-on-an-ongoing-basis.md): Reuse saved validation Tests for recurring loads and release gates, with hosted run history and evidence retained in your Azure environment. - [Runs, results & evidence](https://docs.generalvalidation.com/runs-results-and-evidence.md): Follow validation progress, review delivered verdicts, and view exact results and captured rows directly from your own Azure Storage. - [Security and the data boundary](https://docs.generalvalidation.com/security-and-data-boundary.md): Understand what the hosted application stores, what stays in your Azure subscription, and how identities separate metadata from customer data. - [Troubleshooting and logs](https://docs.generalvalidation.com/troubleshooting-and-logs.md): Diagnose setup, dataset preparation, validation, delivery, and evidence access issues across the hosted app and your Azure execution environment. - [Error codes](https://docs.generalvalidation.com/errors.md): Look up General Validation error codes and find the next step. - [Using the API](https://docs.generalvalidation.com/api-and-automation.md): Use the General Validation SaaS API for Organization administration, discovery, dataset preparation, validation authoring, and Runs. - [API authentication](https://docs.generalvalidation.com/api-authentication.md): Authenticate to the General Validation SaaS API with Microsoft Entra bearer tokens and least-privilege application roles. - [API reference](https://docs.generalvalidation.com/api/reference.md): Use the General Validation SaaS API to discover metadata, manage tests, and run validations. - [Connect a Microsoft Foundry agent to General Validation](https://docs.generalvalidation.com/connect-microsoft-foundry-agent.md): Connect Microsoft Foundry to the General Validation SaaS API with managed identity and the generated agent OpenAPI profile. - [Describe the installed API and caller](https://docs.generalvalidation.com/api/reference/get-installation-capabilities.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Refresh Dataset metadata](https://docs.generalvalidation.com/api/reference/refresh-cloud-dataset-metadata.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [List accessible Azure Data Factories](https://docs.generalvalidation.com/api/reference/refresh-cloud-adf-factory-options.md): Queue best-effort factory enumeration in the nonpublic operations app. - [List Discovery Sources](https://docs.generalvalidation.com/api/reference/list-discovery-sources.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Register a Discovery Source](https://docs.generalvalidation.com/api/reference/create-discovery-source.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Get a Discovery Source](https://docs.generalvalidation.com/api/reference/get-discovery-source.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Remove an ADF Discovery Source registration](https://docs.generalvalidation.com/api/reference/delete-discovery-source.md): Removes only the General Validation registration; it never deletes or modifies the customer Data Factory or its Azure resources. Removal is blocked while imported Connections reference the source. Fabric Sources must use the reviewed Fabric removal workflow. - [Browse a Discovery Source catalog](https://docs.generalvalidation.com/api/reference/list-discovery-source-catalog.md): Returns bounded normalized metadata only. Provider payloads, credentials, customer rows, and internal IDs are excluded. Catalog processing is bounded to 10000 provider entries. - [Start Fabric table listing](https://docs.generalvalidation.com/api/reference/start-fabric-table-listing.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Get a Fabric table-listing operation](https://docs.generalvalidation.com/api/reference/get-fabric-table-listing.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Import catalog Datasets](https://docs.generalvalidation.com/api/reference/import-discovery-source-catalog-items.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Refresh a Discovery Source catalog](https://docs.generalvalidation.com/api/reference/refresh-cloud-discovery-catalog.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Get browser-delegated Fabric connection setup](https://docs.generalvalidation.com/api/reference/get-fabric-connection-setup.md): Returns the exact server-derived Viewer principal targets and the browser-to-Fabric workspace-list request. No Fabric credential is accepted by or delegated through this API. - [Get a Fabric Discovery Source connection](https://docs.generalvalidation.com/api/reference/get-fabric-connection.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Remove only a Fabric Discovery Source registration](https://docs.generalvalidation.com/api/reference/delete-fabric-connection-registration.md): Removes the General Validation source registration after local dependency checks. Every Fabric workspace assignment is intentionally left unchanged. - [Record live Fabric Viewer assignment observations](https://docs.generalvalidation.com/api/reference/attest-fabric-connection-assignments.md): Records only assignment metadata observed by the Owner's browser after direct Fabric API calls. The workspace, principals, role, and current connection ETag must exactly match server-derived values. - [Fence and begin Fabric assignment reconciliation](https://docs.generalvalidation.com/api/reference/begin-fabric-connection-reconciliation.md): Durably marks every current server-derived Fabric principal as awaiting reconciliation before the Owner's browser reads or changes workspace assignments. An active removal plan blocks this operation. - [Stage exact product-owned Fabric Viewer cleanup](https://docs.generalvalidation.com/api/reference/stage-fabric-connection-removal.md): Creates a short-lived metadata lease over the exact product-created Viewer assignments. New registrations, imports, and attestations for the workspace are fenced until the plan completes, expires, or is cancelled. - [Get a staged Fabric removal plan](https://docs.generalvalidation.com/api/reference/get-fabric-connection-removal-plan.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Cancel a staged Fabric removal plan](https://docs.generalvalidation.com/api/reference/cancel-fabric-connection-removal-plan.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Confirm exact staged Fabric assignments are absent](https://docs.generalvalidation.com/api/reference/confirm-fabric-connection-removal.md): Accepts only absence observations for exact assignment tuples in the staged plan. Partial confirmations retain the source and plan. The registration is removed only after every product-owned assignment is confirmed absent and all local deletion fences still pass. - [Get a cloud metadata operation](https://docs.generalvalidation.com/api/reference/get-cloud-metadata-operation.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [List imported Datasets](https://docs.generalvalidation.com/api/reference/list-datasets.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Get a Dataset](https://docs.generalvalidation.com/api/reference/get-dataset.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Retry Dataset preparation](https://docs.generalvalidation.com/api/reference/retry-dataset-preparation.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [List Dataset schema collections](https://docs.generalvalidation.com/api/reference/list-dataset-schema-collections.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [List Dataset schema fields](https://docs.generalvalidation.com/api/reference/list-dataset-schema-fields.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Resolve a canonical field comparison](https://docs.generalvalidation.com/api/reference/resolve-comparison.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [List Dataset Pairs](https://docs.generalvalidation.com/api/reference/list-dataset-pairs.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Create a Dataset Pair](https://docs.generalvalidation.com/api/reference/create-dataset-pair.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Get a Dataset Pair](https://docs.generalvalidation.com/api/reference/get-dataset-pair.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Update mutable Dataset Pair configuration](https://docs.generalvalidation.com/api/reference/update-dataset-pair.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Archive a Dataset Pair](https://docs.generalvalidation.com/api/reference/archive-dataset-pair.md): Soft-archives the Pair while preserving its public identity, Tests, Runs, Results, and immutable Test versions. - [Get Test-authoring capabilities for a Dataset Pair](https://docs.generalvalidation.com/api/reference/get-dataset-pair-validation-capabilities.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [List compatible fields for a Pair and function](https://docs.generalvalidation.com/api/reference/list-dataset-pair-validation-compatible-fields.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Add a Validation Test to a Dataset Pair](https://docs.generalvalidation.com/api/reference/create-validation-test.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Validate a prospective Dataset Pair](https://docs.generalvalidation.com/api/reference/validate-dataset-pair.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [List the 12 fixed validation functions](https://docs.generalvalidation.com/api/reference/list-validation-functions.md): Returns complete, immutable GV-owned function definitions. Test resources select a functionCode but cannot redefine its execution logic. - [List Validation Tests](https://docs.generalvalidation.com/api/reference/list-validation-tests.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Get a Validation Test](https://docs.generalvalidation.com/api/reference/get-validation-test.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Replace a Validation Test definition](https://docs.generalvalidation.com/api/reference/update-validation-test.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Deactivate a Validation Test](https://docs.generalvalidation.com/api/reference/deactivate-validation-test.md): Soft-deactivates the Test while preserving its public identity, immutable versions, Runs, and Results. - [Run the active tests for a Dataset Pair](https://docs.generalvalidation.com/api/reference/submit-dataset-pair-run.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [List validation Runs](https://docs.generalvalidation.com/api/reference/list-runs.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Run all active validation tests](https://docs.generalvalidation.com/api/reference/submit-all-runs.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Get a validation Run](https://docs.generalvalidation.com/api/reference/get-run.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Cancel a validation Run](https://docs.generalvalidation.com/api/reference/cancel-run.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [List the items in a validation Run](https://docs.generalvalidation.com/api/reference/list-run-items.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Get one validation Run Item](https://docs.generalvalidation.com/api/reference/get-run-item.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Cancel one validation Run Item](https://docs.generalvalidation.com/api/reference/cancel-run-item.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [List the Results from a validation Run](https://docs.generalvalidation.com/api/reference/list-run-results.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Retry the retryable items from a finished Run](https://docs.generalvalidation.com/api/reference/retry-run.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Run one Validation Test](https://docs.generalvalidation.com/api/reference/submit-validation-test-run.md): Requires the GV.APIContributor application role, or a higher role (Owner > Contributor > Reader). - [Get the current organization](https://docs.generalvalidation.com/api/reference/get-organization.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Rename the current organization](https://docs.generalvalidation.com/api/reference/update-organization.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [List organization invitations](https://docs.generalvalidation.com/api/reference/list-organization-invitations.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Create a metadata-only organization invitation](https://docs.generalvalidation.com/api/reference/create-organization-invitation.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Get an organization invitation](https://docs.generalvalidation.com/api/reference/get-organization-invitation.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Revoke a pending organization invitation](https://docs.generalvalidation.com/api/reference/revoke-organization-invitation.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Accept the pending invitation addressed to the signed-in account](https://docs.generalvalidation.com/api/reference/accept-organization-invitation.md): Redeems the newest unexpired pending invitation whose address matches the signed-in account's directory-asserted user principal name or email, creating or reactivating that account's membership with the invited role. The directory itself was verified when the Organization was activated; no invitatio… - [List Organization members](https://docs.generalvalidation.com/api/reference/list-organization-members.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Get an Organization member](https://docs.generalvalidation.com/api/reference/get-organization-member.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Change an Organization member's role](https://docs.generalvalidation.com/api/reference/update-organization-member.md): Sets the member's cumulative role. The last active Owner cannot be demoted. - [Remove an Organization member](https://docs.generalvalidation.com/api/reference/remove-organization-member.md): Disables the membership so the account loses access immediately while its identity, audit history, and Runs are retained. The last active Owner cannot be removed. A later accepted invitation reactivates the same member. - [Activate an Organization for the signed-in directory](https://docs.generalvalidation.com/api/reference/activate-organization.md): Creates the Organization, binds the verified Microsoft Entra directory from the signed token as its identity connection, makes the signed-in account the first Owner, and grants the internal trial entitlement. The operation is convergent per directory: an existing active member of the already activat… - [Get the active customer execution environment](https://docs.generalvalidation.com/api/reference/get-execution-environment.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Create a customer execution environment awaiting deployment](https://docs.generalvalidation.com/api/reference/create-execution-environment.md): Records the environment for the organization's verified directory and the customer subscription and returns its setup: the signed installer template link, the Deploy to Azure link, the equivalent CLI command, and the exact names the deployment creates. The first environment in a directory also queue… - [List provisioning operations](https://docs.generalvalidation.com/api/reference/list-provisioning-operations.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Get a provisioning operation with its steps](https://docs.generalvalidation.com/api/reference/get-provisioning-operation.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Disconnect the execution environment from the vendor](https://docs.generalvalidation.com/api/reference/disconnect-execution-environment.md): Queues removal of the vendor application's role assignments. The customer's resource group, Data Factory, storage, identities, data, custom role definitions, factory data grants, and the Owner's browser access are retained. The condition-limited operator assignment is removed last. - [Resolve the vendor principal in the customer directory](https://docs.generalvalidation.com/api/reference/prepare-execution-environment.md): Queues a signed prepare operation for a pending environment whose directory has not yet recorded the vendor application's service principal. The operations worker reads that principal as the vendor application inside the customer directory and stores its object id, which the installer template names… - [Verify the deployed execution environment and finish provisioning](https://docs.generalvalidation.com/api/reference/provision-execution-environment.md): Signs the deterministic customer-plane resource graph and queues the provision operation once the customer has deployed the installer template. The operations worker, acting as the vendor application inside the customer directory, verifies every customer-owned resource the template created, then wri… - [Repair the execution environment to its recorded graph](https://docs.generalvalidation.com/api/reference/repair-execution-environment.md): Queues a signed repair operation that re-reads every ledgered resource and rewrites owned, mutable drift. Missing owned resources are recreated; customer-owned IAM pauses for exact customer correction, while immutable owned drift and unexpected resources still fail closed. - [Create a hosted billing checkout](https://docs.generalvalidation.com/api/reference/create-billing-checkout.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Get the effective organization entitlement](https://docs.generalvalidation.com/api/reference/get-organization-entitlement.md): Requires the GV.APIReader application role, or a higher role (Owner > Contributor > Reader). - [Get available billing actions and configured plans](https://docs.generalvalidation.com/api/reference/get-billing-options.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Create a hosted billing customer portal](https://docs.generalvalidation.com/api/reference/create-billing-portal.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Get the active billing subscription](https://docs.generalvalidation.com/api/reference/get-billing-subscription.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [List time-bounded metadata support grants](https://docs.generalvalidation.com/api/reference/list-support-grants.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Create a time-bounded metadata support grant](https://docs.generalvalidation.com/api/reference/create-support-grant.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Get a metadata support grant](https://docs.generalvalidation.com/api/reference/get-support-grant.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader). - [Revoke a metadata support grant](https://docs.generalvalidation.com/api/reference/revoke-support-grant.md): Requires the GV.APIOwner application role, or a higher role (Owner > Contributor > Reader).