Download OpenAPI specification:Download
MeasureOne offers a secure, API-based platform to power consumer-permissioned data sharing, providing a safe and transparent way for consumers to share data with third-party applications.
The MeasureOne platform acts as a bridge between data sources containing the consumer's personal data and data recipients. Data sources are online systems that house the data to be shared and that are accessible to the consumer. Example data sources are academic institutions, payroll processors, utility providers government systems and others. Data recipients are any third-party that the consumer wishes to share information with, often in return for a product or service that the data recipient is offering. Example recipients are lenders, marketeers, background check companies, employers, recruiters, and others.
The MeasureOne API allows you as a data recipient to integrate consumer-permissioned data into your workflows. It does so by facilitating consent, access, acquisition, and delivery of your users' permissioned data. In the basic workflow of consumer-permissioned sharing is as follows. First, your users provide their consent to Measure one to share specific personal information with you. They then share their credentials with MeasureOne providing access to data -- called "source data" -- that provides the information that they have consented to share with you. MeasureOne uses these credentials to connect that data source to its platform, access and acquire the source data. MeasureOne then provides access to this source data through a set of service APIs.
There are several benefits to using the MeasureOne API. Our API hides the complexity involved in the consumer-permissioning workflow behind a simple straighforward API so that you can focus on your application and customer experience. We handle user credentials so you don't have to. We handle consents from the user and ensure that you only receive access to the consented information, freeing you from the need to worry about accessing consumer information improperly. We also provide guarantees to your user that we will not share information outside the scope of their consent. This provides you with the opportunity to have your users share information with you that otherwise would not be accessible. Finally, MeasureOne ensures the provenance of the shared data. The data is shared by the user, with their explicit consent, but without any ability to modify or tamper with it.
The current 3.0 version is not backward compatible with version 2.0. If you are a 2.0 user, please see our Migration Guide.
This section gives you some brief use cases for using the API in your workflow. For complete details, please see the full documentation.
Extracting income information from paystubs, 1099 or other income-related documents provides you with a comprehensive solution to assessing your user's income.
By facilitating the sharing of home and auto insurance policies, MeasureOne enables customers to verify insurance information during auto and home transactions or provide detailed policy information for comparative quoting purposes.
MeasureOne supports acquisition and processing of academic documents. By connecting the user's academic institution to our platform, MeasureOne uses the shared transcripts and other educational data to provide an assessment or verification of educational data. This includes academic history, degree verification, student enrollment status or other similar data.
By leveraging multiple items of consumer-permissioned data, MeasureOne provides unique opportunities to customers to establish identity and protect against fraud.
MeasureOne's MeritScore is a proprietary predictive analytic that correlates credit performance with academic data. Using consumer-permissioned transcripts, MeasureOne provides a score that correlates the user's academic performance to credit default risk. This both reduces risk for the lender while opening up new credit opportunities for young borrowers.
Unless specified otherwise, the MeasureOne API uses POST requests to communicate and HTTP response codes to indicate status and errors. Unless explicitly specified, all responses come in standard JSON, and all requests must include a Content-Type of application/json
with a valid JSON body.
Header Parameters | Values |
---|---|
Authorization | bearer |
Content-Type | application/json |
version |
MeasureOne provides two API environments:
Environment | URL |
---|---|
Staging | https://api-stg.measureone.com/v3/ |
Production | https://api.measureone.com/v3/ |
MeasureOne authenticates your API requests using access tokens. If you do not include the access_token
when making a request, MeasureOne returns an authentication error.
To gain access to the MeasureOne API, reach out to us on sales@measureone.com. Once you’ve completed the signup process, we’ll provide a live client_id
& secret
for use in our API.
You can access our APIs using Access Tokens Or Public Tokens. The Public Tokens are short lived with limited scope while Access Tokens are long lived.
Access Tokens are long-lived tokens that give you access to the MeasureOne infrastructure for your account.
Access tokens should be used only from your own server side applications.
Public tokens are short-lived tokens with defined scope
and policy
.
The scope indicates the resources and endpoints you can access using these tokens while policy indicates the data you can access using the APIs.
MeasureOne APIs will return a 401 error if the public token is used for scope or policy that is different from the token's scope and policy.
For example, if you create a public token for policy having individual_id idv_293241AAjy2EZt3R
and if you try to invoke /individuals/get_by_id for another individual, it will return a 401 error.
The table below defines the currently supported scope.
API Endpoint | WIDGET | GLOBAL |
---|---|---|
/individuals/new | YES | YES |
/individuals/get_by_id | YES | YES |
/individuals/get_items | YES | YES |
/datarequests/new | YES | YES |
/datarequests/update | YES | YES |
/datarequests/get | YES | YES |
/datarequests/get_by_id | YES | YES |
/datarequests/generate_invitation_link | YES | YES |
/datarequests/notify_user | YES | YES |
/datarequests/get_invitation_link | YES | YES |
/datarequests/expire_invitation_link | YES | YES |
/datarequests/refresh_now | YES | YES |
/datarequests/enable_refresh | YES | YES |
/datarequests/disable_refresh | YES | YES |
/datasources/get | YES | YES |
/items/new | YES | YES |
/items/upload | YES | YES |
/items/get_by_id | YES | YES |
/items/get_files | YES | YES |
/items/get_pdf | YES | YES |
/services/get_academic_summary | NO | YES |
/services/get_enrollment_status | NO | YES |
/services/gradscore | NO | YES |
/services/meritscore | NO | YES |
/services/get_digest_by_id | NO | YES |
/services/get_employment_summary | NO | YES |
/services/get_income_summary | NO | YES |
/services/get_income_employment_details | NO | YES |
/services/get_insurance_details | NO | YES |
/services/get_realized_gains | NO | YES |
This API returns the access token required for you to access the MeasureOne APIs.
The Authorization header should contain the word Basic word followed by a space and a base64-encoded string username:password. For example, to authorize as demo / p@55w0rd you should send
Authorization: Basic ZGVtbzpwQDU1dzByZA==
This API does not require any request body
Successful Response
Bad Request
Authentication with the API Failed
Forbidden
Method Not Allowed
Internal Server Error
{ }
Response Access token
{- "access_token": "6fd5122a-9a91-4bd6-1219-d6e71fd123b0",
- "token_type": "bearer",
- "expires_in": 2128865176,
- "expires_at": 3637805578000
}
This API invalidates the provided Access Token.
The Authorization header should contain the word Basic word followed by a space and a base64-encoded string client_id:secret. For example, to authorize as demo / p@55w0rd you should send
Authorization: Basic ZGVtbzpwQDU1dzByZA==
This API does not require any request body
Successful Response
Bad Request
Authentication with the API Failed
Forbidden
Method Not Allowed
Internal Server Error
{- "access_token": "6fd5122a-9a91-4bd6-1219-d6e71fd123b0"
}
Example payload Bad Requests
{- "timestamp": 1585747802495,
- "error_code": "BAD_REQUEST",
- "http_code": 400,
- "error_message": "Invalid JSON"
}
This API returns the Public Token which are short lived tokens required for you to access MeasureOne APIs.
The Authorization header should contain the word Basic word followed by a space and a base64-encoded string username:password. For example, to authorize as demo / p@55w0rd you should send
Authorization: Basic ZGVtbzpwQDU1dzByZA==
Successful Response
Bad Request
Authentication with the API Failed
Forbidden
Method Not Allowed
Internal Server Error
Example payload for generating a public token
{- "validity": 25600,
- "scopes": [
- "WIDGET"
], - "policy": {
- "individual_id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R"
}
}
Response Access token
{- "access_token": "6fd5122a-9a91-4bd6-1219-d6e71fd123b0",
- "token_type": "bearer",
- "expires_in": 25600,
- "expires_at": 1681191048000
}
The current major version of the MeasureOne API is 3.0, and is passed in the API path as a /v3
prefix. The current 3.0 API version is 20210117
and is passed as a request header while calling the API. If no version number is specified in the request header, the API will default to the version that was live when you first signed up for MeasureOne API keys.
We periodically release changes to our APIs. While we try to remain backward compatible, changes in our API may result in changes to the data or schema structures exposed in the current version.
MeasureOne has four core resources. These resources help you seamlessly integrate consumer-permissioned-data workflow into your applications.
The Individual is your end user/consumer whom you are requesting to share data or information with you as part of your application. In a typical implementation, ths Individual is directed to MeasureOne through an invitation initiated from your application or the MeasureOne Dashboard. MeasureOne then interacts with the Individual to complete the consumers-permissioned data sharing workflow and shares the accessed Individual data with you, either directly with your application or through the MeasureOne Dashboard.
A consumer-permissioned data workflow is initiated and defined by the Data Request resource. A Data Request specifies or bind together the various elements of a consumer-permissioned data workflow, in particular: the Individual, the set of actions - writing or acquiring data - to be performed, optional reports to be generated, the Link experience, optional schedule to auto-refresh data, optional Individual communication and messaging.
MeasureOne supports pre-configured types of data requests catering to different use cases, as well as CUSTOM data requests that allow you to request custom data. All services accept datarequest_id
as a reference.
The following table specifies the supported Data Request types. Based on the Data Request type, MeasureOne tailors the consumer-permissioned workflow to satisfy the indicated request for data.
Data Request Type | Description |
---|---|
ACADEMIC_SUMMARY | Request the education summary of the Individual |
ENROLLMENT_STATUS | Request the enrollment status of the Individual |
EMPLOYMENT_SUMMARY | Request the employment summary of the Individual |
INCOME_SUMMARY | Request the income summary for the Individual |
INCOME_EMPLOYMENT_DETAILS | Request the VOIE details of the Individual |
HOME_INSURANCE_DETAILS | Request the Home insurance details of the individuals |
AUTO_INSURANCE_DETAILS | Request the Auto insurance details of the individuals |
REALIZED_GAINS | Request 1099-B information from the Individual's brokerage account |
CUSTOM | Request custom data from an Individual that is not covered by the above types. |
Individuals permission access to documents online for your stated business purpose. The permissioned documents that MeasureOne accesses and acquires are called Items. Items can be in any format -- HTML, PDF, XML, JSON, etc. Once the Item is acquired, it is parsed stored. To enforce the permissions on the Item data, access to the information in the Items is available solely through Service APIs. This separation of the Item data from the Service APIs limits the scope of information to just what the Individual has authorized to share, independent of the underlying Item data used to generate it. This ensures that you receive only the permissioned data and that the Individual's privacy is protected.
The online location of Items is called a Data Source. Data Sources are typically online accounts that are owned by the Individual. The Individual gives explicit consent to MeasureOne to access their Data Source account and retrieve the Items necessary to fulfill your Data Request.
This section gives you the list of all endpoints exposed by MeasureOne to integrate into your application workflow. For complete details, please see the full documentation. Unless specified otherwise, all the endpoints require access_token
in the header for authorization.
Resource | Endpoint | Description |
---|---|---|
Authentication | /auth/generate_access_token | Generates an access token |
Authentication | /auth/invalidate | Invalidates an access token |
Authentication | /auth/generate_public_token | Generates a public token |
Individuals | /individuals/new | Create a new individual |
Individuals | /individuals/get_by_id | Get details of an Individual |
Individuals | /individuals/get_items | Get list of items created for an Individual |
Data Requests | /datarequests/new | Create a new Data Request |
Data Requests | /datarequests/update | Update Data Request |
Data Requests | /datarequests/get | Get or search Data Requests |
Data Requests | /datarequests/get_by_id | Get details of a Data Request |
Data Requests | /datarequests/generate_invitation_link | Generate an invitation link for Data Request |
Data Requests | /datarequests/notify_user | Send invitation to the user to complete the Data Request |
Data Requests | /datarequests/get_invitation_link | Get details of an invitation link generated for the Data Request |
Data Requests | /datarequests/expire_invitation_link | Expire the invitation link for Data Request |
Data Requests | /datarequests/refresh_now | Refresh data on demand for Data Requests |
Data Requests | /datarequests/enable_refresh | Enable data refresh for Data Requests |
Data Requests | /datarequests/disable_refresh | Disable data refresh for Data Requests |
Data Sources | /datasources/get | Get or search Data Sources |
Items | /items/new | Create a new item |
Items | /items/upload | Upload item document |
Items | /items/get_by_id | Upload item document |
Items | /items/get_files | Download the items uploaded via /items/upload API |
Items | /items/get_pdf | Download the items as PDF document |
Services | /services/get_academic_summary | Get the academic summary for an Individual |
Services | /services/get_enrollment_status | Get the enrollment status for an Individual |
Services | /services/gradscore | Get the Gradscore for a transcript |
Services | /services/meritscore | Get the MeritScore for a transcript |
Services | /services/get_digest_by_id | Get the Digest for a transcript |
Services | /services/get_employment_summary | Get the employment summary for an Individual |
Services | /services/get_income_summary | Get the income summary for an Individual |
Services | /services/get_income_employment_details | Get the income employment details (VOIE) for an Individual |
Services | /services/get_insurance_details | Get the insurance details for an Individual |
Services | /services/get_realized_gains | Get the realized gains for a brokerage account |
A 2xx status code indicates the request was received and processed successfully.
Status code | Description |
---|---|
200 | OK - The request is successful |
201 | ACCEPTED - The request is successful and has been accepted for further processing. You will receive a notification once the request has completed. |
A 4xx status code indicates that the request failed due to a client error. The response body generally includes more details about the failure.
Status code | Description |
---|---|
400 | Bad Request - The request failed. This will usually occur when validations fail. E.g Missing required fields or invalid JSON |
A 5xx status codes is returned if something goes wrong on MeasureOne's end
Status code | Description |
---|---|
500 | Internal Server Error - Something has gone wrong on MeasureOne's end while attempting to process the request. Our engineering team has been notified of the issue. |
Many of MeasureOne APIs are asynchronous in nature. Client applications integrating MeasureOne API are required to expose endpoints for MeasureOne to send the Webhook Notifications. The diagram below depicts how the asynchronous communication will work. APIs having Asynchronous communication may also send a synchronous response if the response is readily available.
The table below depicts the APIs that require clients to provision endpoints for asynchronous communication.
Resource | Endpoint | Asynchronous |
---|---|---|
Authentication | /auth/generate_access_token | No |
Authentication | /auth/invalidate | No |
Authentication | /auth/generate_public_token | No |
Individuals | /individuals/new | No |
Individuals | /individuals/get_by_id | No |
Individuals | /individuals/get_items | No |
Data Requests | /datarequests/new | No |
Data Requests | /datarequests/update | No |
Data Requests | /datarequests/get | No |
Data Requests | /datarequests/get_by_id | No |
Data Requests | /datarequests/generate_invitation_link | No |
Data Requests | /datarequests/notify_user | No |
Data Requests | /datarequests/get_invitation_link | No |
Data Requests | /datarequests/expire_invitation_link | No |
Data Requests | /datarequests/refresh_now | No |
Data Requests | /datarequests/enable_refresh | No |
Data Requests | /datarequests/disable_refresh | No |
Data Sources | /datasources/get | No |
Items | /items/new | No |
Items | /items/upload | No |
Items | /items/get_by_id | Yes |
Items | /items/get_files | No |
Items | /items/get_pdf | No |
Services | /services/get_academic_summary | Yes |
Services | /services/get_enrollment_status | Yes |
Services | /services/gradscore | Yes |
Services | /services/meritscore | Yes |
Services | /services/get_digest_by_id | Yes |
Services | /services/get_employment_summary | Yes |
Services | /services/get_income_summary | Yes |
Services | /services/get_income_employment_details | Yes |
Services | /services/get_insurance_details | Yes |
Services | /services/get_realized_gains | Yes |
MeasureOne Link is a front-end component that provides you all the capabilities necessary to initiate the the consumer-permissioning workflow for your users. It enables your users to permit your application to access their data in a consumer-permissioned manner.
Link handles the consent, the data source identification, the credential collection, and the integration with the MeasureOne platform to access and acquire the consumer-permissioned data. It handles a variety of authentication mechanisms including multi-factor authentication and offers various configuration options to tailor the UI to your application.
As an alternative to the embedded widget, MeasureOne supports hosted solutions of Link, providing no-code options for your integrations. Please login to the Dashboard for more details.
Integration of Link is done using a small snippet of javascript that can be displayed in any part of your application.
Widget integration requires the m1-link
tag and a set of configuration options as shown in the sample configuration JSON.
Link raises events for various user actions that your application can subscribe to. In addition to these events, the MeasureOne platform communicates with the client application via webhooks.
The LINK javascript is available at the links below
Environment | Link |
---|---|
Staging | https://api-stg.measureone.com/v3/js/m1-link-2021042000.js |
Production | To enable the LINK widget in production, reach out to us at support@measureone.com |
The source code sample below shows how to integrate MeasureOne Link widget into your front-end using plain vanilla javascript
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> YOUR TITLE HERE </title>
<script src="https://api-stg.measureone.com/v3/js/m1-link-2021042000.js"></script>
</head>
<body>
<h1>YOUR TITLE HERE</h1>
<div>
<m1-link></m1-link>
<script>
var config = {
access_key: "<<YOUR_ACCESS_TOKEN>>",
host_name: "api-stg.measureone.com",
datarequest_id: "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
branding: {
styles: {
primary_dark: "#186793",
primary_light: "#2e9ccb",
secondary_color: "#ffffff",
min_height: "700px"
}
},
options: {
"display_profile": false
}
}
// Take reference to widget
const m1_widget = document.querySelector("m1-link");
// Add configuration
m1_widget.setAttribute("config", JSON.stringify(config));
// Add event listeners
m1_widget.addEventListener('datasourceConnected',(event)=>{
// Perform operation on datasourceConnected event.
console.log(event);
//hide or destroy the widget once connected
});
</script>
</body>
</html>
The configuration attribute of the LINK Widget is a JSON Object as described below
access_key required | string Your API Key |
host_name required | string Host Name for the environment (staging - api-stg.measureone.com, production - api.measureone.com ) |
datarequest_id required | string Unique ID of the Data Request identified by MeasureOne |
object Your branding that can be applied on the widget | |
object Options for the MeasureOne Link module. |
{- "access_key": "string",
- "host_name": "string",
- "datarequest_id": "string",
- "branding": {
- "styles": {
- "primary_dark": "string",
- "primary_light": "string",
- "secondary_color": "string",
- "min_height": "string",
- "font_family_url": "string",
- "font_family": "string"
}
}, - "options": {
- "display_profile": true,
- "allow_close_widget": true
}
}
Events are triggered based on user activity in the widget. These events provide information to you to enhance the experience within your application. The following table provides the details of supported Action Events. Each Action Event may have additional data that provides additional context for the event. The following sections describe various events generated by the MeasureOne Link widget
Triggered when the Individual is created by MeasureOne Link. This event is deprecated. You must create an Individual before bringing up the Link experience
name | string Name of the event |
object Additional data for the event |
{- "name": "individualCreated",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp"
}
}
Triggered when the Individual is updated by MeasureOne Link.
name | string Name of the event |
object Additional data for the event |
{- "name": "individualUpdated",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp"
}
}
Triggered when the Individual accepts the MeasureOne Consumer Privacy Policy and agrees to give the Consent to MeasureOne
name | string Name of the event |
object Additional data for the event |
{- "name": "consentStatusChanged",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "accepted": true
}
}
Triggered when the screen changes. Returns the value in percentage. If the screen is error, the value of the progress will be -1. The attributes in the data object of this event will vary depending on the screen transition
name | string Name of the event |
object Additional data for the event. |
{- "name": "currentProgress",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "progress": 50
}
}
Triggered when the User submits the credentials successfully on the Widget. In case of MFA, this event will be triggered after the MFA is submitted successfully
name | string Name of the event |
object Additional data for the event. You can use the data from this even to call the service APIs of MeasureOne |
{- "name": "datasourceConnected",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "datasource_id": "sch_CV8e5NzZXwXhNp3TGnpryEmub2E",
- "datasource_name": "New Jersey Institute Of Technology",
- "session_id": "tls_1t1beGRERflQjl3ctpNJdzQB7D1",
- "connection_id": "cn_1t1beHJKk5fbq2moTWj9oFv2hHH",
- "checkcodes_created": "true/false"
}
}
Triggered when one or more items are manually uploaded by the Individual
name | string Name of the event |
object Additional data for the event. You can use the data from this even to call the service APIs of MeasureOne |
{- "name": "itemsCreated",
- "data": {
- "individual_id": "idv_1yrARBpkCSP4zOiFFrG2L3nWKgo",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "items": [
- {
- "id": "itm_21uqbxrF4BEQwXo4hJFnox2G11j"
}
], - "datasource_id": "sch_CV8e5NzZXwXhNp3TGnpryEmub2E"
}
}
Triggered when the access_key expires. This event can be triggered at any stage in the widget. If you are using public_token
, the default expiration time is 15 minutes.
name | string Name of the event |
object Additional data for the event. | |
error_description | string Description of error occurred in Link |
{- "name": "tokenExpired",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp"
}, - "error_description": "Your session has expired, please refresh the page."
}
Triggered when the chooses to exit MeasureOne Link after being an attempt to reset their password
name | string Name of the event |
object Additional data for the event. |
{- "name": "credentialsNotObtained",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "datasource_id": "sch_CV8e5NzZXwXhNp3TGnpryEmub2E",
- "datasource_name": "New Jersey Institute Of Technology"
}
}
Triggered when the selected datasource by Individual is not supported by MeasureOne
Reason Code | Description |
---|---|
USER_LOGIN_NOT_SUPPORTED | User login is not supported for the datasource selected by Individual |
NO_MATCH_FOUND | Could not find matching datasources for the information provided |
name | string Name of the event |
object Additional data for the event. |
{- "name": "datasourceNotSupported",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "reason_code": "NO_MATCH_FOUND",
- "user_inputs": {
- "system_name": "New Jersey Institute of Technology"
}
}
}
Triggered when the user chooses to exit the MeasureOne Link experience.
name | string Name of the event |
object Additional data for the event. You can use the data from this even to call the service APIs of MeasureOne |
{- "name": "exitRequested",
- "data": {
- "individual_id": "idv_1gNIu83UT3IwCYcQ6SbtKJAuUWp",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp"
}
}
The Individual is a core resource that represents your user. At the start of the workflow an Individual representing the user must be created. Retrieved Items are associated with the Individual. Almost all Service APIs take the Individual ID as a reference.
Creates a new Individual. The returned ID is then used in subsequent API calls to reference Items and Services.
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Method Not Allowed
Internal Server Error
Example payload when creating an individual
{- "external_id": "ABCDEF",
- "first_name": "John",
- "last_name": "Doe",
- "email": "john.doe@example.com",
- "date_of_birth": "10/24/1992",
- "name_prefix": "Mr.",
- "name_suffix": "Jr.",
- "gender": "M",
- "address": {
- "addr1": "Street 1",
- "addr2": "Street 2",
- "city": "Ann Arbor",
- "state_name": "Michigan",
- "country": {
- "name": "United States"
}
}
}
{- "id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R"
}
Retrieve the details of the given Individual.
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Not found
Method Not Allowed
Internal Server Error
{- "id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R"
}
Example payload when retrieving individual details by ID
{- "individual_id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "external_id": "ABCDEF",
- "first_name": "John",
- "last_name": "Doe",
- "email": "john.doe@example.com",
- "date_of_birth": "10/24/1992",
- "name_prefix": "Mr.",
- "name_suffix": "Jr.",
- "gender": "M",
- "address": {
- "addr1": "Street 1",
- "addr2": "Street 2",
- "city": "Ann Arbor",
- "state_name": "Michigan",
- "country": {
- "name": "United States"
}
}, - "last_activity_at": 9287384728347
}
Retrieve the list of items created for an Individual
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Not found
Method Not Allowed
Internal Server Error
{- "individual": {
- "individual_id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "datasources": [
- "sch_CaIGVqBRRpETI6fkCyUSpNHbHFo",
- "sch_CGVqBRRpETI6fkCyUSpNHbHF123"
]
}
}
Example payload
{- "individual": {
- "individual_id": "idv_Cevp4JewCIsEeNjpgAAjy2EZt3R",
- "datasources": [
- "sch_CaIGVqBRRpETI6fkCyUSpNHbHFo"
]
}, - "items": [
- {
- "id": "itm_Cevp4JweIsEeNjpgAAjy2EZt3R",
- "source_data_type": "TRANSCRIPT_FILE",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "created_at": 1673322103030,
- "updated_at": 1673492103030,
- "duplicates": [ ],
- "refresh_id": "rfs_1233ks2lkdw4i4j2li342podjslfu"
}, - {
- "id": "itm_2QE8ZMulsMal2OYaDAMxD0cQN4o",
- "source_data_type": "TRANSCRIPT_FILE",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "created_at": 1673322113030,
- "updated_at": 1673492153030,
- "duplicates": [
- "itm_2QE8dfq6AK3mE46ogFjtH3L7CZd"
], - "refresh_id": null
}, - {
- "id": "itm_2QE8dfq6AK3mE46ogFjtH3L7CZd",
- "source_data_type": "TRANSCRIPT_FILE",
- "datarequest_id": "dr_1gNIu83UT3IwCYcQ6SbtKJ3243Wp",
- "created_at": 1673322203030,
- "updated_at": 1673492603030,
- "duplicates": [
- "itm_2QE8ZMulsMal2OYaDAMxD0cQN4o"
], - "refresh_id": "rfs_1233ks2lkdw4i4j2li342dfdjslfu"
}
]
}
A consumer-permissioned data workflow is initiated and defined by the Data Request resource. A Data Request specifies or bind together the various elements of a consumer-permissioned data workflow, in particular: the Individual, the type of data requested, the reports to be generated, the Link experience, optional Individual communication and messaging. The consumer experience powered by MeasureOne Link is specified by the required datarequest_id
. MeasureOne supports multiple types of data requests catering to different use cases. All services accept datarequest_id
as a reference.
Creates a new Data Request. The returned ID is then used in Link and in service calls to reference Items and services.
This approach is useful when you want to use standard reports made available by MeasureOne. The table below depicts the documents and the reports MeasureOne creates for the type of DataRequest created.
Type | Documents | Service API & Report |
---|---|---|
ACADEMIC_SUMMARY | Education related documents including Student Transcripts, Grade Reports, Degree Audit Reports & Student Profile | get_academic_summary |
ENROLLMENT_STATUS | Enrollment related documents including Student Transcripts, Grade Reports, Degree Audit Reports & Student Profile | get_enrollment_status |
INCOME_EMPLOYMENT_DETAILS | Income and Employment related documents such as Paystubs, Employee Profile | get_income_employment_details |
EMPLOYMENT_SUMMARY | Employment related documents such as Paystubs & Employee Profile | get_employment_summary |
INCOME_SUMMARY | Income related documents including Paystubs & Employee Profile | get_income_summary |
HOME_INSURANCE_DETAILS | Current & Historic Home Insurance Policies | get_home_insurance_details |
AUTO_INSURANCE_DETAILS | Current & Historic Auto Insurance Policies | get_auto_insurance_details |
REALIZED_GAINS | 1099_B Composite form | get_realized_gains |
individual_id required | string Unique ID of the Individual identified by MeasureOne |
type required | string Type of the datarequest |
third_party_requester | string <= 1023 characters Default: null Optional name of the requester on behalf of which you are raising this Data Request. This is reflected in all communications to the Individual |
requester_name | string <= 1023 characters Your display name. This is reflected in all communications to the Individual. If not provided, the system will take your application display name set in your account preferences. |
requester_logo_url | string URL of the requester logo to be displayed for the widget. If none provided then customer default logo will be used for the widget. |
object Pre-identified Datasource details for the Individual to connect. Either the | |
enable_manual_upload | boolean Whether to enable manual upload of document for the Data Request. If none specified then customer default preference will be used. |
show_connect_method_options | boolean When multiple connect options such as direct connection, manual upload, bank account connection are enabled for datarequest then user can be presented with all the options upfront in the widget. If none specified then customer default preference will be used. |
countries | Array of strings Pre-identified country code. Providing a value will allow user to search the datasources only from selected country. |
object Default: null Details of the data request that you can provide while creation. This helps in driving the the workflow and the end user experience on MeasureOne Link. | |
Array of objects List of endpoints to which the webhooks should be delivered | |
object Refresh Policy details to auto refresh data periodically |
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Either individual_id or id not found
Method Not Allowed
Internal Server Error
Example payload create a Static Data Request
{- "individual_id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "type": "ACADEMIC_SUMMARY",
- "third_party_requester": "ABC Company's largest customer",
- "requester_name": "ABC Company",
- "request_details": {
- "student_type": "ALUMNI"
}, - "delivery_details": [
- {
- "event_type": "datasource.connected",
- "headers": {
- "content-type": "application/json"
}
}
]
}
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O"
}
Generate a shareable invitation link for the Data Request. You can share the invitation link with the Individual for them to complete the Data Request. The invitation link will direct the user to MeasureOne's hosted solution.
ACTIVE
available, it will return the same invitation link. Generating a invitation link when there is already existing ACTIVE
available. it will return the same invitation link with the expires_at
updated as provided. ACTIVE
links available for the Data Request.Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
id not found
Method Not Allowed
Internal Server Error
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "expires_at": 1675605305012
}
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
}
Send a notification to the user to complete the data request. The API will return an error if the link is already EXPIRED
.
MeasureOne sends upto 3 reminders, 12 hours apart to notify the user. Call this API on an already active link for which notifications have been sent earlier will reset the counter.
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Either individual_id or id not found
Method Not Allowed
Conflict
Internal Server Error
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "notifications": [
- {
- "type": "EMAIL"
}
], - "additional_message": null
}
Example payload Bad Requests
{- "timestamp": 1585747802495,
- "error_code": "BAD_REQUEST",
- "http_code": 400,
- "error_message": "Invalid JSON"
}
Get the list of invitation links associated with a Data Request
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
id not found
Method Not Allowed
Internal Server Error
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O"
}
[- {
- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "expires_at": 1675605305012,
- "email_notification": true,
- "sms_notification": false,
- "status": "ACTIVE",
- "additional_message": null,
- "expiry_reason": null
}
]
Get the details of a Data Request. MeasureOne records various events for a Data Request. These events are summarized in the following table.
event | Description |
---|---|
DATAREQUEST_CREATED | Data Request created |
DATAREQUEST_UPDATED | Updated the details of Data Request |
DATAREQUEST_LINK_GENERATED | Data Request link generated |
NOTIFY_USER_REQUESTED | Email and/or SMS notification sent to user |
DATAREQUEST_LINK_EXTENDED | Link expiry time extended |
DATAREQUEST_LINK_EXPIRED | Link for Data Request expired |
DATAREQUEST_LINK_ACCESSED | Data Request link accessed by user |
WIDGET_INITIATED | Widget initiated for Data Request |
DATASOURCE_CLASSIFIED | Individual landed on login screen |
LOGIN_ATTEMPTED | Individual tried to login |
INVALID_CREDENTIALS | Credentials provided by user are invalid |
DATASOURCE_CONNECTED | Individual entered valid credentials and the Data Source is connected |
INSUFFICIENT_CREDENTIALS | Individual was not able to provide credentials |
ITEM_CREATED | Item was downloaded and stored database |
ITEM_PROCESSED | Data extracted and formatted |
ITEM_UNPROCESSABLE | Unable to process an item |
ITEMS_AVAILABLE | Data Extraction is completed with some items |
NO_ITEMS | Data Extraction is completed without an item |
USER_INTERVENTION_REQUIRED | Individual re-login required |
DATASOURCE_NOT_FOUND | Individual was unable to find Data Source |
PLAID_INITIATED | Plaid flow initiated |
PLAID_CONNECTION_SUCCESSFUL | Plaid connection successful |
PLAID_CONNECTION_UNSUCCESSFUL | Plaid connection unsuccessful |
REPORT_REQUESTED | Report requested by customer |
REPORT_AVAILABLE | Report data is available |
REPORT_ERROR | Error occurred during generating report |
UPDATES_AVAILABLE | Updated data for Data Request is available |
REFRESH_INITIATED | A scheduled refresh is initiated for Data Request |
REFRESH_FAILED | A scheduled refresh is failed for Data Request |
CONSENT_UPDATED | Consent updated for Data Request |
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
id not found
Method Not Allowed
Internal Server Error
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "get_x_auth_token_credentials": false,
- "get_consent": false
}
Example payload when retrieving Data Request details by ID
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "individual_id": "idv_Cevp4Jw9CIsEeNjpgasjy2EZt3R",
- "type": "ACADEMIC_SUMMARY",
- "source_data_types": {
- "direct_connections": [
- "EDUCATION"
], - "manual_uploads": {
- "source_data_type": "TRANSCRIPT_FILE",
- "min_count": 1,
- "max_count": 1
}
}, - "experience_id": "exp_1faOM8Q4efEWIjzdE2SBM24efEW",
- "reports": [
- {
- "uri": "m1_report://ACADEMIC_SUMMARY"
}
], - "enable_manual_upload": true,
- "show_connect_method_options": "true",
- "datasource": {
- "id": "emp_of6SdbYxmUAKNImksmnaiOSt4wRT",
- "display_name": "U.S. Bank (US Bancorp)",
- "enable_override": true,
- "connection_method": "DIRECT_CONNECTION",
- "last_connected_at": "1673492103030",
- "last_connection_status": "CONNECTED\""
}, - "countries": [
- "US"
], - "created_at": 1673322103030,
- "updated_at": 1673492103030,
- "third_party_requester": "ABC Company's largest customer",
- "requester_name": "ABC Company",
- "requester_logo": "null",
- "request_details": {
- "student_type": "ALUMNI"
}, - "delivery_details": [
- {
- "event_type": "datasource.connected",
- "headers": {
- "content-type": "application/json"
}
}
], - "invitation_links": [
- {
- "id": "23JUuA89ikWQ3JVesPuO7KNZUfr",
- "expires_at": 1673922103030,
- "email_notification": true,
- "sms_notification": false,
- "status": "ACTIVE",
- "additional_message": null
}
], - "last_activity_type": "CREATED",
- "last_activity_at": 1673322103030,
- "refresh_policy": {
- "enabled": true,
- "schedule": {
- "frequency": "WEEKLY",
- "by_weekday": [
- "MO"
]
}
}, - "event_logs": [
- {
- "type": "DATAREQUEST_CREATED",
- "created_at": 1673322103030
}, - {
- "type": "DATAREQUEST_UPDATED",
- "created_at": 1673464103030,
- "details": {
- "autorun_services": true,
- "requester_name": "ABC Company"
}
}, - {
- "type": "DATAREQUEST_LINK_GENERATED",
- "created_at": 0,
- "details": {
- "expires_at": 1673922103030
}
}, - {
- "type": "NOTIFY_USER_REQUESTED",
- "created_at": 1673923103030,
- "details": {
- "email_notification": true
}
}, - {
- "type": "DATAREQUEST_LINK_ACCESSED",
- "created_at": 1673522103030,
}, - {
- "type": "WIDGET_INITIATED",
- "created_at": 1673522403030
}, - {
- "type": "LOGIN_ATTEMPTED",
- "created_at": 1673522703030,
- "details": {
- "session_id": "tls_2O6SJQkNL3KR5EQh4afjHGpiZrM"
}
}, - {
- "type": "DATAREQUEST_LINK_USED",
- "created_at": 1673522703030
}, - {
- "type": "DATASOURCE_CONNECTED",
- "created_at": 1673522703030,
- "details": {
- "session_id": "tls_2O6SJQkNL3KR5EQh4afjHGpiZrM"
}
}
]
}
Expires the invitation link for a data request.
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
id not found
Method Not Allowed
Internal Server Error
Example payload to expire an data request link
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "expiry_reason": {
- "code": "LINK_TIMEOUT",
- "description": "Link expired without use"
}
}
Example payload Bad Requests
{- "timestamp": 1585747802495,
- "error_code": "BAD_REQUEST",
- "http_code": 400,
- "error_message": "Invalid JSON"
}
Get the list of Data Requests based on the filter criteria provided. If not filter criteria is provided, it will fetch the latest 200 data requests.
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Method Not Allowed
Internal Server Error
Example payload for datarequest/get
{- "filters": {
- "type": [
- "ACADEMIC_SUMMARY"
]
}, - "fields": [
- "id",
- "type",
- "individual_id",
- "invitation_links",
- "created_at"
]
}
Example payload for getting list of Data Requests
{- "results": [
- {
- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "individual_id": "idv_Cevp4Jw9CIsEeNjpgasjy2EZt3R",
- "type": "ACADEMIC_SUMMARY",
- "created_at": 1673322103030,
- "experience_id": "exp_1faOM8Q4efEWIjzdE2SBM24efEW",
- "invitation_links": [
- {
- "id": "23JUuA89ikWQ3JVesPuO7KNZUfr",
- "expires_at": 1673922103030,
- "email_notification": true,
- "sms_notification": false,
- "status": "ACTIVE",
- "additional_message": null
}
], - "event_logs": [
- {
- "type": "DATAREQUEST_CREATED",
- "details": null,
- "created_at": 1719858938643
}
], - "reports": [
- {
- "uri": "m1_report://ACADEMIC_SUMMARY"
}
], - "source_data_types": {
- "direct_connections": [
- "EDUCATION"
], - "manual_uploads": {
- "source_data_type": "TRANSCRIPT_FILE",
- "min_count": 1,
- "max_count": 1
}
}
}
], - "rowCount": 1
}
Update details of a Data Request
id required | string Unique ID of the Data Request identified by MeasureOne |
object Default: null Details of the data request that you can provide while creation. This helps in driving the the workflow and the end user experience on MeasureOne Link. | |
object Pre-identified Datasource details for the Individual to connect. Either the | |
enable_manual_upload | boolean Whether to enable manual upload of document for the Data Request. If none specified then customer default preference will be used. |
show_connect_method_options | boolean When multiple connect options such as direct connection, manual upload, bank account connection are enabled for datarequest then user can be presented with all the options upfront in the widget. If none specified then customer default preference will be used. |
countries | Array of strings Pre-identified country code. Providing a value will allow user to search the datasources only from selected country. |
third_party_requester | string <= 1023 characters Default: null Name of the third party requester. This name will be reflected in the communications to the Individual. |
requester_name | string <= 1023 characters Display name of the requester. This name will be reflected in the communications to the Individual. If not provided, the system will take your application display name set in your account preferences. |
Array of objects List of endpoints to which the webhooks should be delivered | |
object Refresh Policy details to auto refresh data periodically |
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
id not found
Method Not Allowed
Internal Server Error
Example payload Update a data request
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "requester_name": "ABC screening",
- "request_details": {
- "student_type": "ALUMNI"
}, - "delivery_details": [
- {
- "event_type": "datasource.connected",
- "headers": {
- "content-type": "application/json"
}
}
], - "refresh_policy": {
- "enabled": true,
- "schedule": {
- "frequency": "MONTHLY",
- "by_monthday": [
- 15
]
}
}
}
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O"
}
Refresh data for a Data Request on demand.
Successful Response
Bad Request
Authentication with the API Failed
Forbidden
id not found
Method Not Allowed
Internal Server Error
{- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O"
}
Example payload Bad Requests
{- "timestamp": 1585747802495,
- "error_code": "BAD_REQUEST",
- "http_code": 400,
- "error_message": "Invalid JSON"
}
Enable Refresh data for Data Requests.
Successful Response
Bad Request
Authentication with the API Failed
Forbidden
id not found
Method Not Allowed
Internal Server Error
Example payload Enable refresh data for Data Requests
[- {
- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "refresh_policy": {
- "schedule": {
- "frequency": "WEEKLY",
- "by_weekday": [
- "MO"
]
}, - "effective_date": 1642322723663,
- "end_date": 1684322723663
}
}
]
Example payload Bad Requests
{- "timestamp": 1585747802495,
- "error_code": "BAD_REQUEST",
- "http_code": 400,
- "error_message": "Invalid JSON"
}
Disable Refresh data for Data Requests.
Successful Response
Bad Request
Authentication with the API Failed
Forbidden
id not found
Method Not Allowed
Internal Server Error
[- {
- "id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O"
}
]
Example payload Bad Requests
{- "timestamp": 1585747802495,
- "error_code": "BAD_REQUEST",
- "http_code": 400,
- "error_message": "Invalid JSON"
}
Get / Search Data Sources
object Allows filtering the list by different attributes | |
object |
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Method Not Allowed
{- "filters": {
- "institution_display_name": "Pacific College",
- "countries": [
- "CA",
- "US"
]
}
}
[- {
- "id": "sch_1qsAVuj4DJBoDtahULtKSNbQoV4",
- "contact_info": {
- "registrar_phone": null,
- "phone_number": "7146624402",
- "it_helpdesk_email": null,
- "it_helpdesk_phone": null,
- "registrar_email": null,
- "addresses": [
- {
- "addr1": "3160 Red Hill Ave",
- "addr2": null,
- "country": {
- "name": "United States",
- "a2_code": "US"
}, - "state_name": "California",
- "state_short_code": "CA",
- "city": "Costa Mesa",
- "zipcode": "92626",
- "_id": "6352405a01a34b7756e6aece"
}
], - "_id": "6352405a01a34b7756e6aecd"
}, - "ipeds_id": "422695",
- "ceeb_id": null,
- "ope_id": "03299300",
- "institution_display_name": "Pacific College",
- "student_type": [
- {
- "type": "ALUMNI",
- "name": "Former Student"
}
], - "employment_type": [ ],
- "employment_status": [ ],
- "countries": [
- {
- "name": "United States",
- "a2_code": "US",
- "_id": "6352405a01a34b7756e6aed0"
}
]
}
]
Items are the resource representing data shared by Individuals with MeasureOne. The underlying document of an Item is called source data These can be college transcripts, pay stubs, real estate titles, etc. Items are stored and information from them can be retrieved through the Service API calls. The information in an Item is shared through the Service APIs according to the consumer permission. Importantly, note that unless permissioned by the Individual, the Item data may not be shared directly with you.
The usage of /v3/items/new
varies depending on its intended use and availability of information. The request payload must include either a source_data_value
object OR a source_data_reference
object. Passing both as a part of the payload may result in processing errors.
If the attribute values for a transcript are known, send the source data inline in the request using the source_data_value
object.
If the data is in a document, upload it using the /items/upload
endpoint or make it available at a remote location. A reference to the uploaded document should then be included in the request using the source_data_reference
object.
Successful Response. You can now call the end points to get desired information from a transcript.
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Method Not Allowed
Internal Server Error
Example payload when creating a transcript with M1_DIGEST
{- "external_id": "ABCDECD",
- "datarequest_id": "dr_Cevp4Jw9CIsEeNjpgAAjy2EZt3R\"",
- "source_data_type": "M1_DIGEST",
- "source_data": [
- {
- "referrer": "USER",
- "source_data_value": {
- "degree_type": "BACHELORS",
- "years_in_school": 2,
- "min_grade": "D",
- "cgpa": 3.3,
- "last_term_gpa": 3.5,
- "credits_earned": 65
}
}
]
}
{- "id": "itm_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "individual_id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "datarequest_id": "dr_1faOM8Q4efEWIjzdE2SBM2kLq4O",
- "processing_status": "IN_PROGRESS"
}
The /items/upload endpoint is used to upload documents containing source data for a new item. Supported File Types: HTML, JPG, PDF, PNG, TIFF, TIF
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Method Not Allowed
Unsupported Media Type
Internal Server Error
Example payload when uploading item as file(s)
{ "files": [ "path/to/file.pdf" ] }
[- {
- "id": "sdr_CaIGVqBRRpETI6fkCyUSpNHbHFo",
- "uri": "m1://sdr_CaIGVqBRRpETI6fkCyUSpNHbHFo",
- "file_name": "fileX.pdf",
- "created_at": 1561613398393
}, - {
- "id": "sdr_DaKTVqBRRpEEI3fkCbUSpNHbkFm",
- "uri": "m1://sdr_DaKTVqBRRpEEI3fkCbUSpNHbkFm",
- "file_name": "fileY.pdf",
- "created_at": 1566455776896
}
]
Retrieves an existing Item data. The endpoint can be used once the processing_status
for an Item is COMPLETED
. It will return Item data in its response payload. If the processing of the Item is not yet complete, it will return the current status of the Item. This API is asynchronous.
The optional data_confidence
object, if present, lists data attributes whose extraction accuracy was lower than 95%. Such a scenario can come up when processing images or other unstructured source data items. The attributes are specified as a json path within the corresponding data object. In the event that the data_confidence
object is not present (i.e., null), the data extraction should be considered 100% accurate.
Successful Response
Bad Request
Authentication with the API Failed due to invalid token OR unauthorized scope / policy
Forbidden
Method Not Allowed
Unprocessable Entity
Internal Server Error
Example payload for retrieving the item details
{- "id": "itm_Cevp4Jw9CIsEeNjpgAAjy2EZt3R"
}
{- "id": "itm_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "individual_id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "external_id": "ABCDECD",
- "datasource_id": "dts_1skdjflsoer3432ndsldfs",
- "datarequest_id": "dr_2ILkNTtHEC0Q9dMOBnRB6oL7R69",
- "media_type": "application/pdf",
- "source_data": [
- {
- "referrer": "OTHER",
- "source_data_reference": {
- "uri": "m1://sdr_2Py65sGTBKPgJ6nMu0PUpnC2gsx",
- "media_type": "application/pdf",
- "file_name": "fileX.pdf",
- "id": "sdr_2Py65sGTBKPgJ6nMu0PUpnC2gsx",
- "created_at": 1684416793080
}
}
], - "source_data_type": "TRANSCRIPT_FILE",
- "duplicates": [ ],
- "refresh_id": "rfs_1233ks2lkdw4i4j2li342podjslfu",
- "data": {
- "transcript_date": "2019-12-18",
- "student_id": "10112ABCD",
- "student": {
- "first_name": "John",
- "last_name": "Doe",
- "middle_name": "N.",
- "prefix": "Mr.",
- "suffix": "Jr.",
- "full_name": "Doe,John N.",
- "former_first_name": "Johnny",
- "former_middle_name": "N.",
- "former_last_name": "Doe",
- "former_full_name": "Doe, Johnny N.",
- "former_suffix": "Jr.",
- "former_prefix": "Mr.",
- "date_of_birth": "1996-03-21",
- "ssn": "XXX-XX-3436",
- "email": "johndoe@example.com",
- "address": {
- "addr1": "3757 Farland Avenue",
- "addr2": "Village View Drive",
- "city": "Liberty Center",
- "state": "FL",
- "zipcode": "33901",
- "country": {
- "name": "United States",
- "a2_code": "US"
}
}, - "other_attributes": { }
}, - "previous_academic_record": [
- {
- "name": "University Of California-Berkeley",
- "id_type": "IPEDS",
- "id": "110635",
- "address": {
- "addr1": "200 California Hall",
- "addr2": null,
- "city": "Berkeley",
- "state": "California",
- "zipcode": "94720",
- "country": {
- "name": "United States",
- "a2_code": "US"
}
}, - "start_date": "2014-08-20",
- "end_date": "2015-05-28",
- "degrees": [
- {
- "type": "BACHELORS",
- "status": "WITHDRAWN",
- "awarded_date": null,
- "description": "Bachelors of Science",
- "academic_summary": [
- {
- "credit_type": "SEMESTER",
- "level": "INSTITUTION",
- "cumulative": true,
- "gpa_credits": 27,
- "attempted": 27,
- "earned": 27,
- "gpa": 3.6667,
- "quality_points": 99
}
], - "field_of_study": [
- {
- "type": "MAJOR",
- "description": "Biology",
- "code_type": "CIP",
- "code": "26"
}
], - "years_of_study": 1,
- "other_attributes": { }
}
], - "other_attributes": { }
}
], - "transcript_institution": {
- "name": "California State University-Bakersfield",
- "id_type": "IPEDS",
- "id": "110486",
- "address": {
- "addr1": "9001",
- "addr2": "Stockdale Hwy",
- "city": "Bakersfield",
- "state": "California",
- "zipcode": "93311",
- "country": {
- "name": "United States",
- "a2_code": "US"
}
}, - "other_attributes": {
- "college": null,
- "campus": "Bakersfield"
}
}, - "academic_summary": [
- {
- "credit_type": "SEMESTER",
- "level": "TOTAL",
- "cumulative": true,
- "gpa_credits": 91,
- "attempted": 127,
- "earned": 127,
- "gpa": 3.74,
- "quality_points": 341
}
], - "academic_sessions": [
- {
- "type": "SEMESTER",
- "name": "Fall 2014",
- "start_date": "2014-08-20",
- "end_date": "2014-12-22",
- "in_progress": false,
- "level": "Freshman",
- "honors": [
- "Dean's List"
], - "curriculum_code_type": null,
- "curriculum_code": null,
- "curriculum_name": null,
- "academic_summary": [
- {
- "credit_type": "SEMESTER",
- "level": "TOTAL",
- "cumulative": true,
- "gpa_credits": 0,
- "attempted": 12,
- "earned": 12,
- "gpa": null,
- "quality_points": 0
}
], - "courses": [
- {
- "credit_basis": "TRANSFER",
- "honors_course": false,
- "repeated": false,
- "count_in_gpa": null,
- "code_type": null,
- "code": null,
- "id": "ENGL 1101",
- "name": "English Comp I",
- "instructional_setting": null,
- "credits": {
- "credit_type": "SEMESTER",
- "gpa_credits": 0,
- "attempted": 3,
- "earned": 3,
- "quality_points": 0,
- "grade_qualifier": null,
- "grade": "TA"
}, - "start_date": "2014-08-20",
- "end_date": "2014-12-22",
- "other_attributes": { }
}
], - "degrees": [
- {
- "type": "BACHELORS",
- "status": "UNKNOWN",
- "awarded_date": null,
- "description": "Bachelors of Science",
- "academic_summary": [
- {
- "credit_type": "SEMESTER",
- "level": "TOTAL",
- "cumulative": true,
- "gpa_credits": 0,
- "attempted": 12,
- "earned": 12,
- "gpa": null,
- "quality_points": 0
}
], - "field_of_study": [
- {
- "type": "MAJOR",
- "description": "Biology",
- "code_type": "CIP",
- "code": "26"
}
], - "years_of_study": null,
- "other_attributes": { }
}
], - "other_attributes": { }
}, - {
- "type": "SEMESTER",
- "name": "Spring 2018",
- "start_date": "2018-01-04",
- "end_date": "2018-05-15",
- "in_progress": false,
- "level": "Senior",
- "honors": [
- "Dean's List"
], - "curriculum_code_type": null,
- "curriculum_code": null,
- "curriculum_name": null,
- "academic_summary": [
- {
- "credit_type": "SEMESTER",
- "level": "TOTAL",
- "cumulative": true,
- "gpa_credits": 91,
- "attempted": 127,
- "earned": 127,
- "gpa": 3.74,
- "quality_points": 341
}
], - "courses": [
- {
- "credit_basis": "REGULAR_ENROLLMENT",
- "honors_course": false,
- "repeated": true,
- "count_in_gpa": true,
- "code_type": null,
- "code": null,
- "id": "CBIO 3800",
- "name": "Neurobiology",
- "instructional_setting": "REGULAR_CLASS",
- "credits": {
- "credit_type": "SEMESTER",
- "gpa_credits": 3,
- "attempted": 3,
- "earned": 3,
- "quality_points": 12,
- "grade_qualifier": null,
- "grade": "A"
}, - "start_date": "2018-01-04",
- "end_date": "2018-05-15",
- "other_attributes": { }
}, - {
- "credit_basis": "REGULAR_ENROLLMENT",
- "honors_course": false,
- "repeated": false,
- "count_in_gpa": null,
- "code_type": null,
- "code": null,
- "id": "CBIO 3400",
- "name": "Cell Biology",
- "instructional_setting": "REGULAR_CLASS",
- "credits": {
- "credit_type": "SEMESTER",
- "gpa_credits": 3,
- "attempted": 3,
- "earned": 3,
- "quality_points": "9",
- "grade_qualifier": null,
- "grade": "B"
}, - "start_date": "2018-01-04",
- "end_date": "2018-05-15",
- "other_attributes": { }
}
], - "degrees": [
- {
- "type": "BACHELORS",
- "status": "AWARDED",
- "awarded_date": "2018-05-25",
- "description": "Bachelors of Science",
- "academic_summary": [
- {
- "credit_type": "SEMESTER",
- "level": "TOTAL",
- "cumulative": true,
- "gpa_credits": 91,
- "attempted": 127,
- "earned": 127,
- "gpa": 3.74,
- "quality_points": 341
}
], - "field_of_study": [
- {
- "type": "MAJOR",
- "description": "Biology",
- "code_type": null,
- "code": null
}
], - "years_of_study": 4,
- "other_attributes": { }
}
], - "other_attributes": { }
}
]
}, - "confidence": {
- "student.name": 94,
- "previous_academic_record.1.start_date": 63.4,
- "academic_sessions.1.degrees.1.name": 91,
- "degrees.gpa": 92
}, - "processing_status": "COMPLETED",
- "created_at": 1556781225343,
- "updated_at": 1556781257964
}
Get the list of items based on the filter criteria provided. If no filter criteria is provided, it will fetch the latest 200 items.
Successful Response.
Bad Request
Forbidden
Method Not Allowed
Internal Server Error
Example payload for items/get
{- "filters": {
- "individual_id": "idv_bYxmUAKNIReDSOULxkIZ6r"
}, - "options": {
- "count": 20,
- "offset": 1,
- "sort_by": "created_at",
- "sort_order": "DESC"
}, - "fields": [
- "id",
- "created_at",
- "individual_id",
- "datarequest_id",
- "external_id",
- "media_type",
- "duplicates",
- "processing_status",
- "source_data_type",
- "data"
]
}
{- "rowCount": 1,
- "results": [
- {
- "id": "itm_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "individual_id": "idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R",
- "external_id": "ABCDECD",
- "datarequest_id": "dts_1skdjflsoer3432ndsldfs",
- "media_type": "application/pdf",
- "source_data_type": "PAYSTUB_FILE",
- "duplicates": [ ],
- "data": {
- "record_date": "08/20/2022",
- "pay_date": "08/20/2022",
- "interval": {
- "start_date": "08/01/2022",
- "end_date": "08/15/2022"
}, - "employer": {
- "name": "MeasureOne Inc.",
- "phone_number": null,
- "address": {
- "addr1": "535 Mission Street",
- "addr2": "14th Floor",
- "city": "San Francisco,",
- "state": "CA",
- "zipcode": "94105",
- "country": {
- "name": "United States",
- "a2_code": "US"
}
}
}, - "employee": {
- "service_details": {
- "employee_id": "001234",
- "hire_date": "03/21/2019",
- "status": "ACTIVE",
- "termination_date": null,
- "termination_reason": null,
- "salary": 73450,
- "salary_basis": "ANNUAL"
}, - "first_name": "John",
- "middle_name": "N.",
- "last_name": "Doe",
- "email": "johndoe@example.com",
- "prefix": "Mr.",
- "suffix": "Jr.",
- "gender": null,
- "date_of_birth": "03/21/1996",
- "phone_number": null,
- "ssn": "XXX-XX-3436",
- "address": {
- "addr1": "123 Measure Way",
- "addr2": null,
- "city": "San Francisco ,",
- "state": "CA",
- "zipcode": "93123",
- "country": {
- "name": "United States",
- "a2_code": "US"
}
}
}, - "roles": [
- {
- "position": {
- "name": "HR Manager",
- "title": "Manager"
}, - "type": "OTHER",
- "supervisor": "Jane Smith",
- "department": "9DA1G&A",
- "location": {
- "name": "MeasureOne, Inc-HQ",
- "address": {
- "addr1": "535 Mission Street",
- "addr2": "14th Floor",
- "city": "San Francisco,",
- "state": "CA",
- "zipcode": "94105",
- "country": {
- "name": "United States",
- "a2_code": "US"
}
}, - "interval": {
- "start_date": "08/01/2022",
- "end_date": "08/15/2022"
}
}
}
], - "earnings": [
- {
- "type": "SALARY",
- "basis": "SEMI_MONTHLY",
- "interval": {
- "start_date": "08/01/2022",
- "end_date": "08/15/2022"
}, - "amounts": [
- {
- "currency": "USD",
- "type": "NET",
- "ytd_flag": false,
- "value": 1996,
- "rate": null,
- "hours": null
}, - {
- "currency": "USD",
- "type": "NET",
- "ytd_flag": true,
- "value": 3992,
- "rate": null,
- "hours": null
}, - {
- "currency": "USD",
- "type": "GROSS",
- "ytd_flag": false,
- "value": 2623.25,
- "rate": null,
- "hours": null
}, - {
- "currency": "USD",
- "type": "GROSS",
- "ytd_flag": true,
- "value": 5246.5,
- "rate": null,
- "hours": null
}, - {
- "currency": "USD",
- "type": "HOLIDAY",
- "ytd_flag": false,
- "value": 0,
- "rate": 16.769,
- "hours": 0
}, - {
- "currency": "USD",
- "type": "HOLIDAY",
- "ytd_flag": true,
- "value": 0,
- "rate": null,
- "hours": null
}, - {
- "currency": "USD",
- "type": "REGULAR",
- "ytd_flag": false,
- "value": 2623.25,
- "rate": 0,
- "hours": 0
}, - {
- "currency": "USD",
- "type": "REGULAR",
- "ytd_flag": true,
- "value": 5246.5,
- "rate": null,
- "hours": null
}
]
}
], - "deductions": [
- {
- "type": "OTHER",
- "amounts": [
- {
- "currency": "USD",
- "type": "STATE",
- "ytd_flag": false,
- "value": 135.71
}, - {
- "currency": "USD",
- "type": "STATE",
- "ytd_flag": true,
- "value": 271.42
}, - {
- "currency": "USD",
- "type": "STATE",
- "ytd_flag": false,
- "value": 75
}, - {
- "currency": "USD",
- "type": "STATE",
- "ytd_flag": true,
- "value": 150
}, - {
- "currency": "USD",
- "type": "FEDERAL",
- "ytd_flag": false,
- "value": 285.91
}, - {
- "currency": "USD",
- "type": "FEDERAL",
- "ytd_flag": true,
- "value": 571.82
}, - {
- "currency": "USD",
- "type": "FEDERAL",
- "ytd_flag": false,
- "value": 21.46
}, - {
- "currency": "USD",
- "type": "FEDERAL",
- "ytd_flag": true,
- "value": 92.42
}, - {
- "currency": "USD",
- "type": "FEDERAL",
- "ytd_flag": false,
- "value": 94.17
}, - {
- "currency": "USD",
- "type": "FEDERAL",
- "ytd_flag": true,
- "value": 188.34
}, - {
- "currency": "USD",
- "type": "OTHER",
- "ytd_flag": false,
- "value": 612.25
}, - {
- "currency": "USD",
- "type": "OTHER",
- "ytd_flag": true,
- "value": 1224.5
}
], - "interval": {
- "start_date": "08/01/2022",
- "end_date": "08/15/2022"
}
}
], - "benefits": [
- {
- "type": "OTHER",
- "amounts": [
- {
- "currency": "USD",
- "type": "LIFE",
- "ytd_flag": false,
- "value": 2.66
}, - {
- "currency": "USD",
- "type": "LIFE",
- "ytd_flag": true,
- "value": 2.66
}, - {
- "currency": "USD",
- "type": "OTHER",
- "ytd_flag": false,
- "value": 172.5
}, - {
- "currency": "USD",
- "type": "OTHER",
- "ytd_flag": true,
- "value": 172.5
}, - {
- "currency": "USD",
- "type": "OTHER",
- "ytd_flag": false,
- "value": 15.65
}, - {
- "currency": "USD",
- "type": "OTHER",
- "ytd_flag": true,
- "value": 15.65
}
], - "interval": {
- "start_date": "08/01/2022",
- "end_date": "08/15/2022"
}
}
]
}, - "processing_status": "COMPLETED",
- "created_at": 1684416793226
}
]
}