Enriched Document Store API - Curricular Skills Dataset
This page contains the information to use the Enriched Document Store API data along with the curricular skills dataset.
Authentication & Authorization
To access the Enriched Document Store API, clients must obtain an OAuth 2.0 bearer token with the eds scope.
Group Access (Standard Users)
Standard access is managed through Groups, identified by a UUID. The support team must create a Group UUID and attach specific claims to the user's profile to grant access.
Required Claims
Two types of claims are required for proper access:
-
Region & Access Level Claim: Defines the allowed regions and the permission level (e.g., bulk access).
- Format:
eds:[REGION_LIST]:[GROUP_UUID]:[ACCESS_LEVEL] - Example:
eds:[US,CA]:d4e8f14b-bbe2-41d5-8db7-7e4cbe5aa13e:bulk - Supported Regions:
us,uk,ca
- Format:
-
Dataset Type Claim: Specifies the dataset the user can access. For Curricular Skills, the type is
CS.- Format:
eds:[GROUP_UUID]:CS - Example:
eds:d4e8f14b-bbe2-41d5-8db7-7e4cbe5aa13e:CS
- Format:
Note: Both claims must be present and use the same Group UUID for the API to function correctly.
Permission Levels
The [ACCESS_LEVEL] in the Region & Access Level claim determines the user's capabilities:
r→ Read-only (GET)rw→ Read + Write (GET, POST, PATCH)rwt→ Read + Write + Delete (GET, POST, PATCH, DELETE)bulk→ Full Access along with access to bulk creation and bulk update endpoints
Admin Access
Admin users have full access to all groups and documents, as well as exclusive access to schema management endpoints.
- Required Claim:
eds:admin
With this claim, the user can:
- Access documents across all groups.
- Create, update, and delete schemas via the
/schemasendpoints.
Schema Management
The /schemas endpoints allow for the creation, retrieval, update, and deletion of document schemas.
Important: These endpoints are restricted to users with the
eds:adminclaim. Standard group users cannot modify schemas.
Filtering & Searching
All data endpoints (including /totals and /search) have an extensive filter request property allowing you to filter documents down to specific subsets for analysis.
Filters can be applied to:
- Core Fields:
title,description,child_of. These fields accept a simple list of values (exact match). - Metadata Fields:
meta.*(e.g.,meta.institution,meta.skills,meta.course_code). These fields support both shorthand (list) and verbose (complex object) syntax.
Supported metadata fields include: meta.institution, meta.skills, meta.course_code, meta.cip_code, meta.is_published, and more.
Shorthand Syntax
A simple list of items. This works for both core fields and metadata fields.
{
"meta.institution": [
"University of Example",
"Tech Institute"
]
}These filters match all documents where the institution is either "University of Example" or "Tech Institute".
This shorthand filter syntax is equivalent to the following in the verbose form (for metadata fields):
{
"meta.institution": {
"include": [
"University of Example",
"Tech Institute"
],
"include_op": "or"
}
}Verbose Syntax
An object defining inclusive/exclusive items and optional operators defining how to match those items in a document. This is supported by metadata fields (meta.*).
{
"meta.skills": {
"include": [
"Python",
"Machine Learning"
],
"include_op": "and",
"exclude": [
"Java"
],
"exclude_op": "or"
}
}These filters match all documents that mention both "Python" and "Machine Learning" skills but don't mention "Java".
Note: The include_op and exclude_op fields apply to include and exclude fields respectively; they default to or if unspecified.
and– match documents that include/exclude all items in the listor– match documents that include/exclude any of the items in the list
Glossary
The metrics available in this API are listed below.
| Metric | Definition |
|---|---|
documents | The number of documents that match your filters. |
Quotas
By default all clients have rate limiting of 10 requests per second, and their limit can be changed through Auth claims. For more detail on the quota system see our Authentication Quota document.
