Delingslenker
Delingslenker lar deg gi en ekstern part (f.eks. en leverandør) tidsbegrenset, PIN-beskyttet tilgang til et prosjekt uten at de trenger en Wenn Property-konto.
Tilgang
Section titled “Tilgang”Alle endepunkter krever scope manage:shares. Dette er separat fra read:projects — å lese et prosjekt gir ikke automatisk rett til å gi eksternt tilgang.
Authorization: Bearer <ditt-token>Datamodell
Section titled “Datamodell”Delingslenke
Section titled “Delingslenke”| Felt | Type | Beskrivelse |
|---|---|---|
shareId | string | Unik identifikator for lenken |
createdAt | string | ISO 8601 opprettelsestidspunkt |
createdBy | string | Bruker eller klient som opprettet lenken |
expiresAt | string | ISO 8601 utløpstidspunkt |
isActive | boolean | Om lenken er aktiv (ikke tilbakekalt) |
accessCount | integer | Antall vellykkede PIN-validerte tilganger |
lastAccessedAt | string | null | ISO 8601 siste tilgangstidspunkt |
name | string | null | Valgfri etikett, f.eks. leverandørnavn |
pin | string | 4-sifret PIN. Server-generert. Returneres på opprettelse og listing |
Endepunkter
Section titled “Endepunkter”Opprett delingslenke
Section titled “Opprett delingslenke”POST /v1/projects/{projectId}/sharesOppretter en ny delingslenke. Serveren genererer en 4-sifret PIN og returnerer den i responsen. PIN-en kan også hentes senere via listeendepunktet.
Forespørselslegeme:
| Felt | Type | Beskrivelse |
|---|---|---|
name | string | Valgfri etikett, f.eks. leverandørnavn |
expiresAt | string | Valgfritt ISO 8601 utløpstidspunkt. Standard: 7 dager fra nå |
Eksempel:
POST /v1/projects/abc-123/sharesContent-Type: application/json
{ "name": "Acme Tak AS", "expiresAt": "2026-06-01T00:00:00Z"}Eksempel på respons (201 Created):
{ "shareId": "share-9f3a", "createdAt": "2026-05-01T10:00:00Z", "createdBy": "user@example.com", "expiresAt": "2026-06-01T00:00:00Z", "isActive": true, "accessCount": 0, "lastAccessedAt": null, "name": "Acme Tak AS", "pin": "4321"}List delingslenker
Section titled “List delingslenker”GET /v1/projects/{projectId}/sharesReturnerer alle delingslenker for prosjektet — både aktive og tilbakekalte. Hver oppføring inkluderer PIN-en.
Eksempel på respons:
{ "shares": [ { "shareId": "share-9f3a", "createdAt": "2026-05-01T10:00:00Z", "createdBy": "user@example.com", "expiresAt": "2026-06-01T00:00:00Z", "isActive": true, "accessCount": 3, "lastAccessedAt": "2026-05-04T08:23:00Z", "name": "Acme Tak AS", "pin": "4321" } ]}Forleng utløpstidspunkt
Section titled “Forleng utløpstidspunkt”PUT /v1/projects/{projectId}/shares/{shareId}Oppdaterer utløpstidspunktet for en lenke. Det nye tidspunktet må være i fremtiden.
Forespørselslegeme:
| Felt | Type | Beskrivelse |
|---|---|---|
expiresAt | string | Nytt ISO 8601 utløpstidspunkt (må være i fremtiden) |
Eksempel:
PUT /v1/projects/abc-123/shares/share-9f3aContent-Type: application/json
{ "expiresAt": "2026-07-01T00:00:00Z"}Returnerer den oppdaterte lenken (inkludert PIN).
Tilbakekall delingslenke
Section titled “Tilbakekall delingslenke”DELETE /v1/projects/{projectId}/shares/{shareId}Deaktiverer lenken. Tilgangshistorikken bevares (lenken slettes ikke fysisk), men mottakeren kan ikke lenger åpne den.
Returnerer 204 No Content ved suksess.
Feilsvar
Section titled “Feilsvar”| Status | Kode | Når |
|---|---|---|
| 400 | invalid_expiry | expiresAt er i fortiden |
| 403 | — | Tokenet mangler manage:shares-scope |
| 404 | project_not_found | Prosjektet finnes ikke (ved opprettelse/listing) |
| 404 | share_not_found | Delingslenken finnes ikke (ved forlengelse/tilbakekall) |