List project access
Retrieves details about users who have access to the project, including the permission `id`, the granted-to email address, and the date project access was granted.
GET /projects/{project_id}/permissions
Retrieves details about users who have access to the project, including the permission id, the granted-to email address, and the date project access was granted.
curl "https://console.neon.tech/api/v2/projects/$PROJECT_ID/permissions" \
-H "Authorization: Bearer $NEON_API_KEY"Every field below is optional. An empty body works too.
Also available in
import { createNeonClient, raw } from '@neon/sdk';
const neon = createNeonClient({ apiKey: process.env.NEON_API_KEY });
const { data } = await raw.listProjectPermissions({
client: neon.client,
path: {
project_id: process.env.PROJECT_ID
}
});Console path: Projects → Settings → Collaborators
Parameters
Section titled “Parameters”Project ID
project_id
string
Response
Section titled “Response”200
Returned project access details
Depth
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.