Overview
Arlo Health uses OAuth 2.1 with PKCE (Proof Key for Code Exchange) for authentication. This provides secure authentication without requiring the agent to handle user credentials.On connector hosts (Claude.ai, ChatGPT) the platform’s connector UI runs this whole flow for you —
init_signup and check_account_status are not advertised there and must not be called. The flow below is for agent runtimes that manage their own OAuth (Claude Code, OpenClaw, custom agents).OAuth 2.1 Flow
Discovery Endpoints
Arlo exposes standard OAuth 2.1 discovery endpoints:MCP Server Card
OAuth Authorization Server Metadata
Authentication Flow
Step 1: Initialize Signup
Callinit_signup to begin the OAuth flow:
Step 2: User Completes Auth
Direct the user to openauthUrl in their browser. They will:
- Create an account or sign in
- Grant permissions to your agent
- Be redirected back to Arlo
Step 3: Poll for Completion
Pollcheck_account_status until authentication completes:
The auth link expires after 15 minutes. If the user doesn’t complete authentication, you’ll need to call
init_signup again.Scopes
Token Management
Access Tokens
- Short-lived (typically 1 hour)
- Include in requests as
Authorization: Bearer <token> - Automatically managed by MCP clients
Refresh Tokens
- Long-lived (days/weeks)
- Use to obtain new access tokens
- Requires
offline_accessscope
Token Refresh Flow
Webhook Registration
The best time to register webhooks is duringinit_signup:
Session Management
Session Persistence
- Sessions are tied to the user’s Arlo account
- Sessions persist until explicitly revoked
- Webhook registrations are permanent per session
Re-authentication
If a session expires:- Call
init_signupagain - User completes OAuth flow
- New session is created
- Re-register webhooks if needed
Checking Session Status
Usecheck_account_status without a sessionId to check the current session:
Security Best Practices
Webhook Token Security
- Use cryptographically random tokens
- Store tokens securely (environment variables, secrets manager)
- Rotate tokens periodically
- Always validate tokens on incoming webhooks
PKCE Requirements
- Always use
S256code challenge method - Generate cryptographically random code verifiers
- Never reuse code verifiers