Date on which the transcript was issued. transcript_date
should not be a future date
MeasureOne API (3.0)
The MeasureOne API enables secure, consumer-permissioned data integration into your applications and workflows. Our platform facilitates the entire data-sharing process, from consent management to data delivery, while maintaining the highest standards of privacy and security.
At its core, our API streamlines the complex process of permissioned data sharing. When users grant consent to share their information, they either upload their documents or provide credentials through the MeasureOne LINK widget to access their data sources. Our platform then securely connects to these sources, acquires the authorized data, and delivers it through standardized APIs. This process ensures both data integrity and user privacy, with built-in safeguards that enforce consent boundaries and prevent unauthorized access.
The platform offers comprehensive features including secure consent management, safe credential handling, automated data acquisition, and standardized delivery - all while guaranteeing data authenticity and tamper-proof delivery. By abstracting these complex workflows into straightforward APIs, we enable you to focus on your application while we handle the intricacies of secure data access and privacy compliance.
https://api.measureone.com/
https://api-stg.measureone.com/
API Keys and Access
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.
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 | ENTERPRISE_WIDGET |
---|---|---|---|
/individuals/new | YES | YES | YES |
/individuals/get_by_id | YES | YES | YES |
/individuals/get_items | YES | YES | NO |
/datarequests/new | YES | YES | YES |
/datarequests/update | YES | YES | YES |
/datarequests/get | YES | YES | YES |
/datarequests/get_by_id | YES | YES | YES |
/datarequests/generate_invitation_link | YES | YES | YES |
/datarequests/notify_user | YES | YES | YES |
/datarequests/get_invitation_link | YES | YES | YES |
/datarequests/expire_invitation_link | YES | YES | NO |
/datarequests/refresh_now | YES | YES | NO |
/datarequests/enable_refresh | YES | YES | NO |
/datarequests/disable_refresh | YES | YES | NO |
/datasources/get | YES | YES | YES |
/items/new | YES | YES | YES |
/items/upload | YES | YES | YES |
/items/get_by_id | YES | YES | YES |
/items/get_files | YES | YES | NO |
/items/get_pdf | YES | YES | NO |
/services/get_academic_summary | NO | YES | YES |
/services/get_enrollment_status | NO | YES | YES |
/services/gradscore | NO | YES | NO |
/services/meritscore | NO | YES | NO |
/services/get_digest_by_id | NO | YES | NO |
/services/get_employment_summary | NO | YES | YES |
/services/get_income_summary | NO | YES | YES |
/services/get_income_employment_details | NO | YES | YES |
/services/get_insurance_details | NO | YES | YES |
/services/get_realized_gains | NO | YES | YES |
Request
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
- Production
https://api.measureone.com/v3/auth/generate_access_token
- Staging
https://api-stg.measureone.com/v3/auth/generate_access_token
- cURL
- JS
- Go
- Ruby
- Java 8
curl -i -X POST \
-u <username>:<password> \
https://api.measureone.com/v3/auth/generate_access_token \
-H 'Content-Type: application/json' \
-d '{}'
Response Access token
{ "access_token": "6fd5122a-9a91-4bd6-1219-d6e71fd123b0", "token_type": "bearer", "expires_in": 2128865176, "expires_at": 3637805578000 }
Request
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
- Production
https://api.measureone.com/v3/auth/invalidate
- Staging
https://api-stg.measureone.com/v3/auth/invalidate
- cURL
- JS
- Go
- Ruby
- Java 8
curl -i -X POST \
-u <username>:<password> \
https://api.measureone.com/v3/auth/invalidate \
-H 'Content-Type: application/json' \
-d '{
"access_token": "6fd5122a-9a91-4bd6-1219-d6e71fd123b0"
}'
Versioning
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.
Endpoints
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 |
Asynchronous Communication
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 |
Data Requests
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. |
Data Sources
Data Sources are online locations of Items. Individuals (your users) connect Data Sources and provide MeasureOne with their credentials and consent so that MeasureOne may retrieve Items (their data) from the Data Source to be subsequently shared with you in a strictly permissioned way.
Data Sources may be universities, financial institutions, payroll systems, government records. MeasureOne curates the list of Data Sources to ensure the provenance of the retrieved documents. Since not all Data Sources may be relevant to your application, the API allows you to configure and select the list of Data Sources that are displayed to your user.
Items
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.
Invitations
MeasureOne offers a framework for initiating the consumer-permissioned data exchange using automatically generated invitations. These invitations contain unique links that refer the user back to the MeasureOne hosted portal in a personalized manner to initiate and complete the consumer-permissioned data exchange. These API endpoints provide a programmatic interface to this framework. Note that a zero code alternative to a programmatic implementation is to use the MeasureOne Customer Dashboard to interface with the Invitations framework.
Webhook Events
MeasureOne uses webhooks to notify client applications of certain events. Whenever a notification event occurs we'll submit a POST to your designated webhook URL with information about the event. The webhook URL is configured as part of the onboarding process. You can also provide the webhook details while creating a Data Request
M1_ACADEMIC_RECORD
A standardized academic transcript format based on the EDI (Electronic Data Interchange) 130 standard. This schema represents a comprehensive student academic record/transcript that includes course information, grades, academic achievements, and other educational data exchanged between academic institutions. The format supports both high school and college/university transcripts.
Unique, school-provided Student ID
Any other Attributes which are not defined in M1 TRANSCRIPT
Object with information about the Individual, as provided on the transcript
List of parent/guardian/counselor information on the transcript
List of immunization provided on the transcript
List of national, regional, state, or local test records provided on the transcript
List of previous academic records provided on the transcript
Object with information about the teaching institution for which the transcript was issued
Object with information about the degree awarding institution for which the transcript was issued
Summary information about the degree
List of academic sessions provided on the transcript
Object with information about the institution for which the transcript was issued
M1_DIGEST
A summary object computed based on the academic record of the student.
Granular level of study. Enum HIGH-SCHOOL-DIPLOMA
, ASSOCIATE
, BACHELORS
, MASTERS
, MASTERS-RESEARCH
, DOCTORAL
, CERTIFICATE
, DIPLOMA
, NON-DEGREE
, PROFESSIONAL
, UNDERGRADUATE
Number of years that the Individual has been enrolled, including any breaks between enrollments. Non-zero, non-negative, rounded to two decimals
Lowest grade earned on a course taken
Weighted CGPA, in the 0 to 4 scale, for the combination of courses attended at the transcript-issuing school
GPA, in the 0 to 4 scale, for the last term of attendance
Total credits earned including transferred credits, converted to a standard semester credit hour system
M1_INCOME_EMPLOYMENT_RECORD
This schema represents a comprehensive record of an individual's income sources, employment details, and financial status. It includes information such as employer details, job title, salary, employment type, and work history.
Date on which the record was generated
Payment date
Interval for which the income employment details is denoted
Details about the employee
Details about the employer
Array of objects representing roles of an Individual during their employment
Array of objects representing earnings
Deductions of the employee
Employee Deposits
Benefits for the employee
M1_INSURANCE_RECORD
This schema represents a comprehensive record of an individual's insurance policies, including policy type, coverage details, premium amounts, beneficiaries, claims history, and insurer information.
Date on which the record was generated
Date on which the insurance was cancelled
Date on which the insurance will be cancelled
Policy number
Policy status
Type of Policy
Premium amount of policy
Frequency of payment.
Insurance coverage period
List of policy holders
Details of insurance provider
Details of entity to whom premium is remitted
Details of insurance agent
List of policy coverages
M1_STUDENT_ID_RECORD
This schema represents the student's identification record, containing personal details, academic background, and teaching institution information.
Student ID valid from
Student ID valid upto
Object with information about the Student, as provided on Student ID
Object with information about the teaching institution
Object with information about the degree awarding institution
List of degrees found in Student ID
M1_W2_RECORD
The M1_W2_RECORD Schema represents the details of a W-2 tax form, which reports wages, tips, and other compensation paid to an employee. It includes information about the employee, employer, earnings, taxes withheld, and other payroll-related details for tax filing purposes.
Tips allocated to the employee by the employer.
Tips subject to Social Security tax.
Local wages and tips.
Control number assigned by the employer.
Box 12 items, including codes and amounts.
State code for state wages and taxes.
Verification code for employment-based verification.
Dependent care benefits provided by the employer.
Other amounts reported in Box 14.
Year for which the record is applicable.
Nonqualified plans amount.
Name of the locality for local wages and taxes.
Employer's state identification number.
Amount of local income tax withheld.
M1_1099_RECORD
The M1_1099_RECORD Schema represents the details of a 1099 tax form, which reports income such as nonemployee compensation, rents, royalties, and other types of income. It includes information about the payer and recipient (e.g., names, addresses, and tax identification numbers), income amounts, and any federal or state tax withholdings. This schema is used for tax reporting purposes.
Year on which the record was generated
Date on which the record was generated
Account Number as presented on the datasource
Used to show FATCA filing requirement value
Marks the form as void
Marks the form as corrected
Details of the recipient
Details of the payer
Representation of the 1099 B
M1_FORM_1098_MORTGAGE_INTEREST
The M1_FORM_1098_MORTGAGE_INTEREST schema represents the details of a 1098 tax form, which reports mortgage interest paid by a taxpayer. It includes information about the borrower, lender, and the amount of interest paid on the mortgage.
Year on which the record was generated
Date on which the record was generated
Marks the form as void
Marks the form as corrected
Details of the recipient
Details of the payer
Representation of the 1098
M1_PROCEEDS_1099_B
This schema represents the details of a 1099-B tax form, which reports proceeds from broker and barter exchange transactions. It includes information about the seller, the broker, the type of securities sold, the sale amount, and any associated gains or losses for tax reporting. coverage details, premium amounts, beneficiaries, claims history, and insurer information.
timestamp when this record was generated
Account Number as presented on the datasource
Details of the recipient
Details of the payer
List of transactions
Realized gain totals