White Label Verification

Getting Started

To get started with an integration you’ll need to do the following.

  • Sign up for an ID.me developer account.
  • Register one organization for your company.
  • Register an application for each website property that will need access to white label verification data.
  • Contact partnersupport@id.me to enable the appropriate policies assoicaited with white label verification and set up UAT/sandbox integrations.
  • Access is restricted to authorized partners only. Provide your application's IP address to execute requests from ID.me's white label verification API.

Once users complete white label verification at ID.me, the partner sends a request to ID.me’s API to retrieve user attributes.


Upon application registration, you will immediately have access to the application details page which will list the client_id and client_secret your OAuth client.


API Reference

Choose Enviorment: Production Sandbox

Description: Verification API

Version: 1.0

teacherStates

Returns a list of states and metadata for each state regarding which attributes are required to verify.

GET

https://services.id.me /teacher/states
Parameters
Name In Description Required Schema
client_id query The client identifier received during app registration. It is automatically generated and located in your application dashboard. true string
client_secret query A secret identifier received during app registration. It is automatically generated and located in your application dashboard. true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 401 - Invalid authentication credentials
Status: 1100 - Credentials used are not associated with any account
Status: 1200 - Credentials used are associated with an inactive account
Status: 1300 - Credentials used are associated with an inactive organization
Status: 403 - Credentials do not have access to given resource
Status: 2100 - Referenced product cannot be found
Status: 2200 - Referenced product is not active
Status: 2300 - Referenced product is not enabled for this account
Status: 404 - Accessed resource does not exist
Status: 4100 - Resource not found
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

teacherVerifyAccount

Verify with name and email

POST

https://services.id.me /teacher/verify/account
Parameters
Name In Description Required Schema
client_id query The client identifier received during app registration. It is automatically generated and located in your application dashboard. true string
client_secret query A secret identifier received during app registration. It is automatically generated and located in your application dashboard. true string
email query email address true string
fname query first name true string
mname query middle name false string
lname query last name true string
state query state the teacher is verified in (2-letter reresentation of the name) true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 210 - Transaction pending review
Example
Status: 220 - Transaction rejected after review
Example
Status: 300 - Transaction unsuccessful
Example
Status: 310 - Validation errors
Example
Status: 401 - Invalid authentication credentials
Status: 1100 - Credentials used are not associated with any account
Status: 1200 - Credentials used are associated with an inactive account
Status: 1300 - Credentials used are associated with an inactive organization
Status: 403 - Credentials do not have access to given resource
Status: 2100 - Referenced product cannot be found
Status: 2200 - Referenced product is not active
Status: 2300 - Referenced product is not enabled for this account
Status: 404 - Accessed resource does not exist
Status: 4100 - Resource not found
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

teacherVerifyPerson

Verify with state certification information

POST

https://services.id.me /teacher/verify/person
Parameters
Name In Description Required Schema
client_id query The client identifier received during app registration. It is automatically generated and located in your application dashboard. true string
client_secret query A secret identifier received during app registration. It is automatically generated and located in your application dashboard. true string
email query email address true string
fname query first name true string
mname query middle name false string
lname query last name true string
state query state the teacher is verified in (2-letter reresentation of the name) true string
suffix query name suffix true string
birth_date query birth date, yyyy-mm-dd formatted true string
social query social security number (if required) false string
teacher_number query teacher number (if required) false string
school_city query teacher school city true string
school_district query teacher school district true string
school_name query teacher school name true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 210 - Transaction pending review
Example
Status: 220 - Transaction rejected after review
Example
Status: 300 - Transaction unsuccessful
Example
Status: 310 - Validation errors
Example
Status: 401 - Invalid authentication credentials
Status: 1100 - Credentials used are not associated with any account
Status: 1200 - Credentials used are associated with an inactive account
Status: 1300 - Credentials used are associated with an inactive organization
Status: 403 - Credentials do not have access to given resource
Status: 2100 - Referenced product cannot be found
Status: 2200 - Referenced product is not active
Status: 2300 - Referenced product is not enabled for this account
Status: 404 - Accessed resource does not exist
Status: 4100 - Resource not found
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

teacherVerifyUpload

Verify with teacher document

POST

https://services.id.me /teacher/verify/upload
Parameters
Name In Description Required Schema
client_id query The client identifier received during app registration. It is automatically generated and located in your application dashboard. true string
client_secret query A secret identifier received during app registration. It is automatically generated and located in your application dashboard. true string
email query email address true string
fname query first name true string
mname query middle name false string
lname query last name true string
suffix query name suffix true string
birth_date query birth date, yyyy-mm-dd formatted true string
social query social security number (if required) false string
teacher_number query teacher number (if required) false string
school_city query teacher school city true string
school_district query teacher school district true string
school_name query teacher school name true string
document_file query teacher document for verification true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 210 - Transaction pending review
Example
Status: 220 - Transaction rejected after review
Example
Status: 300 - Transaction unsuccessful
Example
Status: 310 - Validation errors
Example
Status: 401 - Invalid authentication credentials
Status: 1100 - Credentials used are not associated with any account
Status: 1200 - Credentials used are associated with an inactive account
Status: 1300 - Credentials used are associated with an inactive organization
Status: 403 - Credentials do not have access to given resource
Status: 2100 - Referenced product cannot be found
Status: 2200 - Referenced product is not active
Status: 2300 - Referenced product is not enabled for this account
Status: 404 - Accessed resource does not exist
Status: 4100 - Resource not found
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

teacherStatus{reference_id}

Verification Status

GET

https://services.id.me /teacher/status/{reference_id}
Parameters
Name In Description Required Schema
reference_id path reference ID for a previously submitted verification request true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 210 - Transaction pending review
Example
Status: 220 - Transaction rejected after review
Example
Status: 300 - Transaction unsuccessful
Example
Status: 310 - Validation errors
Example
Status: 401 - Invalid authentication credentials
Status: 1100 - Credentials used are not associated with any account
Status: 1200 - Credentials used are associated with an inactive account
Status: 1300 - Credentials used are associated with an inactive organization
Status: 403 - Credentials do not have access to given resource
Status: 2100 - Referenced product cannot be found
Status: 2200 - Referenced product is not active
Status: 2300 - Referenced product is not enabled for this account
Status: 404 - Accessed resource does not exist
Status: 4100 - Resource not found
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

studentSchools

Returns a list of states and metadata for each state regarding which attributes are required to verify.

GET

https://services.id.me /student/schools
Parameters
Name In Description Required Schema
client_id query The client identifier received during app registration. It is automatically generated and located in your application dashboard. true string
client_secret query A secret identifier received during app registration. It is automatically generated and located in your application dashboard. true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

studentDocuments

Returns a list of states and metadata for each state regarding which attributes are required to verify.

GET

https://services.id.me /student/documents
Responses
Status: 200 - Transaction successfully completed
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

studentVerifyAccount

Verify with name and email

POST

https://services.id.me /student/verify/account
Parameters
Name In Description Required Schema
email query students email address true string
fname query students first name true string
lname query students last name true string
school query students school (uuid from schools endpoint) true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

studentVerifyPerson

Verify with name and email

POST

https://services.id.me /student/verify/person
Parameters
Name In Description Required Schema
fname query students first name true string
lname query students last name true string
school query students school (uuid from schools endpoint) true string
social query students last 4 of social false string
birth_date query students birth date, yyyy-mm-dd formatted true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

studentVerifyUpload

Verify with teacher document

POST

https://services.id.me /student/verify/upload
Parameters
Name In Description Required Schema
client_id query The client identifier received during app registration. It is automatically generated and located in your application dashboard. true string
client_secret query A secret identifier received during app registration. It is automatically generated and located in your application dashboard. true string
fname query first name true string
lname query last name true string
social query social security number (if required) false string
address query students permanent address, fully qualified with street, city, state and zip true string
school query students school (uuid from schools endpoint) true string
birth_date query students birth date, yyyy-mm-dd formatted true string
document_file query students enrollment document true string
document_type query students enrollment document type (uuid from document types endpoint) true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 205 - Transaction pending review
Example
Status: 210 - Transaction rejected after review
Example
Status: 300 - Transaction unsuccessful
Example
Status: 310 - Validation errors
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

studentStatus{reference_id}

Verification Status

GET

https://services.id.me /student/status/{reference_id}
Parameters
Name In Description Required Schema
reference_id path reference ID for a previously submitted verification request true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 205 - Transaction pending review
Example
Status: 210 - Transaction rejected after review
Example
Status: 300 - Transaction unsuccessful
Example
Status: 310 - Validation errors
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

militaryDocuments

Verification Status

GET

https://services.id.me /military/documents
Parameters
Name In Description Required Schema
client_id query The client identifier received during app registration. It is automatically generated and located in your application dashboard. true string
client_secret query A secret identifier received during app registration. It is automatically generated and located in your application dashboard. true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

militaryVerifyAccount

Verify with name and email

POST

https://services.id.me /military/verify/account
Parameters
Name In Description Required Schema
email query users email address true string
fname query users first name true string
lname query users last name true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

militaryVerifyPerson

Verify with personal information

POST

https://services.id.me /military/verify/person
Parameters
Name In Description Required Schema
fname query users first name true string
lname query users last name true string
social query users last 4 of social false string
birth_date query users birth date, yyyy-mm-dd formatted true string
duty_date query users active duty date (any date from their service range), yyyy-mm-dd formatted true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

militaryVerifyUpload

Verify with military document

POST

https://services.id.me /military/verify/upload
Parameters
Name In Description Required Schema
fname query first name true string
lname query last name true string
social query social security number (if required) false string
birth_date query users birth date, yyyy-mm-dd formatted true string
address query users permanent address, fully qualified with street, city, state and zip true string
document_file query users military document true string
document_type query users military document type (code from document types endpoint) true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 205 - Transaction pending review
Example
Status: 210 - Transaction rejected after review
Example
Status: 300 - Transaction unsuccessful
Example
Status: 310 - Validation errors
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors

militaryStatus{reference_id}

Verification Status

GET

https://services.id.me /military/status/{reference_id}
Parameters
Name In Description Required Schema
reference_id path reference ID for a previously submitted verification request true string
Responses
Status: 200 - Transaction successfully completed
Example
Status: 205 - Transaction pending review
Example
Status: 210 - Transaction rejected after review
Example
Status: 300 - Transaction unsuccessful
Example
Status: 310 - Validation errors
Example
Status: 401 - Invalid authentication credentials
Status: 403 - Credentials do not have access to given resource
Status: 404 - Accessed resource does not exist
Status: 422 - Invalid or missing input parameters
Status: 3100 - Transaction not found with the given reference ID
Status: 429 - Rate limit exceeded
Status: 500 - Internal service errors