Identifiers
An id is a typed, opaque string that never changes:
The resource endpoints of the API (
GET /datasets/{dataset_id}, client.files.list(dataset_id), …) take ids.
Slugs and handles
Each project and each resource also has a slug (the API also returns it asalias, its former name, and still accepts alias in a request): lowercase letters, digits, hyphens and underscores, unique among the resources of the same kind in a project, derived from the name when none is given. The handle of a resource is "<project_slug>.<slug>". This is the name you use in code:
- in SQL:
SELECT * FROM 'flights.flight-data'; - in a transform binding:
Input("flights.flight-data"),Output("flights.delayed"),Model("crm.churn"),Connection("ops.drop-folder").
Branches
A dataset can carry data branches: a named view where writes land without touching the trunk, until they are promoted. Most file and dataset calls take abranch= argument, and a build run on a branch writes there automatically. See Lineage, builds and branches.
List envelopes
Catalog listing endpoints return{"object": "list", "data": [...]}. The Python resources unwrap data for you; over HTTP, read it yourself. Single objects are returned as-is.