curl --request GET \
--url {{BASE_URL}}/v2/summary/menstrual_cycle/{user_id} \
--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.menstrual_cycle.get(
"<user_id>",
start_date="2022-05-01",
end_date="2022-06-01",
)
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.menstrualCycle.get({
userId: "<user_id>",
startDate: "2022-05-01",
endDate: "2022-06-01",
});
import com.junction.api.Junction;
import com.junction.api.core.Environment;
import com.junction.api.resources.menstrualcycle.requests.GetMenstrualCycleRequest;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.menstrualCycle().get(
"<user_id>",
GetMenstrualCycleRequest.builder()
.startDate("2022-05-01")
.endDate("2022-06-01")
.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 := "2022-06-01"
response, err := c.MenstrualCycle.Get(context.TODO(), &junction.GetMenstrualCycleRequest{
UserId: "<user_id>",
StartDate: "2022-05-01",
EndDate: &endDate,
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
{
"menstrual_cycle": [
{
"basal_body_temperature": [],
"cervical_mucus": [],
"contraceptive": [],
"created_at": "2023-02-27T20:31:24+00:00",
"cycle_end": "2024-05-01",
"detected_deviations": [],
"home_pregnancy_test": [],
"home_progesterone_test": [],
"id": "e1274c3e-c035-4bd7-86aa-2eb15d6d0137",
"intermenstrual_bleeding": [
{
"date": "2024-04-17"
}
],
"is_predicted": false,
"menstrual_flow": [
{
"date": "2024-04-07",
"flow": "light"
},
{
"date": "2024-04-10",
"flow": "medium"
},
{
"date": "2024-04-11",
"flow": "heavy"
}
],
"ovulation_test": [],
"period_end": "2024-04-11",
"period_start": "2024-04-07",
"sexual_activity": [
{
"date": "2024-04-13",
"protection_used": true
}
],
"source": {
"app_id": "com.apple.Health",
"device_id": "550e8400-e29b-41d4-a716-446655440000",
"provider": "apple_health_kit",
"type": "app"
},
"source_app_id": "com.apple.Health",
"source_provider": "apple_health_kit",
"source_type": "app",
"updated_at": "2023-02-28T01:22:38+00:00",
"user_id": "cbd8b986-4225-4d36-8e2c-046ff2702769"
}
]
}{
"detail": "<unknown>"
}Menstrual Cycle
Summary
Retrieve menstrual cycle tracking summary data for a specific user from their connected wearable provider.
GET
/
v2
/
summary
/
menstrual_cycle
/
{user_id}
curl --request GET \
--url {{BASE_URL}}/v2/summary/menstrual_cycle/{user_id} \
--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.menstrual_cycle.get(
"<user_id>",
start_date="2022-05-01",
end_date="2022-06-01",
)
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.menstrualCycle.get({
userId: "<user_id>",
startDate: "2022-05-01",
endDate: "2022-06-01",
});
import com.junction.api.Junction;
import com.junction.api.core.Environment;
import com.junction.api.resources.menstrualcycle.requests.GetMenstrualCycleRequest;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.menstrualCycle().get(
"<user_id>",
GetMenstrualCycleRequest.builder()
.startDate("2022-05-01")
.endDate("2022-06-01")
.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 := "2022-06-01"
response, err := c.MenstrualCycle.Get(context.TODO(), &junction.GetMenstrualCycleRequest{
UserId: "<user_id>",
StartDate: "2022-05-01",
EndDate: &endDate,
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
{
"menstrual_cycle": [
{
"basal_body_temperature": [],
"cervical_mucus": [],
"contraceptive": [],
"created_at": "2023-02-27T20:31:24+00:00",
"cycle_end": "2024-05-01",
"detected_deviations": [],
"home_pregnancy_test": [],
"home_progesterone_test": [],
"id": "e1274c3e-c035-4bd7-86aa-2eb15d6d0137",
"intermenstrual_bleeding": [
{
"date": "2024-04-17"
}
],
"is_predicted": false,
"menstrual_flow": [
{
"date": "2024-04-07",
"flow": "light"
},
{
"date": "2024-04-10",
"flow": "medium"
},
{
"date": "2024-04-11",
"flow": "heavy"
}
],
"ovulation_test": [],
"period_end": "2024-04-11",
"period_start": "2024-04-07",
"sexual_activity": [
{
"date": "2024-04-13",
"protection_used": true
}
],
"source": {
"app_id": "com.apple.Health",
"device_id": "550e8400-e29b-41d4-a716-446655440000",
"provider": "apple_health_kit",
"type": "app"
},
"source_app_id": "com.apple.Health",
"source_provider": "apple_health_kit",
"source_type": "app",
"updated_at": "2023-02-28T01:22:38+00:00",
"user_id": "cbd8b986-4225-4d36-8e2c-046ff2702769"
}
]
}{
"detail": "<unknown>"
}curl --request GET \
--url {{BASE_URL}}/v2/summary/menstrual_cycle/{user_id} \
--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.menstrual_cycle.get(
"<user_id>",
start_date="2022-05-01",
end_date="2022-06-01",
)
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.menstrualCycle.get({
userId: "<user_id>",
startDate: "2022-05-01",
endDate: "2022-06-01",
});
import com.junction.api.Junction;
import com.junction.api.core.Environment;
import com.junction.api.resources.menstrualcycle.requests.GetMenstrualCycleRequest;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.menstrualCycle().get(
"<user_id>",
GetMenstrualCycleRequest.builder()
.startDate("2022-05-01")
.endDate("2022-06-01")
.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 := "2022-06-01"
response, err := c.MenstrualCycle.Get(context.TODO(), &junction.GetMenstrualCycleRequest{
UserId: "<user_id>",
StartDate: "2022-05-01",
EndDate: &endDate,
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
Authorizations
Vital Team API Key
Path Parameters
Query Parameters
Provider oura/strava etc
Start date in YYYY-MM-DD
End date (inclusive) in YYYY-MM-DD
Response
Successful Response
Show child attributes
Show child attributes
Was this page helpful?
⌘I