GenesisForums
Documentation navigation

Genesis-generated links

Request a short-lived opaque onboarding URL through the link-generation API.

Create a link

Call the endpoint from your backend, then redirect the member to the returned URL.

curl -i -X POST https://forum.genesistudio.com/api/integrations/link \
  -H "Authorization: Bearer $FORUM_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: onboarding-user-324234-v1" \
  -d '{
    "uuid": "external-user-324234",
    "username": "reader123",
    "email": "reader@example.com",
    "destination": "/novels/memorize/discussion"
  }'

Request fields

FieldRequiredRules
uuidYesStable external subject, at most 255 characters
usernameNoProposed display name, at most 50 characters
emailNoValid email, at most 320 characters
destinationNoSafe internal Forum path

The request must be JSON and no larger than 16 KB.

Response

A successful request returns 201 Created:

{
  "url": "https://forum.genesistudio.com/link?id=gfo_opaque_value",
  "expiresAt": "2026-07-28T12:10:00.000Z"
}

The link expires after 10 minutes and is consumed by the final decision. Treat the complete URL as sensitive and do not log it.

Redirecting the member

Use an HTTP redirect or a clear user action to navigate to the exact returned URL. Do not parse, rewrite, or append data to the opaque id. If the link expires before the member finishes, request a new link with a new idempotency key.