AlmondTill/G3N API

On this page

issueCollaboratorInvite

mutation · in the family Identity and access

What it does

Send a collaborator their sign-up invite — a one-time code you pass along; issuing again replaces the old one.

STAFF: mint (or ROTATE) the ONE outstanding show-once invite token for an ACTIVE collaborator: the plaintext token rides THIS result ONCE; a re-issue makes the prior token STALE (the pointer-currency law — the single live slot); a non-active collaborator refuses CONFLICT/REF_STATE. ⚠ NO staff password-set lane exists on this plane EVER — this rotation IS the recovery lane (the merchant never knows the secret). Template class; requires the unrestricted capability.

What happens

The code appears ONCE in the result and expires in 7 days; the system never emails it — you convey it.

Careful

Whoever redeems the code becomes this collaborator — convey it privately.

Who may call it

Capability area: Identity and access — Who can sign in and what each role allows — users, roles and their assignments.

Arguments

NameTypeRequiredNotes
collaboratorIdID ID!yesNo further notes.

Returns

CollaboratorInviteMint CollaboratorInviteMint! — The show-once invite mint.

Example request

mutation ExampleIssueCollaboratorInvite($collaboratorId: ID!) {
  issueCollaboratorInvite(collaboratorId: $collaboratorId) {
    inviteToken
    expiresAt
  }
}

Variables:

{
  "collaboratorId": "01900000-0000-7000-8000-4cebc5980000"
}

Send it with the envelope naming the version: "extensions": {"at": {"version": {"name":"genesis","number":0}}}.

Example response

{
  "data": {
    "issueCollaboratorInvite": {
      "inviteToken": "<your session token>",
      "expiresAt": "2027-01-31T00:00:00.000Z"
    }
  },
  "extensions": {
    "at": {
      "callId": "01EXAMPLE-CALL-ID",
      "version": {
        "requested": {
          "name": "genesis",
          "number": 0
        },
        "serviced": {
          "name": "genesis",
          "number": 0
        }
      }
    }
  }
}

Errors this call can answer

Used in