curl --request GET \
--url {{BASE_URL}}/v2/summary/workouts/{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.workouts.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.workouts.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.workouts.requests.GetWorkoutsRequest;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.workouts().get(
"<user_id>",
GetWorkoutsRequest.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.Workouts.Get(context.TODO(), &junction.GetWorkoutsRequest{
UserId: "<user_id>",
StartDate: "2022-05-01",
EndDate: &endDate,
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
{
"workouts": [
{
"average_hr": 100,
"average_speed": 4.2,
"average_watts": 100,
"calendar_date": "2023-02-27",
"calories": 300,
"created_at": "2023-02-27T20:31:24+00:00",
"device_watts": 80,
"distance": 1700,
"elev_high": 20.2,
"elev_low": -10.2,
"hr_zones": [
100,
90,
10,
10,
200
],
"id": "185d0f34-dfc0-429f-84f9-b24030914bdd",
"map": {
"summary_polyline": "agn~Ftb{uOvr@daBunBjdBkHwiD????~Ngn@ha@_N~Ql`@"
},
"max_hr": 190,
"max_speed": 7.8,
"max_watts": 200,
"moving_time": 100,
"source": {
"device_id": "550e8400-e29b-41d4-a716-446655440000",
"provider": "strava",
"type": "unknown"
},
"sport": {
"id": 1,
"name": "football"
},
"time_end": "2023-02-27T12:31:24+00:00",
"time_start": "2023-02-27T11:31:24+00:00",
"total_elevation_gain": 10,
"updated_at": "2023-02-28T01:22:38+00:00",
"user_id": "1449752e-0d8a-40e0-9206-91ab099b2537",
"weighted_average_watts": 250
}
]
}{
"detail": "<unknown>"
}Workouts
Summary
Retrieve processed workout summary data for a specific user, including type, duration, and calorie metrics.
GET
/
v2
/
summary
/
workouts
/
{user_id}
curl --request GET \
--url {{BASE_URL}}/v2/summary/workouts/{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.workouts.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.workouts.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.workouts.requests.GetWorkoutsRequest;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.workouts().get(
"<user_id>",
GetWorkoutsRequest.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.Workouts.Get(context.TODO(), &junction.GetWorkoutsRequest{
UserId: "<user_id>",
StartDate: "2022-05-01",
EndDate: &endDate,
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
{
"workouts": [
{
"average_hr": 100,
"average_speed": 4.2,
"average_watts": 100,
"calendar_date": "2023-02-27",
"calories": 300,
"created_at": "2023-02-27T20:31:24+00:00",
"device_watts": 80,
"distance": 1700,
"elev_high": 20.2,
"elev_low": -10.2,
"hr_zones": [
100,
90,
10,
10,
200
],
"id": "185d0f34-dfc0-429f-84f9-b24030914bdd",
"map": {
"summary_polyline": "agn~Ftb{uOvr@daBunBjdBkHwiD????~Ngn@ha@_N~Ql`@"
},
"max_hr": 190,
"max_speed": 7.8,
"max_watts": 200,
"moving_time": 100,
"source": {
"device_id": "550e8400-e29b-41d4-a716-446655440000",
"provider": "strava",
"type": "unknown"
},
"sport": {
"id": 1,
"name": "football"
},
"time_end": "2023-02-27T12:31:24+00:00",
"time_start": "2023-02-27T11:31:24+00:00",
"total_elevation_gain": 10,
"updated_at": "2023-02-28T01:22:38+00:00",
"user_id": "1449752e-0d8a-40e0-9206-91ab099b2537",
"weighted_average_watts": 250
}
]
}{
"detail": "<unknown>"
}curl --request GET \
--url {{BASE_URL}}/v2/summary/workouts/{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.workouts.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.workouts.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.workouts.requests.GetWorkoutsRequest;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.workouts().get(
"<user_id>",
GetWorkoutsRequest.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.Workouts.Get(context.TODO(), &junction.GetWorkoutsRequest{
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
Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
Response
Successful Response
Show child attributes
Show child attributes
Was this page helpful?
⌘I