{"id":15038996,"url":"https://github.com/franzasilva/minimalendpoints","last_synced_at":"2026-02-16T08:32:16.148Z","repository":{"id":255541840,"uuid":"852347220","full_name":"franzASilva/MinimalEndpoints","owner":"franzASilva","description":"Minimal API with JWT Auth, Swagger, Api Versioning and HealthChecks with UI","archived":false,"fork":false,"pushed_at":"2024-12-30T18:16:05.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-13T05:03:40.612Z","etag":null,"topics":["api-versioning","authentication","authorization","dotnet-core","dotnet8","dotnetcore","healthcheck","jwt","minimal-api","swagger"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/franzASilva.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-04T16:44:50.000Z","updated_at":"2024-12-30T18:16:27.000Z","dependencies_parsed_at":"2024-11-09T18:26:09.350Z","dependency_job_id":"274a15dd-1f58-4d93-9a06-b875889bb39b","html_url":"https://github.com/franzASilva/MinimalEndpoints","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.25,"last_synced_commit":"6ac3da048980f986ecc83c10c2484387bafa7efb"},"previous_names":["franzasilva/minimalendpoints"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/franzASilva/MinimalEndpoints","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzASilva%2FMinimalEndpoints","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzASilva%2FMinimalEndpoints/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzASilva%2FMinimalEndpoints/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzASilva%2FMinimalEndpoints/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/franzASilva","download_url":"https://codeload.github.com/franzASilva/MinimalEndpoints/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzASilva%2FMinimalEndpoints/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259584780,"owners_count":22880198,"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","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":["api-versioning","authentication","authorization","dotnet-core","dotnet8","dotnetcore","healthcheck","jwt","minimal-api","swagger"],"created_at":"2024-09-24T20:41:08.804Z","updated_at":"2025-10-12T15:45:12.954Z","avatar_url":"https://github.com/franzASilva.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minimal API with JWT Auth, Swagger, Api Versioning and HealthChecks with UI.\n**For testing purposes only, pre-created Roles Admin and User and user admin with password 123**\n- [.NET 9](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/overview);\n- [JWT](https://jwt.io/)\n\n\u003cbr /\u003e\n\u003cb\u003eSwagger and Api Versioning with JWT Auth\u003c/b\u003e\u003cbr /\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/e27ef42f-56fa-4661-b2c8-de2786e02218\" width=\"500\"\u003e\u003cbr /\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/107c50d7-3506-45c8-8925-5691fb0df936\" width=\"500\"\u003e\u003cbr /\u003e\n\n\u003cbr /\u003e\n\u003cb\u003eUsing Swagger and JWT Auth\u003c/b\u003e\u003cbr /\u003e\nWhen trying to use an api that requires auth without a token, you receive the 401 Unauthorized error\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/abf5f7f9-8ecc-44f2-b0c3-1c16da35f578\" width=\"500\"\u003e\u003cbr /\u003e\n\nUser admin and password 123 to get a token\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/46ab4b8a-c2e2-408f-8224-c8258270615b\" width=\"500\"\u003e\u003cbr /\u003e\n\nUse token to authorize\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/913129d9-5757-4252-9993-1fe1a1fb102a\" width=\"500\"\u003e\u003cbr /\u003e\n\nNow... 200 OK\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/cc9a55a4-7c51-4d1e-a425-d5e9881f7dcc\" width=\"500\"\u003e\u003cbr /\u003e\n\nUse the user API to create new users and update then with a role.\u003cbr /\u003e\nWe can only use DummyEndpoint with Admin or User roles, while in UserEndpoint we only need a valid token\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/72c39cce-f055-4453-bcc0-b9ce5ba8f4ff\" width=\"500\"\u003e\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/1e2ec399-b5c1-4ac7-b0ce-763099e99a66\" width=\"500\"\u003e\u003cbr /\u003e\n\n\u003cbr /\u003e\n\u003cb\u003eHealthcheck with some details\u003c/b\u003e\u003cbr /\u003e\n\u003ca href=\"https://localhost:7101/healthcheck\"\u003ehttps://localhost:7101/ready\u003c/a\u003e\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/925ef2b6-e913-4386-b2a5-41e96505ad63\" width=\"500\"\u003e\u003cbr /\u003e\n\n\u003cbr /\u003e\n\u003cb\u003eHealthcheck live for use in containers\u003c/b\u003e\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/6c2ef6d4-f4cf-499e-8007-e0c9edb4c038\" width=\"500\"\u003e\u003cbr /\u003e\n\n\u003cbr /\u003e\n\u003cb\u003eHealthcheck UI\u003c/b\u003e\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/c89553ef-d7e5-4eba-b9b8-0b3e25e85424\" width=\"500\"\u003e\u003cbr /\u003e\n\n\u003cbr /\u003e\n\u003cb\u003eHealthcheck UI - webhooks\u003c/b\u003e\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/14c40144-5404-4fda-b005-39bb99c8cf9c\" width=\"500\"\u003e\u003cbr /\u003e\n\n\u003cbr /\u003e\n\u003cb\u003eHealthcheck UI - webhooks reporting\u003c/b\u003e\u003cbr /\u003e\n\n\u003cimg src=\"https://github.com/user-attachments/assets/7bdcff9d-fa20-4ee6-bad6-852055148364\" width=\"500\"\u003e\u003cbr /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffranzasilva%2Fminimalendpoints","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffranzasilva%2Fminimalendpoints","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffranzasilva%2Fminimalendpoints/lists"}