---
title: "Renew an invitation"
method: POST
path: "/invitations/{id}/renew"
tags: ["Invitations"]
---

# Renew an invitation

`POST /invitations/{id}/renew`

## Request

- Base URL: `https://api.cavuno.com/v1`
- URL: `https://api.cavuno.com/v1/invitations/{id}/renew`
- Auth: HTTP bearer

Rotates the accept token and extends the expiry by 7 days. The response includes the new token and `acceptUrl`.

## Path parameters

- `id` string, required: The invitation ID.

## Response `200`

Successful response.

- InvitationWithToken
  - `id` string, required: Unique identifier for the invitation.
  - `object` 'invitation', required: String representing the object's type.
  - `email` string, required: The invited email address.
  - `role` string, required: The role the invitee will receive on accept.
  - `status` string, required: The invitation status: pending, expired, accepted, declined.
  - `expiresAt` string, required: ISO-8601 timestamp of when the invitation expires.
  - `invitedByUserId` string, nullable, required: Identifier of the user who created the invitation.
  - `createdAt` string, required: ISO-8601 timestamp of when the invitation was created.
  - `token` string, required: The opaque accept token.
  - `acceptUrl` string, required: The full URL a recipient uses to accept the invitation.

## Other responses

- `404`: Invitation not found.
- `409`: An already-accepted invitation cannot be renewed.

## Changes

- **2026-10-19** `c34152c38176`: 2 info
  - added the optional property `error/upgrade` to the response with the `404` status
  - added the optional property `error/upgrade` to the response with the `409` status

[Operation history](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/changes/invitations/:id/renew/post.md)

---

[API](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api.md) · [All operations](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/revisions/d5974dabff14?raw)
