---
title: "Accept an invite for the authenticated user"
method: POST
path: "/auth/invites/accept"
tags: ["Auth"]
---

# Accept an invite for the authenticated user

`POST /auth/invites/accept`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/auth/invites/accept`
- Auth: HTTP bearer

## Request body

- InviteTokenInput
  - `token` string, required

## Response `200`

Invite accepted and active company context returned

- InviteAcceptResponse
  - `success` boolean
  - `data` object
    - `companyId` string, uuid, nullable, required
    - `role` 'owner' | 'admin' | 'cfo' | 'member' | 'viewer' | 'null', nullable, required
    - `onboardingComplete` boolean, required
    - `onboardingStep` integer, required
    - `subscriptionStatus` string, nullable, required: Missing or ambiguous platform items project needs_attention; cancellation takes precedence. Legacy billing-plan fallback is used only without a subscription row.
    - `platformItemState` 'unverified' | 'present' | 'missing' | 'ambiguous' | 'null', nullable, required: Null when no Median subscription row exists.
    - `featureFlags` object, required
    - `canSeeInternalUi` boolean, required
    - `onboardingV3Stage` 'auth' | 'price' | 'sales' | 'subscribe' | 'setup' | 'books' | 'null', nullable, required: Stage of the caller's onboarding v3 flow, or null when they have none. A paying v3 customer holds a membership and an active subscription while setup tasks are still outstanding, so the client routes on this rather than on membership.
    - `memberships` UserContextMembership[], required
      - `companyId` string, uuid
      - `companyName` string, nullable
      - `role` 'owner' | 'admin' | 'cfo' | 'member' | 'viewer'
    - `user` User
      - `id` string, uuid
      - `email` string, email
      - `name` string
      - `phone` string, nullable
      - `jobTitle` string, nullable
      - `createdAt` string, date-time
      - `updatedAt` string, date-time

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `409`: Invite expired, revoked, or already accepted
- `422`: Validation error

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
