---
title: "Get the business's join link"
method: GET
path: "/organizations/{organization_id}/join-link"
tags: ["Organization Join Links"]
---

# Get the business's join link

`GET /organizations/{organization_id}/join-link`

## Request

- Base URL: `https://api.purplegrain.com/api/v1`
- URL: `https://api.purplegrain.com/api/v1/organizations/{organization_id}/join-link`
- Auth: HTTP bearer

Read the business's current join link. Anyone holding that link can join
the business in the link's role, after they confirm a mobile number on
PurpleGrain's own page. This is the read to use before
`updateOrganizationJoinLink` or `resetOrganizationJoinLink`.

Returns the newest link that has not been reset, whether it is on, off
or lapsed, so the card can still show how many people joined with it.
404 when the business has never had one. Only an **owner** may call this.
API keys are refused.

## Path parameters

- `organization_id` string, required

## Response `200`

The current join link.

- OrganizationJoinLinkShowResponseAttributes
  - `data` OrganizationJoinLinkModelAttributes: A business's join link in attributes-adapter shape (`application/json`); fields at the top level.
    - `id` string
    - `type` string
    - `code` string
    - `url` string
    - `role` 'member' | 'viewer'
    - `expiry` '24h' | '7d' | '30d' | 'never'
    - `expires_at` string, date-time, nullable
    - `enabled` boolean
    - `status` 'active' | 'expired' | 'off'
    - `uses_count` integer
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `401`: Unauthenticated
- `403`: Forbidden — caller is not an owner of the organization.
- `404`: The business has no join link, or does not exist.

---

[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/06540345bbbc?raw)
