/oauth/verify_email_native

This endpoint is used to trigger an email that includes a link with a one- time verification code a user can click to complete the email verification process. The destination URL for this link is configured in the verify_email_url setting for the API client used to make this call. Use this link for a video demo.

If you are not utilizing the Janrain JavaScript widget at this URL, you will need to use the access/useVerificationCode endpoint to consume the verification code. If successful, the emailVerified attribute in the user's record will be set with the current timestamp. If unsuccessful, this endpoint can be used again to resend an email with a new code.

Note. This must be a POST request with all parameters included in the body of the request; they cannot be passed as URL parameters.

This endpoint includes the following methods:

  • POST

POST

Base URL

The base URL for this endpoint is your Janrain Capture domain; for example:

https://educationcenter.us-dev.janraincapture.com

Your Capture domains (also known as Registration domains) can be found in the Janrain Console on the Manage Application page:

Examples

Example: Trigger Verification Email


  curl -X POST \
    --data-urlencode 'client_id=12345abcde12345abcde12345abcde12'\
    --data-urlencode 'flow=standard'\
    --data-urlencode 'flow_version=67890def-6789-defg-6789-67890defgh67'\
    --data-urlencode 'locale=en-US'\
    --data-urlencode 'redirect_uri=http://localhost'\
    --data-urlencode 'form=resendVerificationForm'\
    --data-urlencode 'signInEmailAddress=johndoe@example.com'\
    'https://my-app.janraincapture.com/oauth/verify_email_native'
                                                            

Running Code Samples Using Postman

The Janrain REST API code samples are written using Curl, but they can easily be run from within Postman. To use one of our code samples in Postman:

  1. Click the Copy to Clipboard button located directly beneath the code sample
  2. In Postman, click Import to display the Import dialog box.
  3. In the Import dialog box, click Paste Raw Text, and then paste in the copied code. The Import dialog box should look similar to this:

  4. Click Import, and the Curl command will be converted to a format that can be run from within Postman. All you need to do now is configure the command to work with your Janrain implementation.

Authorized Clients

login_client

Security

  •  none-required

Query Parameters

Parameter Type Required Description
client_id string Yes API client ID used to authenticate the call. This client must be configured with the login_client feature, which gives it permission to use login and registration-based API endpoints. API client permissions may be configured by using the clients/set_features endpoint.
 
flow string Yes Name of the flow configured with the login experience you want to use. This parameter corresponds to the janrain.settings.capture.flowName JavaScript setting used in widget- based implementations. The default flow provisioned with Registration applications is named the standard flow; if you have multiple flows, you can find a list of valid flow names using the Configuration API. You may cb this parameter if you configure the flow name in the default_flow_name setting for the API client used to make this call.
 
flow_version string Yes Version number of the flow set in the flow parameter. This parameter corresponds to the janrain.settings.capture.flowVersion JavaScript setting used in widget-based implementations; however, this call will not accept a version of HEAD. Instead, you must specify the version number if you want to use the most recent version. You can find a list of versions for your flow using the Configuration API. This parameter can be omitted if you you configure the flow version in the default_flow_version setting for the API client used to make this call.
 
form string Yes Name of the form to be used to for generating the verification email. This parameter determines the field names that must be included when submitting this API call. The default form name for email verification configured for the standard flow is resendVerificationForm, but you can find a list of valid forms and associated fields for your flow using the Configuration API. This form name corresponds to the name of the JTL tag used for the associated form in widget-based implementations (for example, {* #socialRegistrationForm *}).
 
(form fields) string Yes Name of the field used to generate the verification email. You will use the field name as the key and the user input as the value for this parameter. The default resendVerificationForm configured for the standard flow uses the field signInEmailAddress. You can find a list of valid fields and associated forms for your flow using the Configuration API. This field name corresponds to the JTL tag used for the email field in your resend verification form in widget-based implementations.
 
locale string Yes Code for the language you want to use for the login experience. This parameter determines the language for any error messages returned to you and the verification emails sent to users and corresponds to the janrain.settings.language JavaScript setting used in widget-based implementations. The default locale provisioned with the standard Registration flow is en-US; other locales must be configured in your flow. You can find a list of valid locales for your flow using the Configuration API.
 
redirect_uri string Yes Required for legacy purposes and not used for any functionality in this call.The parameter value must begin with http: or https: and we recommend that this match the URL and protocol of your website. This parameter corresponds to the janrain.settings.capture.redirectUri JavaScript setting used in widget-based implementations.
 

Responses

200 OK

Successful Response

A successful call will return the simple response below:


{
  "stat": "ok"
}
                                                            

Error - Email Does Not Exist

The example error response below indicates that the email address submitted is not registered, so no email will be sent. The invalid_fields object will include a localized error message from the flow.


{
  "stat": "error",
  "code": 210,
  "error_description": "some inputs are invalid",
  "error": "invalid_credentials",
  "request_id": "v2ddw6xyc2s39tm3",
  "invalid_fields": {
    "resendVerificationForm": [
      "We don't recognize that email address. Please try again."
    ]
  }
}
                                                            

Error - Email Already Verified

The example error response below indicates that the email address submitted has already been verified, so no email will be sent. The message attribute will include a localized error message from the flow.


{
  "stat": "error",
  "code": 540,
  "error_description": "an error was triggered in the flow",
  "error": "triggered_error",
  "request_id": "g3cfbjg9ptge2yte",
  "message": "Your email is already verified. You may sign in."
}
                                                            

Error - Invalid Form

The example error response below indicates that the form value is not valid for the flow included in the call. Form names are case sensitive, so resendverificationform would fail if resendVerificationForm is the valid form name.


{
  "stat": "error",
  "code": 200,
  "error_description": "no such form 'resendverificationform'",
  "error": "invalid_argument",
  "request_id": "rdfbsavfvzb2sxud"
}
                                                            

Error - Missing Required Parameters

The example error response below indicates that one of the required parameters for the call was not included. The error message will describe which parameter is missing.


{
  "stat": "error",
  "code": 100,
  "error_description": "missing arguments: flow",
  "error": "missing_argument",
  "request_id": "uyeem84bmqmnjuu4"
}
                                                            

Error - Invalid Flow Value

The example error response below indicates that the value provided for one or more of the flow, flow_version, or locale parameters is invalid. Flow versions are unique across environments, so check that the version value included in the call is for the correct environment (that is, your development or production application).


{
  "stat": "error",
  "code": 500,
  "error_description": "could not find a flow named 'standard' with version '12345abc-1234-abcd-1234-12345abcde12' and locale 'en-US'",
  "error": "unexpected_error",
  "request_id": "murynd7fhpysq6um"
}
                                                            

Error - Invalid API Client Permissions

The example error response below indicates that the API client used to make the call is not configured with the login_client feature.


{
  "stat": "error",
  "code": 403,
  "error_description": "This client does not support log in and registration.",
  "error": "permission_error",
  "request_id": "y3sthb9dey6mv65e"
}