Husvo

API-referens

Hushållet

Medlemmar, roller och inbjudningar till ett hus.

Inbjudningar som väntar på svar. Bara ägaren

GET /api/v1/houses/{houseId}/invites

operationId listInvites

  • Bearer-token
  • Kräver att du äger huset

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Exempel

curl -X GET "https://husvo.app/api/v1/houses/1/invites" \
  -H "Authorization: Bearer $TOKEN"

Svar

200 Klart · HouseInviteListResponse
{
  "items": [
    {
      "id": 1,
      "email": "du@exempel.se",
      "role": "text",
      "expiresAt": "2026-11-13T08:00:00Z"
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 404Finns inte, eller inte för dig

Dra tillbaka en väntande inbjudan. Bara ägaren

DELETE /api/v1/houses/{houseId}/invites/{inviteId}

operationId revokeInvite

  • Bearer-token
  • Kräver att du äger huset
  • Skrivtaket gäller

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
inviteId adressen integer ja

Exempel

curl -X DELETE "https://husvo.app/api/v1/houses/1/invites/1" \
  -H "Authorization: Bearer $TOKEN"

Svar

204 Klart, inget innehåll

Inget innehåll.

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 404Finns inte, eller inte för dig

Vilka som bor i huset. E-post visas bara för ägaren

GET /api/v1/houses/{houseId}/members

operationId listMembers

  • Bearer-token
  • Kräver läsrätt i huset

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Exempel

curl -X GET "https://husvo.app/api/v1/houses/1/members" \
  -H "Authorization: Bearer $TOKEN"

Svar

200 Klart · MemberListResponse
{
  "items": [
    {
      "id": 1,
      "name": "text",
      "role": "text",
      "expiresAt": "2026-11-13T08:00:00Z",
      "email": "du@exempel.se"
    }
  ]
}

Fel, som problem+json (felkoderna):

  • 404Finns inte, eller inte för dig

Bjud in med namn eller e-post som redigerare eller läsare. Bara ägaren

POST /api/v1/houses/{houseId}/members

operationId inviteMember

  • Bearer-token
  • Kräver att du äger huset
  • Skrivtaket gäller
  • Tar Idempotency-Key

Ett namn blir en plats i hushållet utan konto (201). En e-postadress blir en väntande inbjudan som mottagaren själv måste tacka ja till (202), och ger ingen åtkomst före det. Svaret är detsamma oavsett om adressen redan har ett konto.

Parametrar

NamnVarTypKrävs
houseId adressen integer ja

Kropp application/json · InviteMemberBody

FältTypKrävs
nameOrEmail string nej
role string nej
{
  "nameOrEmail": "du@exempel.se",
  "role": "text"
}

Exempel

curl -X POST "https://husvo.app/api/v1/houses/1/members" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"nameOrEmail":"du@exempel.se","role":"text"}'

Svar

201 Skapad · MemberDto
{
  "id": 1,
  "name": "text",
  "role": "text",
  "expiresAt": "2026-11-13T08:00:00Z",
  "email": "du@exempel.se"
}
202 Mottagen · InvitePendingDto
{
  "invite": {
    "id": 1,
    "email": "du@exempel.se",
    "role": "text",
    "expiresAt": "2026-11-13T08:00:00Z"
  }
}

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 409Krockar med något som redan finns
  • 422Kontrollera uppgifterna

Byt en medlems roll mellan redigerare och läsare. Ägaren går inte att ändra

PATCH /api/v1/houses/{houseId}/members/{memberId}

operationId changeMemberRole

  • Bearer-token
  • Kräver att du äger huset
  • Skrivtaket gäller

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
memberId adressen integer ja

Kropp application/json · MemberRoleBody

FältTypKrävs
role string nej
{
  "role": "text"
}

Exempel

curl -X PATCH "https://husvo.app/api/v1/houses/1/members/1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"role":"text"}'

Svar

200 Klart · MemberDto
{
  "id": 1,
  "name": "text",
  "role": "text",
  "expiresAt": "2026-11-13T08:00:00Z",
  "email": "du@exempel.se"
}

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 404Finns inte, eller inte för dig
  • 409Krockar med något som redan finns
  • 422Kontrollera uppgifterna

Ta bort en medlem. Ägaren går inte att ta bort

DELETE /api/v1/houses/{houseId}/members/{memberId}

operationId removeMember

  • Bearer-token
  • Kräver att du äger huset
  • Skrivtaket gäller

Parametrar

NamnVarTypKrävs
houseId adressen integer ja
memberId adressen integer ja

Exempel

curl -X DELETE "https://husvo.app/api/v1/houses/1/members/1" \
  -H "Authorization: Bearer $TOKEN"

Svar

204 Klart, inget innehåll

Inget innehåll.

Fel, som problem+json (felkoderna):

  • 403Inte tillåtet
  • 404Finns inte, eller inte för dig
  • 409Krockar med något som redan finns
Sidan hakade upp sig.Ladda om🗙