Kvipp deep links
Integrations can open Kvipp in the user’s browser with a person, asset type (equipment category), and/or specific asset already loaded. The user lands on the normal Kvipp home screen and can continue with training, competence checks, or scanning.
Base URLs
Section titled “Base URLs”| Environment | URL |
|---|---|
| Production | https://kvipp.it |
| Staging / test | https://test.kvipp.io |
All examples below use {base} as a placeholder for the correct host.
Overview
Section titled “Overview”| What you have | Deep link |
|---|---|
| Registry UUID for a person | /person/{uuid} |
| Registry UUID for an asset type | /asset_type/{uuid} |
| Registry UUID for an asset | /asset/{uuid} |
| Several Registry UUIDs at once | /open?person_id=&asset_type_id=&asset_id= |
| Your system’s ID stored as a Registry external identifier | /identifier/{identity}?source={source} |
| Kvipp 8-character ID | /id/{id} |
| Brand and model only (no UUID yet) | /create_asset_type?brand=&model= |
After the link opens, Kvipp shows a short loading screen, fetches data from the Registry, stores the selection in the user’s session, and redirects to the home page. If the ID cannot be resolved, the user sees a friendly “not found” page.
Registry UUID links (recommended)
Section titled “Registry UUID links (recommended)”Use these when your integration already works with the Registry API and you
have stable id values for people, asset types, or assets.
Single entity
Section titled “Single entity”Person
{base}/person/5574043f-4fc1-48d2-82a6-7dcf73418390Asset type (brand/model category in Registry)
{base}/asset_type/6dd19106-3708-4fea-becc-45ae3c001a4fAsset (serial-number instance; Kvipp also loads the linked asset type)
{base}/asset/22934840-6214-4b84-bfde-7b239c6d2e33UUIDs must be valid Registry IDs. Unknown or malformed IDs show the not-found page.
Combined link (/open)
Section titled “Combined link (/open)”When you want both a person and equipment type ready for training (common for LMS or portal “start training” buttons):
{base}/open?person_id=5574043f-4fc1-48d2-82a6-7dcf73418390&asset_type_id=6dd19106-3708-4fea-becc-45ae3c001a4fQuery parameters:
| Parameter | Required | Description |
|---|---|---|
person_id |
No* | Registry person UUID |
asset_type_id |
No* | Registry asset type UUID |
asset_id |
No* | Registry asset UUID |
reset |
No | true clears existing person/equipment selections in the browser session before applying the link |
source |
No | Integrator slug for usage analytics (see Source parameter) |
* At least one of person_id, asset_type_id, or asset_id must be present.
If you pass both asset_id and asset_type_id, the asset record determines
the asset type.
External identifier link
Section titled “External identifier link”Use this when your integration stores its own IDs rather than Registry
UUIDs. First register the mapping in Registry as an
external identifier (source + identity → person, asset
type, or asset). Then open Kvipp with:
{base}/identifier/{your_id}?source={your_source_name}Example — follow the identifiers example: person
xyz123 in system xyz linked in Registry:
https://kvipp.it/identifier/xyz123?source=xyzAnother example — ERP person emp-8842 with source=acme_hr:
https://kvipp.it/identifier/emp-8842?source=acme_hrThe source string must match what you used when creating the identifier in
Registry (Kvipp normalizes it to lowercase before lookup). Kvipp resolves the
identifier and pre-fills person, asset type, or asset depending on what it
points to.
If you already have Registry UUIDs from API sync, Registry UUID links are simpler and skip the identifier lookup. Identifiers are better when UUIDs may change (e.g. after merges) or when your product only knows its own IDs.
See External identifiers for the Registry side of this workflow.
Kvipp short ID (/id/…)
Section titled “Kvipp short ID (/id/…)”For Kvipp’s own 8-character identifiers (e.g. on Kvipp ID QR codes):
{base}/id/abc12345Equivalent QR URL form: https://kvipp.it/id/abc12345.
This replaces any previous person/equipment selection in the session with the scan result.
Source parameter (usage analytics)
Section titled “Source parameter (usage analytics)”Add an optional source query parameter to tell Kvipp which system built the
link. Kvipp always normalizes source to lowercase when the link is opened.
| Route | source |
|---|---|
/person/{uuid} |
Optional |
/asset_type/{uuid} |
Optional |
/asset/{uuid} |
Optional |
/open?… |
Optional |
/create_asset_type?… |
Optional |
/identifier/{identity}?… |
Required (Registry identifier source; also used for analytics) |
Use a stable slug for your product or integration, for example stemplet,
equipment_page, or your registered identifier source name (acme_hr). The
parameter does not change how the link resolves — it is for usage measurement
only (except on /identifier/…, where it is required for Registry lookup).
Examples:
{base}/person/5574043f-4fc1-48d2-82a6-7dcf73418390?source=stemplet
{base}/open?person_id=5574043f-4fc1-48d2-82a6-7dcf73418390&asset_type_id=6dd19106-3708-4fea-becc-45ae3c001a4f&source=equipment_pageWe recommend lowercase slugs in your links; mixed case (e.g. source=Stemplet)
is accepted and stored as stemplet.
Brand and model link
Section titled “Brand and model link”Deprecation (from Q4 2026): The
/create_asset_typeendpoint will require special authentication from the fourth quarter of 2026. Integrations that rely on brand/model deep links should migrate to Registry UUID links (/asset_type/{uuid}) where possible. Contact support@digiquip.no for authentication details before the deadline.
When you do not have a Registry UUID yet, but you know manufacturer and model (e.g. from a machine nameplate or product catalogue):
{base}/create_asset_type?brand=Genie&model=S60X&source=equipment_pageURL-encode special characters in brand and model. Kvipp finds or creates the
asset type in Registry and selects it for the session.
Prefer Registry UUID links when you already sync with the Registry — they avoid duplicate asset types from spelling variants.
Error handling
Section titled “Error handling”| Outcome | User sees |
|---|---|
| Success | Kvipp home (/) with session pre-filled |
| Unknown ID, invalid UUID, or Registry miss | Not-found page (/somethings_off?topic=not_found) |
Test against staging (test.kvipp.io + test-registry.kvipp.io) before
production.
Related topics
Section titled “Related topics”- External identifiers — map your IDs to Registry objects
- Asset types and assets — Registry data model
- Registry basics — API hosts and authentication
Questions: support@digiquip.no