API and agentsAPI reference
Table
object
idstringnamestringqualifiedNamestringThe name the caller would type for this dataset: its plain name when it is the caller's own, <sql name>.<name> when it is another owner's, which tells two same-named datasets apart. Present on every listing and read.
ownerPersonThe dataset's owner. Present on every listing and read.
sourceFilenamestringor nullThe file this table arrived as. Null for a derived table, whose output never was a file, and, to anyone but its owner, for a PostGIS snapshot, whose remote schema and table belong to its owner's connection.
formatstringOne of
geoparquet,geojson,csv,shapefile,geopackage,kmlgeometryColumnstringor nullgeometryTypestringor nullgeometryRecordApplied automatic CSV recognition or a manual file/URL geometry choice. Null after clear or recognition without a choice; legacy absence is preserved until geometry is set.
Any of:
or null
geometryCandidatesarray of GeometryCandidateAutomatic CSV recognition evidence. Manual geometry edits clear this stored sample; GET geometry recomputes current candidates. Legacy absence is preserved until a correction.
crsAssumedbooleanheaderSuspectbooleanTrue when a CSV's detected column names betrayed a broken read: a name containing a comma (the header was never split), or most names numeric or blank (the first data row was taken as the header). Advisory only — the import succeeded and nothing is blocked. Always false for non-CSV sources and derived tables; a refresh recomputes it.
rowCountintegercreatedAtstringsourcestringWhich source created the table; "operation" for a table an operation produced; "sketch" for a table drawn on a map — its sourceParams carry mapId, mapName and layerId; "template" for a dataset a copy of a template made — its sourceParams carry the template's id (
template) and theversionit was copied from. A template's dataset is never refreshed: the copy is the caller's to change.One of
upload,url,overture,osm,postgis,operation,sketch,templatesourceParamsobjector nullAs stored for the caller's own dataset. For another owner's, null when it would name a connection (a PostGIS snapshot shows its source kind and nothing more) or a map the caller does not reach. For another owner's derived dataset,
inputslists only the inputs the caller reaches; itssqlandparametersare as stored. Parameters that re-run the import (e.g. { url }); null for single-file uploads. Container-format tables also record { layer, group? } — the source layer and, for multi-layer imports, the shared group id; for uploads these describe provenance only, since uploads are never refreshable. For a derived table this records the operation that produced it (operation, the catalogue's identifier), its parameters, the SQL that ran (sql), its inputs by id as well as by name (inputs), and when it ran (ranAt); the inspection resolves those inputs into its owninputsfield. A table produced by an operation that asked a provider carries adisclosure— the request it made: the endpoint's host and path (endpoint, null when none was recorded) and the request's other recorded facts, each operation's own — and nosqlat all: its statement names a private staging path, and an absence is a better contract than a redaction that must never miss. The disclosure's endpoint is host and path only; the query string, where a key travels, is never recorded anywhere. A reader may rely on these fields as the durable provenance of the dataset: the workflow canvas's Provenance tab shows them and recomputes nothing.importedAtstringor nullWhen this table's data was last produced — the import's last run, or for a derived table the run that wrote it.
inputsarrayor nullFor a derived table: the inputs its run recorded, resolved by the id each was recorded under. An input whose id no longer exists reads as missing — never as whatever now carries its name. Resolved within the caller's reach: the dataset's owner reads an input they no longer reach as missing, exactly as a deleted one; anyone else reads only the inputs they reach.
(each item)objectidstringnamestringThe name recorded when the run happened.
currentNamestringThe name that id carries now, if it exists.
missingbooleannameReclaimedbooleanThe recorded name now belongs to a different table.
sizeBytesintegeror nullSize of the stored GeoParquet artifact in bytes; present on listings and inspections, null if the file is missing.
projectIdsarray of stringThe projects this dataset is in that the caller reaches, and for the caller's own dataset every project it is in, one they no longer reach included (they withdraw it with PATCH /api/projects/{id}/members); empty = in no project. A dataset can be in several; the order carries no meaning.
7439201b