---
title: "Complete managed social signup"
method: POST
path: "/api/cloud/signup/social/complete"
tags: ["Cloud"]
---

# Complete managed social signup

`POST /api/cloud/signup/social/complete`

## Request

- Base URL: `https://demo.hitkeep.com`
- URL: `https://demo.hitkeep.com/api/cloud/signup/social/complete`
- Auth: none declared

Creates a hosted cloud user and team after provider authentication, preserving the existing plan, billing-intent, locale, region, Terms, and onboarding behavior. Google and GitHub verified email skip HitKeep email verification; Microsoft returns verification_sent.

## Request body

- SocialSignupCompleteRequest
  - `accepted_tos` boolean, required
  - `billing` 'monthly' | 'annual', required
  - `completion_token` string, required
  - `email` string, email
  - `jurisdiction` 'EU' | 'US', required
  - `locale` string, required
  - `plan_code` 'free' | 'pro' | 'business', required
  - `team_name` string, required

## Response `201`

Social signup result

- SocialSignupCompleteResponse
  - `billing` string, required
  - `plan_code` string, required
  - `redirect_url` string
  - `status` 'ok' | 'verification_sent', required

## Other responses

- `400`: Invalid signup intent
- `404`: Social signup disabled
- `409`: Account or identity already exists

---

[API](https://skmtc.dev/hitkeep/apis/hitkeep-rest-api.md) · [All operations](https://skmtc.dev/hitkeep/apis/hitkeep-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hitkeep/apis/hitkeep-rest-api/revisions/bb2df36ab2a4?raw)
