# Emergence - [Introduction to CRAFT](https://docs.emergence.ai/getting-started/introduction.md): What CRAFT is, the three modules that compose it, and how the platform fits into your stack. - [CRAFT Core Concepts](https://docs.emergence.ai/getting-started/concepts.md): Core concepts of CRAFT: organizations, projects, agents, data connections, schedules, and multi-tenancy. - [CRAFT Architecture](https://docs.emergence.ai/getting-started/architecture.md): The 3-layer architecture of CRAFT: Solutions, Platform, and Infrastructure layers with repo mapping and dependency model. - [CRAFT Platform Overview](https://docs.emergence.ai/platform/overview.md): The shared platform layer providing governance, asset management, and utilities with built-in identity, authorization, and secrets management. - [Organizations](https://docs.emergence.ai/platform/organizations.md): Multi-tenant organization management with Keycloak realm isolation, default group provisioning, and OpenFGA permission bootstrapping. - [Projects](https://docs.emergence.ai/platform/projects.md): Logical resource groupings within organizations, providing project-level scoping, permission inheritance, and the X-Project-ID header convention. - [Authentication](https://docs.emergence.ai/platform/authentication.md): Keycloak multi-realm OIDC/PKCE authentication with JWT token validation, service accounts, and SSO for CRAFT. - [Authorization](https://docs.emergence.ai/platform/authorization.md): OpenFGA Relationship-Based Access Control (ReBAC) with relationship tuples, computed permissions, hierarchical inheritance, and the require_permission pattern. - [Multi-Tenancy](https://docs.emergence.ai/platform/multi-tenancy.md): Tenant isolation architecture with Keycloak realm separation, org_id scoping, dual authorization, and per-service database partitioning. - [Agent Registry](https://docs.emergence.ai/platform/agents.md): Unified registry for discovering, managing, and monitoring A2A agents, MCP servers, and agentskills.io skills at enterprise scale. - [Service Accounts](https://docs.emergence.ai/platform/service-accounts.md): Service accounts enable background workers and automated processes to authenticate with CRAFT without user interaction. - [Schedules](https://docs.emergence.ai/platform/schedules.md): Scheduled task execution with cron patterns, timezone support, one-off scheduling, pg_cron integration, and run history tracking. - [Webhooks (Planned)](https://docs.emergence.ai/platform/webhooks.md): Event-driven webhook delivery with HMAC signing, retry logic, and SSRF protection for CRAFT. - [Memory Service](https://docs.emergence.ai/platform/memory-service.md): Multi-agent memory management for CRAFT, how agents remember and learn from interactions using Context Packs. - [Context Packs](https://docs.emergence.ai/platform/memory-context-packs.md): Context Packs are the storage containers for agent memories, organizing related memories into retrievable, structured units that agents query for relevant context. - [Data Connections](https://docs.emergence.ai/platform/data-connections.md): Manage external data source connections with secure credential storage, connection verification, and fine-grained access control. - [LLM Gateway](https://docs.emergence.ai/platform/llm-gateway.md): Operator guide for the shared LiteLLM gateway — the sole authority for agent LLM access, model allowlist, rate limits, authentication, and observability - [MCP Server](https://docs.emergence.ai/platform/mcp-server.md): Connect AI clients and external agents to CRAFT's tool gateway over the Model Context Protocol — IDE integrations, headless agent access, and tool reference - [CRAFT Data Insights Overview](https://docs.emergence.ai/data-insights/overview.md): Multi-agent conversational data analytics using the A2A protocol for natural-language to SQL generation, analysis, and visualization. - [Chat With Data](https://docs.emergence.ai/data-insights/chat-with-data.md): How the CRAFT conversational data analytics pipeline works, from natural-language questions to SQL-generated answers with multi-turn context. - [Text-to-SQL](https://docs.emergence.ai/data-insights/text-to-sql.md): How the Text2SQL agent converts natural-language questions into validated, executable SQL using schema-aware generation and sqlglot validation. - [Analysis Agent](https://docs.emergence.ai/data-insights/analysis-agent.md): How the Insights Agent performs multi-step analysis with LLM-generated Python code, reasoning loops, and tool orchestration. - [Visualizations](https://docs.emergence.ai/data-insights/visualizations.md): How CRAFT Insights Agent generates interactive Plotly charts from query results to visualize data patterns and trends. - [CRAFT Data Governance Overview](https://docs.emergence.ai/data-governance/overview.md): Automated data profiling, LLM-powered metadata enrichment, data quality rule generation, and scorecard reporting orchestrated by Prefect workflows. - [Data Profiling](https://docs.emergence.ai/data-governance/data-profiling.md): How the Data Governance solution profiles data assets at the column and table level to assess data quality, completeness, and statistical characteristics. - [Data Enrichment](https://docs.emergence.ai/data-governance/data-enrichment.md): How the Data Governance solution uses LLMs to enrich metadata with descriptions, classifications, and data quality rule suggestions. - [Workflows](https://docs.emergence.ai/data-governance/workflows.md): How the Data Governance solution uses Prefect for workflow orchestration, including profiling, enrichment, and DQ rule generation workflows. - [CRAFT Semiconductor Overview](https://docs.emergence.ai/semiconductor/overview.md): Overview of the CRAFT semiconductor fab analytics platform for AI-assisted data analysis, workflow orchestration, and manufacturing insights. - [Customer Admin Guide](https://docs.emergence.ai/guides/customer-admin/overview.md): What CRAFT org admins can do — and what they cannot — with quick links to each admin task. - [Manage Users](https://docs.emergence.ai/guides/customer-admin/manage-users.md): Invite users to your organisation, assign roles, and deactivate accounts in CRAFT. - [Roles and Permissions](https://docs.emergence.ai/guides/customer-admin/roles-and-permissions.md): Available roles in CRAFT, what each role can do, and how to assign or remove roles via the UI. - [Configure SSO](https://docs.emergence.ai/guides/customer-admin/configure-sso.md): Set up single sign-on for your organisation in CRAFT using your existing identity provider. - [Register Data Connections](https://docs.emergence.ai/guides/customer-admin/register-data-connections.md): Add and manage data sources in CRAFT so your team can ask questions about their data. - [Audit Log](https://docs.emergence.ai/guides/customer-admin/audit-log.md): View and export the audit log for your CRAFT organisation — what events are captured and how to use them for compliance. - [Solution Developer Guide](https://docs.emergence.ai/guides/solution-dev/overview.md): Build, package, and deploy a new solution on the CRAFT platform — from first FastAPI service to production deployment. - [Quickstart: Hello Solution](https://docs.emergence.ai/guides/solution-dev/quickstart.md): Stand up a minimal FastAPI service, package it as a Helm chart wrapping em-service, and deploy it to a local Kind cluster — under 30 minutes. - [Architecture for Solution Developers](https://docs.emergence.ai/guides/solution-dev/architecture-for-solution-developers.md): The integration surface a solution sees — what the platform provides, what your solution owns, and the contracts between them. - [Local Development](https://docs.emergence.ai/guides/solution-dev/local-development.md): Iterate on your solution locally with hot reload, mocked platform services, and fast feedback before deploying to the cluster. - [Register a New Solution](https://docs.emergence.ai/guides/solution-dev/register-a-solution.md): End-to-end checklist for registering a new solution on the platform — name, namespace, image registry, Helm wiring, database, and platform integration. - [Authenticate Users](https://docs.emergence.ai/guides/solution-dev/authenticate-users.md): Validate JWTs, use service accounts, and propagate X-Project-ID from your solution's services. - [Manage Secrets](https://docs.emergence.ai/guides/solution-dev/manage-secrets.md): Retrieve secrets at runtime — environment injection via em-service, file mounts at /mnt/secrets/, and adding new secrets to your chart. - [Use Shared Storage](https://docs.emergence.ai/guides/solution-dev/use-shared-storage.md): Read and write objects through the platform's infrastructure-agnostic obstore client — works against S3, GCS, Azure Blob, and MinIO. - [Access LLMs](https://docs.emergence.ai/guides/solution-dev/access-llms.md): Call LLMs from your solution through the platform's LiteLLM gateway — provider-agnostic, observable via Langfuse, with project-scoped cost attribution. - [Package and Deploy](https://docs.emergence.ai/guides/solution-dev/package-and-deploy.md): Wrap a multi-component solution in a Helm chart, manage per-environment overlays, and ship the image to your registry. - [Starter Templates](https://docs.emergence.ai/guides/solution-dev/starter-templates.md): Copy-paste scaffolds for three common solution shapes — minimal API service, multi-component (api + worker + DB), and agentic A2A solution. - [Troubleshooting](https://docs.emergence.ai/guides/solution-dev/troubleshooting.md): Recognise and fix the most common errors encountered when building solutions on CRAFT — auth, secrets, image pulls, helm conflicts, LLM failures. - [Agent Author Guide](https://docs.emergence.ai/guides/agent-author/overview.md): How to build, register, and operate A2A-compatible agents on the CRAFT platform. - [A2A Protocol Primer](https://docs.emergence.ai/guides/agent-author/a2a-protocol-primer.md): Agent Cards, JSON-RPC methods, SSE streaming, and the task lifecycle — everything you need to understand agent communication on CRAFT. - [Your First CRAFT Agent](https://docs.emergence.ai/guides/agent-author/your-first-agent.md): Build a working CRAFT-integrated agent in three incremental steps — from a bare hello-world to a registered, tool-calling platform agent — in under 20 minutes. - [Tool Authoring](https://docs.emergence.ai/guides/agent-author/tool-authoring.md): How to write function tools, connect MCP tools via FastMCPToolset, and apply schema discipline across frameworks. - [Multi-Agent Patterns](https://docs.emergence.ai/guides/agent-author/multi-agent-patterns.md): Delegation, supervision, and parallel fan-out across CRAFT agents using the A2A protocol. - [Streaming Idioms](https://docs.emergence.ai/guides/agent-author/streaming-idioms.md): SSE streaming, partial results, cooperative cancellation, and reconnection patterns for CRAFT agents. - [Eval Harness](https://docs.emergence.ai/guides/agent-author/eval-harness.md): Langfuse evaluators, regression suites, and golden traces for CRAFT agents. - [Debugging Agents](https://docs.emergence.ai/guides/agent-author/debugging-agents.md): Trace inspection, prompt iteration, tool-call analysis, and symptom-keyed troubleshooting for CRAFT agents. - [Register Your First Agent](https://docs.emergence.ai/guides/first-agent.md): Step-by-step tutorial to register, configure, and test your first A2A agent on CRAFT. - [Data Source Setup](https://docs.emergence.ai/guides/data-source-setup.md): How to connect a PostgreSQL database to CRAFT as a data source for querying and governance. - [SSO Integration](https://docs.emergence.ai/guides/sso-integration.md): How to configure Single Sign-On with Keycloak using OIDC or SAML for enterprise identity providers like Entra ID, Okta, and Google Workspace. - [RBAC Configuration](https://docs.emergence.ai/guides/rbac-configuration.md): How to set up OpenFGA roles and permissions for fine-grained access control across organizations, projects, and resources. - [Memory Integration](https://docs.emergence.ai/guides/memory-integration.md): How-to guide for integrating the Memory Service into your agents, creating and managing memories via the Platform Utils API. - [Langfuse Setup](https://docs.emergence.ai/guides/langfuse-setup.md): Step-by-step guide to deploying Langfuse and connecting it to all CRAFT solutions for LLM observability. - [Backup & Restore](https://docs.emergence.ai/guides/backup-restore.md): How to back up and restore CRAFT data including PostgreSQL databases, Keycloak realms, OpenFGA state, and Infisical secrets. - [CRAFT Deployment Overview](https://docs.emergence.ai/deployment/overview.md): Deploy CRAFT on any Kubernetes cluster using Helm charts and ArgoCD GitOps. Supports GKE, EKS, AKS, and on-premises environments. - [Prerequisites](https://docs.emergence.ai/deployment/prerequisites.md): Infrastructure, networking, database, and access requirements for deploying CRAFT on Kubernetes. - [Helm Configuration](https://docs.emergence.ai/deployment/helm/configuration.md): Configure the em-runtime Helm chart for development, staging, and production environments with external databases, S3 storage, and HTTPS. - [Values Reference](https://docs.emergence.ai/deployment/helm/values-reference.md): Complete reference for all configurable Helm chart values in the em-runtime chart, including global settings, per-service configuration, and subchart overrides. - [Upgrades](https://docs.emergence.ai/deployment/helm/upgrades.md): Version upgrade procedures, Helm chart promotion workflow, migration steps, and rollback strategies for the em-runtime platform. - [em-service Chart](https://docs.emergence.ai/deployment/helm/em-service.md): Base Helm chart for deploying any CRAFT service on-premise — deployment, environment variables, secrets, ingress, HPA and probes. - [em-core Chart](https://docs.emergence.ai/deployment/helm/em-core.md): Helm chart for deploying the CRAFT core platform — em-platform, em-user-service, em-user-portal, Keycloak, PostgreSQL and Redis. - [em-data-insights Chart](https://docs.emergence.ai/deployment/helm/em-data-insights.md): Helm chart for deploying the CRAFT Data Insights solution — extends em-core with data analysis agents and Redshift integration. - [Networking](https://docs.emergence.ai/deployment/infrastructure/networking.md): Configure Gateway API for traffic routing, cert-manager for TLS certificates, and external-dns for automated DNS record management. - [Secrets Infrastructure](https://docs.emergence.ai/deployment/infrastructure/secrets.md): Deploy and configure ESO + GCP Secret Manager or Infisical for secrets management in CRAFT. - [GCP Marketplace](https://docs.emergence.ai/guides/marketplace/gcp.md): Deploy CRAFT from the Google Cloud Marketplace using private offers, Terraform Kubernetes apps, and integrated billing. - [AWS Marketplace](https://docs.emergence.ai/guides/marketplace/aws.md): Deploy CRAFT from the AWS Marketplace using private offers, container products, and EDP committed spend drawdown. - [Azure Marketplace](https://docs.emergence.ai/guides/marketplace/azure.md): Deploy CRAFT from the Azure Marketplace using private offers, CNAB bundles, and MACC committed spend drawdown. - [OpenTelemetry](https://docs.emergence.ai/deployment/observability/opentelemetry.md): Configure OpenTelemetry for distributed tracing, metrics, and log export across all em-runtime services using the vendor-neutral OTLP protocol. - [Langfuse](https://docs.emergence.ai/deployment/observability/langfuse.md): Deploy and configure Langfuse for LLM observability in CRAFT, traces, evaluations, and prompt management. - [LLM Observability](https://docs.emergence.ai/deployment/observability/llm-observability.md): Understanding LLM-specific observability for CRAFT, why it differs from infrastructure observability and how Langfuse and OpenTelemetry complement each other. - [CRAFT Security Overview](https://docs.emergence.ai/security/overview.md): CRAFT security architecture: Keycloak authentication, OpenFGA authorization, secrets management (ESO or Infisical), multi-tenant isolation, and OpenTelemetry observability. - [Authentication](https://docs.emergence.ai/security/authentication.md): Deep dive into Keycloak authentication, OIDC flows, JWT token management, and machine-to-machine authentication on CRAFT. - [Secrets Management](https://docs.emergence.ai/security/secrets-management.md): Overview of secrets management options for CRAFT, including ESO + GCP Secret Manager and Infisical as equal deployment alternatives. - [Data Classification](https://docs.emergence.ai/security/data-classification.md): Data classification levels, encryption at rest and in transit, and data handling requirements across CRAFT. - [Network Security](https://docs.emergence.ai/security/network-security.md): Network policies, SSRF protection, TLS configuration, and network segmentation for CRAFT. - [GDPR Compliance](https://docs.emergence.ai/security/compliance/gdpr.md): How CRAFT supports GDPR compliance with data handling, Right to Be Forgotten, audit logging, and data residency controls. - [SOC 2 Controls](https://docs.emergence.ai/security/compliance/soc2.md): SOC 2 Trust Service Criteria mapping for CRAFT, covering security, availability, processing integrity, confidentiality, and privacy. - [HIPAA Compliance](https://docs.emergence.ai/security/compliance/hipaa.md): HIPAA compliance considerations for deploying CRAFT in healthcare environments with PHI data handling requirements. - [Release Notes](https://docs.emergence.ai/releases/index.md): CRAFT platform changelog. Calendar-versioned monthly releases with curated, user-facing notes. - [API Overview](https://docs.emergence.ai/api-reference/introduction.md): Overview of CRAFT REST APIs including base URLs, versioning, rate limits, and service endpoints for Governance, Assets, and Utils. - [API Authentication](https://docs.emergence.ai/api-reference/authentication.md): How to authenticate with CRAFT APIs using JWT tokens, client credentials, and the auto-generated SDKs. - [Error Codes](https://docs.emergence.ai/api-reference/errors.md): Error response format, error codes, and troubleshooting guide for CRAFT APIs. - [List audit events](https://docs.emergence.ai/api-reference/audit/list-audit-events.md): List audit events for the current organization with optional filters. Results are always scoped to the user's organization (no cross-org access). Requires organization admin permissions. - [Export audit events to CSV](https://docs.emergence.ai/api-reference/audit/export-audit-events-to-csv.md): Export audit events as a CSV file with pagination. Results are always scoped to the user's organization. Use page/page_size to paginate large exports (max 50k rows per page). - [Get audit settings](https://docs.emergence.ai/api-reference/audit/get-audit-settings.md): Get audit settings (retention period) for the current organization. Returns default settings if none have been configured. - [Update audit settings](https://docs.emergence.ai/api-reference/audit/update-audit-settings.md): Update audit settings for the current organization. If retention is reduced, events outside the new retention window are immediately deleted. Requires organization admin permissions. - [Get audit event by ID](https://docs.emergence.ai/api-reference/audit/get-audit-event-by-id.md): Get a specific audit event by its ID. Returns 404 if the event doesn't exist or belongs to a different organization. - [Check user permission](https://docs.emergence.ai/api-reference/permissions/check-user-permission.md): Verifies if the authenticated user has permission to perform a specific action on a resource. Returns 200 if allowed, 403 if denied. - [List all objects the user can read](https://docs.emergence.ai/api-reference/permissions/list-all-objects-the-user-can-read.md): Returns all object IDs across all resource types that the authenticated user has can_read on. Fans out to OpenFGA internally — callers make one HTTP request instead of one per resource type. - [Grant permission to user or group](https://docs.emergence.ai/api-reference/permissions/grant-permission-to-user-or-group.md): Grants a specific permission relation to a user or group on a resource. Used to assign roles like owner, admin, developer, operator, or viewer. - [Revoke permission from user or group](https://docs.emergence.ai/api-reference/permissions/revoke-permission-from-user-or-group.md): Removes a specific permission relation from a user or group on a resource. Used to revoke roles like owner, admin, developer, operator, or viewer. - [Set resource parent relationship](https://docs.emergence.ai/api-reference/permissions/set-resource-parent-relationship.md): Establishes a parent-child relationship between resources for permission inheritance. For example, linking a project to an organization or a secret to a project. - [Delete all permissions for a resource](https://docs.emergence.ai/api-reference/permissions/delete-all-permissions-for-a-resource.md): Removes all permission tuples associated with a specific resource. Typically used during resource cleanup or deletion. Returns the count of deleted permissions. - [List secrets for a resource](https://docs.emergence.ai/api-reference/secrets/list-secrets-for-a-resource.md): Retrieves a list of all secrets associated with a specific resource. Secrets are stored in Infisical and scoped by organization, project, and resource. Returns only secret metadata, not the actual secret values. - [Create a new secret](https://docs.emergence.ai/api-reference/secrets/create-a-new-secret.md): Creates a new secret within a specific resource. The secret is stored securely in Infisical and the creator is automatically granted owner permissions. The secret value should be provided as a JSON string matching the format required by the resource type. - [Get secret value](https://docs.emergence.ai/api-reference/secrets/get-secret-value.md): Retrieves the actual secret value for a specific secret by name. This endpoint returns sensitive data and requires read permissions on the secret. The secret value is returned as stored in Infisical. - [Update an existing secret](https://docs.emergence.ai/api-reference/secrets/update-an-existing-secret.md): Updates the value or description of an existing secret. Requires write permissions on the secret. The secret value and/or description can be updated independently. - [Delete a secret](https://docs.emergence.ai/api-reference/secrets/delete-a-secret.md): Permanently deletes a secret from Infisical and removes all associated permissions. Requires delete permissions on the secret. This action cannot be undone. - [List secrets for an organization](https://docs.emergence.ai/api-reference/secrets/list-secrets-for-an-organization.md): Retrieves a list of all secrets associated with the authenticated user's organization. Secrets are stored in Infisical and scoped by organization. Returns only secret metadata, not the actual secret values. - [Create a new organization secret](https://docs.emergence.ai/api-reference/secrets/create-a-new-organization-secret.md): Creates a new secret at the organization level. The secret is stored securely in Infisical and the creator is automatically granted owner permissions. The secret value should be provided as a JSON string matching the format required by the resource type. - [Get organization secret value](https://docs.emergence.ai/api-reference/secrets/get-organization-secret-value.md): Retrieves the actual secret value for a specific organization secret by name. This endpoint returns sensitive data and requires read permissions on the secret. The secret value is returned as stored in Infisical. - [Update an existing organization secret](https://docs.emergence.ai/api-reference/secrets/update-an-existing-organization-secret.md): Updates the value or description of an existing organization secret. Requires write permissions on the secret. The secret value and/or description can be updated independently. - [Delete an organization secret](https://docs.emergence.ai/api-reference/secrets/delete-an-organization-secret.md): Permanently deletes an organization secret from Infisical and removes all associated permissions. Requires delete permissions on the secret. This action cannot be undone. - [List secrets for a project](https://docs.emergence.ai/api-reference/secrets/list-secrets-for-a-project.md): Retrieves a list of all secrets associated with a specific project. Secrets are stored in Infisical and scoped by organization and project. Returns only secret metadata, not the actual secret values. - [Create a new project secret](https://docs.emergence.ai/api-reference/secrets/create-a-new-project-secret.md): Creates a new secret at the project level. The secret is stored securely in Infisical and the creator is automatically granted owner permissions. The secret value should be provided as a JSON string matching the format required by the resource type. - [Get project secret value](https://docs.emergence.ai/api-reference/secrets/get-project-secret-value.md): Retrieves the actual secret value for a specific project secret by name. This endpoint returns sensitive data and requires read permissions on the secret. The secret value is returned as stored in Infisical. - [Update an existing project secret](https://docs.emergence.ai/api-reference/secrets/update-an-existing-project-secret.md): Updates the value or description of an existing project secret. Requires write permissions on the secret. The secret value and/or description can be updated independently. - [Delete a project secret](https://docs.emergence.ai/api-reference/secrets/delete-a-project-secret.md): Permanently deletes a project secret from Infisical and removes all associated permissions. Requires delete permissions on the secret. This action cannot be undone. - [List projects](https://docs.emergence.ai/api-reference/projects/list-projects.md): List all projects in the user's organization with pagination support. - [Create a new project](https://docs.emergence.ai/api-reference/projects/create-a-new-project.md): Creates a new project within the user's organization (determined from JWT claims). The project is automatically linked to the organization and default project groups receive permissions. A UUID will be generated for the project ID unless external_id is provided. - [Get project details](https://docs.emergence.ai/api-reference/projects/get-project-details.md): Retrieves detailed information about a specific project by its ID. The user must have permission to view the project. - [Delete a project](https://docs.emergence.ai/api-reference/projects/delete-a-project.md): Deletes a project and its project-scoped authorization tuples. - [List organizations for the current user](https://docs.emergence.ai/api-reference/organizations/list-organizations-for-the-current-user.md): Returns Keycloak organizations the authenticated user belongs to in the hub realm. Each entry includes the organization UUID (`id`), display `name`, and Keycloak `alias` (for OIDC `scope=organization:` in the runtime-ui org switcher). - [Create a new organization](https://docs.emergence.ai/api-reference/organizations/create-a-new-organization.md): Creates a new tenant organization in the hub Keycloak realm (server-generated UUID), default organization groups, a database record, and OpenFGA permissions. Display `name` is provided by the caller; Keycloak assigns `id` and `alias`. Automatically creates default organization groups and sets up per… - [Get organization details](https://docs.emergence.ai/api-reference/organizations/get-organization-details.md): Retrieves detailed information about a specific organization by its Keycloak UUID. The user must have permission to view the organization. Returns database metadata plus the Keycloak organization alias (for OIDC org switching). - [Get bootstrap status](https://docs.emergence.ai/api-reference/bootstrap/get-bootstrap-status.md): Returns information about the bootstrap configuration and default organization. Bootstrap happens automatically during application startup. The default organization id is the Keycloak-assigned UUID (looked up by configured display name). Requires platform developer role. - [Service Info](https://docs.emergence.ai/api-reference/info/service-info.md): Service information endpoint. - [List Agents](https://docs.emergence.ai/api-reference/agents/list-agents.md): List registered agents in project. - [Register Agent](https://docs.emergence.ai/api-reference/agents/register-agent.md): Register a new agent from an A2A agent card. - [Get Agent](https://docs.emergence.ai/api-reference/agents/get-agent.md): Get a registered agent by resource URI. - [Update Agent](https://docs.emergence.ai/api-reference/agents/update-agent.md): Update an agent's card and metadata (optimistic concurrency via ETag). - [Delete Agent](https://docs.emergence.ai/api-reference/agents/delete-agent.md): Delete an agent permanently. - [Validate Agent Card](https://docs.emergence.ai/api-reference/agents/validate-agent-card.md): Dry-run validation of an agent card (no persistence). - [List Artifacts](https://docs.emergence.ai/api-reference/artifacts/list-artifacts.md): List artifacts in project - [Upload artifact](https://docs.emergence.ai/api-reference/artifacts/upload-artifact.md): Upload a file to object storage and create artifact record - [Download artifact](https://docs.emergence.ai/api-reference/artifacts/download-artifact.md): Download an artifact file from object storage - [Preview artifact content](https://docs.emergence.ai/api-reference/artifacts/preview-artifact-content.md): Return a structured preview of an artifact's content. Supports CSV, TSV, plain text, SQL, markdown, HTML, XML, YAML, JSON, and JSONL. - [Get Artifact](https://docs.emergence.ai/api-reference/artifacts/get-artifact.md): Get artifact details - [Update Artifact](https://docs.emergence.ai/api-reference/artifacts/update-artifact.md): Update artifact metadata - [Delete Artifact](https://docs.emergence.ai/api-reference/artifacts/delete-artifact.md): Delete artifact - [List Connection Types](https://docs.emergence.ai/api-reference/data_connections/list-connection-types.md): List all data connection types with their credential schemas - [List Data Connections](https://docs.emergence.ai/api-reference/data_connections/list-data-connections.md): Get data connections - [Create Data Connection](https://docs.emergence.ai/api-reference/data_connections/create-data-connection.md): Create data connection - [Verify Connection Before Save](https://docs.emergence.ai/api-reference/data_connections/verify-connection-before-save.md): Verify data connection credentials before creating the connection - [Get Data Connection](https://docs.emergence.ai/api-reference/data_connections/get-data-connection.md): Get data connection - [Update Data Connection](https://docs.emergence.ai/api-reference/data_connections/update-data-connection.md): Update data connection - [Delete Data Connection](https://docs.emergence.ai/api-reference/data_connections/delete-data-connection.md): Delete data connection - [Get Data Connection Secret](https://docs.emergence.ai/api-reference/data_connections/get-data-connection-secret.md): Get data connection secrets - [Verify Data Connection](https://docs.emergence.ai/api-reference/data_connections/verify-data-connection.md): Verify data connection credentials and accessibility - [List Files](https://docs.emergence.ai/api-reference/files/list-files.md): List files in project - [Upload file](https://docs.emergence.ai/api-reference/files/upload-file.md): Upload a file to object storage and create file record - [Download file](https://docs.emergence.ai/api-reference/files/download-file.md): Download a file from object storage - [Get File](https://docs.emergence.ai/api-reference/files/get-file.md): Get file details - [Update File](https://docs.emergence.ai/api-reference/files/update-file.md): Update file metadata - [Delete File](https://docs.emergence.ai/api-reference/files/delete-file.md): Delete file - [List Models](https://docs.emergence.ai/api-reference/models/list-models.md): List models in project - [Create Model](https://docs.emergence.ai/api-reference/models/create-model.md): Create model - [Verify Model Before Save](https://docs.emergence.ai/api-reference/models/verify-model-before-save.md): Verify model credentials before creating the model - [Get Model](https://docs.emergence.ai/api-reference/models/get-model.md): Get model - [Update Model](https://docs.emergence.ai/api-reference/models/update-model.md): Update model - [Delete Model](https://docs.emergence.ai/api-reference/models/delete-model.md): Delete model - [Get Model Secret](https://docs.emergence.ai/api-reference/models/get-model-secret.md): Get model secrets - [Verify Model](https://docs.emergence.ai/api-reference/models/verify-model.md): Verify model credentials and accessibility - [Service Info](https://docs.emergence.ai/api-reference/info/service-info.md): Service information endpoint. - [List schedules](https://docs.emergence.ai/api-reference/schedules/list-schedules.md): Retrieves a list of all schedules associated with the authenticated user's organization. If a project ID is provided in the header, the results are filtered to only include schedules for that project. - [Create a new schedule](https://docs.emergence.ai/api-reference/schedules/create-a-new-schedule.md): Creates a new schedule for triggering workflows. The schedule can be either a cron-based recurring schedule or a one-time schedule. When triggered, notifications are published to the specified topic. - [List schedule runs](https://docs.emergence.ai/api-reference/schedules/list-schedule-runs.md): Retrieves a paginated list of schedule runs for the authenticated user's organization. Results can be optionally filtered by project ID and ordered by creation time. - [Get a single schedule run](https://docs.emergence.ai/api-reference/schedules/get-a-single-schedule-run.md): Retrieves a single schedule run by its ID, including the full schedule snapshot at execution time. The run must belong to the authenticated user's organization. - [Delete a single schedule run](https://docs.emergence.ai/api-reference/schedules/delete-a-single-schedule-run.md): Deletes a single schedule run by its ID. The run must belong to the authenticated user's organization. - [Get a schedule](https://docs.emergence.ai/api-reference/schedules/get-a-schedule.md): Retrieves a single schedule by its ID. The schedule must belong to the authenticated user's organization. - [Update a schedule](https://docs.emergence.ai/api-reference/schedules/update-a-schedule.md): Updates an existing schedule. All fields in the request body are required - this is a full update. The schedule must belong to the authenticated user's organization. - [Delete a schedule](https://docs.emergence.ai/api-reference/schedules/delete-a-schedule.md): Permanently deletes a schedule. The schedule must belong to the authenticated user's organization. This action cannot be undone. - [Enable a schedule](https://docs.emergence.ai/api-reference/schedules/enable-a-schedule.md): Enables a schedule and registers it with pg_cron. The schedule must belong to the authenticated user's organization. If the schedule is already enabled, this operation is idempotent. - [Disable a schedule](https://docs.emergence.ai/api-reference/schedules/disable-a-schedule.md): Disables a schedule and unschedules it from pg_cron. The schedule must belong to the authenticated user's organization. If the schedule is already disabled, this operation is idempotent. - [Search metadata across resources](https://docs.emergence.ai/api-reference/search/search-metadata-across-resources.md): Search catalog entities across all resources within a tenant, with filtering, sorting, and pagination. - [Bulk get metadata by FQN](https://docs.emergence.ai/api-reference/metadata/bulk-get-metadata-by-fqn.md): Retrieve multiple metadata entities by FQN. Always returns the latest version. - [Bulk store (upsert) metadata](https://docs.emergence.ai/api-reference/metadata/bulk-store-upsert-metadata.md): Create or update multiple metadata entities. Items are sorted by FQN depth so ancestors are processed first. - [Bulk soft-delete metadata](https://docs.emergence.ai/api-reference/metadata/bulk-soft-delete-metadata.md): Soft-delete multiple metadata entities with cascade. - [Get metadata by FQN](https://docs.emergence.ai/api-reference/metadata/get-metadata-by-fqn.md): Retrieve a metadata asset by fully qualified name. Optionally filter by asset_type or retrieve a specific historical version. - [Store (upsert) metadata](https://docs.emergence.ai/api-reference/metadata/store-upsert-metadata.md): Create or update a metadata asset. The asset type is determined by the type discriminator field in the request body. - [Soft-delete metadata by FQN](https://docs.emergence.ai/api-reference/metadata/soft-delete-metadata-by-fqn.md): Soft-delete a metadata entity (all versions + cascade) or a single version row. - [List metadata entities](https://docs.emergence.ai/api-reference/metadata/list-metadata-entities.md): Returns a paginated list of metadata entities under the resource, with filtering and sorting. - [List version history for an entity](https://docs.emergence.ai/api-reference/metadata/list-version-history-for-an-entity.md): Returns enriched version history with structured diffs, per-field attribution, and contributor list. - [Clear enrichment fields on child entities](https://docs.emergence.ai/api-reference/metadata/clear-enrichment-fields-on-child-entities.md): Clear enrichment fields on all direct children of the given FQN. For a schema FQN: clears description and tags on all tables. For a table FQN: clears description, extension, business_definition, business_rules, enrichment flags, and tags on all columns. - [Get or list catalog tag categories](https://docs.emergence.ai/api-reference/metadata/get-or-list-catalog-tag-categories.md): If 'fqn' is provided, returns a single catalog tag category. Otherwise, returns a paginated list. - [Create or update a catalog tag category](https://docs.emergence.ai/api-reference/metadata/create-or-update-a-catalog-tag-category.md): Upsert a catalog tag category. Returns 201 on create, 200 on update. - [Delete a catalog tag category](https://docs.emergence.ai/api-reference/metadata/delete-a-catalog-tag-category.md): Soft-delete a catalog tag category and cascade to child tags. - [Bulk get tags by FQN](https://docs.emergence.ai/api-reference/metadata/bulk-get-tags-by-fqn.md): Retrieve multiple tags by FQN. Always returns the latest non-deleted version. - [Bulk store (upsert) tags](https://docs.emergence.ai/api-reference/metadata/bulk-store-upsert-tags.md): Create or update multiple tags. Parent categories must exist. - [Bulk soft-delete tags](https://docs.emergence.ai/api-reference/metadata/bulk-soft-delete-tags.md): Soft-delete multiple tags by FQN. Not-found items are non-fatal. - [Get or list catalog tags](https://docs.emergence.ai/api-reference/metadata/get-or-list-catalog-tags.md): If 'fqn' is provided, returns a single tag. Otherwise, returns a paginated list. - [Create or update a catalog tag](https://docs.emergence.ai/api-reference/metadata/create-or-update-a-catalog-tag.md): Upsert a catalog tag. Parent category must exist and not be deleted. Returns 201 on create, 200 on update. - [Delete a catalog tag](https://docs.emergence.ai/api-reference/metadata/delete-a-catalog-tag.md): Soft-delete a catalog tag. - [List FK edges](https://docs.emergence.ai/api-reference/fk-graph/list-fk-edges.md): List FK edges for a resource, optionally filtered by table FQN. - [Bulk upsert FK edges](https://docs.emergence.ai/api-reference/fk-graph/bulk-upsert-fk-edges.md): Create or update FK edges for a resource. Existing edges are updated, new edges are created. - [Delete FK edges](https://docs.emergence.ai/api-reference/fk-graph/delete-fk-edges.md): Delete all FK edges for a resource. - [Expand table selection via FK relationships](https://docs.emergence.ai/api-reference/fk-graph/expand-table-selection-via-fk-relationships.md): Given a list of table FQNs, discover related tables via FK traversal (BFS). - [Find shortest paths between tables](https://docs.emergence.ai/api-reference/fk-graph/find-shortest-paths-between-tables.md): Find shortest FK paths between all pairs of input tables. - [List context packs](https://docs.emergence.ai/api-reference/context-packs/list-context-packs.md): List context packs in the project with optional filters. - [Create a new context pack](https://docs.emergence.ai/api-reference/context-packs/create-a-new-context-pack.md): Create a new context pack in the project. - [Get a context pack by name](https://docs.emergence.ai/api-reference/context-packs/get-a-context-pack-by-name.md): Get a context pack by name within the project. - [Soft delete a context pack](https://docs.emergence.ai/api-reference/context-packs/soft-delete-a-context-pack.md): Soft delete a context pack (can be recovered). - [Update a context pack](https://docs.emergence.ai/api-reference/context-packs/update-a-context-pack.md): Update a context pack's description, metadata, or config. - [Get a memory by name within a context pack](https://docs.emergence.ai/api-reference/context-packs/get-a-memory-by-name-within-a-context-pack.md): Get a memory by name within a context pack. - [Archive a context pack](https://docs.emergence.ai/api-reference/context-packs/archive-a-context-pack.md): Archive a context pack. - [Reactivate a context pack](https://docs.emergence.ai/api-reference/context-packs/reactivate-a-context-pack.md): Reactivate an archived or deprecated context pack. - [Deprecate a context pack](https://docs.emergence.ai/api-reference/context-packs/deprecate-a-context-pack.md): Deprecate a context pack. - [Permanently delete a context pack](https://docs.emergence.ai/api-reference/context-packs/permanently-delete-a-context-pack.md): Permanently delete a context pack and all its memories. - [List memories in a context pack](https://docs.emergence.ai/api-reference/context-packs/list-memories-in-a-context-pack.md): List memories in the context pack. - [Add a memory to a context pack](https://docs.emergence.ai/api-reference/context-packs/add-a-memory-to-a-context-pack.md): Add a new memory to the context pack. - [Send an HTML email to one or more recipients](https://docs.emergence.ai/api-reference/email/send-an-html-email-to-one-or-more-recipients.md): Send an HTML email to one or more recipients. The `body` field is treated as HTML. - [Get a memory by ID](https://docs.emergence.ai/api-reference/memories/get-a-memory-by-id.md): Get a memory by ID. - [Soft delete a memory](https://docs.emergence.ai/api-reference/memories/soft-delete-a-memory.md): Soft delete a memory (can be recovered). - [Update a memory](https://docs.emergence.ai/api-reference/memories/update-a-memory.md): Update a memory's content, classification, or metadata. - [List Memories](https://docs.emergence.ai/api-reference/memories/list-memories.md) - [Archive a memory](https://docs.emergence.ai/api-reference/memories/archive-a-memory.md): Archive a memory. - [Mark a memory as superseded](https://docs.emergence.ai/api-reference/memories/mark-a-memory-as-superseded.md): Mark a memory as superseded by another memory. - [Permanently delete a memory](https://docs.emergence.ai/api-reference/memories/permanently-delete-a-memory.md): Permanently delete a memory. - [Validate a memory](https://docs.emergence.ai/api-reference/memories/validate-a-memory.md): Validate a memory with a confidence score. - [Pin a memory](https://docs.emergence.ai/api-reference/memories/pin-a-memory.md): Pin a memory to mark it as important. - [Unpin a memory](https://docs.emergence.ai/api-reference/memories/unpin-a-memory.md): Unpin a memory. - [List soft FK edges](https://docs.emergence.ai/api-reference/soft-fk-edges/list-soft-fk-edges.md): List soft FK edges within a context pack. - [Create a soft FK edge](https://docs.emergence.ai/api-reference/soft-fk-edges/create-a-soft-fk-edge.md): Create a new Soft FK edge within a context pack. - [Get a soft FK edge by ID](https://docs.emergence.ai/api-reference/soft-fk-edges/get-a-soft-fk-edge-by-id.md): Get an FK edge by ID. - [Soft delete a soft FK edge](https://docs.emergence.ai/api-reference/soft-fk-edges/soft-delete-a-soft-fk-edge.md): Soft delete a soft FK edge. - [Update a soft FK edge](https://docs.emergence.ai/api-reference/soft-fk-edges/update-a-soft-fk-edge.md): Update a soft FK edge's description, confidence, or status. - [Expand seed tables via soft FK edges to find junction tables](https://docs.emergence.ai/api-reference/soft-fk-edges/expand-seed-tables-via-soft-fk-edges-to-find-junction-tables.md): BFS expansion to find junction tables connecting seed tables. - [Service Info](https://docs.emergence.ai/api-reference/info/service-info.md): Service information endpoint. - [List Packs](https://docs.emergence.ai/api-reference/context-pack/list-packs.md) - [Create Pack](https://docs.emergence.ai/api-reference/context-pack/create-pack.md) - [Get Pack By Name](https://docs.emergence.ai/api-reference/context-pack/get-pack-by-name.md) - [Soft Delete Pack](https://docs.emergence.ai/api-reference/context-pack/soft-delete-pack.md) - [Update Pack](https://docs.emergence.ai/api-reference/context-pack/update-pack.md) - [Archive Pack](https://docs.emergence.ai/api-reference/context-pack/archive-pack.md) - [Reactivate Pack](https://docs.emergence.ai/api-reference/context-pack/reactivate-pack.md) - [Deprecate Pack](https://docs.emergence.ai/api-reference/context-pack/deprecate-pack.md) - [Permanent Delete Pack](https://docs.emergence.ai/api-reference/context-pack/permanent-delete-pack.md) - [List Pack Memories](https://docs.emergence.ai/api-reference/context-pack/list-pack-memories.md) - [Add Memory To Pack](https://docs.emergence.ai/api-reference/context-pack/add-memory-to-pack.md) - [Get Memory By Id](https://docs.emergence.ai/api-reference/memories/get-memory-by-id.md) - [Soft Delete Memory](https://docs.emergence.ai/api-reference/memories/soft-delete-memory.md) - [Update Memory](https://docs.emergence.ai/api-reference/memories/update-memory.md) - [List Memories](https://docs.emergence.ai/api-reference/memories/list-memories.md) - [Archive Memory](https://docs.emergence.ai/api-reference/memories/archive-memory.md) - [Supersede Memory](https://docs.emergence.ai/api-reference/memories/supersede-memory.md) - [Permanent Delete Memory](https://docs.emergence.ai/api-reference/memories/permanent-delete-memory.md) - [Validate Memory](https://docs.emergence.ai/api-reference/memories/validate-memory.md) - [Pin Memory](https://docs.emergence.ai/api-reference/memories/pin-memory.md) - [Unpin Memory](https://docs.emergence.ai/api-reference/memories/unpin-memory.md) - [Health Check](https://docs.emergence.ai/api-reference/health-check.md) - [Global search](https://docs.emergence.ai/api-reference/search/global-search.md): Unified search across all entity types — projects, assets, data connections, catalog entities (databases, schemas, tables, columns), files, artifacts, agents, and models. Results are filtered to entities the authenticated user can access. - [Bulk index entities](https://docs.emergence.ai/api-reference/search/bulk-index-entities.md): Add or update one or more entities in the global search index. Each item is validated then published to the internal event stream — embedding generation and indexing happen asynchronously. Returns 202 with the count of accepted operations. - [Bulk remove entities from the index](https://docs.emergence.ai/api-reference/search/bulk-remove-entities-from-the-index.md): Remove one or more entities from the global search index. Each item is validated then published to the internal event stream — deletion happens asynchronously. Returns 202 with the count of accepted operations. - [Generate an embedding vector](https://docs.emergence.ai/api-reference/embeddings/generate-an-embedding-vector.md): Generates an embedding vector for the provided text using the configured embedding provider (default: Google Gemini). Used by publishing services to embed entity text before indexing, and by the global search endpoint to vectorise natural language queries. - [Health](https://docs.emergence.ai/api-reference/health/health.md): Health check endpoint. - [Service Info](https://docs.emergence.ai/api-reference/info/service-info.md): Service information endpoint. - [Service Info](https://docs.emergence.ai/api-reference/service-info.md) - [Service Info](https://docs.emergence.ai/api-reference/service-info-1.md) - [Health Check](https://docs.emergence.ai/api-reference/health-check.md) - [List sessions](https://docs.emergence.ai/api-reference/chat-sessions/list-sessions.md): List sessions for the authenticated user and project. Paginated via page and limit. - [Get session](https://docs.emergence.ai/api-reference/chat-sessions/get-session.md): Get session metadata with turn_count, message_count, artifact_count. Returns 403 if session does not belong to user/project, 404 if not found. - [Delete session](https://docs.emergence.ai/api-reference/chat-sessions/delete-session.md): Delete a session and cascade-delete messages, artifacts, and feedback. 403 if not owned, 404 if not found. - [Rename session](https://docs.emergence.ai/api-reference/chat-sessions/rename-session.md): Update session title. 403 if session not owned, 404 if not found, 422 if title empty/blank or exceeds 255 chars. - [Get session context](https://docs.emergence.ai/api-reference/chat-sessions/get-session-context.md): Get all datasources, artifacts, and attachments pinned to this session. 403 if not owned, 404 if not found. - [Add context items](https://docs.emergence.ai/api-reference/chat-sessions/add-context-items.md): Add or update datasources, artifacts, and/or attachments on a session. Upserts by (type, resource_uri). Returns the full updated context. 403 if not owned, 404 if not found. - [Remove context items](https://docs.emergence.ai/api-reference/chat-sessions/remove-context-items.md): Remove one or more context items by (item_type, resource_uri). Returns the full updated context. 403 if not owned, 404 if not found. - [List session turns](https://docs.emergence.ai/api-reference/chat-sessions/list-session-turns.md): Paginated turns (user + assistant messages grouped by turn_id). Each turn includes ``task_updates`` from ``talk2data.task_updates`` (A2A status stream), peer to ``messages``. Turn order by first message time: `order=asc` (oldest first, default) or `order=desc` (newest first). 403 if session not owne… - [Get turn by ID](https://docs.emergence.ai/api-reference/chat-sessions/get-turn-by-id.md): Get a single turn with all its messages and ``task_updates`` (same shape as list turns). 403 if session not owned, 404 if session or turn not found. - [List turn artifacts](https://docs.emergence.ai/api-reference/chat-sessions/list-turn-artifacts.md): Paginated artifacts for a turn. Optional artifact_type filter (parquet, chart). 403 if session not owned, 404 if session or turn not found. - [Submit or update feedback](https://docs.emergence.ai/api-reference/chat-sessions/submit-or-update-feedback.md): Upsert feedback for a turn. 201 created, 200 updated. 403 if session not owned, 404 if session/turn not found, 422 if rating invalid. - [Delete feedback](https://docs.emergence.ai/api-reference/chat-sessions/delete-feedback.md): Delete the current user's feedback for the turn. 403 if not owned, 404 if session/turn/feedback not found. - [List session artifacts](https://docs.emergence.ai/api-reference/chat-sessions/list-session-artifacts.md): Paginated artifacts for a session. Optional artifact_type filter (parquet, chart). 403 if session not owned, 404 if not found. - [Post Chat Messages](https://docs.emergence.ai/api-reference/chat/post-chat-messages.md): Accept a message and kick off background A2A processing. - [Stream Chat Messages](https://docs.emergence.ai/api-reference/chat/stream-chat-messages.md): Stream persisted SSE events for a turn from durable storage. - [Post Chat Cancel](https://docs.emergence.ai/api-reference/chat/post-chat-cancel.md): Cancel an in-progress task. Sends A2A tasks/cancel to the orchestrator. Only allowed if the task's session belongs to the same user and project. - [Generate Sql](https://docs.emergence.ai/api-reference/mcp/generate-sql.md): Generate SQL from a natural-language question. Returns the SQL string plus the schemas it references. Pipe the SQL into `execute_query` to fetch rows; then feed those rows into `generate_plotly_chart` to render a figure. Use this as the first step in any 'show me X' or 'what is Y' data-analysis flow… - [Execute Query Endpoint](https://docs.emergence.ai/api-reference/mcp/execute-query-endpoint.md): Execute a read-only SELECT SQL statement against a configured data connection and return the result rows. Typically called after `generate_sql`; pass the returned `rows` field directly into `generate_plotly_chart` to visualise the result. - [Resolve Term](https://docs.emergence.ai/api-reference/mcp/resolve-term.md): Resolve a business term against context pack memories. - [Generate Plotly Chart Endpoint](https://docs.emergence.ai/api-reference/mcp/generate-plotly-chart-endpoint.md): Visualise tabular results from `execute_query` as an interactive Plotly chart. Pass the `rows` from `execute_query` directly as `data`. Supports 25+ chart types (bar, line, heatmap, treemap, sankey, waterfall, parcoords, choropleth, etc.). Pick the chart type based on data shape: bar/line for catego… - [Sample Data Endpoint](https://docs.emergence.ai/api-reference/sample/sample-data-endpoint.md) - [Health Check](https://docs.emergence.ai/api-reference/health/health-check.md) - [Root](https://docs.emergence.ai/api-reference/root/root.md) - [List Workflow Configurations](https://docs.emergence.ai/api-reference/workflows/list-workflow-configurations.md): Retrieve a paginated list of workflow configurations available to the current user. - [Create Workflow Configuration](https://docs.emergence.ai/api-reference/workflows/create-workflow-configuration.md): Create a new workflow configuration with custom settings, schedule, and triggers. - [List All Workflow Runs](https://docs.emergence.ai/api-reference/workflows/list-all-workflow-runs.md): Retrieve a paginated list of workflow runs across all workflows for the current tenant. - [List Workflow Definitions](https://docs.emergence.ai/api-reference/workflows/list-workflow-definitions.md): Retrieve a paginated list of workflow definitions (available workflow types). - [Create Workflow Definition](https://docs.emergence.ai/api-reference/workflows/create-workflow-definition.md): Create a new workflow definition (template). - [Get Workflow Definition](https://docs.emergence.ai/api-reference/workflows/get-workflow-definition.md): Retrieve detailed information about a specific workflow definition. - [Get Workflow Statistics](https://docs.emergence.ai/api-reference/workflows/get-workflow-statistics.md): Get aggregated statistics for workflow runs. - [Get Pipeline Run](https://docs.emergence.ai/api-reference/workflows/get-pipeline-run.md): Retrieve the status and progress counters for a run-all-enrichment pipeline run. - [Get Workflow Configuration](https://docs.emergence.ai/api-reference/workflows/get-workflow-configuration.md): Retrieve detailed information about a specific workflow configuration. - [Create Workflow Run](https://docs.emergence.ai/api-reference/workflows/create-workflow-run.md): Trigger a new run of a workflow by configuration ID. - [Get Workflow Run](https://docs.emergence.ai/api-reference/workflows/get-workflow-run.md): Retrieve detailed information about a specific workflow run, including all associated tasks. - [Cancel Workflow Run](https://docs.emergence.ai/api-reference/workflows/cancel-workflow-run.md): Cancel a specific workflow run. - [Get Workflow Run Statistics](https://docs.emergence.ai/api-reference/workflows/get-workflow-run-statistics.md): Get statistics for a specific workflow run including task counts and duration. - [Stream Workflow Run Events (SSE)](https://docs.emergence.ai/api-reference/workflows/stream-workflow-run-events-sse.md): Real-time event stream via Server-Sent Events. - [Cancel All Active Runs](https://docs.emergence.ai/api-reference/workflows/cancel-all-active-runs.md): Cancel all active (queued or running) runs for a configuration. - [List Tasks](https://docs.emergence.ai/api-reference/workflows/list-tasks.md): List tasks within a workflow run. - [Get Task](https://docs.emergence.ai/api-reference/workflows/get-task.md): Get detailed information about a specific task. - [Get Approval Status](https://docs.emergence.ai/api-reference/workflows/get-approval-status.md): Get the approval status for a workflow run. - [Create Pending Approval](https://docs.emergence.ai/api-reference/workflows/create-pending-approval.md): Create a pending approval record for a completed workflow run. - [Update Workflow Approval Status](https://docs.emergence.ai/api-reference/workflows/update-workflow-approval-status.md): Update the approval status of a workflow run's output. - [Get a database by FQN](https://docs.emergence.ai/api-reference/data-assets/get-a-database-by-fqn.md): Get a specific database by its fully qualified name (FQN). - [Get a schema by FQN](https://docs.emergence.ai/api-reference/data-assets/get-a-schema-by-fqn.md): Get a specific schema by its fully qualified name (FQN). - [Get a table by FQN](https://docs.emergence.ai/api-reference/data-assets/get-a-table-by-fqn.md): Get a specific table by its fully qualified name (FQN). - [Update DQ tags for a table](https://docs.emergence.ai/api-reference/data-assets/update-dq-tags-for-a-table.md): Update (delete) DQ tags for columns in a table. This is a delete-only operation: for each column in the request, tags in the DB that are NOT in the request will be deleted. Columns not in the request are unchanged. Request tags not in DB are ignored. - [Clear DQ and/or metadata scores for a table](https://docs.emergence.ai/api-reference/data-assets/clear-dq-andor-metadata-scores-for-a-table.md): Clear one or both score types for a table in a single call. Use scope=data_quality to clear DQ tags and rules, scope=metadata to clear the metadata score, or scope=all to clear everything (the Clear All action). Previous data is preserved for history. Running a new assessment restores the score. - [Get a column by FQN](https://docs.emergence.ai/api-reference/data-assets/get-a-column-by-fqn.md): Get a specific column by its fully qualified name (FQN). - [Get latest table profile by FQN](https://docs.emergence.ai/api-reference/data-assets/get-latest-table-profile-by-fqn.md): Get the most recent profiling data for a table by its fully qualified name. - [Get latest column profile by FQN](https://docs.emergence.ai/api-reference/data-assets/get-latest-column-profile-by-fqn.md): Get the most recent profiling data for a column by its fully qualified name. - [Batch-fetch latest column profiles by table and/or column FQN](https://docs.emergence.ai/api-reference/data-assets/batch-fetch-latest-column-profiles-by-table-andor-column-fqn.md): Return the latest column profile for every column matched by table_fqns and/or column_fqns. At least one filter is required (validated in the request model). Returns an empty list when nothing is profiled — does NOT 404. - [Batch-fetch latest table profiles by table FQN](https://docs.emergence.ai/api-reference/data-assets/batch-fetch-latest-table-profiles-by-table-fqn.md): Return the latest table profile for each given table FQN. Returns an empty list when nothing is profiled — does NOT 404. - [Get Filter Options](https://docs.emergence.ai/api-reference/metrics/get-filter-options.md): Returns distinct filter values for cascading dashboard dropdowns, scoped by assessment type. - [Get Aggregated Scorecard](https://docs.emergence.ai/api-reference/metrics/get-aggregated-scorecard.md): Returns aggregated metric scores at the requested scope level. - [Get Score Trend](https://docs.emergence.ai/api-reference/metrics/get-score-trend.md): Returns score trend over a time range, bucketed by the requested granularity. - [Get Per-Asset Metric Details](https://docs.emergence.ai/api-reference/metrics/get-per-asset-metric-details.md): Returns per-asset metric detail for drill-down analysis. - [List Dimensions](https://docs.emergence.ai/api-reference/metrics/list-dimensions.md): Returns dimension definitions with their metric definitions. - [List violations](https://docs.emergence.ai/api-reference/violations/list-violations.md): List all violation snapshots with optional filtering and pagination. - [List violation definitions](https://docs.emergence.ai/api-reference/violations/list-violation-definitions.md): List all available violation types and their configurations. - [Get violation](https://docs.emergence.ai/api-reference/violations/get-violation.md): Get a single violation snapshot by its ID. - [Update violation](https://docs.emergence.ai/api-reference/violations/update-violation.md): Update a violation's status (open, resolved, false_positive, acknowledged). - [List glossary terms](https://docs.emergence.ai/api-reference/glossary/list-glossary-terms.md): List glossary terms across all DB connections with optional filters. - [Create a glossary term](https://docs.emergence.ai/api-reference/glossary/create-a-glossary-term.md): Create a new glossary term. - [Get alphabet index with term counts](https://docs.emergence.ai/api-reference/glossary/get-alphabet-index-with-term-counts.md): Return term counts grouped by first letter for the A-Z index navigation. - [Get a glossary term by ID](https://docs.emergence.ai/api-reference/glossary/get-a-glossary-term-by-id.md): Get a single glossary term by its ID. - [Delete a glossary term](https://docs.emergence.ai/api-reference/glossary/delete-a-glossary-term.md): Soft-delete a glossary term. - [Update a glossary term](https://docs.emergence.ai/api-reference/glossary/update-a-glossary-term.md): Update an existing glossary term (partial update). - [Verify a glossary term](https://docs.emergence.ai/api-reference/glossary/verify-a-glossary-term.md): Verify a glossary term (sets status to Verified). - [Verify multiple glossary terms](https://docs.emergence.ai/api-reference/glossary/verify-multiple-glossary-terms.md): Verify multiple glossary terms at once. - [Add a tag to a glossary term](https://docs.emergence.ai/api-reference/glossary/add-a-tag-to-a-glossary-term.md): Add a tag to a glossary term. - [SDKs & Client Libraries](https://docs.emergence.ai/sdks/overview.md): Auto-generated Python and TypeScript SDKs for CRAFT APIs - [Python SDK](https://docs.emergence.ai/sdks/python.md): Type-safe Python client for CRAFT APIs - [TypeScript SDK](https://docs.emergence.ai/sdks/typescript.md): Fully typed TypeScript client for CRAFT APIs ## OpenAPI Specs - [em-data-readiness-v2](/openapi/em-data-readiness-v2.yaml) - [em-memory-service-v2](/openapi/em-memory-service-v2.yaml) - [em-runtime-assets-v2](/openapi/em-runtime-assets-v2.yaml) - [em-runtime-governance-v2](/openapi/em-runtime-governance-v2.yaml) - [em-runtime-search-v2](/openapi/em-runtime-search-v2.yaml) - [em-runtime-utils-v2](/openapi/em-runtime-utils-v2.yaml) - [em-semi-v2](/openapi/em-semi-v2.yaml) - [em-talk2data-v2](/openapi/em-talk2data-v2.yaml)