{"items":[{"type":"link","label":"One-Time Login","link":"/openapi/user/backend-one-time-login.openapi","routeSlug":"/openapi/user/backend-one-time-login.openapi","content":{"contentType":"overview","meta":{"name":"One-Time Login"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"backend-one-time-login.openapi.json","url":"/_bundle/openapi/user/backend-one-time-login.openapi.json?download"},{"kind":"download","label":"backend-one-time-login.openapi.yaml","url":"/_bundle/openapi/user/backend-one-time-login.openapi.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"cURL","lang":"curl"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"go","title":"Go","lang":"Go"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"java","title":"Java","lang":"Java"},{"key":"python","title":"Python","lang":"Python"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"One-Time Login","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":"Login users using one-time login methods like magic links or OTPs. This implements a backend-to-backend integration for authentication."}],"sectionId":"/openapi/user/backend-one-time-login.openapi"}],"sectionId":"/openapi/user/backend-one-time-login.openapi"}]}]}},{"label":"Send email link","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/user/backend-one-time-login.openapi/other/sendmagiclinkemail","routeSlug":"/openapi/user/backend-one-time-login.openapi/other/sendmagiclinkemail","metadata":{"seo":{"title":"Send email link","description":"Send a magic link by email to a user. Upon clicking the email link, the User Agent will be redirected to the requested redirect URI with a code (passed in the code query parameter). This code can be used to complete the authentication in the subsequent request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"sendMagicLinkEmail","name":"Send email link","isWebhook":false,"pointer":"/paths/~1v1~1auth~1link~1email~1send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Send email link","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a magic link by email to a user. Upon clicking the email link, the User Agent will be redirected to the requested redirect URI with a code (passed in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter). This code can be used to complete the authentication in the subsequent request."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ClientAccessToken","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A token generated by an end-user application using the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/openapi/token.openapi/other/getaccesstoken"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token endpoint"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It provides access to resources and data on the tenant level or associated with the specific application (but not other apps in the tenant)"},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_337"}},"schemaId":"schema_337","pointer":"/paths/~1v1~1auth~1link~1email~1send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/auth/link/email/send","servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ClientAccessToken","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_337"}},"responseCodes":["200","400","403","404"],"pointer":"/v1/auth/link/email/send","href":"other/sendmagiclinkemail","openApiOperationId":"sendMagicLinkEmail","summary":"Send email link"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"schemaId":"schema_337","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_337"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Backend auth initialized successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiSendEmailResponse"}},"schemaId":"components/schemas/ApiSendEmailResponse"},{"code":"400","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/400/content/application~1json/examples/redirectUriNotAllowed"]}},"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/400/content/application~1json/examples/redirectUriNotAllowed"]},{"code":"403","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/signupNotAllowed","paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/userNotActive"]}},"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/signupNotAllowed","paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/userNotActive"]},{"code":"404","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/appNotFound","paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/userNotFound"]}},"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/appNotFound","paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/userNotFound"]}],"pointer":"/paths/~1v1~1auth~1link~1email~1send/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ApiSendEmailResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiSendEmailResponse"}}},{"code":"400","exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/400/content/application~1json/examples/redirectUriNotAllowed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/400/content/application~1json/examples/redirectUriNotAllowed"]}}},{"code":"403","exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/signupNotAllowed","paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/userNotActive"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/signupNotAllowed","paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/userNotActive"]}}},{"code":"404","exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/appNotFound","paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/userNotFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/appNotFound","paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/userNotFound"]}}}],"examples":[]}]}]}]},"httpPath":"/v1/auth/link/email/send"},{"label":"Authenticate email link","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/user/backend-one-time-login.openapi/other/authenticatemagiclink","routeSlug":"/openapi/user/backend-one-time-login.openapi/other/authenticatemagiclink","metadata":{"seo":{"title":"Authenticate email link","description":"Authenticate a user using the email magic link you sent them. Upon clicking the email link, a code was returned to your redirect URI as the code query parameter. This API validates this code and returns user tokens."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"authenticateMagicLink","name":"Authenticate email link","isWebhook":false,"pointer":"/paths/~1v1~1auth~1link~1email~1authenticate/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Authenticate email link","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authenticate a user using the email magic link you sent them. Upon clicking the email link, a code was returned to your redirect URI as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter. This API validates this code and returns user tokens."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ClientAccessToken","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A token generated by an end-user application using the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/openapi/token.openapi/other/getaccesstoken"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token endpoint"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It provides access to resources and data on the tenant level or associated with the specific application (but not other apps in the tenant)"},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ApiMagicLinkTokenRequestDto"}},"schemaId":"components/schemas/ApiMagicLinkTokenRequestDto","pointer":"/paths/~1v1~1auth~1link~1email~1authenticate/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/auth/link/email/authenticate","servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ClientAccessToken","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ApiMagicLinkTokenRequestDto"}},"responseCodes":["200","400"],"pointer":"/v1/auth/link/email/authenticate","href":"other/authenticatemagiclink","openApiOperationId":"authenticateMagicLink","summary":"Authenticate email link"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"schemaId":"components/schemas/ApiMagicLinkTokenRequestDto","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ApiMagicLinkTokenRequestDto"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Returns user tokens","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenResponse"}},"schemaId":"components/schemas/ApiTokenResponse"},{"code":"400","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/invalidMagicLinkCode","paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/userNotFound","paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/sessionNotFound"]}},"exampleIds":["paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/invalidMagicLinkCode","paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/userNotFound","paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/sessionNotFound"]}],"pointer":"/paths/~1v1~1auth~1link~1email~1authenticate/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ApiTokenResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenResponse"}}},{"code":"400","exampleIds":["paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/invalidMagicLinkCode","paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/userNotFound","paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/sessionNotFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/invalidMagicLinkCode","paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/userNotFound","paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/sessionNotFound"]}}}],"examples":[]}]}]}]},"httpPath":"/v1/auth/link/email/authenticate"},{"label":"Send OTP","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/user/backend-one-time-login.openapi/other/sendotp","routeSlug":"/openapi/user/backend-one-time-login.openapi/other/sendotp","metadata":{"seo":{"title":"Send OTP","description":"Send a one-time passcode to a user by email or SMS, or retrieve the code directly in the response to deliver it out-of-band — for example, when an admin generates a temporary access code on behalf of a user."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"sendOTP","name":"Send OTP","isWebhook":false,"pointer":"/paths/~1v1~1auth~1otp~1send/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Send OTP","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a one-time passcode to a user by email or SMS, or retrieve the code directly in the response to deliver it out-of-band — for example, when an admin generates a temporary access code on behalf of a user."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ClientAccessToken","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A token generated by an end-user application using the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/openapi/token.openapi/other/getaccesstoken"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token endpoint"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It provides access to resources and data on the tenant level or associated with the specific application (but not other apps in the tenant)"},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ApiOtpInitRequestDto"}},"schemaId":"components/schemas/ApiOtpInitRequestDto","pointer":"/paths/~1v1~1auth~1otp~1send/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/auth/otp/send","servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ClientAccessToken","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ApiOtpInitRequestDto"}},"responseCodes":["200","400","403","404"],"pointer":"/v1/auth/otp/send","href":"other/sendotp","openApiOperationId":"sendOTP","summary":"Send OTP"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"schemaId":"components/schemas/ApiOtpInitRequestDto","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ApiOtpInitRequestDto"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Backend auth initialized successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiSendOtpResponse"}},"schemaId":"components/schemas/ApiSendOtpResponse"},{"code":"400","description":"Invalid input or configuration errors","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_338"}},"schemaId":"schema_338"},{"code":"403","description":"User not active or OTP login preferences not configured","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_339"}},"schemaId":"schema_339"},{"code":"404","description":"User or configuration not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_340"}},"schemaId":"schema_340"}],"pointer":"/paths/~1v1~1auth~1otp~1send/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ApiSendOtpResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiSendOtpResponse"}}},{"code":"400","schemaId":"schema_338","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_338"}}},{"code":"403","schemaId":"schema_339","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_339"}}},{"code":"404","schemaId":"schema_340","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_340"}}}],"examples":[]}]}]}]},"httpPath":"/v1/auth/otp/send"},{"label":"Authenticate OTP","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/user/backend-one-time-login.openapi/other/authenticateotp","routeSlug":"/openapi/user/backend-one-time-login.openapi/other/authenticateotp","metadata":{"seo":{"title":"Authenticate OTP","description":"Authenticates a user using a one-time passcode that was sent to them by email or SMS. This API validates the code provided by the user and returns user tokens."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"authenticateOTP","name":"Authenticate OTP","isWebhook":false,"pointer":"/paths/~1v1~1auth~1otp~1authenticate/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Authenticate OTP","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Authenticates a user using a one-time passcode that was sent to them by email or SMS. This API validates the code provided by the user and returns user tokens."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ClientAccessToken","scopes":[],"type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A token generated by an end-user application using the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/openapi/token.openapi/other/getaccesstoken"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token endpoint"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It provides access to resources and data on the tenant level or associated with the specific application (but not other apps in the tenant)"},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ApiOtpTokenRequestDto"}},"schemaId":"components/schemas/ApiOtpTokenRequestDto","pointer":"/paths/~1v1~1auth~1otp~1authenticate/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/auth/otp/authenticate","servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ClientAccessToken","type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ApiOtpTokenRequestDto"}},"responseCodes":["200","400","403"],"pointer":"/v1/auth/otp/authenticate","href":"other/authenticateotp","openApiOperationId":"authenticateOTP","summary":"Authenticate OTP"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}],"schemaId":"components/schemas/ApiOtpTokenRequestDto","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ApiOtpTokenRequestDto"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Returns user tokens","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenResponse"}},"schemaId":"components/schemas/ApiTokenResponse"},{"code":"400","description":"Invalid credentials or passcode expired","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_341"}},"schemaId":"schema_341"},{"code":"403","description":"One time code invalid due to multiple failed attempts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_342"}},"schemaId":"schema_342"}],"pointer":"/paths/~1v1~1auth~1otp~1authenticate/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ApiTokenResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenResponse"}}},{"code":"400","schemaId":"schema_341","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_341"}}},{"code":"403","schemaId":"schema_342","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_342"}}}],"examples":[]}]}]}]},"httpPath":"/v1/auth/otp/authenticate"}],"store":{"schemaStore":{"components/schemas/ApiMagicLinkInitWithIdentifierRequestDto":{"id":"components/schemas/ApiMagicLinkInitWithIdentifierRequestDto","kind":"json-schema","title":"ApiMagicLinkInitWithIdentifierRequestDto","data":{"type":"object","properties":{"device_id":{"type":"string","description":"Identifier of the device from which the authentication request originates","maxLength":80},"redirect_uri":{"type":"string","example":"https://www.example.com/verify","description":"URI that receives a code when the user clicks the email link. This is your server GET endpoint used to complete the authentication, and should accept 'code' as a query parameter. This URI must be configured as an allowed redirect URI for your Transmit client."},"email_content":{"description":"Texts, logo and color to render email template with","allOf":[{"$ref":"#/components/schemas/EmailContentAttributes"}]},"state":{"type":"string","description":"An opaque string that is used to maintain state between the request and the callback. It will be added to the redirect URI as a query parameter, which should be validated by your server to protect against cross-site request forgery (CSRF) attacks"},"email_expiration":{"type":"number","description":"invitation link expiration in minutes"},"channel":{"type":"string","enum":["email","direct"],"description":"Channel to use to send the magic link"},"client_attributes":{"description":"Client attributes","allOf":[{"$ref":"#/components/schemas/ClientAttributes"}]},"generate_request_id":{"type":"boolean","description":"The request ID can serve as an additional security identifier for authentication requests. When set to 'false' (by default), the request ID isn't returned. When set to 'true',  Mosaic generates a unique request ID that must be included in the subsequent Authenticate OTP request along with other required parameters.","default":false},"identifier":{"type":"string","example":"name@example.com","description":"Identifier value (email, phone number, user ID, or custom identifier)"},"identifier_type":{"type":"string","example":"email","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type of identifier (email, phone_number, user_id, username, or custom identifier type)"},"children":[]}]}]}]}},"required":["redirect_uri","identifier","identifier_type"]}},"components/schemas/ApiMagicLinkInitWithEmailRequestDto":{"id":"components/schemas/ApiMagicLinkInitWithEmailRequestDto","kind":"json-schema","title":"ApiMagicLinkInitWithEmailRequestDto","data":{"type":"object","properties":{"device_id":{"type":"string","description":"Identifier of the device from which the authentication request originates","maxLength":80},"redirect_uri":{"type":"string","example":"https://www.example.com/verify","description":"URI that receives a code when the user clicks the email link. This is your server GET endpoint used to complete the authentication, and should accept 'code' as a query parameter. This URI must be configured as an allowed redirect URI for your Transmit client."},"email_content":{"description":"Texts, logo and color to render email template with","allOf":[{"$ref":"#/components/schemas/EmailContentAttributes"}]},"state":{"type":"string","description":"An opaque string that is used to maintain state between the request and the callback. It will be added to the redirect URI as a query parameter, which should be validated by your server to protect against cross-site request forgery (CSRF) attacks"},"email_expiration":{"type":"number","description":"invitation link expiration in minutes"},"channel":{"type":"string","enum":["email","direct"],"description":"Channel to use to send the magic link"},"client_attributes":{"description":"Client attributes","allOf":[{"$ref":"#/components/schemas/ClientAttributes"}]},"generate_request_id":{"type":"boolean","description":"The request ID can serve as an additional security identifier for authentication requests. When set to 'false' (by default), the request ID isn't returned. When set to 'true',  Mosaic generates a unique request ID that must be included in the subsequent Authenticate OTP request along with other required parameters.","default":false},"email":{"type":"string","example":"name@example.com","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Email of the user (deprecated, use identifier and identifier_type instead)"},"children":[]}]}]}],"deprecated":true}},"required":["redirect_uri","email"]}},"components/schemas/ApiSendEmailResponse":{"id":"components/schemas/ApiSendEmailResponse","kind":"json-schema","title":"ApiSendEmailResponse","data":{"type":"object","properties":{"message":{"type":"string","example":"Email sent successfully"}},"required":["message"]}},"components/schemas/ApiMagicLinkTokenRequestDto":{"id":"components/schemas/ApiMagicLinkTokenRequestDto","kind":"json-schema","title":"ApiMagicLinkTokenRequestDto","data":{"type":"object","properties":{"resource":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resource URI the authentication request is attempting to access, which is reflected in the audience ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"aud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" claim) of the access token. This must be configured as resource for the application."},"children":[]}]}]}]},"claims":{"example":{"id_token":{"roles":null}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Used to request additional claims in the ID token, such as roles, permissions, and other user profile data. The structure is per the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://openid.net/specs/openid-connect-core-1_0-final.html#ClaimsParameter"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OIDC Standard"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". For supported claims and how to request custom claims, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developer.transmitsecurity.com/openapi/id_token_reference/"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID Token Reference"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/ApiTokenRequestClaims"}]},"org_id":{"type":"string","description":"Organization ID, used for member login in B2B scenarios"},"client_attributes":{"description":"Client attributes","allOf":[{"$ref":"#/components/schemas/ClientAttributes"}]},"device_id":{"type":"string","description":"Identifier of the device from which the authentication request originates","maxLength":80},"session_id":{"type":"string","description":"Used to associate the authentication with an existing session (such as for MFA). If unspecified, a new session is created and the session ID is returned."},"code":{"type":"string","description":"The code received from the magic link"},"request_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The request ID. This is a mandatory parameter if you’ve previously requested to generate a request ID when sending OTP or email link."},"children":[]}]}]}]}},"required":["code"]}},"components/schemas/ApiTokenResponse":{"id":"components/schemas/ApiTokenResponse","kind":"json-schema","title":"ApiTokenResponse","data":{"type":"object","properties":{"access_token":{"type":"string","description":"User access token for accessing endpoints on behalf of the authenticated user."},"id_token":{"type":"string","description":"ID token that identifies the user."},"refresh_token":{"type":"string","description":"Refresh token used to refresh an expired access token."},"token_type":{"type":"string","description":"Bearer."},"expires_in":{"type":"number","description":"Expiration time of the access token in seconds.","default":3600},"session_id":{"type":"string","description":"ID of the session in which the authentication occurs."},"signing_artifacts":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cryptographic data required to independently verify a transaction approval outside Mosaic. Returned when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"approval_data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is provided for a supported transaction-signing flow; fields vary by authenticator."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/ApiPasskeySigningArtifactsDto"},{"$ref":"#/components/schemas/ApiCryptoKeySigningArtifactsDto"}]}},"required":["access_token","token_type","expires_in","session_id"]}},"components/schemas/ApiPasskeySigningArtifactsDto":{"id":"components/schemas/ApiPasskeySigningArtifactsDto","kind":"json-schema","title":"ApiPasskeySigningArtifactsDto","data":{"type":"object","properties":{"approval_data":{"type":"object","additionalProperties":{"type":"string"},"description":"Transaction data provided when the transaction-signing flow was started. Returned after a successful approval.","example":{"transaction_id":"eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT","sum":"200"}},"public_key":{"type":"string","description":"Public key used to verify the signature."},"signature":{"type":"string","description":"Signature generated by the passkey authenticator."},"credential_id":{"type":"string","description":"Identifier of the passkey credential used for the approval."},"webauthn_session_id":{"type":"string","description":"Identifier of the WebAuthn authentication session."},"authenticator_data":{"type":"string","description":"Base64url-encoded data returned by the passkey authenticator as part of the WebAuthn assertion."},"client_data_json":{"type":"string","description":"Base64url-encoded client data from the WebAuthn authentication response."},"raw_challenge":{"type":"string","description":"Raw pre-hash challenge used to bind the signature to the approval data."}},"required":["approval_data","public_key","signature","credential_id","webauthn_session_id","authenticator_data","client_data_json","raw_challenge"]}},"components/schemas/ApiSigningArtifactAlgorithmDto":{"id":"components/schemas/ApiSigningArtifactAlgorithmDto","kind":"json-schema","title":"ApiSigningArtifactAlgorithmDto","data":{"type":"object","properties":{"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Signature algorithm used to verify the signature, for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ecdsa"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rsa-pss"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"hash":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Hash algorithm used to verify the signature, for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sha-256"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"saltLength":{"type":"number","description":"Length, in bytes, of the salt used by RSA-PSS."},"namedCurve":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Elliptic curve used by ECDSA, for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"P-256"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}},"required":["name"]}},"components/schemas/ApiCryptoKeySigningArtifactsDto":{"id":"components/schemas/ApiCryptoKeySigningArtifactsDto","kind":"json-schema","title":"ApiCryptoKeySigningArtifactsDto","data":{"type":"object","properties":{"approval_data":{"type":"object","additionalProperties":{"type":"string"},"description":"Transaction data provided when the transaction-signing flow was started. Returned after a successful approval.","example":{"transaction_id":"eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT","sum":"200"}},"public_key":{"type":"string","description":"Public key used to verify the signature."},"signature":{"type":"string","description":"Signature generated for the transaction-signing challenge."},"challenge":{"type":"string","description":"Challenge used to generate the signature and bind it to the approval data."},"algorithm":{"description":"Parameters required to verify the signature.","allOf":[{"$ref":"#/components/schemas/ApiSigningArtifactAlgorithmDto"}]}},"required":["approval_data","public_key","signature","challenge","algorithm"]}},"components/schemas/ApiOtpInitRequestDto":{"id":"components/schemas/ApiOtpInitRequestDto","kind":"json-schema","title":"ApiOtpInitRequestDto","data":{"type":"object","properties":{"device_id":{"type":"string","description":"Identifier of the device from which the authentication request originates","maxLength":80},"channel":{"type":"string","enum":["sms","email","direct"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Channel to use to send the OTP. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"email"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to deliver the code to the user. Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"direct"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to return the code in the response body without sending it — for example, to deliver it out-of-band as a temporary access code. See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/guides/user/account_recovery"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generate temporary access code"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"identifier_type":{"type":"string","description":"Type of user identifier used for login"},"identifier":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"User identifier, which may correspond to the user's email, phone number, username, or user ID. The type of identifier should be specified as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"identifier_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"email_content":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Texts, logo and color to render email template with, if the channel is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"email"},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/EmailContentAttributes"}]},"custom_sms_input":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom SMS message to send, if the channel is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sms"},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/BaseSmsOtpInput"}]},"approval_data":{"type":"object","example":{"transaction_id":"eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT","sum":"200"},"description":"Flat object that contains the data that your customer should approve for a transaction signing or custom approval flow. It can contain up to 10 keys, and only alphanumeric characters, underscores, hyphens, and periods. It will be returned as a claim in the ID token upon successful authentication."},"custom_email":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom email to send the OTP to, can be different than the user's email (if the channel is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"email"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}]},"custom_phone_number":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom phone number to send the OTP to, can be different than the user's phone number (if the channel is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sms"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}]},"client_attributes":{"description":"Client attributes","allOf":[{"$ref":"#/components/schemas/ClientAttributes"}]},"expires_in":{"type":"number","description":"Number of minutes until the OTP expires"},"generate_request_id":{"type":"boolean","description":"The request ID can serve as an additional security identifier for authentication requests. When set to 'false' (by default), the request ID isn't returned. When set to 'true',  Mosaic generates a unique request ID that must be included in the subsequent Authenticate OTP request along with other required parameters.","default":false}},"required":["channel","identifier_type","identifier"]}},"components/schemas/ApiSendOtpResponse":{"id":"components/schemas/ApiSendOtpResponse","kind":"json-schema","title":"ApiSendOtpResponse","data":{"type":"object","properties":{"message":{"type":"string","readOnly":true,"example":"OTP sent"},"approval_data":{"type":"object","readOnly":true,"example":{"transaction_id":"eFII2y40uB9hQ98nXt3tc1IHkRt8GrRZiqZuRn_59wT","sum":"200"},"description":"Approval data object, if passed in the request."},"code":{"type":"string","readOnly":true,"example":"123456","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One time passcode, if the channel is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"direct"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}},"required":["message"]}},"components/schemas/ApiOtpTokenRequestDto":{"id":"components/schemas/ApiOtpTokenRequestDto","kind":"json-schema","title":"ApiOtpTokenRequestDto","data":{"type":"object","properties":{"resource":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resource URI the authentication request is attempting to access, which is reflected in the audience ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"aud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" claim) of the access token. This must be configured as resource for the application."},"children":[]}]}]}]},"claims":{"type":"object","example":{"id_token":{"roles":null}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Used to request additional claims in the ID token, such as roles, permissions, and other user profile data. The structure is per the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://openid.net/specs/openid-connect-core-1_0-final.html#ClaimsParameter"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OIDC Standard"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". For supported claims and how to request custom claims, see the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developer.transmitsecurity.com/openapi/id_token_reference/"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID Token Reference"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"org_id":{"type":"string","description":"Organization ID, used for member login in B2B scenarios"},"client_attributes":{"description":"Client attributes","allOf":[{"$ref":"#/components/schemas/ClientAttributes"}]},"device_id":{"type":"string","description":"Identifier of the device from which the authentication request originates","maxLength":80},"session_id":{"type":"string","description":"Used to associate the authentication with an existing session (such as for MFA). If unspecified, a new session is created and the session ID is returned."},"passcode":{"type":"string","description":"OTP to validate"},"identifier_type":{"type":"string","description":"Type of user identifier used for sending the OTP"},"identifier":{"type":"string","description":"User identifier that the OTP was sent to"},"request_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The request ID. This is a mandatory parameter if you’ve previously requested to generate a request ID when sending OTP or email link."},"children":[]}]}]}]}},"required":["passcode","identifier_type","identifier"]}},"components/schemas/EmailContentAttributes":{"id":"components/schemas/EmailContentAttributes","kind":"json-schema","title":"EmailContentAttributes","data":{"type":"object","properties":{"subject":{"type":"string","description":"The subject of the email"},"primaryColor":{"type":"string","example":"#6981FF","description":"Primary color of the email, specified as a Hex color"},"base64logo":{"type":"string","description":"Base64 encoded image for email logo. Must be raw base64 of a PNG, JPEG, GIF or WebP image, without a data URI prefix, such as 'data:image/png;base64,'. The string length must be less than or equal to 60000 characters."},"headerText":{"type":"string","description":"The header of the email"},"bodyText":{"type":"string","description":"The body of the email"},"linkText":{"type":"string","description":"The text of the link button in the email"},"infoText":{"type":"string","description":"Any extra information in the email"},"footerText":{"type":"string","example":"If you didn't request this email, you can safely ignore it.","description":"The footer of the email"},"senderName":{"type":"string","description":"Name of the sender of the email"}},"required":["subject"]}},"components/schemas/ClientAttributes":{"id":"components/schemas/ClientAttributes","kind":"json-schema","title":"ClientAttributes","data":{"type":"object","properties":{"user_agent":{"type":"string"},"ip_address":{"type":"string"}}}},"components/schemas/ApiTokenRequestClaims":{"id":"components/schemas/ApiTokenRequestClaims","kind":"json-schema","title":"ApiTokenRequestClaims","data":{"type":"object","properties":{"id_token":{"type":"object"},"access_token":{"type":"object"}}}},"components/schemas/BaseSmsOtpInput":{"id":"components/schemas/BaseSmsOtpInput","kind":"json-schema","title":"BaseSmsOtpInput","data":{"type":"object","properties":{"custom_message":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Message to send, must contain {otp} and {app} placeholders to be replaced with one time password and application name. Limited to 140 characters"},"children":[]}]}]}]},"sender_id":{"type":"string","description":"The sender name that appears as the message sender on recipients devices. Limited to 11 characters. Limited support see https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html"}}}},"schema_337":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/ApiMagicLinkInitWithIdentifierRequestDto"},{"$ref":"#/components/schemas/ApiMagicLinkInitWithEmailRequestDto"}]},"id":"schema_337"},"schema_338":{"kind":"json-schema","data":{"type":"object","properties":{"error_code":{"type":"string","enum":["system_invalid_input","external_provider_configuration_error"]},"message":{"type":"string"}}},"id":"schema_338"},"schema_339":{"kind":"json-schema","data":{"type":"object","properties":{"error_code":{"type":"string","enum":["user_not_active","auth_login_preferences_missing"]},"message":{"type":"string"}}},"id":"schema_339"},"schema_340":{"kind":"json-schema","data":{"type":"object","properties":{"error_code":{"type":"string","enum":["user_not_found","user_email_address_missing","user_phone_number_missing","auth_login_preferences_missing"]},"message":{"type":"string"}}},"id":"schema_340"},"schema_341":{"kind":"json-schema","data":{"type":"object","properties":{"error_code":{"type":"string","enum":["system_invalid_input","auth_invalid_credentials","auth_otp_passcode_expired"]},"message":{"type":"string"}}},"id":"schema_341"},"schema_342":{"kind":"json-schema","data":{"type":"object","properties":{"error_code":{"type":"string","enum":["auth_locked"]},"message":{"type":"string"}}},"id":"schema_342"}},"exampleStore":{"paths/~1v1~1auth~1link~1email~1send/post/responses/400/content/application~1json/examples/redirectUriNotAllowed":{"value":{"error_code":"400","message":"redirect_uri is not one of the allowed redirect URIs configured for this app"},"key":"redirectUriNotAllowed","summary":"redirectUriNotAllowed","id":"paths/~1v1~1auth~1link~1email~1send/post/responses/400/content/application~1json/examples/redirectUriNotAllowed"},"paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/signupNotAllowed":{"value":{"error_code":"403","message":"Public signup is not allowed for this application"},"key":"signupNotAllowed","summary":"signupNotAllowed","description":"Public signup is not allowed for this application","id":"paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/signupNotAllowed"},"paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/userNotActive":{"value":{"error_code":"403","message":"User is not active"},"key":"userNotActive","summary":"userNotActive","description":"User is not active","id":"paths/~1v1~1auth~1link~1email~1send/post/responses/403/content/application~1json/examples/userNotActive"},"paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/appNotFound":{"value":{"error_code":"404","message":"App not found"},"key":"appNotFound","summary":"appNotFound","description":"App not found","id":"paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/appNotFound"},"paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/userNotFound":{"value":{"error_code":"404","message":"User not found"},"key":"userNotFound","summary":"userNotFound","description":"User not found","id":"paths/~1v1~1auth~1link~1email~1send/post/responses/404/content/application~1json/examples/userNotFound"},"paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/invalidMagicLinkCode":{"value":{"error_code":"400","message":"Invalid magic link code"},"key":"invalidMagicLinkCode","summary":"invalidMagicLinkCode","description":"Invalid magic link code","id":"paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/invalidMagicLinkCode"},"paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/userNotFound":{"value":{"error_code":"400","message":"User not found"},"key":"userNotFound","summary":"userNotFound","description":"User not found","id":"paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/userNotFound"},"paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/sessionNotFound":{"value":{"error_code":"400","message":"Session not found"},"key":"sessionNotFound","summary":"sessionNotFound","description":"Session not found","id":"paths/~1v1~1auth~1link~1email~1authenticate/post/responses/400/content/application~1json/examples/sessionNotFound"}},"securitySchemeStore":{"bearer":{"id":"bearer","type":"http","scheme":"bearer","bearerFormat":"JWT"},"UserAccessToken":{"id":"UserAccessToken","type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A token returned upon end-user authentication, which provides access to resources and data for the user and app for which it was generated"},"AdminAccessToken":{"id":"AdminAccessToken","type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A token generated by a management application using the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/openapi/token.openapi/other/getaccesstoken"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token endpoint"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It provides access to all resources for the tenant and its apps"},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}},"ClientAccessToken":{"id":"ClientAccessToken","type":"oauth2","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A token generated by an end-user application using the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/openapi/token.openapi/other/getaccesstoken"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token endpoint"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It provides access to resources and data on the tenant level or associated with the specific application (but not other apps in the tenant)"},"children":[]}]}]}],"flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}},"OrgAdminAccessToken":{"id":"OrgAdminAccessToken","type":"oauth2","description":"A token returned upon B2B authentication for a user that has the organizationAdmin or organizationCreator role.","flows":{"clientCredentials":{"tokenUrl":"/oidc/token","scopes":{}}}}},"servers":[{"url":"https://api.sbx.transmitsecurity.io/cis","description":"Sandbox environment"},{"url":"https://api.transmitsecurity.io/cis","description":"US production environment"},{"url":"https://api.eu.transmitsecurity.io/cis","description":"EU production environment"},{"url":"https://api.ca.transmitsecurity.io/cis","description":"CA production environment"},{"url":"https://api.au.transmitsecurity.io/cis","description":"AU production environment"},{"url":"https://api.gasne1-ts01.transmitsecurity.io/cis","description":"JP production environment"}]},"options":{"corsProxyUrl":"https://cors.redoc.ly","hideSchemaTitles":true,"onlyRequiredInSamples":false,"hideDownloadButtons":false,"codeSamples":{"skipOptionalParameters":false,"languages":[{"lang":"curl","label":"cURL"},{"lang":"Node.js"},{"lang":"Go"},{"lang":"JavaScript"},{"lang":"Java"},{"lang":"Python"}]},"feedback":{"hide":true,"settings":{"label":""}},"hideSidebar":true,"mockServer":{"off":true},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/openapi/user/backend-one-time-login.openapi.json?download"},{"url":"/_bundle/openapi/user/backend-one-time-login.openapi.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"One-Time Login","description":"Login users using one-time login methods like magic links or OTPs. This implements a backend-to-backend integration for authentication."}},"baseSlug":"/openapi/user/backend-one-time-login.openapi","routesMapping":{}}