Public
Join links

Join the business (verify the code)

Checks the one-time code against the mobile. On success the account is created if new (unusable random password, default grower — exactly like an SMS invite or phone sign-in), the mobile is marked verified, and the person becomes a member at the link's role. An existing account on that number is signed in and added straight away; someone who is already a member is left exactly as they were (a link never changes a role), and a pending invitation they held is accepted. Returns the standard first-party Doorkeeper token payload (same shape as POST /users/phone-sessions/verify).

post/join/{join_code}/accept

Request

  • Base URL: https://api.purplegrain.com/api/v1
  • URL: https://api.purplegrain.com/api/v1/join/{join_code}/accept
  • Auth: none declared

Path parameters

join_codestring required

The code from the join link.

Request body

mobilestring required

The same mobile the code was sent to.

codestring required

The 6-digit code from the SMS.

Response

Joined — Doorkeeper access token; includes user_id.

access_tokenstring required

Opaque bearer token. Send as header Authorization: Bearer {token} on /api/v1/* routes.

token_typestring required
expires_ininteger

Lifetime of the access token in seconds.

refresh_tokenstring nullable

Present when the client and grant type allow refresh tokens.

scopestring

Granted scopes (space-separated).

user_idstring uuid nullable

Only returned by first-party JSON endpoints (/users/sign-in, /users/access-tokens), not by POST /oauth/token.

actor_idstring uuid nullable

The acting entity's id (first-party endpoints only). Equals user_id today; becomes the Organization id when a token is scoped to act for an organization.

actor_type'User' | 'Organization' nullable

Polymorphic type of actor_id (first-party endpoints only).

Example response

{
  "token_type": "Bearer"
}

Changes

No recorded changes to this operation across all 1 revision of this API.