oCoreoCore Docs
API Reference

Monitoring

Get cron status

Returns ir.cron scheduled action status for the instance.

GET
/instances/{id}/monitoring/cron

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

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

OK

{}

Get instance health status

Runs a full health check and returns the current health status for the instance.

GET
/instances/{id}/monitoring/health

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

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

OK

{
  "checks": [
    {}
  ],
  "instanceId": "string",
  "lastCheck": "string",
  "status": "string"
}

Search instance logs

Returns paginated historical log entries from the database with optional filters.

GET
/instances/{id}/monitoring/logs

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

Query Parameters

containerstring

Container name filter

levelstring

Log level filter

qstring

Search query

sincestring

Start time (RFC3339)

untilstring

End time (RFC3339)

pageinteger

Page number

Default: 1
per_pageinteger

Items per page

Default: 20
curl -X GET "//api.ocore.dev/api/instances/<string>/monitoring/logs?container=%3Cstring%3E&level=%3Cstring%3E&q=%3Cstring%3E&since=%3Cstring%3E&until=%3Cstring%3E&page=1&per_page=20" \
  -H "Authorization: <token>"

OK

{
  "entries": [
    {}
  ],
  "page": 0,
  "perPage": 0,
  "total": 0
}

Get log containers

Returns list of available containers for log streaming on the instance.

GET
/instances/{id}/monitoring/logs/containers

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

curl -X GET "//api.ocore.dev/api/instances/<string>/monitoring/logs/containers" \
  -H "Authorization: <token>"

OK

{
  "containers": [
    "string"
  ]
}

Stream instance logs (SSE)

Server-Sent Events stream of real-time log lines from containers via SSH.

GET
/instances/{id}/monitoring/logs/stream

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

Query Parameters

containerstring

Container name

Default: "odoo"
tailinteger

Number of initial lines

Default: 100
curl -X GET "//api.ocore.dev/api/instances/<string>/monitoring/logs/stream?container=odoo&tail=100" \
  -H "Authorization: <token>"

SSE event stream

"string"

Get instance metrics history

Returns historical instance metrics (CPU, memory, disk) for the given time period.

GET
/instances/{id}/monitoring/metrics

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

Query Parameters

periodstring

Time period: 1h, 6h, 24h, 7d

Default: "1h"
curl -X GET "//api.ocore.dev/api/instances/<string>/monitoring/metrics?period=1h" \
  -H "Authorization: <token>"

OK

{
  "metrics": [
    {}
  ],
  "period": "string"
}

Get latest instance metrics

Returns the most recent metric snapshot for an instance.

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

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

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

OK

{}

Stream instance metrics (SSE)

Server-Sent Events stream pushing latest instance metrics every 10 seconds.

GET
/instances/{id}/monitoring/metrics/stream

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

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

SSE event stream

"string"

Get Sentry status

Returns the current Sentry configuration and status for the instance.

GET
/instances/{id}/monitoring/sentry

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

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

OK

{}

Setup Sentry integration

Enqueues a background job to configure Sentry error tracking on the instance. Returns 202 Accepted.

POST
/instances/{id}/monitoring/sentry

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Sentry config (dsn, environment, loggingLevel)

bodyRequiredobject

Path Parameters

idRequiredstring

Instance ID (UUID)

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

Accepted

{
  "message": "string"
}

Disable Sentry integration

Disables and removes Sentry error tracking from the instance.

DELETE
/instances/{id}/monitoring/sentry

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

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

OK

{
  "message": "string"
}

Update Sentry configuration

Updates the Sentry DSN and configuration for the instance.

PUT
/instances/{id}/monitoring/sentry

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Updated Sentry config (dsn, environment, loggingLevel)

bodyRequiredobject

Path Parameters

idRequiredstring

Instance ID (UUID)

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

OK

{
  "message": "string"
}

Get instance uptime

Returns uptime percentage and incident log for the given period.

GET
/instances/{id}/monitoring/uptime

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

Query Parameters

daysinteger

Number of days (1-365)

Default: 30
curl -X GET "//api.ocore.dev/api/instances/<string>/monitoring/uptime?days=30" \
  -H "Authorization: <token>"

OK

{}

Get worker status

Returns current Odoo worker status including HTTP, cron, and gevent workers (busy/idle/stuck).

GET
/instances/{id}/monitoring/workers

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

idRequiredstring

Instance ID (UUID)

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

OK

{}

Get active alert count

Returns the count of unresolved alert events for the organization.

GET
/monitoring/alerts/count

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

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

OK

{
  "count": 0
}

List alert events

Returns paginated alert events with optional resolved filter.

GET
/monitoring/alerts/events

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Query Parameters

resolvedboolean

Filter by resolved status

pageinteger

Page number

Default: 1
per_pageinteger

Items per page

Default: 20
curl -X GET "//api.ocore.dev/api/monitoring/alerts/events?resolved=true&page=1&per_page=20" \
  -H "Authorization: <token>"

OK

{
  "events": [
    {}
  ],
  "page": 0,
  "perPage": 0,
  "total": 0
}

Resolve all alert events

Marks all unresolved alert events for the organization as resolved.

POST
/monitoring/alerts/events/resolve-all

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X POST "//api.ocore.dev/api/monitoring/alerts/events/resolve-all" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Resolve alert event

Marks a single alert event as resolved.

PATCH
/monitoring/alerts/events/{eventId}/resolve

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

eventIdRequiredstring

Alert Event ID (UUID)

curl -X PATCH "//api.ocore.dev/api/monitoring/alerts/events/<string>/resolve" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

List alert rules

Returns all alert rules for the organization, creating preset rules if needed.

GET
/monitoring/alerts/rules

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

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

OK

{
  "rules": [
    {}
  ],
  "total": 0
}

Create alert rule

Creates a custom alert rule for the organization.

POST
/monitoring/alerts/rules

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Alert rule creation payload

bodyRequiredobject
curl -X POST "//api.ocore.dev/api/monitoring/alerts/rules" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Created

{}

Delete alert rule

Deletes a custom alert rule. Preset rules cannot be deleted, only disabled.

DELETE
/monitoring/alerts/rules/{ruleId}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

ruleIdRequiredstring

Alert Rule ID (UUID)

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

OK

{
  "message": "string"
}

Update alert rule

Updates an existing alert rule by ID.

PUT
/monitoring/alerts/rules/{ruleId}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Alert rule update payload

bodyRequiredobject

Path Parameters

ruleIdRequiredstring

Alert Rule ID (UUID)

curl -X PUT "//api.ocore.dev/api/monitoring/alerts/rules/<string>" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

OK

{}

Toggle alert rule

Enables or disables an alert rule.

PATCH
/monitoring/alerts/rules/{ruleId}/toggle

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Toggle payload

enabledboolean

Path Parameters

ruleIdRequiredstring

Alert Rule ID (UUID)

curl -X PATCH "//api.ocore.dev/api/monitoring/alerts/rules/<string>/toggle" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true
  }'

OK

{
  "message": "string"
}

List notification channels

Returns all notification channels configured for the organization.

GET
/monitoring/notifications/channels

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

curl -X GET "//api.ocore.dev/api/monitoring/notifications/channels" \
  -H "Authorization: <token>"

OK

{
  "channels": [
    {}
  ],
  "total": 0
}

Create notification channel

Creates a new notification channel (email, Slack, webhook, etc.) for the organization.

POST
/monitoring/notifications/channels

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Notification channel creation payload

bodyRequiredobject
curl -X POST "//api.ocore.dev/api/monitoring/notifications/channels" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Created

{}

Delete notification channel

Deletes a notification channel by ID.

DELETE
/monitoring/notifications/channels/{channelId}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

channelIdRequiredstring

Notification Channel ID (UUID)

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

OK

{
  "message": "string"
}

Update notification channel

Updates an existing notification channel by ID.

PUT
/monitoring/notifications/channels/{channelId}

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Request Body

application/jsonRequired

Notification channel update payload

bodyRequiredobject

Path Parameters

channelIdRequiredstring

Notification Channel ID (UUID)

curl -X PUT "//api.ocore.dev/api/monitoring/notifications/channels/<string>" \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

OK

{}

Test notification channel

Sends a test notification through the specified channel to verify it works.

POST
/monitoring/notifications/channels/{channelId}/test

Authorization

Authorization<token>

JWT Bearer token (format: Bearer {token})

In: header

Path Parameters

channelIdRequiredstring

Notification Channel ID (UUID)

curl -X POST "//api.ocore.dev/api/monitoring/notifications/channels/<string>/test" \
  -H "Authorization: <token>"

OK

{
  "message": "string"
}

Was this page helpful?