{ "opencollection": "1.0.0", "info": { "name": "HeyForm Auth API", "version": "1.0.0" }, "items": [ { "info": { "name": "Auth", "type": "folder" }, "items": [ { "info": { "name": "Initiate social login (OAuth)", "type": "http" }, "http": { "method": "GET", "url": "https://api.heyform.net/connect/:kind", "params": [ { "name": "kind", "value": "google", "type": "path", "description": "The OAuth provider identifier (e.g. google, github, apple)." }, { "name": "state", "value": "DMbcJqLJ", "type": "query", "description": "Browser ID / CSRF state token generated by the client to correlate the callback." }, { "name": "redirect_uri", "value": "", "type": "query", "description": "Optional URI to redirect to after successful login." } ] }, "docs": "Redirects the user to the OAuth provider's authorization URL. Supported providers include Google, GitHub, and Apple." }, { "info": { "name": "Handle OAuth callback (GET)", "type": "http" }, "http": { "method": "GET", "url": "https://api.heyform.net/connect/:kind/callback", "params": [ { "name": "kind", "value": "google", "type": "path", "description": "The OAuth provider identifier." }, { "name": "code", "value": "", "type": "query", "description": "Authorization code returned by the OAuth provider." }, { "name": "state", "value": "", "type": "query", "description": "CSRF state token to verify." } ] }, "docs": "Receives the OAuth authorization code from the provider (GET variant, used by most providers). Validates state, exchanges code for tokens, and logs the user in." }, { "info": { "name": "Handle OAuth callback (POST)", "type": "http" }, "http": { "method": "POST", "url": "https://api.heyform.net/connect/:kind/callback", "params": [ { "name": "kind", "value": "apple", "type": "path", "description": "The OAuth provider identifier." } ], "body": { "type": "form-urlencoded", "data": [ { "name": "code", "value": "" }, { "name": "state", "value": "" } ] } }, "docs": "Receives the OAuth authorization code from the provider via POST (used by Sign in with Apple which posts directly to the backend)." } ] } ], "bundled": true }