Skip to main content
GET
/
v2
/
summary
/
sleep_cycle
/
{user_id}
curl --request GET \
     --url {{BASE_URL}}/v2/summary/sleep_cycle/{user_id}?start_date={{START_DATE}}&end_date={{END_DATE}} \
     --header 'Accept: application/json' \
     --header 'x-vital-api-key: <API_KEY>'
from junction import Junction
from junction.environment import JunctionEnvironment

client = Junction(
    api_key="YOUR_API_KEY",
    environment=JunctionEnvironment.SANDBOX,
)

data = client.sleep_cycle.get(
    "<user_id>",
    start_date="2021-01-01",
    end_date="2021-01-02",
)
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";

const client = new JunctionClient({
    apiKey: "YOUR_API_KEY",
    environment: JunctionEnvironment.Sandbox,
});

const data = await client.sleepCycle.get({
    userId: "<user_id>",
    startDate: "2021-01-01",
    endDate: "2021-01-02",
});
import com.junction.api.Junction;
import com.junction.api.core.Environment;
import com.junction.api.resources.sleepcycle.requests.GetSleepCycleRequest;

Junction client = Junction.builder()
    .apiKey("YOUR_API_KEY")
    .environment(Environment.SANDBOX)
    .build();

var data = client.sleepCycle().get(
    "<user_id>",
    GetSleepCycleRequest.builder()
        .startDate("2021-01-01")
        .endDate("2021-01-02")
        .build()
);
import (
    "context"

    junction "github.com/junction-api/junction-go"
    "github.com/junction-api/junction-go/client"
    "github.com/junction-api/junction-go/option"
)

c := client.NewClient(
    option.WithApiKey("YOUR_API_KEY"),
    option.WithBaseURL(junction.Environments.Sandbox),
)

endDate := "2021-01-02"
response, err := c.SleepCycle.Get(context.TODO(), &junction.GetSleepCycleRequest{
    UserId:    "<user_id>",
    StartDate: "2021-01-01",
    EndDate:   &endDate,
})
if err != nil {
    return err
}
fmt.Printf("Received data %s\n", response)
{
  "sleep_cycle": [
    {
      "created_at": "2023-02-27T20:31:24+00:00",
      "id": "f1b3b3b3-1b3b-1b3b-1b3b-1b3b3b3b3b3b",
      "session_end": "2022-01-01T08:00:00",
      "session_start": "2022-01-01T00:00:00",
      "sleep_id": "f1b3b3b3-1b3b-1b3b-1b3b-1b3b3b3b3b3b",
      "source": {
        "device_id": "550e8400-e29b-41d4-a716-446655440000",
        "provider": "oura",
        "type": "ring"
      },
      "source_provider": "oura",
      "source_type": "ring",
      "stage_end_offset_second": [
        300,
        600,
        900,
        1200
      ],
      "stage_start_offset_second": [
        0,
        300,
        600,
        900
      ],
      "stage_type": [
        1,
        2,
        3,
        1
      ],
      "time_zone": "America/Los_Angeles",
      "updated_at": "2023-02-28T01:22:38+00:00",
      "user_id": "f1b3b3b3-1b3b-1b3b-1b3b-1b3b3b3b3b3b"
    }
  ]
}
{
"detail": "<unknown>"
}
curl --request GET \
     --url {{BASE_URL}}/v2/summary/sleep_cycle/{user_id}?start_date={{START_DATE}}&end_date={{END_DATE}} \
     --header 'Accept: application/json' \
     --header 'x-vital-api-key: <API_KEY>'
from junction import Junction
from junction.environment import JunctionEnvironment

client = Junction(
    api_key="YOUR_API_KEY",
    environment=JunctionEnvironment.SANDBOX,
)

data = client.sleep_cycle.get(
    "<user_id>",
    start_date="2021-01-01",
    end_date="2021-01-02",
)
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";

const client = new JunctionClient({
    apiKey: "YOUR_API_KEY",
    environment: JunctionEnvironment.Sandbox,
});

const data = await client.sleepCycle.get({
    userId: "<user_id>",
    startDate: "2021-01-01",
    endDate: "2021-01-02",
});
import com.junction.api.Junction;
import com.junction.api.core.Environment;
import com.junction.api.resources.sleepcycle.requests.GetSleepCycleRequest;

Junction client = Junction.builder()
    .apiKey("YOUR_API_KEY")
    .environment(Environment.SANDBOX)
    .build();

var data = client.sleepCycle().get(
    "<user_id>",
    GetSleepCycleRequest.builder()
        .startDate("2021-01-01")
        .endDate("2021-01-02")
        .build()
);
import (
    "context"

    junction "github.com/junction-api/junction-go"
    "github.com/junction-api/junction-go/client"
    "github.com/junction-api/junction-go/option"
)

c := client.NewClient(
    option.WithApiKey("YOUR_API_KEY"),
    option.WithBaseURL(junction.Environments.Sandbox),
)

endDate := "2021-01-02"
response, err := c.SleepCycle.Get(context.TODO(), &junction.GetSleepCycleRequest{
    UserId:    "<user_id>",
    StartDate: "2021-01-01",
    EndDate:   &endDate,
})
if err != nil {
    return err
}
fmt.Printf("Received data %s\n", response)

Authorizations

x-vital-api-key
string
header
required

Vital Team API Key

Path Parameters

user_id
string<uuid>
required

Query Parameters

start_date
string<date>
required

Start date in YYYY-MM-DD

end_date
string<date> | null

End date (inclusive) in YYYY-MM-DD

provider
string
default:""

Provider oura/strava etc

Response

Successful Response

sleep_cycle
Sleep Cycle · object[]
required