Retrieve database schema
Retrieves the database schema. Specify `lsn` or `timestamp` (not both) to read at a point in time; omit both to read from the database's head.
GET /projects/{project_id}/branches/{branch_id}/schema
Retrieves the database schema. Specify lsn or timestamp (not both) to read at a point in time; omit both to read from the database's head.
curl "https://console.neon.tech/api/v2/projects/$PROJECT_ID/branches/$BRANCH_ID/schema?db_name=$DB_NAME" \
-H "Authorization: Bearer $NEON_API_KEY"Every field below is optional. An empty body works too.
Also available in
neon branches schema-diff [base] [compare]Console path: Projects → Branches
Parameters
Section titled “Parameters”Project ID
project_id
string
The Neon project ID
Branch ID
branch_id
string
The branch ID
Db name
db_name
string
Name of the database for which the schema is retrieved
LSN
lsn
string
The Log Sequence Number (LSN) for which the schema is retrieved
Timestamp
timestamp
string
The point in time for which the schema is retrieved
Format
format
string
The format of the schema to retrieve. Possible values:
sql(default)json
Response
Section titled “Response”200
Schema definition
Depth
"sql": (string),
Errors
Section titled “Errors”default
General error
This endpoint can return the standard Neon API error response.
Response fields
messageRequired. Human-readable error message.codeRequired. Machine-readable error code.request_idOptional. Request identifier for debugging. You can provide one with theX-Request-IDheader.
Retry guidance
If no response is returned, the request may still have reached the server. This is why retry safety depends on the method and status code.
Idempotent methods (GET, HEAD, OPTIONS) are generally safe to retry after a network error or timeout. Non-idempotent methods (POST, PATCH, DELETE, PUT) can change state, so avoid automatic retries unless your workflow can tolerate duplicate effects.
Responses with 423 Locked or 503 Service Unavailable are safe to retry. 423 Locked means the resource is temporarily locked, usually because another operation is in progress.