Create Setup Link
Make a setup link for a user who must set up a second step and has none, when they have no email or can't read the code emailed to them. They open the link on the endpoint, sign in with their password or single sign-on, and set one up. In the dashboard: Create setup link on the user's page.
The link is in the answer and shown once: send it to the user yourself. It works once. A new link replaces the user's earlier one.
Path parameters
uuid string (uuid) Req
The endpoint's
uuid from /endpoints.client_uuid string (uuid) Req
The user's
uuid from List Users. Resolved under this endpoint only.An integer id in the path is refused with 400 integer_id_unsupported (see public IDs). Use the uuid.
Request body
expires_in_days integer
How long the link works:
1, 3 or 7 days. Default 3.Response (200 OK)
endpoint_uuid, client_uuid string (uuid)
The endpoint and the user.
setup_link string (url)
The link, on the endpoint's own host. Shown once.
expires_at datetime
When the link stops working.
Errors
400 Bad Request
expires_in_days is 1, 3 or 7, or an invalid body.401 Unauthorized
Missing auth.
403 Forbidden
Caller lacks the
endpoints:write permission, or the account's plan doesn't include users and roles.404 Not Found
Endpoint doesn't exist or doesn't belong to the calling account, or the user doesn't belong to this endpoint (
endpoint user not found).409 Conflict
The user has a second step (reset it first), isn't asked for one (require it first), isn't active, or was made by
ngris http --basic-auth; or the endpoint is paused.503 Service Unavailable
The second step isn't available yet.Request
curl -X POST \
"https://api.ngris.com/v1/endpoints/019bb1e4-e785-77d2-9966-c3cff31d0a0e/rbac/clients/019b4b9d-d300-736b-8601-153b3d9f70ee/second-step/setup-link" \
-H "X-API-KEY: <your_api_key>" \
-H "Content-Type: application/json" \
-d '{"expires_in_days": 7}'
Response
{
"endpoint_uuid": "019bb1e4-e785-77d2-9966-c3cff31d0a0e",
"client_uuid": "019b4b9d-d300-736b-8601-153b3d9f70ee",
"setup_link": "https://shop.acme.dev/_tunnel_auth/setup?t=3f9c0a51d2e84b7f9a6c1e0d5b4a3928",
"expires_at": "2026-11-20T19:45:00Z"
}
Was this helpful?