/api/ws/users/rolesScope: Page-specific
UI usage: Rolleliste for dropdown
Response fields used: roles[].id/code/label
Overview
Docs HomeWorkshop StartCarOwner StartWorkshop Onboarding
Get Started01 API key setup02 API key in requests03 Auth testing04 Bearer token callsCollections
Platform API Collection (Soft Launch)Soft Launch All EndpointsSoft Launch InteractiveFundamentalsCanonical SpecAPI Reference
API RootWorkshop IndexWorkshop InteractiveWorkshop Auth InteractiveAll Workshop EndpointsCarOwner IndexCarOwner InteractiveCarOwner Auth InteractiveAll CarOwner EndpointsCore/Common IndexCore InteractiveAll Core EndpointsWorkshop Namespaces
AuthUserProfileWorkshopCoreWorkshopOwnershipRequestContactsAddressesOpeningHoursServicesManagersCertificatesSocialMediaBookingsRatingsServiceHistoryEmailVerificationNotificationsMessagesBrregLookupBookingStatusesCategoriesReportsServiceRecordsUsersAccessV2RealtimePresenceSupportCarOwner Namespaces
AuthBookingBookingStatusCarBrandsCarOwnerPaymentsCarOwnerServiceRecordsCategoriesFavoritesMarketplaceMarketplaceCompatMarketplaceFiltersMessagesNotificationsPresenceProfileRatingsRealtimeServiceLogSettingsVehiclesCore Namespaces
CoreVehicleServiceHistoryWorkshopCommonCarOwnerCommonPage Introduction
This contract page maps concrete frontend page behavior to API calls, payloads, and response fields.
Platform Page Contract
## Page purpose Accessssiden (`/workshop/access`) handles: - liste over ansatte/brukere - roller - opprette/redigere/slette brukere - deaktivere brukere
Source: API-DOC/page-api-mapping/10-tilgang.md
| Method | Path | Scope | UI usage | Test |
|---|---|---|---|---|
| GET | /api/ws/users/roles | Page-specific | Rolleliste for dropdown | Try-It |
| GET | /api/ws/users | Page-specific | Primær brukerliste | Try-It |
| GET | /api/ws/manager | Page-specific fallback | Fallback hvis users-endepunkt ikke leverer data | Try-It |
| POST | /api/ws/users | Page-specific | Create bruker | Try-It |
| POST | /api/ws/manager | Page-specific fallback | Fallback ved create-feil på /users | Try-It |
| PUT | /api/ws/users/:id | Page-specific | Update bruker | Try-It |
| PUT | /api/ws/manager/:id | Page-specific fallback | Update fallback-kilde | Try-It |
| DELETE | /api/ws/users/:id | Page-specific | Delete bruker | Try-It |
| DELETE | /api/ws/manager/:id | Page-specific fallback | Delete manager | Try-It |
| POST | /api/ws/users/:id/deactivate | Page-specific | Deaktivere aktiv bruker | Try-It |
/api/ws/users/rolesScope: Page-specific
UI usage: Rolleliste for dropdown
Response fields used: roles[].id/code/label
/api/ws/usersScope: Page-specific
UI usage: Primær brukerliste
Response fields used: users[].id, navn, rolle, kontakt, is_active, created_at
/api/ws/managerScope: Page-specific fallback
UI usage: Fallback hvis users-endepunkt ikke leverer data
Response fields used: manager-liste mappes til samme UI-modell
/api/ws/usersScope: Page-specific
UI usage: Create bruker
Response fields used: opprettet bruker
/api/ws/managerScope: Page-specific fallback
UI usage: Fallback ved create-feil på /users
Response fields used: opprettet manager
/api/ws/users/:idScope: Page-specific
UI usage: Update bruker
Response fields used: oppdatert bruker
/api/ws/manager/:idScope: Page-specific fallback
UI usage: Update fallback-kilde
Response fields used: oppdatert manager
/api/ws/users/:idScope: Page-specific
UI usage: Delete bruker
Response fields used: message/OK
/api/ws/manager/:idScope: Page-specific fallback
UI usage: Delete manager
Response fields used: message/OK
/api/ws/users/:id/deactivateScope: Page-specific
UI usage: Deaktivere aktiv bruker
Response fields used: message/OK
Interactive console below is filtered to endpoints mapped for this page contract.
Accessssiden (/workshop/access) handles:
src/app/(private)/workshop/access/page.tsxgetWorkshopUserRoles(...)getWorkshopUsers(...)getManagers(...) (fallback-kilde)createWorkshopUser(...) med fallback createManager(...)updateWorkshopUser(...) / updateManager(...)deleteWorkshopUser(...) / deleteManager(...)deactivateWorkshopUser(...)| Scope | Method | Endpoint | UI usage | Request | Response fields used by frontend |
|---|---|---|---|---|---|
| Page-specific | GET |
/api/ws/users/roles |
Rolleliste for dropdown | ingen | roles[].id/code/label |
| Page-specific | GET |
/api/ws/users |
Primær brukerliste | ingen | users[].id, navn, rolle, kontakt, is_active, created_at |
| Page-specific fallback | GET |
/api/ws/manager |
Fallback hvis users-endepunkt ikke leverer data | ingen | manager-liste mappes til samme UI-modell |
| Page-specific | POST |
/api/ws/users |
Create bruker | first_name, last_name, email, phone_number, role/role_code, display_name |
opprettet bruker |
| Page-specific fallback | POST |
/api/ws/manager |
Fallback ved create-feil på /users |
tilsvarende personfelt | opprettet manager |
| Page-specific | PUT |
/api/ws/users/{id} |
Update bruker | payload som over | oppdatert bruker |
| Page-specific fallback | PUT |
/api/ws/manager/{id} |
Update fallback-kilde | payload | oppdatert manager |
| Page-specific | DELETE |
/api/ws/users/{id} |
Delete bruker | path id |
message/OK |
| Page-specific fallback | DELETE |
/api/ws/manager/{id} |
Delete manager | path id |
message/OK |
| Page-specific | POST |
/api/ws/users/{id}/deactivate |
Deaktivere aktiv bruker | tom body | message/OK |
Frontend normaliserer både /users og /manager til én intern AccessUser-modell:
idfirst_name, last_name)role_code/role)email, phone_numberis_activecreated_atDette gjør at siden fortsatt fungerer selv om users-API ikke er tilgjengelig.