A data access grant lets a Connect Any API recipe drive its requests from the rows of one Lake or Warehouse object. The recipe reads the granted rows as a stream named grant_<name>, so the API can answer questions such as "what is the score for this client?" from data the connector could not otherwise read. Users with the admin role create and manage grants in the Data access section of the connector's recipe editor. For the connector end to end, see Connect any API; for the hosts side, see Hosts, streams and data access.
The confirmation refuses a wrong name with "type the object name "clients_view" exactly to confirm", and if the approved hosts changed while the dialog was open it answers "the hosts changed while you were confirming - reopen the confirmation" so you confirm on the new host list.
A successful save confirms with "Data access "{name}" granted".
A grant breaks when what it confirmed no longer matches the object:
The reason appears on the grant's row. Loads that use the grant stop with a message such as "GRANT_BROKEN: grant "clients": column "phone" no longer exists in clients_view". The next run checks the grant again: once the object and its columns resolve again, the grant returns to Active and the load can continue. If the reason says it is not pinned, an admin confirms the grant again first.
| Message | What it means | What to do |
|---|---|---|
| GRANT_STREAM: stream "grant_clients" is a data access grant - a grant feeds a parent stream and is never loaded into the Lake | A load was requested for the grant stream itself. | Do not import a grant as a table. Import its parent stream instead. |
| GRANT_UNKNOWN: grant "clients" of connector "scoring_api" was revoked (or does not exist) | A stream references a grant that is revoked or gone. | Ask an admin to set the access up again, or remove the grant's reference from the recipe, then run again. |
| GRANT_BROKEN: grant "clients": ... | The object or a granted column changed since the grant was confirmed. | Fix what the reason names, then run again. A grant whose reason says it is not pinned needs an admin confirmation first. |
In the connector's chat, users with the admin role can preview a grant. The preview reads a few rows exactly as the parent stream receives them, with PII columns as tokens, and adds the row count plus per-column statistics: the distinct count, the null count and, for date and numeric columns, the minimum and maximum. A preview returns up to 100 rows, 20 by default. Admins also see up to three sample values per column in the grants list, with PII as tokens; everyone else sees the grant's metadata only.
No. In the connector's chat the assistant can raise a Data access request card, with the purpose and any suggested object, columns, date column or row cap. It never creates the grant: an admin opens Open Data access from the card, reviews the prefilled Add data access form and clicks Grant access. Until then the card reads No grant created; once the grant exists, the card shows it.
Eight active or broken grants. When the limit is reached, the save is refused with "A connector may hold at most 8 active or broken data access grants". Revoked grants stay listed but do not load.
The stream references a grant that is revoked, missing or broken. The run error names the case: GRANT_STREAM, GRANT_UNKNOWN or GRANT_BROKEN. Fix what the message names, then run again; the table above lists each case.
No. A grant feeds its parent stream and is never loaded into the Lake; loading the grant_<name> stream itself fails with "GRANT_STREAM: stream "grant_clients" is a data access grant - a grant feeds a parent stream and is never loaded into the Lake". Import the parent stream instead.
Because the object or a granted column changed after the grant was confirmed: a column was removed or changed type, its computed state or script changed, the object definition changed, or the grant was never pinned. The row shows the reason. Loads resume when the grant resolves again; a grant that is not pinned needs an admin confirmation.
The grant stays in the list as Revoked and cannot be changed; its Revoke button disappears. Loads that still reference the stream grant_<name> fail from the next run. The audit log keeps the grant.
The removal is refused with "Cannot remove table "clients_view": ANY API connector "scoring_api" reads it through grant "clients". Revoke the grant first." Columns are refused the same way. A broken grant still blocks the removal, because it counts as live until it is revoked.
With the admin role, yes, from the connector's chat: the assistant previews a few rows exactly as the parent stream receives them, with PII columns as tokens, plus per-column statistics. A preview returns up to 100 rows, 20 by default. Other users see the grant's metadata only.
It bounds each run to the rows whose date falls inside the run window, which is what incremental loads read. Without one, every run reads the whole object. A PII-tagged column cannot be the date column, because tokens cannot bound the run window.
Only objects with a PII admin view can be granted. Check the Source you picked, Lake or WH, and clear the search; a table that is not deployed yet has no such view, so deploy it first.