{"version":"1.2","purpose":"Register for a person or brokerage with their authorisation.","documentation":"https://mortgagetalent.com.au/agents/signup","instructions":"https://mortgagetalent.com.au/agents/registration.md","helper":"https://mortgagetalent.com.au/agents/register.mjs","mcp_url":"https://mortgagetalent.com.au/api/mcp","mcp":{"transport":"streamable-http","url":"https://mortgagetalent.com.au/api/mcp","authentication":"none","session":"stateless","response_format":"application/json","protocol_versions":["2026-07-28","2025-11-25","2025-06-18","2025-03-26"],"stdio_bridge":"https://mortgagetalent.com.au/agents/mcp-stdio.mjs","stdio_runtime":"Node.js >=22.13.0","setup_instructions":"https://mortgagetalent.com.au/agents/registration.md"},"openapi":"https://mortgagetalent.com.au/api/agent-registration?format=openapi","supabase_url":"https://ttyqfdqhggywpkckmtdv.supabase.co","publishable_key":"sb_publishable_8cl9x_o1OJyX_WCvx89alw_rpf5ftKs","headers":{"apikey":"sb_publishable_8cl9x_o1OJyX_WCvx89alw_rpf5ftKs","Content-Type":"application/json"},"roles":["talent","company"],"endpoints":{"signup":"https://ttyqfdqhggywpkckmtdv.supabase.co/auth/v1/signup","passwordless":"https://ttyqfdqhggywpkckmtdv.supabase.co/auth/v1/otp","login":"https://ttyqfdqhggywpkckmtdv.supabase.co/auth/v1/token?grant_type=password","resend":"https://ttyqfdqhggywpkckmtdv.supabase.co/auth/v1/resend","onboard":"https://ttyqfdqhggywpkckmtdv.supabase.co/rest/v1/rpc/onboard_current_user","status":"https://ttyqfdqhggywpkckmtdv.supabase.co/rest/v1/rpc/get_current_auth_context"},"callbacks":{"talent":"https://mortgagetalent.com.au/auth/agent-callback?onboard=talent","company":"https://mortgagetalent.com.au/auth/agent-callback?onboard=company"},"workspace_urls":{"talent":"https://mortgagetalent.com.au/talent/profile-setup","company":"https://mortgagetalent.com.au/company/profile?welcome=1"},"workflow":["For prospects, POST passwordless with email, create_user: true and profile data; set redirect_to to the role callback. The owner opens the emailed secure link to complete setup without sharing a password.","Alternatively POST signup with email, password and data.first_name/data.last_name; include data.company_name for a brokerage. Set redirect_to to the callback for the selected role.","If signup returns no access_token, email confirmation is pending. Ask the account owner to open the confirmation email. Do not repeat signup or infer a new account from this response. A successful password sign-in must return a non-empty access_token; otherwise hand off to browser sign-in without claiming confirmation is pending.","The confirmation callback signs in the owner and opens their profile setup in the browser. New talent must still add contact details, a role and a primary CV. To continue by API, log in with the same email and password after confirmation.","POST onboard with p_role (talent or company) and optional p_first_name/p_last_name/p_company_name, using Authorization: Bearer <access_token> and apikey.","POST status with {} using the same headers. Complete only when role matches the requested role and has_profile is true. When the role matches but has_profile is false, keep the account and send the owner to workspace_urls for profile setup; do not repeat signup."],"errors":{"rate_limit":"On HTTP 429, honour Retry-After when present. Do not repeatedly retry signup or resend.","duplicate":"An existing account can produce a confirmation-shaped signup response. Sign in or use password recovery; do not assume an account was created.","company_exists":"If onboarding returns company_invitation_required or a company name conflict, ask the existing company administrator for an invitation.","captcha":"If captcha is required, hand off to the account owner in the browser signup flow.","onboarding":"Keep the existing account and retry profile setup after resolving the error. Do not create another account."},"statuses":{"confirmation_pending":"The owner needs to open their email link. This status alone does not prove account creation or delivery.","profile_setup_pending":"The account has the requested role; the owner needs to finish required profile details at workspace_url. This is an expected handoff, not a failed signup.","complete":"Authoritative role and profile checks passed. Open workspace_url.","invitation_required":"Ask the existing company administrator for an invitation; keep the account.","rate_limited":"Stop requests and honour retry_after when supplied.","needs_attention":"Use the specific reason, next_step and browser_url. Do not repeat signup automatically."}}