Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt

Use this file to discover all available pages before exploring further.

The Oura plugin syncs data locally. Use corsair.oura.db.<entity>.search({ data, limit?, offset? }) with the filters listed per entity.

Daily Activity

Path: oura.db.dailyActivity.search
const rows = await corsair.oura.db.dailyActivity.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
daystringequals, contains, startsWith, endsWith, in
scorenumberequals, gt, gte, lt, lte, in
active_caloriesnumberequals, gt, gte, lt, lte, in
stepsnumberequals, gt, gte, lt, lte, in
total_caloriesnumberequals, gt, gte, lt, lte, in
high_activity_timenumberequals, gt, gte, lt, lte, in
medium_activity_timenumberequals, gt, gte, lt, lte, in
low_activity_timenumberequals, gt, gte, lt, lte, in
sedentary_timenumberequals, gt, gte, lt, lte, in
resting_timenumberequals, gt, gte, lt, lte, in
timestampstringequals, contains, startsWith, endsWith, in
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Daily Readiness

Path: oura.db.dailyReadiness.search
const rows = await corsair.oura.db.dailyReadiness.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
daystringequals, contains, startsWith, endsWith, in
scorenumberequals, gt, gte, lt, lte, in
temperature_deviationnumberequals, gt, gte, lt, lte, in
temperature_trend_deviationnumberequals, gt, gte, lt, lte, in
timestampstringequals, contains, startsWith, endsWith, in
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Daily Sleep

Path: oura.db.dailySleep.search
const rows = await corsair.oura.db.dailySleep.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
daystringequals, contains, startsWith, endsWith, in
scorenumberequals, gt, gte, lt, lte, in
timestampstringequals, contains, startsWith, endsWith, in
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Personal Info

Path: oura.db.personalInfo.search
const rows = await corsair.oura.db.personalInfo.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
agenumberequals, gt, gte, lt, lte, in
weightnumberequals, gt, gte, lt, lte, in
heightnumberequals, gt, gte, lt, lte, in
biological_sexstringequals, contains, startsWith, endsWith, in
emailstringequals, contains, startsWith, endsWith, in
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.