External Kong API Gateway routes structure
🌐 This document is available in both English and Ukrainian. Use the language toggle in the top right corner to switch between versions. |
The client applications used in the system interact with the services that provide access to the platform’s functionality through REST API. This document contains information about the general principles of forming external access points and a list of available methods for use.
1. General provisions
-
All external endpoints are accessed through the Kong API Gateway
-
All API calls must have an authorization token (stored in the Kong session)
-
The system has 3 domains for each subsystem and a separate one for each administrative service:
-
officer-portal
-
citizen-portal
-
admin-portal правилом та починатись з префіксу /api. Наприклад /api/forms для доступу до опису форм
-
-
Access to a specific resource from each portal should be available via a relative path following the rule and starting with the /api prefix. For example, /api/forms for accessing form descriptions. (/api/forms - /api/form)
-
Resources in the API Gateway must be registered in plural form (/api/forms - /api/form).
-
The endpoint path should not include the name of the service to which a particular resource belongs (/api/forms - /api/form-management).
-
Each individual route by default provides access to all resources of the target service that satisfy the specified pattern. For example, the endpoint /api/tasks provides access, including to the method POST /api/tasks/{id}/complete.
2. List of endpoints in the system (to be)
Route name | Route host | Route path | Service name | Service Path |
---|---|---|---|---|
admin-portal-home |
admin-portal |
/home |
admin-portal |
/home |
admin-portal-root |
admin-portal |
/ |
admin-portal |
/ |
admin-portal-logout |
admin-portal |
/logout |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/logout |
admin-portal-userinfo |
admin-portal |
/api/userinfo |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/userinfo |
admin-portal-forms |
admin-portal |
/api/forms |
form-management-modeler |
/ |
citizen-portal-home |
citizen-portal |
/home |
citizen-portal |
/home |
citizen-portal-root |
citizen-portal |
/ |
citizen-portal |
/ |
citizen-portal-logout |
citizen-portal |
/logout |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/logout |
citizen-portal-userinfo |
citizen-portal |
/api/userinfo |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/userinfo |
citizen-portal-forms |
citizen-portal |
/api/forms |
form-management-provider |
/ |
citizen-portal-documents |
citizen-portal |
/api/documents |
digital-documents |
/api/documents |
citizen-portal-tasks |
citizen-portal |
/api/tasks |
user-task-management |
/api/citizen/tasks |
citizen-portal-process-instances |
citizen-portal |
/api/process-instances |
user-process-management |
/api/citizen/process-instances |
citizen-portal-process-definitions |
citizen-portal |
/api/process-definitions |
user-process-management |
/api/citizen/process-definitions |
citizen-portal-history-process-instances |
citizen-portal |
/api/history/process-instances |
user-process-management |
/api/citizen/history/process-instances |
citizen-portal-registry |
citizen-portal |
/api/registry |
registry-rest-api |
/ |
citizen-portal-user-settings |
citizen-portal |
/api/user-settings |
user-settings-service-api |
/settings |
officer-portal-home |
officer-portal |
/home |
officer-portal |
/home |
officer-portal-root |
officer-portal |
/ |
officer-portal |
/ |
officer-portal-redash |
officer-portal |
/reports |
redash-viewer |
/ |
officer-portal-logout |
officer-portal |
/logout |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/logout |
officer-portal-userinfo |
officer-portal |
/api/userinfo |
platform-keycloak |
/auth/realms/{realm}/protocol/openid-connect/userinfo |
officer-portal-forms |
officer-portal |
/api/forms |
form-management-provider |
/ |
officer-portal-documents |
officer-portal |
/api/documents |
officer-documents |
/api/documents |
officer-portal-tasks |
officer-portal |
/api/tasks |
user-task-management |
/api/officer/tasks |
officer-portal-process-instances |
officer-portal |
/api/process-instances |
user-process-management |
/api/officer/process-instances |
officer-portal-history-process-instances |
officer-portal |
/api/history/process-instances |
user-process-management |
/api/officer/history/process-instances |
officer-portal-process-definitions |
officer-portal |
/api/process-definitions |
user-process-management |
/api/officer/process-definitions |
officer-portal-history-process-instances |
officer-portal |
/api/history/process-instances |
user-process-management |
/api/officer/history/process-instances |
officer-portal-registry |
officer-portal |
/api/registry |
registry-rest-api |
/ |
-
The list does not include system routes (e.g., kong-proxy)
-
The list does not include direct routes for services used in developer environments
-
The "host" section in the table is simplified and does not include the project name and DNS wildcard (admin-portal → admin-portal.<openshift-project-name>.<dns-wildcard>).