oCoreoCore Docs
API Reference

Databases

Create a database

Creates a new PostgreSQL database on the instance.

POST
/instances/{id}/database

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Database name

namestring

Path Parameters

idRequiredstring

Instance UUID

curl -X POST "//api.ocore.dev/api/instances/<string>/database" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string"
  }'

Created

{
  "message": "string",
  "name": "string"
}

Delete a database

Drops the active database after name confirmation. Returns 409 if no recent backup exists.

DELETE
/instances/{id}/database

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Confirmation name

confirmNamestring

Path Parameters

idRequiredstring

Instance UUID

curl -X DELETE "//api.ocore.dev/api/instances/<string>/database" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "confirmName": "string"
  }'

OK

{
  "deleted": true,
  "message": "string"
}

Get database configuration

Returns the current database config with recommended values, override status, and parameter groups.

GET
/instances/{id}/database/config

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X GET "//api.ocore.dev/api/instances/<string>/database/config" \
  -H "Authorization: <token>"

OK

{
  "autovacuumAnalyzeScaleFactor": 0,
  "autovacuumMaxWorkers": 0,
  "autovacuumVacuumScaleFactor": 0,
  "createdAt": "string",
  "effectiveCacheSizeMb": 0,
  "externalProvider": "string",
  "id": "string",
  "instanceId": "string",
  "isExternalDb": true,
  "lastTunedAt": "string",
  "maintenanceDay": 0,
  "maintenanceWindow": "string",
  "maintenanceWorkMemMb": 0,
  "maxConnections": 0,
  "pendingReview": true,
  "pgbouncerEnabled": true,
  "pgbouncerMaxClientConn": 0,
  "pgbouncerPoolMode": "string",
  "pgbouncerPoolSize": 0,
  "recommendedParams": [
    {
      "category": "string",
      "parameters": [
        {
          "current": "string",
          "isOverridden": true,
          "name": "string",
          "recommended": "string",
          "unit": "string"
        }
      ]
    }
  ],
  "redisSessionsEnabled": true,
  "s3Bucket": "string",
  "s3Endpoint": "string",
  "s3FilestoreEnabled": true,
  "s3MigrationProgress": 0,
  "s3MigrationStatus": "string",
  "s3Region": "string",
  "sharedBuffersMb": 0,
  "slowQueryRegressionFactor": 0,
  "slowQueryThresholdMs": 0,
  "updatedAt": "string",
  "userOverrides": {
    "property1": true,
    "property2": true
  },
  "workMemMb": 0
}

Update database configuration

Saves tuning parameter changes without applying them to PostgreSQL. Use the apply endpoint to apply.

PUT
/instances/{id}/database/config

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Tuning parameters to update

autovacuumAnalyzeScaleFactornumber
autovacuumMaxWorkersinteger
autovacuumVacuumScaleFactornumber
effectiveCacheSizeMbinteger
maintenanceDayinteger
maintenanceWindowstring
maintenanceWorkMemMbinteger
maxConnectionsinteger
sharedBuffersMbinteger
slowQueryRegressionFactornumber
slowQueryThresholdMsinteger
workMemMbinteger

Path Parameters

idRequiredstring

Instance UUID

curl -X PUT "//api.ocore.dev/api/instances/<string>/database/config" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "autovacuumAnalyzeScaleFactor": 0,
    "autovacuumMaxWorkers": 0,
    "autovacuumVacuumScaleFactor": 0,
    "effectiveCacheSizeMb": 0,
    "maintenanceDay": 0,
    "maintenanceWindow": "string",
    "maintenanceWorkMemMb": 0,
    "maxConnections": 0,
    "sharedBuffersMb": 0,
    "slowQueryRegressionFactor": 0,
    "slowQueryThresholdMs": 0,
    "workMemMb": 0
  }'

OK

{
  "message": "string"
}

Accept tuning recommendations

Copies auto-tuned recommended values into the active config fields (skipping user overrides).

POST
/instances/{id}/database/config/accept

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X POST "//api.ocore.dev/api/instances/<string>/database/config/accept" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Apply database configuration

Applies the saved tuning configuration to the live PostgreSQL instance.

POST
/instances/{id}/database/config/apply

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X POST "//api.ocore.dev/api/instances/<string>/database/config/apply" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Reset database configuration

Clears all user overrides and re-runs auto-tune to generate fresh recommendations.

POST
/instances/{id}/database/config/reset

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X POST "//api.ocore.dev/api/instances/<string>/database/config/reset" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Get external database status

Returns the external database connection status, provider, and masked connection string.

GET
/instances/{id}/database/external

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X GET "//api.ocore.dev/api/instances/<string>/database/external" \
  -H "Authorization: <token>"

OK

{
  "connected": true,
  "connectionStringMasked": "string",
  "provider": "string"
}

Connect an external database

Validates and stores an external database connection string. Tests connectivity before saving.

POST
/instances/{id}/database/external

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

External DB connection details

connectionStringstring
providerstring

"aws_rds", "gcloud_sql", "azure", "custom"

Path Parameters

idRequiredstring

Instance UUID

curl -X POST "//api.ocore.dev/api/instances/<string>/database/external" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionString": "string",
    "provider": "string"
  }'

OK

{
  "message": "string"
}

Disconnect external database

Removes the external database connection, reverting to the local managed database.

DELETE
/instances/{id}/database/external

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X DELETE "//api.ocore.dev/api/instances/<string>/database/external" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Get maintenance configuration

Returns the maintenance window and day settings for the instance.

GET
/instances/{id}/database/maintenance

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X GET "//api.ocore.dev/api/instances/<string>/database/maintenance" \
  -H "Authorization: <token>"

OK

{
  "maintenanceDay": 0,
  "maintenanceWindow": "string"
}

Update maintenance configuration

Updates the maintenance window time and preferred day for the instance.

PUT
/instances/{id}/database/maintenance

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Maintenance settings

maintenanceDayinteger
maintenanceWindowstring

Path Parameters

idRequiredstring

Instance UUID

curl -X PUT "//api.ocore.dev/api/instances/<string>/database/maintenance" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "maintenanceDay": 0,
    "maintenanceWindow": "string"
  }'

OK

{
  "message": "string"
}

Get maintenance history

Returns the maintenance operation history for the instance.

GET
/instances/{id}/database/maintenance/history

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

Query Parameters

limitinteger

Number of records (default 20, max 100)

curl -X GET "//api.ocore.dev/api/instances/<string>/database/maintenance/history?limit=0" \
  -H "Authorization: <token>"

OK

{
  "records": [
    null
  ],
  "total": 0
}

Trigger VACUUM ANALYZE

Enqueues an asynchronous VACUUM ANALYZE job for the instance's database.

POST
/instances/{id}/database/maintenance/vacuum

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X POST "//api.ocore.dev/api/instances/<string>/database/maintenance/vacuum" \
  -H "Authorization: <token>"

Accepted

{
  "message": "string"
}

Get database metrics history

Returns database metric history and growth rate for the specified time range.

GET
/instances/{id}/database/metrics

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

Query Parameters

daysinteger

Number of days of history (default 7, max 90)

curl -X GET "//api.ocore.dev/api/instances/<string>/database/metrics?days=0" \
  -H "Authorization: <token>"

OK

{
  "growthRateBytesPerDay": 0,
  "metrics": [
    {
      "collectedAt": "string",
      "connectionCount": 0,
      "dbSizeBytes": 0,
      "deadTuples": 0,
      "id": "string",
      "indexSizeBytes": 0,
      "tableCount": 0
    }
  ]
}

Get latest database metric

Returns the most recent database metric snapshot for the instance.

GET
/instances/{id}/database/metrics/latest

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X GET "//api.ocore.dev/api/instances/<string>/database/metrics/latest" \
  -H "Authorization: <token>"

OK

{
  "collectedAt": "string",
  "connectionCount": 0,
  "dbSizeBytes": 0,
  "deadTuples": 0,
  "id": "string",
  "indexSizeBytes": 0,
  "tableCount": 0
}

Get live PostgreSQL settings

Returns the current PostgreSQL configuration settings read directly from the server.

GET
/instances/{id}/database/pg-settings

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X GET "//api.ocore.dev/api/instances/<string>/database/pg-settings" \
  -H "Authorization: <token>"

OK

{
  "settings": [
    {
      "category": "string",
      "name": "string",
      "pendingRestart": true,
      "setting": "string",
      "shortDesc": "string",
      "source": "string",
      "unit": "string"
    }
  ]
}

Get pgBouncer configuration

Returns the current pgBouncer connection pooling configuration.

GET
/instances/{id}/database/pgbouncer

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X GET "//api.ocore.dev/api/instances/<string>/database/pgbouncer" \
  -H "Authorization: <token>"

OK

{
  "enabled": true,
  "maxClientConn": 0,
  "poolMode": "string",
  "poolSize": 0
}

Update pgBouncer configuration

Updates the pgBouncer connection pooling settings (enabled, pool size, max connections, pool mode).

PUT
/instances/{id}/database/pgbouncer

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

pgBouncer settings

enabledboolean
maxClientConninteger
poolModestring
poolSizeinteger

Path Parameters

idRequiredstring

Instance UUID

curl -X PUT "//api.ocore.dev/api/instances/<string>/database/pgbouncer" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "maxClientConn": 0,
    "poolMode": "string",
    "poolSize": 0
  }'

OK

{
  "message": "string"
}

List read replicas

Returns all read replicas configured for the instance.

GET
/instances/{id}/database/replicas

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X GET "//api.ocore.dev/api/instances/<string>/database/replicas" \
  -H "Authorization: <token>"

OK

{
  "replicas": [
    {
      "createdAt": "string",
      "id": "string",
      "instanceId": "string",
      "lastCheckedAt": "string",
      "replicationLagBytes": 0,
      "replicationLagSeconds": 0,
      "replicationSlot": "string",
      "serverId": "string",
      "status": "string",
      "updatedAt": "string"
    }
  ]
}

Create a read replica

Creates a read replica on the specified server and enqueues asynchronous setup.

POST
/instances/{id}/database/replicas

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Replica configuration

serverIdstring

Path Parameters

idRequiredstring

Instance UUID

curl -X POST "//api.ocore.dev/api/instances/<string>/database/replicas" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "serverId": "string"
  }'

Accepted

{
  "createdAt": "string",
  "id": "string",
  "instanceId": "string",
  "lastCheckedAt": "string",
  "replicationLagBytes": 0,
  "replicationLagSeconds": 0,
  "replicationSlot": "string",
  "serverId": "string",
  "status": "string",
  "updatedAt": "string"
}

Delete a read replica

Stops replication and removes the read replica.

DELETE
/instances/{id}/database/replicas/{replicaId}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

replicaIdRequiredstring

Replica UUID

curl -X DELETE "//api.ocore.dev/api/instances/<string>/database/replicas/<string>" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

List slow queries

Returns a paginated, sortable list of slow queries from the latest collection.

GET
/instances/{id}/database/slow-queries

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

Query Parameters

pageinteger

Page number

per_pageinteger

Results per page

sort_bystring

Sort field

sort_dirstring

Sort direction (asc/desc)

curl -X GET "//api.ocore.dev/api/instances/<string>/database/slow-queries?page=0&per_page=0&sort_by=%3Cstring%3E&sort_dir=%3Cstring%3E" \
  -H "Authorization: <token>"

OK

{
  "queries": [
    {
      "avgTimeS": 0,
      "calls": 0,
      "collectedAt": "string",
      "id": "string",
      "isRegression": true,
      "maxTimeS": 0,
      "queryId": "string",
      "queryText": "string",
      "rows": 0,
      "stddevTimeS": 0,
      "totalTimeS": 0
    }
  ],
  "total": 0
}

Get query regressions

Returns queries from the latest collection that have been flagged as performance regressions.

GET
/instances/{id}/database/slow-queries/regressions

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

curl -X GET "//api.ocore.dev/api/instances/<string>/database/slow-queries/regressions" \
  -H "Authorization: <token>"

OK

{
  "queries": [
    {
      "avgTimeS": 0,
      "calls": 0,
      "collectedAt": "string",
      "id": "string",
      "isRegression": true,
      "maxTimeS": 0,
      "queryId": "string",
      "queryText": "string",
      "rows": 0,
      "stddevTimeS": 0,
      "totalTimeS": 0
    }
  ],
  "total": 0
}

Get top slow queries

Returns the top N slowest queries from the latest collection period.

GET
/instances/{id}/database/slow-queries/top

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

Query Parameters

limitinteger

Number of queries (default 10, max 50)

curl -X GET "//api.ocore.dev/api/instances/<string>/database/slow-queries/top?limit=0" \
  -H "Authorization: <token>"

OK

{
  "queries": [
    {
      "avgTimeS": 0,
      "calls": 0,
      "collectedAt": "string",
      "id": "string",
      "isRegression": true,
      "maxTimeS": 0,
      "queryId": "string",
      "queryText": "string",
      "rows": 0,
      "stddevTimeS": 0,
      "totalTimeS": 0
    }
  ],
  "total": 0
}

Get slow query history

Returns the performance history of a specific query over the given number of days.

GET
/instances/{id}/database/slow-queries/{queryId}/history

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance UUID

queryIdRequiredstring

Query identifier

Query Parameters

daysinteger

Number of days of history (default 7, max 90)

curl -X GET "//api.ocore.dev/api/instances/<string>/database/slow-queries/<string>/history?days=0" \
  -H "Authorization: <token>"

OK

{
  "history": [
    {
      "avgTimeS": 0,
      "calls": 0,
      "collectedAt": "string"
    }
  ]
}

Was this page helpful?