The schema the console can show, as the owner or a role
What the console may show for one Postgres database of a branch, in the data API schema's shape (schemas, tables with their primary keys and the role's privileges, functions, enums). Without role, everything the database's owner reaches; with it, what that role reaches, after the same check the console's queries pass (it exists and isn't owner-level; BYPASSRLS is allowed, Admin only).
Authorization
bearer In: header
Path Parameters
Database id
uuidBranch id
uuidQuery Parameters
The Postgres database; the branch's main database when absent. It must be served by the data API.
The role whose view to describe; absent: the database's owner.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/databases/497f6eca-6276-4993-bfeb-53cbbbba6f08/branches/497f6eca-6276-4993-bfeb-53cbbbba6f08/console/schema"{ "app_users": { "schema": "string", "table": "string" }, "default_schema": "string", "schemas": { "property1": { "enums": { "property1": [ "string" ], "property2": [ "string" ] }, "functions": { "property1": [ { "args": [ { "array": true, "has_default": true, "name": "string", "type": "string" } ], "returns": { "array": true, "set": true, "type": "string" } } ], "property2": [ { "args": [ { "array": true, "has_default": true, "name": "string", "type": "string" } ], "returns": { "array": true, "set": true, "type": "string" } } ] }, "tables": { "property1": { "columns": { "property1": { "array": true, "enum": "string", "generated": true, "has_default": true, "nullable": true, "type": "string" }, "property2": { "array": true, "enum": "string", "generated": true, "has_default": true, "nullable": true, "type": "string" } }, "kind": "table", "primary_key": [ "string" ], "privileges": { "property1": [ "select" ], "property2": [ "select" ] }, "rls": true, "security_invoker": true }, "property2": { "columns": { "property1": { "array": true, "enum": "string", "generated": true, "has_default": true, "nullable": true, "type": "string" }, "property2": { "array": true, "enum": "string", "generated": true, "has_default": true, "nullable": true, "type": "string" } }, "kind": "table", "primary_key": [ "string" ], "privileges": { "property1": [ "select" ], "property2": [ "select" ] }, "rls": true, "security_invoker": true } } }, "property2": { "enums": { "property1": [ "string" ], "property2": [ "string" ] }, "functions": { "property1": [ { "args": [ { "array": true, "has_default": true, "name": "string", "type": "string" } ], "returns": { "array": true, "set": true, "type": "string" } } ], "property2": [ { "args": [ { "array": true, "has_default": true, "name": "string", "type": "string" } ], "returns": { "array": true, "set": true, "type": "string" } } ] }, "tables": { "property1": { "columns": { "property1": { "array": true, "enum": "string", "generated": true, "has_default": true, "nullable": true, "type": "string" }, "property2": { "array": true, "enum": "string", "generated": true, "has_default": true, "nullable": true, "type": "string" } }, "kind": "table", "primary_key": [ "string" ], "privileges": { "property1": [ "select" ], "property2": [ "select" ] }, "rls": true, "security_invoker": true }, "property2": { "columns": { "property1": { "array": true, "enum": "string", "generated": true, "has_default": true, "nullable": true, "type": "string" }, "property2": { "array": true, "enum": "string", "generated": true, "has_default": true, "nullable": true, "type": "string" } }, "kind": "table", "primary_key": [ "string" ], "privileges": { "property1": [ "select" ], "property2": [ "select" ] }, "rls": true, "security_invoker": true } } } }, "version": "string"}Run a data API request from the console POST
Runs one data API request (`tree`, the JSON `POST /data/v1/query` takes; every operation, batches included) on a branch, in one transaction with the data API's `max_rows` and statement timeout. `role: null` runs as the database's owner; any other role runs as that role, after a check that it exists and isn't owner-level (superuser, CREATEROLE, CREATEDB, REPLICATION or a member of `neon_superuser`); a role with BYPASSRLS passes (Admin only), and the console then reads and writes past row-level security. The answer is the data API's: its JSON on success, and its error body (`invalid_query`, `unknown_table`, `permission_denied`, `conflict`, …) when the request fails in the database. Every write is logged without its values.
The branch's schema as the data API sees it GET
Next Page