Neo4j Instances API
Manage AuraDB cloud database instances including provisioning, configuration, lifecycle operations such as pause and resume, and deletion.
Manage AuraDB cloud database instances including provisioning, configuration, lifecycle operations such as pause and resume, and deletion.
openapi: 3.1.0
info:
title: Neo4j Aura Authentication Instances API
description: 'The Neo4j Aura API provides programmatic access to manage Neo4j AuraDB cloud database instances. It supports operations across three primary resources: instances, tenants, and snapshots. Developers authenticate using OAuth2 bearer tokens obtained through client credentials, and can automate the provisioning, configuration, and management of their cloud-hosted Neo4j graph databases. The API is accessible through the api.neo4j.io platform and is available to Aura Enterprise customers.'
version: '1.0'
contact:
name: Neo4j Support
url: https://support.neo4j.com
termsOfService: https://neo4j.com/terms/
servers:
- url: https://api.neo4j.io/v1
description: Neo4j Aura Production API
security:
- bearerAuth: []
tags:
- name: Instances
description: Manage AuraDB cloud database instances including provisioning, configuration, lifecycle operations such as pause and resume, and deletion.
paths:
/instances:
get:
operationId: listInstances
summary: List all instances
description: Returns a list of all AuraDB instances accessible to the authenticated user across all tenants.
tags:
- Instances
parameters:
- name: tenantId
in: query
required: false
description: Filter instances by tenant ID
schema:
type: string
responses:
'200':
description: List of instances
content:
application/json:
schema:
type: object
properties:
data:
type: array
description: Array of instance objects
items:
$ref: '#/components/schemas/Instance'
'401':
description: Authentication required or token expired
'403':
description: Insufficient permissions
post:
operationId: createInstance
summary: Create a new instance
description: Provisions a new AuraDB cloud database instance with the specified configuration including version, region, memory, cloud provider, and instance type.
tags:
- Instances
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInstanceRequest'
responses:
'202':
description: Instance creation initiated
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/InstanceCreated'
'400':
description: Invalid configuration
content:
application/json:
schema:
$ref: '#/components/schemas/AuraError'
'401':
description: Authentication required or token expired
'403':
description: Insufficient permissions
/instances/{instanceId}:
get:
operationId: getInstance
summary: Get instance details
description: Returns detailed information about a specific AuraDB instance including its status, configuration, connection URI, and metrics integration URL.
tags:
- Instances
parameters:
- $ref: '#/components/parameters/instanceId'
responses:
'200':
description: Instance details
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Instance'
'401':
description: Authentication required or token expired
'404':
description: Instance not found
patch:
operationId: updateInstance
summary: Update an instance
description: Updates the configuration of an existing AuraDB instance. Supported updates include resizing memory and renaming the instance.
tags:
- Instances
parameters:
- $ref: '#/components/parameters/instanceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateInstanceRequest'
responses:
'200':
description: Instance updated successfully
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Instance'
'400':
description: Invalid update configuration
content:
application/json:
schema:
$ref: '#/components/schemas/AuraError'
'401':
description: Authentication required or token expired
'404':
description: Instance not found
delete:
operationId: deleteInstance
summary: Delete an instance
description: Permanently deletes an AuraDB instance and all associated data. This operation cannot be undone.
tags:
- Instances
parameters:
- $ref: '#/components/parameters/instanceId'
responses:
'202':
description: Instance deletion initiated
'401':
description: Authentication required or token expired
'404':
description: Instance not found
/instances/{instanceId}/pause:
post:
operationId: pauseInstance
summary: Pause an instance
description: Pauses a running AuraDB instance, stopping compute charges while retaining the data. A paused instance cannot serve queries.
tags:
- Instances
parameters:
- $ref: '#/components/parameters/instanceId'
responses:
'200':
description: Instance pause initiated
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Instance'
'401':
description: Authentication required or token expired
'404':
description: Instance not found
/instances/{instanceId}/resume:
post:
operationId: resumeInstance
summary: Resume a paused instance
description: Resumes a paused AuraDB instance, restoring it to a running state so it can serve queries again.
tags:
- Instances
parameters:
- $ref: '#/components/parameters/instanceId'
responses:
'200':
description: Instance resume initiated
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Instance'
'401':
description: Authentication required or token expired
'404':
description: Instance not found
/instances/{instanceId}/overwrite:
post:
operationId: overwriteInstance
summary: Overwrite an instance from a snapshot
description: Overwrites the data in an existing instance with data from a specified snapshot, effectively restoring the instance to a previous point in time.
tags:
- Instances
parameters:
- $ref: '#/components/parameters/instanceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OverwriteInstanceRequest'
responses:
'200':
description: Instance overwrite initiated
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/Instance'
'400':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/AuraError'
'401':
description: Authentication required or token expired
'404':
description: Instance or snapshot not found
components:
parameters:
instanceId:
name: instanceId
in: path
required: true
description: The unique identifier of an AuraDB instance
schema:
type: string
schemas:
InstanceCreated:
type: object
description: Response when an instance is created, including initial credentials.
properties:
id:
type: string
description: Unique identifier for the new instance
name:
type: string
description: Display name of the instance
status:
type: string
description: Current status of the instance
tenant_id:
type: string
description: ID of the tenant this instance belongs to
connection_url:
type: string
description: Bolt connection URI for the instance
username:
type: string
description: Initial database username
example: neo4j
password:
type: string
description: Initial database password. This value is only returned once at creation time and cannot be retrieved later.
OverwriteInstanceRequest:
type: object
description: Request body for overwriting an instance from a snapshot.
required:
- source_snapshot_id
- source_instance_id
properties:
source_snapshot_id:
type: string
description: ID of the snapshot to use as the data source
source_instance_id:
type: string
description: ID of the instance the snapshot belongs to
AuraError:
type: object
description: Error response from the Aura API.
properties:
errors:
type: array
description: Array of error objects
items:
type: object
properties:
message:
type: string
description: Human-readable error message
reason:
type: string
description: Machine-readable error reason code
field:
type: string
description: Field that caused the error if applicable
Instance:
type: object
description: An AuraDB cloud database instance.
properties:
id:
type: string
description: Unique identifier for the instance
name:
type: string
description: Display name of the instance
status:
type: string
description: Current status of the instance
enum:
- creating
- running
- pausing
- paused
- resuming
- updating
- destroying
- destroyed
- loading
- restoring
tenant_id:
type: string
description: ID of the tenant this instance belongs to
cloud_provider:
type: string
description: Cloud provider hosting the instance
enum:
- gcp
- aws
- azure
region:
type: string
description: Cloud region where the instance is deployed
example: us-east-1
type:
type: string
description: Instance type
enum:
- enterprise-db
- enterprise-ds
- professional-db
- free-db
memory:
type: string
description: Memory allocated to the instance
example: 8GB
storage:
type: string
description: Storage allocated to the instance
example: 16GB
connection_url:
type: string
description: Bolt connection URI for the instance
example: neo4j+s://xxxxxxxx.databases.neo4j.io
metrics_integration_url:
type: string
description: URL for metrics integration endpoint
neo4j_version:
type: string
description: Neo4j database version running on the instance
example: '5'
CreateInstanceRequest:
type: object
description: Request body for creating a new AuraDB instance.
required:
- name
- memory
- region
- cloud_provider
- type
- tenant_id
properties:
name:
type: string
description: Display name for the instance
maxLength: 30
version:
type: string
description: Neo4j version for the instance
example: '5'
region:
type: string
description: Cloud region where the instance should be deployed
example: us-east-1
memory:
type: string
description: Memory to allocate to the instance
example: 8GB
type:
type: string
description: Instance type
enum:
- enterprise-db
- enterprise-ds
- professional-db
- free-db
tenant_id:
type: string
description: ID of the tenant to create the instance in
cloud_provider:
type: string
description: Cloud provider for hosting
enum:
- gcp
- aws
- azure
UpdateInstanceRequest:
type: object
description: Request body for updating an instance configuration.
properties:
name:
type: string
description: Updated display name for the instance
maxLength: 30
memory:
type: string
description: Updated memory allocation
example: 16GB
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: OAuth2 bearer token obtained from the /oauth/token endpoint using client credentials. Tokens expire after one hour.
externalDocs:
description: Neo4j Aura API Specification
url: https://neo4j.com/docs/aura/platform/api/specification/