---
title: "Preview a team invite"
method: GET
path: "/invites/{token}"
tags: ["Public", "Invites"]
---

# Preview a team invite

`GET /invites/{token}`

## Request

- Base URL: `https://api.purplegrain.com/api/v1`
- URL: `https://api.purplegrain.com/api/v1/invites/{token}`
- Auth: none declared

Public (unauthenticated) preview of a pending team invite — the
unguessable invite token from the SMS/email link is the credential.
Returns the organization, inviter and a **masked** invited identifier
(never the full mobile/email). `status` is `expired` once the invite is
older than 7 days. Unknown, revoked or already-claimed tokens return 404.

## Path parameters

- `token` string, required

## Response `200`

The invite preview.

- InviteResponse: Public preview of a pending team invite (`GET /invites/{token}`). Plain JSON (not JSON:API) — the same shape is returned for both Accept types. The invited identifier is always masked; the full mobile/email is never exposed.
  - `invite` object, required
    - `status` 'valid' | 'expired', required: Whether the invite can still be accepted (expires 7 days after sending).
    - `organization_name` string, required
    - `organization_avatar_url` string, nullable
    - `inviter_name` string, required: The organization owner's name; falls back to the organization name.
    - `masked_identifier` string, required: Masked invited identifier, e.g. "+61 427 xxx 210" or "j•••@farm.com.au".
    - `channel` 'sms' | 'email', required: How the invite was delivered.

## Other responses

- `404`: Unknown, revoked or already-claimed invite.

---

[API](https://skmtc.dev/purplegrain/apis/purple-grain-api.md) · [All operations](https://skmtc.dev/purplegrain/apis/purple-grain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/purplegrain/apis/purple-grain-api/revisions/4bedbc1c784c?raw)
