/projects/{project_id}/branches/{branch_id}/data-api/{database_name}Create Neon Data API
Creates a new instance of Neon Data API in the specified branch.
The Data API exposes a REST interface over the branch database. The database_name path parameter determines which database the API serves.
Quick start
curl "https://console.neon.tech/api/v2/projects/$PROJECT_ID/branches/$BRANCH_ID/data-api/$DATABASE_NAME" \
-X POST \
-H "Authorization: Bearer $NEON_API_KEY"Every field below is optional. An empty body works too.
import { createNeonClient, raw } from '@neon/sdk';
const neon = createNeonClient({ apiKey: process.env.NEON_API_KEY });
const { data } = await raw.createProjectBranchDataApi({
client: neon.client,
path: {
project_id: process.env.PROJECT_ID,
branch_id: process.env.BRANCH_ID,
database_name: process.env.DATABASE_NAME
}
});Parameters
project_idThe Neon project ID
branch_idThe Neon branch ID
database_nameThe database name
Request body
No field is required. Send an empty body to use sensible defaults.
auth_providerThe authentication provider to use for the Neon Data API
jwks_urlThe URL that lists the JWKS
provider_nameThe name of the authentication provider (e.g., Clerk, Stytch, Auth0)
jwt_audienceWARNING - using this setting will only reject tokens with a different audience claim. Tokens without audience claim will still be accepted.
add_default_grantsGrant all permissions to the tables in the public schema to authenticated users
skip_auth_schemaSkip creating the auth schema and RLS functions
settingsConfiguration settings for the Data API
Response
201Creates a new app
Errors
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.








