# Fetch Programes without using Enterprise API

**URL:** <https://discuss.openedx.org/t/fetch-programes-without-using-enterprise-api/4234>\
**Category:** Development\
**Created:** [February 9, 2021, 10:24am UTC](https://discuss.openedx.org/t/fetch-programes-without-using-enterprise-api/4234 "2021-02-09T10:24:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lalit\_Kumar](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/lalit_kumar/32/2031_2.png) [@Lalit\_Kumar](https://discuss.openedx.org/u/Lalit_Kumar)\
**Post date:** [February 9, 2021, 10:24am UTC](https://discuss.openedx.org/t/fetch-programes-without-using-enterprise-api/4234/1 "2021-02-09T10:24:13Z")

</div>

Hi folks,

Problem statement: I want to categorize the courses into programs.

Solutions that I have tried: I have read the discovery API ([edX Discovery Service — edX Discovery Service 0.1 documentation](https://edx-discovery.readthedocs.io/en/latest/)) and OpenEdx API document ([https://courses.edx.org/api-docs/](https://courses.edx.org/api-docs/) ) and couldn’t find any endpoint there to fetch the programs.

In Enterprise API, the endpoint is available but we don’t want to configure catalogs in our system.

It will be great if anyone can help me with how to get the courses from the program.

Thanks and Regards,

Lalit K

---

<div class="post-metadata">

**Author:** ![ARMBouhali](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/armbouhali/32/324_2.png) [@ARMBouhali](https://discuss.openedx.org/u/ARMBouhali)\
**Post date:** [February 9, 2021, 8:56pm UTC](https://discuss.openedx.org/t/fetch-programes-without-using-enterprise-api/4234/2 "2021-02-09T20:56:13Z")

</div>

You have to define your programs in Discovery service first:

1. in discovery venv run `./manage.py refresh_course_metadata`
2. in discovery admin create programs with the course metadata fetched from LMS and ecommerce.

If you have your programs already created in discovery then you can run:

```
./manage.py lms cache_programs

```

But for this command to run successfully, I had to do other configurations. I’ll tell you what I remember from my memory:

1. Add `COURSE_CATALOG_API_URL` in your site configuraiton /admin/site\_configuration/siteconfiguration. It should be like `https://<your-discovery-url>/api/v1`
2. Add a Catalog integration object `/admin/catalog/catalogintegration` with the same catalog API URL

Once programs are cached, you’ll be able to see a programs menu item appear when in learner dashboard page.

You can check in code functions that fetch programs from cache in `openedx/core/djangoapps/catalog/utils.py`  
And you can find an old implementation of a program about page in `lms/djangoapps/courseware/views/views.py:program_marketing`

Optionally, if you happen to create a programs list page within LMS, you can add its urls by creating a Programs API config object in `/admin/programs/programsapiconfig`

Program enrollments are not implemented through LMS and discovery. You’ll have to set up registrar service correctly and program manager MFE, a task I couldn’t succeed with.

I also invite you to have a look at this interesting discussion.

> [@Programs in Open edX](https://discuss.openedx.org/t/programs-in-open-edx/353):
>
> It is my understanding that part of the code that handles Programs or MicroMasters is private and therefore not available to Open edX instances. I could be wrong… I tried setting Programs in ecommerce and there are a few things it seems that are not available to Course Discovery and ecommerce. I am interested in knowing how do Open edX instances are handling Programs? Did you need to create a new Front End or a new Django App? How did you create links between the Programs and the courses? Did …

---

<div class="post-metadata">

**Author:** ![Parvinkumar](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/parvinkumar/32/3894_2.png) [@Parvinkumar](https://discuss.openedx.org/u/Parvinkumar)\
**Post date:** [August 2, 2022, 7:53am UTC](https://discuss.openedx.org/t/fetch-programes-without-using-enterprise-api/4234/3 "2022-08-02T07:53:42Z")

</div>

Hi Lalit,  
I hope your problem is resolved i am also facing same issue in Create Program i have followed below tutorial but not worked for me.
