curl --request POST \
--url {{BASE_URL}}/v2/user/{{USER_ID}}/create_portal_url \
--header 'Accept: application/json' \
--header 'x-vital-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{"context":"launch"}'
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.user.createPortalUrl({
userId: "<user_id>",
context: "launch",
});
from junction import Junction
from junction.environment import JunctionEnvironment
from junction.user import CreateUserPortalUrlBodyContext
client = Junction(
api_key="YOUR_API_KEY",
environment=JunctionEnvironment.SANDBOX,
)
data = client.user.create_portal_url(
"<user_id>",
context=CreateUserPortalUrlBodyContext.LAUNCH,
)
import com.junction.api.Junction;
import com.junction.api.core.Environment;
import com.junction.api.resources.user.requests.CreateUserPortalUrlBody;
import com.junction.api.resources.user.types.CreateUserPortalUrlBodyContext;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.user().createPortalUrl(
"<user_id>",
CreateUserPortalUrlBody.builder()
.context(CreateUserPortalUrlBodyContext.LAUNCH)
.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),
)
response, err := c.User.CreatePortalUrl(context.TODO(), &junction.CreateUserPortalUrlBody{
UserId: "<user_id>",
Context: junction.CreateUserPortalUrlBodyContextLaunch,
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
{
"url": "<string>",
"expires_in": 123
}{
"detail": "<unknown>"
}Create Portal URL
Create a Portal URL for a user via the Junction API. Requires authentication with your team API key.
curl --request POST \
--url {{BASE_URL}}/v2/user/{{USER_ID}}/create_portal_url \
--header 'Accept: application/json' \
--header 'x-vital-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{"context":"launch"}'
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.user.createPortalUrl({
userId: "<user_id>",
context: "launch",
});
from junction import Junction
from junction.environment import JunctionEnvironment
from junction.user import CreateUserPortalUrlBodyContext
client = Junction(
api_key="YOUR_API_KEY",
environment=JunctionEnvironment.SANDBOX,
)
data = client.user.create_portal_url(
"<user_id>",
context=CreateUserPortalUrlBodyContext.LAUNCH,
)
import com.junction.api.Junction;
import com.junction.api.core.Environment;
import com.junction.api.resources.user.requests.CreateUserPortalUrlBody;
import com.junction.api.resources.user.types.CreateUserPortalUrlBodyContext;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.user().createPortalUrl(
"<user_id>",
CreateUserPortalUrlBody.builder()
.context(CreateUserPortalUrlBodyContext.LAUNCH)
.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),
)
response, err := c.User.CreatePortalUrl(context.TODO(), &junction.CreateUserPortalUrlBody{
UserId: "<user_id>",
Context: junction.CreateUserPortalUrlBodyContextLaunch,
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
{
"url": "<string>",
"expires_in": 123
}{
"detail": "<unknown>"
}- Use the Get User Demographics endpoint to review currently set demographics;
- Use the Update User Demographics endpoint to update the user’s demographics.
curl --request POST \
--url {{BASE_URL}}/v2/user/{{USER_ID}}/create_portal_url \
--header 'Accept: application/json' \
--header 'x-vital-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{"context":"launch"}'
import { JunctionClient, JunctionEnvironment } from "@junction-api/sdk";
const client = new JunctionClient({
apiKey: "YOUR_API_KEY",
environment: JunctionEnvironment.Sandbox,
});
const data = await client.user.createPortalUrl({
userId: "<user_id>",
context: "launch",
});
from junction import Junction
from junction.environment import JunctionEnvironment
from junction.user import CreateUserPortalUrlBodyContext
client = Junction(
api_key="YOUR_API_KEY",
environment=JunctionEnvironment.SANDBOX,
)
data = client.user.create_portal_url(
"<user_id>",
context=CreateUserPortalUrlBodyContext.LAUNCH,
)
import com.junction.api.Junction;
import com.junction.api.core.Environment;
import com.junction.api.resources.user.requests.CreateUserPortalUrlBody;
import com.junction.api.resources.user.types.CreateUserPortalUrlBodyContext;
Junction client = Junction.builder()
.apiKey("YOUR_API_KEY")
.environment(Environment.SANDBOX)
.build();
var data = client.user().createPortalUrl(
"<user_id>",
CreateUserPortalUrlBody.builder()
.context(CreateUserPortalUrlBodyContext.LAUNCH)
.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),
)
response, err := c.User.CreatePortalUrl(context.TODO(), &junction.CreateUserPortalUrlBody{
UserId: "<user_id>",
Context: junction.CreateUserPortalUrlBodyContextLaunch,
})
if err != nil {
return err
}
fmt.Printf("Received data %s\n", response)
Authorizations
Vital Team API Key
Path Parameters
Body
launch: Generates a short-lived (minutes) portal URL that is intended for launching a user from your
authenticated web context directly into the Junction User Portal. This URL is not suitable for asynchronous
communications due to its verbosity as well as short-lived nature.
communications: Generates a long-lived (weeks) but shortened portal URL that is suitable for Emails, SMS
messages and other communication channels. Users may be asked to verify their identity with Email and SMS
authentication, e.g., when they open a short link on a new device. ℹ️ This enum is non-exhaustive.
launch, communications If specified, the generated URL will deeplink to the specified Order.
Was this page helpful?