Group Affiliation Verification

Getting Started

Welcome! If you are new to ID.me, you are in the right place. Here we will cover how to get started using ID.me.

Overview

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

  1. 1. Sign up for an ID.me developer account. Click here
  2. 2. Register your organization.
  3. 3. Select which groups you would like to enable for verification.
  4. 4. Choose your platform to review the recommended integration options.
  5. 5. Place our Verify with ID.me (Click to download) button on your site to begin testing authentication and verification.
    1. i. Contact partnersupport@id.me to generate test credentials.
  6. 6. Once verification is complete at ID.me, the partner sends a request to ID.me’s API to retrieve user attributes.

By default, your application will be set up for OAuth. Upon registration, you will immediately have access to the application details page which will list the client_id and client_secret for your OAuth client.

Leveraging the ID.me IDP SAML service will vary depending on the product that is used to implement the federation relationship. Currently, we do not support creating SAML SP profiles automatically through the portal, please contact partnersupport@id.me for assistance in the process.

Verification Products

Digital Identity Verification

  • Online identity proofing securely verifies an individual’s identity in minutes using remote verification of physical IDs, mobile network operator (MNO) data, along with fraud and compliance checks.
  • Virtual In-person proofing allows those individuals to complete identity proofing with a trained Trusted Referee via a simple video conference session.
  • In-person proofing with a Trusted Referee ensures that all users can easily create a credential to secure access to high value services online.

Group Affiliation Verification

  • Instantly verify customer eligibility for exclusive discounts
  • Acquire customers and build loyalty in strategic customer segments, while reducing discount fraud.

EPCS and eRX Provider Verification

  • Verify physician identity and medical provider status for EPCS
  • ID.me provides seamless identity verification for Health Care Providers to meet Electronic Prescription of Controlled Substances (EPCS) requirements.

Document Verification

  • Verify the authenticity of ID documents with machine vision and AI
  • Easy Document Verification for REAL ID Applicants.
  • Instantly verify the identity of consumers who submit Subject Rights Requests (SRR) or Data Subject Access Requests (DSAR).

Know Your Customer Account Opening

  • Implement KYC verification to streamline the online account opening process.
  • Improve conversion for account opening with simple remote verification of physical IDs and mobile phone SIM verification.

SCRA Compliance Montioring

  • Instant SCRA Verification for Financial Institutions.
  • Rely on automated SCRA monitoring to ensure compliance for loans and debt collection. Minimize cost and regulatory burden.

Industry standards ID.me supports

Open Authorization (OAuth) 2

  1. An authorization standard that allows a user to grant limited access to their resources on one site, to another site, without having to expose their credentials. You use this standard every time you log in to a site using your Google account and you are asked if you agree with sharing your email address and your contacts list with that site.

OpenID Connect (OIDC)

  1. An identity layer that sits on top of OAuth 2 and allows for easy verification of the user's identity, as well as the ability to get basic profile information from the identity provider.

Security Assertion Markup Language (SAML)

  1. An open-standard, XML-based data format that allows businesses to communicate user authentication and authorization information to partner companies and enterprise applications their employees may use.

Bearer Token Authentication

  1. An HTTP authentication scheme that involves security tokens called bearer tokens.

Keep reading

  1. Begin Digital Identity integration
  2. Begin Group Affiliation integration
  3. Begin EPCS Provider integration
  4. Begin Document Verification integration
  5. Begin KYC integration

API Reference

/military/documents

Verification Status

get

https://services.id.me https://services.idmelabs.com /military/documents
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
[
  {
    "name": "DD214",
    "code": "bdf3300a-a5e1-4f96-9700-461982e2f440"
  },
  {
    "name": "Leave Earnings Statement",
    "code": "efbe9497-0230-48c4-ba44-c023939f9291"
  }
]
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/military/verify/person

Verify with personal information

post

https://services.id.me https://services.idmelabs.com /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 full social true 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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/military/verify/scra

Verify with personal information

post

https://services.id.me https://services.idmelabs.com /military/verify/scra
Parameters
Name In Description Required Schema
fname query users first name true string
lname query users last name true string
social query users full social true 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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true,
    "attributes": {
      "rank": "Captain",
      "branch": "Army",
      "status": "Veteran",
      "service_start_date": "2015-01-01T10:00:00Z",
      "service_stop_date": "2019-01-01T10:00:00Z"
    }
  }
}
Schemas
Response Status 200
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/military/verify/upload

Verify with military document

post

https://services.id.me https://services.idmelabs.com /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 true 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
status query users military status, accepted values [service_member, veteran, retiree] 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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/military/status/{reference_id}

Verification Status

get

https://services.id.me https://services.idmelabs.com /military/status/{reference_id}
Parameters
Name In Description Required Schema
reference_id path reference ID for a previously submitted verification request true string
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true,
    "attributes": {
      "rank": "Captain",
      "branch": "Army",
      "status": "Veteran",
      "service_start_date": "2015-01-01T10:00:00Z",
      "service_stop_date": "2019-01-01T10:00:00Z"
    }
  }
}
Schemas
Response Status 200
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 220
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 220,
    "message": "Transaction rejected after review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "code": "MIL0202",
      "text": "Unable to verify military status."
    }
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/responder/documents

Verification Status

get

https://services.id.me https://services.idmelabs.com /responder/documents
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
[
  {
    "name": "Leave Earnings Statement",
    "code": "efbe9497-0230-48c4-ba44-c023939f9291"
  }
]
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/responder/emt/verify/person

Verify with personal information

post

https://services.id.me https://services.idmelabs.com /responder/emt/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 full social true string
birth_date query users birth date, yyyy-mm-dd formatted true string
emt_number query users emt number true string
address query users permanent address, fully qualified with street true string
state query users state true string
city query users city true string
county query users county true string
zip_code query users postal code true string
Responses
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/responder/firefighter/verify/person

Verify with personal information

post

https://services.id.me https://services.idmelabs.com /responder/firefighter/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 full social true string
address query users permanent address, fully qualified with street, city, state and zip true string
state query users state of certification true string
birth_date query users birth date, yyyy-mm-dd formatted true string
Responses
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/responder/emt/verify/upload

Verify with emt document

post

https://services.id.me https://services.idmelabs.com /responder/emt/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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/responder/firefighter/verify/upload

Verify with firefighter document

post

https://services.id.me https://services.idmelabs.com /responder/firefighter/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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/responder/police/verify/upload

Verify with police officer document

post

https://services.id.me https://services.idmelabs.com /responder/police/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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/responder/dispatcher/verify/upload

Verify with 911 dispatcher document

post

https://services.id.me https://services.idmelabs.com /responder/dispatcher/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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/emt/status/{reference_id}

Verification Status

get

https://services.id.me https://services.idmelabs.com /emt/status/{reference_id}
Parameters
Name In Description Required Schema
reference_id path reference ID for a previously submitted verification request true string
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
Schemas
Response Status 200
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 220
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 220,
    "message": "Transaction rejected after review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "code": "MIL0202",
      "text": "Unable to verify military status."
    }
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/firefighter/status/{reference_id}

Verification Status

get

https://services.id.me https://services.idmelabs.com /firefighter/status/{reference_id}
Parameters
Name In Description Required Schema
reference_id path reference ID for a previously submitted verification request true string
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
Schemas
Response Status 200
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 220
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 220,
    "message": "Transaction rejected after review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "code": "MIL0202",
      "text": "Unable to verify military status."
    }
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/teacher/states

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

get

https://services.id.me https://services.idmelabs.com /teacher/states
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
[
  {
    "code": "VA",
    "name": "Virginia",
    "require_number": false,
    "require_social": false
  },
  {
    "name": "MD",
    "uuid": "Maryland",
    "require_number": true,
    "require_social": false
  },
  {
    "name": "NC",
    "uuid": "North Carolina",
    "require_number": true,
    "require_social": true
  }
]
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/teacher/verify/person

Verify with state certification information

post

https://services.id.me https://services.idmelabs.com /teacher/verify/person
Parameters
Name In Description Required Schema
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 users full social true string
address query users permanent address, fully qualified with street, city, state and zip true 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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/teacher/verify/upload

Verify with teacher document

post

https://services.id.me https://services.idmelabs.com /teacher/verify/upload
Parameters
Name In Description Required Schema
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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/teacher/status/{reference_id}

Verification Status

get

https://services.id.me https://services.idmelabs.com /teacher/status/{reference_id}
Parameters
Name In Description Required Schema
reference_id path reference ID for a previously submitted verification request true string
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
Schemas
Response Status 200
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 220
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 220,
    "message": "Transaction rejected after review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "code": "MIL0202",
      "text": "Unable to verify military status."
    }
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/student/schools

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

get

https://services.id.me https://services.idmelabs.com /student/schools
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
[
  {
    "name": "George Washington University",
    "uuid": "51c0806b-ecc6-4508-b472-3961362507a9",
    "options": [
      "upload",
      "person"
    ]
  },
  {
    "name": "Virginia Tech",
    "uuid": "84e746ad-6120-42dd-957c-db079d76f266",
    "options": [
      "person"
    ]
  }
]
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/student/documents

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

get

https://services.id.me https://services.idmelabs.com /student/documents
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
[
  {
    "name": "Current Transcript/Schedule",
    "uuid": "bdf3300a-a5e1-4f96-9700-461982e2f440"
  },
  {
    "name": "Student ID",
    "uuid": "efbe9497-0230-48c4-ba44-c023939f9291"
  }
]
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/student/verify/person

Verify with name and email

post

https://services.id.me https://services.idmelabs.com /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 true string
birth_date query students birth date, yyyy-mm-dd formatted true string
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/student/verify/upload

Verify with teacher document

post

https://services.id.me https://services.idmelabs.com /student/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) true 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
HTTP Status 200 - Transaction pending review
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Schemas
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
Response Status 310
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 310,
    "message": "Transaction failed validation",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "errors": {
    "fname": {
      "message": "can't be blank",
      "failure": "blank"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors

/student/status/{reference_id}

Verification Status

get

https://services.id.me https://services.idmelabs.com /student/status/{reference_id}
Parameters
Name In Description Required Schema
reference_id path reference ID for a previously submitted verification request true string
Responses
HTTP Status 200 - Transaction successfully completed
Example arrow_drop_down arrow_drop_up
Content Type
application/json
Example
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true,
    "attributes": {
      "status": "F",
      "graduation": "2018-01-01T10:00:00Z"
    }
  }
}
Schemas
Response Status 200
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 200,
    "message": "Transaction successfully completed",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": true
  }
}
Response Status 210
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 210,
    "message": "Transaction pending review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  }
}
Response Status 220
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 220,
    "message": "Transaction rejected after review",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "code": "MIL0202",
      "text": "Unable to verify military status."
    }
  }
}
Response Status 300
{
  "reference_id": "f9e85bac-068c-47ea-bb4f-d9fa7753743d",
  "status": {
    "code": 300,
    "message": "Transaction unsuccessful",
    "created": "2018-01-01T10:00:00Z",
    "updated": "2018-01-01T10:00:00Z"
  },
  "result": {
    "verified": false,
    "reason": {
      "text": "Something went wrong"
    }
  }
}
HTTP Status 401 - Invalid authentication credentials
HTTP Status 403 - Credentials do not have access to given resource
HTTP Status 404 - Accessed resource does not exist
HTTP Status 429 - Rate limit exceeded
HTTP Status 500 - Internal service errors