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>).