oCoreoCore Docs
API Reference

Backups

List backup alerts

Returns backup alerts for the organization, optionally filtered by dismissed status.

GET
/backup-alerts

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Query Parameters

include_dismissedboolean

Include dismissed alerts

limitinteger

Results per page (default 50, max 100)

curl -X GET "//api.ocore.dev/api/backup-alerts?include_dismissed=true&limit=0" \
  -H "Authorization: <token>"

OK

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

Get backup alert count

Returns the count of unread and undismissed backup alerts for the organization.

GET
/backup-alerts/count

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/backup-alerts/count" \
  -H "Authorization: <token>"

OK

{
  "undismissed": 0,
  "unread": 0
}

Dismiss a backup alert

Marks a backup alert as dismissed so it no longer appears in active alerts.

POST
/backup-alerts/{id}/dismiss

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Alert UUID

curl -X POST "//api.ocore.dev/api/backup-alerts/<string>/dismiss" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Mark a backup alert as read

Marks a backup alert as read without dismissing it.

POST
/backup-alerts/{id}/read

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Alert UUID

curl -X POST "//api.ocore.dev/api/backup-alerts/<string>/read" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Get cron expression presets

Returns a list of common cron expression presets for backup scheduling.

GET
/backup-schedule/presets

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/backup-schedule/presets" \
  -H "Authorization: <token>"

OK

[
  {
    "cron": "string",
    "label": "string"
  }
]

Get backup details

Returns a single backup's details including size, status, and destination info.

GET
/backups/{id}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Backup UUID

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

OK

{
  "backupType": "string",
  "completedAt": "string",
  "configChecksum": "string",
  "createdAt": "string",
  "dbChecksum": "string",
  "environmentId": "string",
  "environmentName": "string",
  "environmentType": "string",
  "errorMessage": "string",
  "filestoreChecksum": "string",
  "gfsTiers": [
    "string"
  ],
  "id": "string",
  "recoveryEvidence": {
    "artifactChecksums": {
      "property1": "string",
      "property2": "string"
    },
    "artifactPaths": {
      "property1": "string",
      "property2": "string"
    },
    "blockingSteps": [
      "string"
    ],
    "canWriteCleanSuccess": true,
    "missingEvidence": [
      "string"
    ],
    "missingSteps": [
      "string"
    ],
    "operation": "string",
    "optionalFailedSteps": [
      "string"
    ],
    "progress": {},
    "reason": "string",
    "remoteCopyState": "string",
    "requiredSteps": [
      "string"
    ],
    "status": "string",
    "whyGreen": [
      "string"
    ],
    "whyNotGreen": [
      "string"
    ]
  },
  "remotePaths": {
    "property1": "string",
    "property2": "string"
  },
  "sizeBytes": 0,
  "startedAt": "string",
  "status": "string"
}

Delete a backup

Marks a backup for deletion and enqueues async cleanup from all storage destinations.

DELETE
/backups/{id}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Backup UUID

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

Accepted

{
  "message": "string"
}

Stream backup progress (SSE)

Streams backup progress events as Server-Sent Events until the backup completes or fails.

GET
/backups/{id}/progress

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Backup UUID

curl -X GET "//api.ocore.dev/api/backups/<string>/progress" \
  -H "Authorization: <token>"

SSE stream of backup progress

Trigger a backup restore

Validates the restore target and enqueues an asynchronous restore job.

POST
/backups/{id}/restore

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Restore target configuration

backupIdstring
newEnvironmentNamestring

reserved for disabled targetType="new"

pitrTimestampstring

optional point-in-time recovery target

targetEnvironmentIdstring

required if targetType="other"

targetTypestring

"same" or "other" ("new" is disabled until orchestration exists)

Path Parameters

idRequiredstring

Backup UUID

curl -X POST "//api.ocore.dev/api/backups/<string>/restore" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "backupId": "string",
    "newEnvironmentName": "string",
    "pitrTimestamp": "string",
    "targetEnvironmentId": "string",
    "targetType": "string"
  }'

Accepted

{
  "backupId": "string",
  "message": "string",
  "target": "string"
}

Stream restore progress (SSE)

Streams restore progress events as Server-Sent Events until the restore completes or fails.

GET
/backups/{id}/restore/progress

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Backup UUID

curl -X GET "//api.ocore.dev/api/backups/<string>/restore/progress" \
  -H "Authorization: <token>"

SSE stream of restore progress

Get backup schedule

Returns the current backup schedule for the environment, or 404 if no schedule exists.

GET
/environments/{env_id}/backup-schedule

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

env_idRequiredstring

Environment UUID

curl -X GET "//api.ocore.dev/api/environments/<string>/backup-schedule" \
  -H "Authorization: <token>"

OK

{
  "dbCron": "string",
  "dbFrequency": "string",
  "destinationIds": [
    "string"
  ],
  "enabled": true,
  "environmentId": "string",
  "fullCron": "string",
  "fullFrequency": "string",
  "id": "string",
  "nextDbBackupAt": "string",
  "nextFullBackupAt": "string",
  "paused": true,
  "retainDaily": 0,
  "retainDailyDays": 0,
  "retainDbDaily": 0,
  "retainDbHourly": 0,
  "retainDbMonthly": 0,
  "retainDbWeekly": 0,
  "retainFullDaily": 0,
  "retainFullHourly": 0,
  "retainFullMonthly": 0,
  "retainFullWeekly": 0,
  "retainHourly": 0,
  "retainHourlyDays": 0,
  "retainMonthly": 0,
  "retainMonthlyDays": 0,
  "retainWeekly": 0,
  "retainWeeklyDays": 0,
  "timezone": "string",
  "walEnabled": true,
  "walRetentionDays": 0
}

Create or update backup schedule

Creates or updates the automated backup schedule for the environment including frequency, retention, and PITR settings.

PUT
/environments/{env_id}/backup-schedule

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Schedule configuration

dbCronstring
dbFrequencystring
destinationIdsarray<string>
enabledboolean
fullCronstring
fullFrequencystring
pausedboolean
retainDailyinteger
retainDailyDaysinteger
retainDbDailyinteger
retainDbHourlyinteger
retainDbMonthlyinteger
retainDbWeeklyinteger
retainFullDailyinteger
retainFullHourlyinteger
retainFullMonthlyinteger
retainFullWeeklyinteger
retainHourlyinteger
retainHourlyDaysinteger
retainMonthlyinteger
retainMonthlyDaysinteger
retainWeeklyinteger
retainWeeklyDaysinteger
timezonestring
walEnabledboolean
walRetentionDaysinteger

Path Parameters

env_idRequiredstring

Environment UUID

curl -X PUT "//api.ocore.dev/api/environments/<string>/backup-schedule" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "dbCron": "string",
    "dbFrequency": "string",
    "destinationIds": [
      "string"
    ],
    "enabled": true,
    "fullCron": "string",
    "fullFrequency": "string",
    "paused": true,
    "retainDaily": 0,
    "retainDailyDays": 0,
    "retainDbDaily": 0,
    "retainDbHourly": 0,
    "retainDbMonthly": 0,
    "retainDbWeekly": 0,
    "retainFullDaily": 0,
    "retainFullHourly": 0,
    "retainFullMonthly": 0,
    "retainFullWeekly": 0,
    "retainHourly": 0,
    "retainHourlyDays": 0,
    "retainMonthly": 0,
    "retainMonthlyDays": 0,
    "retainWeekly": 0,
    "retainWeeklyDays": 0,
    "timezone": "string",
    "walEnabled": true,
    "walRetentionDays": 0
  }'

OK

{
  "dbCron": "string",
  "dbFrequency": "string",
  "destinationIds": [
    "string"
  ],
  "enabled": true,
  "environmentId": "string",
  "fullCron": "string",
  "fullFrequency": "string",
  "id": "string",
  "nextDbBackupAt": "string",
  "nextFullBackupAt": "string",
  "paused": true,
  "retainDaily": 0,
  "retainDailyDays": 0,
  "retainDbDaily": 0,
  "retainDbHourly": 0,
  "retainDbMonthly": 0,
  "retainDbWeekly": 0,
  "retainFullDaily": 0,
  "retainFullHourly": 0,
  "retainFullMonthly": 0,
  "retainFullWeekly": 0,
  "retainHourly": 0,
  "retainHourlyDays": 0,
  "retainMonthly": 0,
  "retainMonthlyDays": 0,
  "retainWeekly": 0,
  "retainWeeklyDays": 0,
  "timezone": "string",
  "walEnabled": true,
  "walRetentionDays": 0
}

Preview retention policy impact

Simulates retention policy changes and returns which backups would be deleted.

POST
/environments/{env_id}/backup-schedule/retention-preview

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Proposed retention settings

retainDailyinteger
retainDailyDaysinteger
retainDbDailyinteger
retainDbHourlyinteger
retainDbMonthlyinteger
retainDbWeeklyinteger
retainFullDailyinteger
retainFullHourlyinteger
retainFullMonthlyinteger
retainFullWeeklyinteger
retainHourlyinteger
retainHourlyDaysinteger
retainMonthlyinteger
retainMonthlyDaysinteger
retainWeeklyinteger
retainWeeklyDaysinteger

Path Parameters

env_idRequiredstring

Environment UUID

curl -X POST "//api.ocore.dev/api/environments/<string>/backup-schedule/retention-preview" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "retainDaily": 0,
    "retainDailyDays": 0,
    "retainDbDaily": 0,
    "retainDbHourly": 0,
    "retainDbMonthly": 0,
    "retainDbWeekly": 0,
    "retainFullDaily": 0,
    "retainFullHourly": 0,
    "retainFullMonthly": 0,
    "retainFullWeekly": 0,
    "retainHourly": 0,
    "retainHourlyDays": 0,
    "retainMonthly": 0,
    "retainMonthlyDays": 0,
    "retainWeekly": 0,
    "retainWeeklyDays": 0
  }'

OK

{
  "items": [
    {
      "backupId": "string",
      "backupType": "string",
      "createdAt": "string",
      "gfsTiers": [
        "string"
      ],
      "reason": "string",
      "sizeBytes": 0
    }
  ],
  "totalSizeBytes": 0
}

List environment backups

Returns backups for the environment with optional status/type filters and pagination.

GET
/environments/{env_id}/backups

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

env_idRequiredstring

Environment UUID

Query Parameters

statusstring

Filter by backup status

typestring

Filter by backup type

limitinteger

Results per page (default 20, max 100)

offsetinteger

Offset for pagination

curl -X GET "//api.ocore.dev/api/environments/<string>/backups?status=%3Cstring%3E&type=%3Cstring%3E&limit=0&offset=0" \
  -H "Authorization: <token>"

OK

{
  "backups": [
    {
      "backupType": "string",
      "completedAt": "string",
      "configChecksum": "string",
      "createdAt": "string",
      "dbChecksum": "string",
      "environmentId": "string",
      "environmentName": "string",
      "environmentType": "string",
      "errorMessage": "string",
      "filestoreChecksum": "string",
      "gfsTiers": [
        "string"
      ],
      "id": "string",
      "recoveryEvidence": {
        "artifactChecksums": {
          "property1": "string",
          "property2": "string"
        },
        "artifactPaths": {
          "property1": "string",
          "property2": "string"
        },
        "blockingSteps": [
          "string"
        ],
        "canWriteCleanSuccess": true,
        "missingEvidence": [
          "string"
        ],
        "missingSteps": [
          "string"
        ],
        "operation": "string",
        "optionalFailedSteps": [
          "string"
        ],
        "progress": {},
        "reason": "string",
        "remoteCopyState": "string",
        "requiredSteps": [
          "string"
        ],
        "status": "string",
        "whyGreen": [
          "string"
        ],
        "whyNotGreen": [
          "string"
        ]
      },
      "remotePaths": {
        "property1": "string",
        "property2": "string"
      },
      "sizeBytes": 0,
      "startedAt": "string",
      "status": "string"
    }
  ],
  "total": 0
}

Trigger a manual backup

Creates a backup record and enqueues an asynchronous backup job for the environment.

POST
/environments/{env_id}/backups

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Backup configuration (type, label, destination)

typestring

"db" or "full"

Path Parameters

env_idRequiredstring

Environment UUID

curl -X POST "//api.ocore.dev/api/environments/<string>/backups" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "db"
  }'

Accepted

{
  "backupId": "string",
  "message": "string"
}

Get PITR coverage

Returns the point-in-time recovery coverage window and WAL archiving status for the environment.

GET
/environments/{env_id}/pitr-coverage

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

env_idRequiredstring

Environment UUID

curl -X GET "//api.ocore.dev/api/environments/<string>/pitr-coverage" \
  -H "Authorization: <token>"

OK

{
  "baseBackups": [
    {
      "backupId": "string",
      "timestamp": "string"
    }
  ],
  "earliestRecoverable": "string",
  "gaps": [
    {
      "end": "string",
      "start": "string"
    }
  ],
  "latestRecoverable": "string",
  "walRanges": [
    {
      "end": "string",
      "start": "string"
    }
  ]
}

List environment restore logs

Returns restore logs where the target or source environment matches the given environment.

GET
/environments/{environmentId}/restore-logs

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

environmentIdRequiredstring

Environment UUID

curl -X GET "//api.ocore.dev/api/environments/<string>/restore-logs" \
  -H "Authorization: <token>"

OK

{
  "restoreLogs": [
    {
      "backupId": "string",
      "completedAt": "string",
      "createdAt": "string",
      "errorMessage": "string",
      "id": "string",
      "performedBy": "string",
      "recoveryEvidence": {
        "artifactChecksums": {
          "property1": "string",
          "property2": "string"
        },
        "artifactPaths": {
          "property1": "string",
          "property2": "string"
        },
        "blockingSteps": [
          "string"
        ],
        "canWriteCleanSuccess": true,
        "missingEvidence": [
          "string"
        ],
        "missingSteps": [
          "string"
        ],
        "operation": "string",
        "optionalFailedSteps": [
          "string"
        ],
        "progress": {},
        "reason": "string",
        "remoteCopyState": "string",
        "requiredSteps": [
          "string"
        ],
        "status": "string",
        "whyGreen": [
          "string"
        ],
        "whyNotGreen": [
          "string"
        ]
      },
      "sourceEnvironmentId": "string",
      "sourceEnvironmentName": "string",
      "startedAt": "string",
      "status": "string",
      "targetEnvironmentId": "string",
      "targetEnvironmentName": "string",
      "targetType": "string"
    }
  ],
  "total": 0
}

List project backups

Returns all backups across all environments in the project with environment metadata.

GET
/projects/{projectId}/backups

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

projectIdRequiredstring

Project UUID

Query Parameters

statusstring

Filter by backup status

limitinteger

Results per page (default 50, max 100)

offsetinteger

Offset for pagination

curl -X GET "//api.ocore.dev/api/projects/<string>/backups?status=%3Cstring%3E&limit=0&offset=0" \
  -H "Authorization: <token>"

OK

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

Was this page helpful?