This API reference includes detailed information about the endpoints of the edX
Enterprise API, including the request, response data, and examples. You can use
any technology to send REST API requests as HTTP messages to the edX API. The
example API requests shown in this reference use the curl
command-line program
to show the syntax and data for a request in a way that is easy to read.
The following endpoints are available in the Enterprise API.
/enterprise-catalogs - You can make GET calls to the
/enterprise/v2/enterprise-catalogs
endpoint to get a list of all the course catalogs
that are available to your organization.
For details, see enterprise-catalogs Endpoint.
/enterprise-catalogs/{catalog_id} - You can make GET calls to the
/enterprise/v2/enterprise-catalogs/{catalog_id}
endpoint to get a list of all the
active courses in a specified course catalog. Active courses are courses
that are currently open for enrollment or that will open for enrollment in
the future.
For details, see enterprise-catalogs/{catalog_id} Endpoint.
/enterprise-catalogs/{catalogID}/courses/{course_key} - You can make GET
calls to the /enterprise/v2/enterprise-catalogs/{catalog_id}/courses/{course_key}
endpoint to get information about a single course.
For details, see enterprise-catalogs/{catalog_id}/courses/{course_key} Endpoint.
/enterprise-catalogs/{catalogID}/course-runs/{course_run_ID} - You can make GET calls to the
/enterprise/v2/enterprise-catalogs/{catalog_id}/course-runs/{course_run_ID}
endpoint
to get information about a single course run.
For details, see enterprise-catalogs/{catalog_id}/course-runs/{course_run_ID} Endpoint.
/enterprise-catalogs/{catalogID}/programs/{program_ID} - You can make GET calls to the
/enterprise/v2/enterprise-catalogs/{catalog_id}/programs/{program_ID}
endpoint
to get information about a single program.
For details, see enterprise-catalogs/{catalog_id}/programs/{program_ID} Endpoint.
/learner-summary - You can make GET calls to the
/enterprise/v3/enterprise-customer/{enterprise_uuid}/learner-summary
endpoint to get a list of information about your
enterprise learners and their status in the courses they are enrolled in.
For details, see learner-summary Endpoint.
Use this JSON file to import into your Postman enviroment . It includes the endpoints mentioned above.
By default, the edX Enterprise API returns data in XML format. It can also
return data in JSON format. To specify that return data should use JSON format,
include the Accept: application/json
header in your API request. For
example, to request JSON-formatted information about a course run using
curl
, send a request similar to the following command.
curl -X GET \
https://api.edx.org/enterprise/v2/enterprise-catalogs/3f56a21c-76c8-47c0-add8-a99714d40d94/courses/MyUni+Sport101x \
-H "Authorization: JWT {access token}"
-H "Accept: application/json"
GET calls to the enterprise-catalogs
endpoint to get list of all the course catalogs that are available to your organization.
Method |
Endpoint |
---|---|
GET |
|
curl -X GET
https://api.edx.org/enterprise/v2/enterprise-catalogs \
-H "Authorization: JWT {access token}"
-H "Content-Type: application/json" \
}]"
The GET /enterprise/v2/enterprise-catalogs
request returns the values: count
, next
, previous
, results
described here: Response Values.
The results
response value include these fields:
Field |
Data Type |
Description |
---|---|---|
|
string |
A unique identifier for the catalog. |
|
string |
The name that describes the catalog. |
|
string |
The customer’s unique identifier links to a catalog. |
|
string |
A unique identifier for the catalog query. |
|
string |
Datetime string of the last time the content in the catalog was updated. |
|
string |
Datetime string of the last time the catalog was modified. |
|
string |
The string title of the query used by the catalog. |
|
bool (Nullable) |
Whether or not the catalog allows the linking of Executive Education content. |
GET calls to the enterprise-catalogs/{catalog_id}
endpoint return a list
of all of the active courses in a specified course catalog. You can then make a
GET call to the /enterprise-catalogs/{catalog_id}/courses/{course_key}
endpoint to return details about a single course.
Method |
Endpoint |
---|---|
GET |
|
curl -X GET \
https://api.edx.org/enterprise/v2/enterprise-catalogs/3f56a21c-76c8-47c0-add8-a99714d40d94/ \
-H "Authorization: JWT {access token}"
You can use an optional limit
parameter to specify the number of
courses that enterprise-catalogs/{catalog_id}
calls return
on each page of the response. If you do not supply the limit
parameter, the enterprise-catalogs/{catalog_id}
call returns the default
value of 20 courses per page. For example:
curl -X GET https://api.edx.org/enterprise/v2/\
enterprise-catalogs/3f56a21c-76c8-47c0-add8-a99714d40d94?limit=250 \
-H "Authorization: JWT {access token}"
The GET /enterprise/v2/enterprise-catalogs/{catalog_id}
request
returns the following response values.
Note
Responses to GET requests for the edX Enterprise API frequently contain
the results
response value. The results
response value is a variable
that represents the intended object from the GET request. For the
/enterprise/api/v2/enterprise-catalogs/{catalog_id}
endpoint, the
results
object holds an array of objects that list information about
each individual course in the catalog.
Field |
Data Type |
Description |
---|---|---|
|
integer |
The number of courses in the catalog. |
|
string |
The URL for the next page of results. |
|
string |
The URL for the previous page of results. |
|
array |
A list of content items in the catalog. |
Each top-level object in the results
array represents a course
in the catalog. See course for information about the
fields in a course item in the results
.
GET calls to the enterprise-catalogs/{catalog_id}/courses/{course_key}
endpoint return information about a single course in a specified course
catalog. In the GET call, you pass a catalog ID, which you can get using the
enterprise-catalogs
endpoint, and a course key (a unique identifier for a
course), which you can get from the key
value returned by the
enterprise-catalogs/{catalog_id}
endpoint. By default, the information is
returned in XML format. The information returned is described in
Fields in a course Content Item.
Method |
Endpoint |
---|---|
GET |
|
curl -X GET \
https://api.edx.org/enterprise/v2/enterprise-catalogs/3f56a21c-76c8-47c0-add8-a99714d40d94/courses/MyUni+Sport101x \
-H "Authorization: JWT {access token}"
The GET /enterprise/v2/enterprise-catalogs/{catalog_id}/courses/{course_key}
request returns the response values described in Fields in a course Content Item.
GET calls to the enterprise-catalogs/{catalog_id}/course-runs/{course_run_ID}
endpoint return information about a single course run in a specified course
catalog. In the GET call, you pass a catalog ID, which you can get using the
enterprise-catalogs
endpoint, and a course run ID, which you can get from
the key
value returned by the enterprise-catalogs/{catalog_id}
endpoint. The information returned is described in Fields in a course_run Content Item.
Method |
Endpoint |
---|---|
GET |
|
curl -X GET \
https://api.edx.org/enterprise/v2/enterprise-catalogs/3f56a21c-76c8-47c0-add8-a99714d40d94/course-runs/course-v1:MyUni+Sport101x \
-H "Authorization: JWT {access token}"
The GET /enterprise/v2/enterprise-catalogs/{catalog_id}/course-runs/{course_run_ID}
request returns the response values described in Fields in a course_run Content Item.
GET calls to the enterprise-catalogs/{catalog_id}/programs/{program_ID}
endpoint return information about a single program in a specified course
catalog. In the GET call, you pass a catalog ID, which you can get using the
enterprise-catalogs
endpoint, and a program ID, which you can get from
the uuid
value returned by the enterprise-catalogs/{catalog_id}
endpoint. The information returned is described in Fields in a program Content Item.
Method |
Endpoint |
---|---|
GET |
|
curl -X GET \
https://api.edx.org/enterprise/v2/enterprise-catalogs/3f56a21c-76c8-47c0-add8-a99714d40d94/programs/7b24a21c-98c8-47c0-b9c8-g54714d40d94 \
-H "Authorization: JWT {access token}"
The GET /enterprise/v2/enterprise-catalogs/{catalog_id}/programs/{program_uuid}
request returns the response values described in Fields in a program Content Item.
Each top-level object in the results
array represents a content item
in the catalog, which may be a course, a course run, or a program. The
results
array returns different fields, depending on whether
the content item is a course, a
course run, or a program.
Field |
Data Type |
Description |
---|---|---|
|
array |
The currently existing course runs for the course. |
|
string |
The URL for the enrollment page. |
|
array |
Information about seat purchase options. |
|
array |
Elements of the course. |
|
string |
The HTML full description of the course. |
|
array |
The About page image for the course. |
|
string |
A unique identifier for the course. Example: |
|
enum string |
The course’s level of difficulty, such as |
|
string |
The URL for the course About page. |
|
datetime |
The most recent date and time when the course metadata was modified. |
|
string |
The URL of the original unmodified image for the course About page. |
|
string |
What learners will learn from the course. |
|
array |
The institution that offers the course. |
|
array |
Any courses a learner must complete before enrolling in the current course. |
|
array |
Any courses a learner must complete before enrolling in the current course. |
|
array |
Any programs that the course is part of. |
|
string |
The HTML short description of the course. |
|
array |
The corporate sponsors for the course. |
|
array |
The academic subjects that the course covers. |
|
string |
The course syllabus. |
|
string |
The title of the course. |
|
string |
The unique identifier for the course. Example: |
|
array |
The course About video. |
Field |
Data Type |
Description |
---|---|---|
|
string |
Example: |
|
array |
The unique user IDs for the organizations that produced the content item. |
|
enum string |
One of |
|
enum string |
Type of learning item. In this case, the value is |
|
datetime |
The end date of the course run. |
|
datetime |
The last date and time when this course run is open for learners to enroll. Learners cannot enroll after this date and time. |
|
datetime |
The first date and time when this course run is open for learners to enroll. Learners cannot enroll before this date and time. |
|
string |
The URL for the enrollment page. |
|
string |
The long description of the course and its content. |
|
boolean |
Whether learners can enroll in the course run. |
|
string |
The URL for the About page image for the course. |
|
string |
An identifier for the course. For example, |
|
string |
The language used by the content item. |
|
enum string |
The course’s level of difficulty. Can be one of |
|
array |
The URLs of the enterprise’s logos. |
|
string |
The URL for the course About page. |
|
integer |
The maximum number of estimated hours of effort per week. |
|
integer |
The minimum number of estimated hours of effort per week. |
|
boolean |
Whether the content item is available for mobile devices. |
|
string |
The content item’s course number identifier. |
|
string |
The university or other entity offering the course. |
|
enum string |
The pacing of the course. May be |
|
string |
The university or other entity offering the course. |
|
array |
The type of program. One of Professional Certificate, XSeries, MicroMasters, or Professional Program. |
|
boolean |
Whether the content item has been published. |
|
enum string |
The enrollment types that are available. One of |
|
string |
The short description of the content item and its content. |
|
array |
The unique identifiers of the staff for the content item. |
|
datetime |
The start time for the content item. |
|
array |
The unique identifiers of the subject categories of the content item. |
|
string |
The title of the content item. For example, “Introduction to Plasma Physics”. |
|
array |
The languages for which video transcripts are available. |
|
enum string |
One of |
|
integer |
The number of weeks required to complete the content item. |
A program is a collection of related courses.
Field |
Data Type |
Description |
---|---|---|
|
string |
Example: |
|
array |
The unique user IDs for the organizations that produced the program. |
|
array |
Information about the organizations that produced the program. |
|
string |
The URL of an image that represents the program. |
|
enum string |
Type of learning item. In this case, the value is |
|
string |
The URL for the enrollment page. |
|
string |
The language used by the program. |
|
string |
The URL for the program About page. |
|
integer |
The maximum number of estimated hours of effort per week. |
|
integer |
The minimum number of estimated hours of effort per week. |
|
string |
The organization offering the program. |
|
boolean |
Whether the program has been published. |
|
boolean |
Whether the content item has been published. |
|
array |
The unique identifiers of the staff for the program. |
|
array |
The unique identifiers of the subject categories of the program. |
|
string |
A subtitle for the program. |
|
string |
The title of the program. For example, “MicroMasters: Plasma Physics”. |
|
enum string |
The program type. One of |
|
string |
The unique identifier for the program. |
|
integer |
The maximum number of estimated weeks required to complete the program. |
|
integer |
The minimum number of estimated weeks required to complete the program. |
The following example response shows a single course run. A catalog may contain many course runs.
{
"uuid": "0e871df0-6e43-4cfc-92cc-357ebf1fda75",
"title": "All Content",
"enterprise_customer": "58152f7f-6d0e-41cf-862d-0a27c6fad72c",
"count": 13,
"previous": null,
"next": null,
"results": [
{
"content_type": "courserun",
"number": "DemoX",
"weeks_to_complete": 3,
"partner": "edx",
"enrollment_url": "https://courses.edx.org/
enterprise/58152f7f-6d0e-41cf-862d-0a27c6fad72c/course/
course-v1:edX+DemoX+Demo_Course/enroll/?catalog=0e871df0-6e43-4cfc-92cc-3
57ebf1fda75&utm_medium=enterprise&utm_source=degreed-company",
"availability": "Upcoming",
"transcript_languages": [
],
"logo_image_urls": [
"https://www.edx.org/sites/default/files/school/image/logo/
gtx-logo-200x101.png"
],
"end": null,
"title": "edX Demonstration Course",
"enrollment_start": "2017-10-01T00:00:00",
"start": "2017-11-01T05:00:00",
"min_effort": 5,
"short_description": "A hands-on introduction to basic programming
principles and practice relevant to modern data analysis, data mining,
and machine learning.",
"image_url": "https://courses.edx.org/
asset-v1:edX+DemoX+Demo_Course+type@asset+block@images_course_image.jpg",
"level_type": "Beginner",
"type": "verified",
"marketing_url": "course/edxdemoslug?utm_medium=enterprise
&utm_source=degreed-company",
"seat_types": [
"audit",
"verified"
],
"max_effort": 6,
"full_description": "<p>The modern data analysis pipeline involves
collection, preprocessing, storage, analysis, and interactive
visualization of data.</p>\\n<p>The goal of this course, part of the
Analytics: Essential Tools and Methods MicroMasters program, is for you
to learn how to build these components and connect them using modern
tools and techniques.</p>",
"key": "course-v1:edX+DemoX+Demo_Course",
"enrollment_end": null,
"org": "edX",
"authoring_organization_uuids": [
"12de950c-6fae-49f7-aaa9-778c2fbdae56"
],
"subject_uuids": [
],
"has_enrollable_seats": true,
"language": "English",
"staff_uuids": [
"a1b2c3d4-3185-4233-a323-2fbeb401cb82",
"a1b2c3d4-4ebe-4e5c-b0a2-2ff630c0dae0",
"b2c3d4e5-bf58-47cf-ae9a-994c0eb22062",
"1111a42a-b667-4664-bdaa-4754e1cfd480"
],
"mobile_available": true,
"pacing_type": "self_paced",
"aggregation_key": "courserun:edX+DemoX",
"published": true,
"program_types": [
"Professional Certificate"
]
}
GET calls to the learner-summary
endpoint get information about learners’
course enrollments and progress.
Method |
Endpoint |
---|---|
GET |
|
curl -X GET
https://api.edx.org/enterprise/v3/enterprise-customer/{{enterprise_uuid}}/learner-summary \
-H "Authorization: JWT {access token}"
-H "Content-Type: application/json" \
}]"
The
GET /enterprise/v3/enterprise-customer/{enterprise_uuid}/learner-summary
request returns the following data.
Field |
Data Type |
Description |
---|---|---|
|
boolean |
Whether the learner has granted consent for edX to share information about their course enrollment and progress with the enterprise. |
|
decimal |
The amount the learner paid towards the enrollment, if any. |
|
string |
A unique identifier for the contract that this enrollment is associated with. |
|
string |
The enrollment code string used by the learner to enroll in their course. (Not applicable for Subscriptions or Offers). |
|
string |
The name of the enrollment code batch used by the learner to enroll in their course. (Not applicable for Subscriptions or Offers). |
|
string |
The complete url for the course when using the edX API Retrieve Course Metadata endpoint. |
|
integer |
The duration in weeks, for instructor-paced courses, or the expected duration for self-paced courses. |
|
date |
The date the course ends, in YYYY-MM-DD format. This is the last date on which learners can submit answers or assessments, or otherwise be credited with completion of a course subsection. |
|
string |
The unique identifier for the overall course. |
|
decimal |
The original price of the course, before any discount were applied. |
|
integer |
The estimated maximum effort required by the course, in hours per week. |
|
integer |
The estimated minimum effort required by the course, in hours per week. |
|
string |
Whether the course is self-paced or instructor-paced. |
|
string |
The primary program a course belongs to. (Not applicable to courses that aren’t part of a program). |
|
string |
The subject category this course falls under when searching on edX.org. |
|
date |
The date when the course begins, in YYYY-MM-DD format. This is the date when course content is available for learners to interact with. In most cases, learners can enroll in the course before the |
|
string |
The title of the edX course. |
|
string |
The unique identifier for the individual courserun. |
|
timestamp |
The date and time the learner progress report was last updated. |
|
decimal |
The learner’s current grade, which will update as the learner proceeds through the course. |
|
date |
The date, YYYY-MM-DD, the learner enrolled in the course. |
|
integer |
A unique identifier for this enrollment. |
|
string |
The enterprise account ID assigned by edX. |
|
integer |
A unique identifier for this enrollment, specific to enterprise enrollments. |
|
string |
The enterprise account name. |
|
string |
The learner’s user ID in the enterprise’s Identity Provider. (Only applicable for customers using Single Sign On). |
|
integer |
The learner’s ID assigned by edX. |
|
boolean |
Whether or not the learner has passed this course. |
|
boolean |
Whether the learner has granted consent for edX to share information about their course enrollment and progress with the enterprise. |
|
boolean |
Whether or not the learner received a refund on their enrollment. |
|
date |
The most recent date, YYYY-MM-DD,the learner was active in an edX. |
|
string |
The learner’s letter grade, if they have passed the course. |
|
string |
The offer ID used by the learner to enroll in their course. (Not applicable for Subscriptions or Codes). |
|
string |
The offer type and discount percentage used by the learner to enroll in their course. (Not applicable for Subscriptions or Codes). |
|
string |
Whether the enrollment was paid for by the enterprise, the learner, or a third party. |
|
date |
The date, YYYY-MM-DD, the learner passed the course. |
|
string |
Whether the learner is still working on the course, has passed, or has failed. Possible values are: Failed, In Progress, Passed. |
|
string |
The type of subsidy used by the learner to enroll in their course. |
|
date |
The date,YYYY-MM-DD, the learner unenrolled from the course. |
|
date |
The date ,YYYY-MM-DD, the learner must unenroll by, in order to receive a refund on the enrollment. This date is traditionally 14 days from the enrollment date or the course start date, whichever is later. |
|
timestamp |
The date and time when the learner’s account was created in the edx.org LMS. |
|
string |
A two-letter country code. |
|
string |
The learner’s current enrollment mode in the course. |
|
string |
The learner’s email address. |
|
string |
The learner’s username on edx.org. |