curl --request GET \
--url {{BASE_URL}}/v2/user/{user_id} \
--header 'x-vital-api-key: <API_KEY>' \
--header 'Accept: application/json'
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.user.get({ userId: "<user_id>" });
from junction import Junction
from junction.environment import JunctionEnvironment
client = Junction(
api_key="YOUR_API_KEY",
environment=JunctionEnvironment.SANDBOX,
)
data = client.user.get("<user_id>")
import com.junction.api.Junction;
import com.junction.api.core.Environment;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.user().get("<user_id>");
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),
)
response, err := c.User.Get(context.TODO(), &junction.GetUserRequest{
UserId: "<user_id>",
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
{
"client_user_id": "ZTEwZjNjMjctOTI2ZS00M2Vm",
"connected_sources": [
{
"created_on": "2026-06-16T14:46:14+00:00",
"source": {
"logo": "logo_url",
"name": "Oura",
"slug": "oura"
}
}
],
"created_on": "2026-06-16T14:46:14+00:00",
"fallback_birth_date": {
"source_slug": "manual",
"updated_at": "2026-06-16T14:46:14+00:00",
"value": "1989-09-12"
},
"fallback_time_zone": {
"id": "Europe/London",
"source_slug": "manual",
"updated_at": "2026-06-16T14:46:14+00:00"
},
"team_id": "56bd81c9-6219-4000-a775-ae85526eba18",
"user_id": "56bd81c9-6219-4000-a775-ae85526eba18"
}{
"detail": "<unknown>"
}Get User
Retrieve user via the Junction API. Requires authentication with your team API key.
curl --request GET \
--url {{BASE_URL}}/v2/user/{user_id} \
--header 'x-vital-api-key: <API_KEY>' \
--header 'Accept: application/json'
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.user.get({ userId: "<user_id>" });
from junction import Junction
from junction.environment import JunctionEnvironment
client = Junction(
api_key="YOUR_API_KEY",
environment=JunctionEnvironment.SANDBOX,
)
data = client.user.get("<user_id>")
import com.junction.api.Junction;
import com.junction.api.core.Environment;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.user().get("<user_id>");
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),
)
response, err := c.User.Get(context.TODO(), &junction.GetUserRequest{
UserId: "<user_id>",
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
{
"client_user_id": "ZTEwZjNjMjctOTI2ZS00M2Vm",
"connected_sources": [
{
"created_on": "2026-06-16T14:46:14+00:00",
"source": {
"logo": "logo_url",
"name": "Oura",
"slug": "oura"
}
}
],
"created_on": "2026-06-16T14:46:14+00:00",
"fallback_birth_date": {
"source_slug": "manual",
"updated_at": "2026-06-16T14:46:14+00:00",
"value": "1989-09-12"
},
"fallback_time_zone": {
"id": "Europe/London",
"source_slug": "manual",
"updated_at": "2026-06-16T14:46:14+00:00"
},
"team_id": "56bd81c9-6219-4000-a775-ae85526eba18",
"user_id": "56bd81c9-6219-4000-a775-ae85526eba18"
}{
"detail": "<unknown>"
}curl --request GET \
--url {{BASE_URL}}/v2/user/{user_id} \
--header 'x-vital-api-key: <API_KEY>' \
--header 'Accept: application/json'
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.user.get({ userId: "<user_id>" });
from junction import Junction
from junction.environment import JunctionEnvironment
client = Junction(
api_key="YOUR_API_KEY",
environment=JunctionEnvironment.SANDBOX,
)
data = client.user.get("<user_id>")
import com.junction.api.Junction;
import com.junction.api.core.Environment;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.user().get("<user_id>");
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),
)
response, err := c.User.Get(context.TODO(), &junction.GetUserRequest{
UserId: "<user_id>",
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
Authorizations
Vital Team API Key
Path Parameters
Response
Successful Response
User id returned by vital create user request. This id should be stored in your database against the user and used for all interactions with the vital api.
Your team id.
A unique ID representing the end user. Typically this will be a user ID from your application. Personally identifiable information, such as an email address or phone number, should not be used in the client_user_id.
When your item is created
A list of the users connected sources.
Show child attributes
Show child attributes
Fallback time zone of the user, in the form of a valid IANA tzdatabase identifier (e.g., `Europe/London` or `America/Los_Angeles`).
Used when pulling data from sources that are completely time zone agnostic (e.g., all time is relative to UTC clock, without any time zone attributions on data points).
Show child attributes
Show child attributes
Fallback date of birth of the user, in YYYY-mm-dd format. Used for calculating max heartrate for providers that don not provide users' age.
Show child attributes
Show child attributes
Starting bound for user data ingestion bounds.
Ending bound for user data ingestion bounds.
Was this page helpful?