Finalize sign-up for an SSO user
const url = 'https://api.retorio.com/be/v2/auth/coaching_sso_signup';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"displayedName":null,"legalConsent":true,"privacyPolicyConsent":true,"contactConsent":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.retorio.com/be/v2/auth/coaching_sso_signup \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "displayedName": null, "legalConsent": true, "privacyPolicyConsent": true, "contactConsent": true }'Called by the coaching app after your identity provider authenticates an invited user who has not completed sign-up yet, to record their name and consent and mark them registered. When Retorio is configured to read the name from your IdP’s attributes and the token carries one, that name is used instead of displayedName. legalConsent and privacyPolicyConsent must be true. A user whose invitation has expired is refused and must be invited again. The user itself already exists from the cohort invite. There is nothing for an integrator to call here directly: a user reaches this only by signing in through the coaching app once they have been invited into a cohort with the email their IdP asserts.
Authentication
Section titled “Authentication”Request Bodyrequired
Section titled “Request Bodyrequired”object
Example
Maria SchmidtResponses
Section titled “Responses”Account finalized
The request body is not valid (legalConsent and privacyPolicyConsent must be true), your organization does not have single sign-on enabled, or the user is already registered. Also answered when the request body is not valid JSON.
object
Canonical error name, e.g. INVALID_ARGUMENT.
object
The HTTP reason phrase, e.g. Bad Request.
Example generated
{ "message": "example", "status": "example", "details": "example"}Not authenticated: the bearer token is missing, malformed, expired or revoked, its sign-in method does not match your organization’s configuration, the user it belongs to was removed, or your organization is deactivated. Also answered when a coaching user signing in by single sign-on has not completed sign-up and their invitation has expired.
object
Canonical error name, e.g. INVALID_ARGUMENT.
Example generated
{ "message": "example", "status": "example", "details": "example"}Refused: the token does not belong to a coaching user.
object
Canonical error name, e.g. INVALID_ARGUMENT.
Example generated
{ "message": "example", "status": "example", "details": "example"}The request body is larger than 10 MB.
object
The HTTP reason phrase, e.g. Bad Request.
Example generated
{ "statusCode": 1, "message": "example", "error": "example"}The Content-Type charset or the Content-Encoding is one the API cannot decode. Send UTF-8 JSON without a content encoding.
object
The HTTP reason phrase, e.g. Bad Request.
Example generated
{ "statusCode": 1, "message": "example", "error": "example"}Internal Server Error
object
Example generated
{ "additionalProperty": "example"}Retorio is GDPR and DSGVO compliant, EU AI Act aligned, ISO 27001 certified, and hosted on Google Cloud with EU data residency. For anything specific to your rollout, ask your Retorio contact.