{"id":26164737,"url":"https://github.com/optum/pontifex-api","last_synced_at":"2025-08-23T10:32:14.213Z","repository":{"id":94608901,"uuid":"528035936","full_name":"Optum/pontifex-api","owner":"Optum","description":"Typescript Azure Function API for Pontifex.  Exposes the ability to create AAD App Registrations and Roles, update request roles, and approve requests via a set of REST APIs","archived":false,"fork":false,"pushed_at":"2023-01-03T22:46:26.000Z","size":86,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-11T15:51:10.506Z","etag":null,"topics":["azure-functions","pontifex"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Optum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-23T14:47:14.000Z","updated_at":"2022-09-20T14:27:53.000Z","dependencies_parsed_at":"2023-04-06T07:47:07.721Z","dependency_job_id":null,"html_url":"https://github.com/Optum/pontifex-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Optum/pontifex-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Optum%2Fpontifex-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Optum%2Fpontifex-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Optum%2Fpontifex-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Optum%2Fpontifex-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Optum","download_url":"https://codeload.github.com/Optum/pontifex-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Optum%2Fpontifex-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271746655,"owners_count":24813575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-functions","pontifex"],"created_at":"2025-03-11T15:40:02.844Z","updated_at":"2025-08-23T10:32:14.208Z","avatar_url":"https://github.com/Optum.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n\u003c!-- NOTES --\u003e\n\u003c!--\n*** Individual sections below can be removed if not needed\n--\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** We are using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003ch3 align=\"center\"\u003epontifex-api\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    An Azure Function backend for Pontifex.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#maintainers\"\u003eMaintainers\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nThe Pontifex API layer abstracts away the interactions with Azure AD and supports actions within the pontifex-ui.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n### Built With\n\n* [Azure Function](https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\n### Prerequisites\n\n1. Install the [Azure Functions Core Tools](https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=v4%2Cmacos%2Ccsharp%2Cportal%2Cbash#install-the-azure-functions-core-tools)\n2. Install the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)\n3. Install Node 16.  I recommend using [nvm](https://github.com/nvm-sh/nvm#installing-and-updating)\n\n### Installation\n\n1. Clone the repo\n   ```sh\n   git clone https://github.com/Optum/pontifex-api.git\n   ```\n2. Install NPM packages\n   ```sh\n   npm install\n   ```\n3. Create an Azure AD App Registration with the following Application Permissions:\n    1. AccessReview.ReadWrite.All\n    2. AppCatalog.Read.All\n    3. Application.ReadWrite.OwnedBy\n    4. AppRoleAssignment.ReadWrite.All\n4. Create a CosmosDB Gremlin Instance\n5. Update the `local.settings.example.json` with the values from the previous 2 resources and rename it to\n   be `local. settings.json`\n6. run `npm start`\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the Apache 2.0 License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MAINTAINERS --\u003e\n## Maintainers\n\n- Alexander Aavang\n  - GitHub Enterprise: [aaavang](https://github.com/aaavang)\n  - Email: alexander.aavang@optum.com, alex.aavang@gmail.com\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/Optum/pontifex-api.svg?style=for-the-badge\n[contributors-url]: https://github.com/Optum/pontifex-api/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/Optum/pontifex-api.svg?style=for-the-badge\n[forks-url]: https://github.com/Optum/pontifex-api/network/members\n[stars-shield]: https://img.shields.io/github/stars/Optum/pontifex-api.svg?style=for-the-badge\n[stars-url]: https://github.com/Optum/pontifex-api/stargazers\n[issues-shield]: https://img.shields.io/github/issues/Optum/pontifex-api.svg?style=for-the-badge\n[issues-url]: https://github.com/Optum/pontifex-api/issues\n[license-shield]: https://img.shields.io/github/license/Optum/pontifex-api.svg?style=for-the-badge\n[license-url]: https://github.com/Optum/pontifex-api/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[product-screenshot]: images/screenshot.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foptum%2Fpontifex-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foptum%2Fpontifex-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foptum%2Fpontifex-api/lists"}