canonical: https://jentic.com/apis/googleapis.com/datacatalog

# Google Cloud Data Catalog API

Google Cloud Data Catalog API is a fully managed metadata service for discovering, describing, and governing data assets across BigQuery, Pub/Sub, Cloud Storage, and external sources. It exposes catalog search, entry groups, entries, tag templates, and tags so that data stewards can attach business context to columns and tables. Search supports keyword, fully qualified name, and metadata filter syntax. The API also handles IAM at every level so that data discovery can be opened to analysts while edits remain restricted to stewards.

## For AI agents

Discover BigQuery, Pub/Sub, and other data assets, attach business tags, and search the catalog so an agent can locate and describe the right dataset for a query.

## Scope

Does not query data, run pipelines, or scan content for sensitive values - use only to manage and search metadata about data assets.

## Capabilities

- Search the catalog by keyword, fully qualified name, system, or tag value
- Look up an entry by its linked resource (e.g. a BigQuery table URI)
- Define and manage tag templates with typed fields for governed metadata
- Attach tag instances to entries and column-level paths
- Manage entry groups for custom data sources outside Google's first-party systems
- Set IAM policies on entry groups, entries, and tag templates
- Star and rename entries to support analyst workflows

## Use cases

### Self-Service Data Discovery

Analysts use a portal that calls catalog.search with their plain-language query and a system filter on bigquery. Data Catalog returns ranked entries with descriptions, owners, and tags. Analysts find the right table in seconds rather than asking on Slack.

Example prompt: Run catalog.search with query='customer churn' and scope.includeProjectIds=['analytics-prod'], return the top 10 entries with their linkedResource and description.

### PII Tagging Programme

A data governance team defines a 'pii_classification' tag template and runs tagging workflows that attach the tag to every column flagged by a scanner. Data Catalog stores tags at the column path so SQL editors and BI tools can warn before query authors export PII fields.

Example prompt: Create a tag from template 'pii_classification' on entry 'projects/p/locations/l/entryGroups/g/entries/e' with field column='email' and value='HIGH'.

### Custom Source Cataloguing

A platform team registers entries for tables stored in Snowflake or an on-prem Hive metastore so analysts can find them through the same Data Catalog search experience as native BigQuery tables. Custom entry groups and entries hold the schema, owner, and tags. Search treats native and custom entries uniformly.

Example prompt: Create an entryGroup 'snowflake' in us-central1 and add an entry of type TABLE with linkedResource pointing to 'snowflake://acme/orders'.

### AI Agent Data Lookup

An analytics AI agent receives 'how many customers signed up last month' and asks Jentic for the right BigQuery table by searching Data Catalog with the question. The agent then issues a BigQuery SQL query against the matched entry. Jentic isolates the Google service account credential and rotates tokens per call.

Example prompt: Run catalog.search with query='customer signups' and system='BIGQUERY', return the top match's linkedResource and description for downstream SQL generation.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v1/catalog:search | Search the catalog by query and filters |
| GET | /v1/entries:lookup | Look up an entry by linkedResource or fully qualified name |
| GET | /v1/{+name} | Get a specific entry, entry group, or tag template |
| POST | /v1/{+name}/operations | List long-running operations on a resource |

## Key resources

- **Catalog** — Cross-system search index covering BigQuery, Pub/Sub, Storage, and registered custom sources
- **Entries** — Catalog records for individual data assets with schema, owner, and tags
- **Entry Groups** — Containers for related entries, especially custom non-Google sources
- **Tag Templates** — Typed schemas for governed metadata fields attached to entries
- **Tags** — Instances of a tag template attached to a specific entry or column path

## Why Jentic

- **Setup:** Wiring the Data Catalog API by hand means setting up Google OAuth, minting short-lived cloud-platform tokens from a service account rather than a raw JSON key, and addressing catalog and entry resources on datacatalog.googleapis.com. Through Jentic you install once, import the Data Catalog API from the API Directory, store the Google credential once, and your agent calls it.
- **Permission scoping:** The API carries the entry resource name in the URL path (/v1/{name}), so a rule can pin your agent to a given entry, while catalog search accepts a scope you define in the request. You choose the operations it may call, so it can search the catalog and look up entries while anything you leave out stays unavailable.
- **Credential handling:** Your Google service account credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find a BigQuery table', and Jentic returns the matching Data Catalog search or lookup operation with its input schema, including scope and filter syntax, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Google BigQuery API** — Native source whose tables Data Catalog automatically indexes
- **Google Cloud Data Fusion API** — Builds pipelines that move data between systems referenced in Data Catalog
- **Google Cloud Pub/Sub API** — Streaming source whose topics Data Catalog can index alongside batch sources

## FAQ

### What authentication does the Google Cloud Data Catalog API use?

The Data Catalog API uses Google OAuth 2.0 with the cloud-platform scope. Through Jentic the service account credentials are kept encrypted in your Jentic One instance and the agent receives short-lived access tokens minted per request.

### Can I search Data Catalog for BigQuery tables by business description?

Yes. Call /v1/catalog:search with a query string referencing the description text and a scope filter on system='BIGQUERY'. Results include entries with their linkedResource (the BigQuery table URI), schema, and tags.

### What are the rate limits for the Google Cloud Data Catalog API?

Data Catalog enforces per-project quotas with stricter limits on catalog.search and tag mutations than on entry reads. Inspect the Cloud Console Quotas page for the precise per-method limits in your project.

### How do I tag a BigQuery column with PII through Jentic?

Run pip install jentic, search Jentic for 'tag bigquery column data catalog', load the schema for tags.create on datacatalog.googleapis.com, and execute it with the entry name, tag template reference, and column path.

### Does Data Catalog query the underlying data?

No. It only manages metadata: schemas, descriptions, tags, and lineage hints. Querying a discovered BigQuery table or Cloud Storage object happens through the respective service API.

### Can I limit what my agent is allowed to do with the Google Cloud Data Catalog API?

Yes. Because you run Jentic One yourself, your own rules decide which Data Catalog operations and credentials the agent may use, so you can allow read paths like catalog:search and entries:lookup while withholding tag or IAM mutations. Since the entry resource name travels in the URL path (/v1/{name}), a rule can pin the agent to a specific entry or entry group, and the search scope you set in the request bounds what it can look across. Any operation you do not grant stays unavailable to the agent.
