openapi: 3.2.0 info: title: Jans Config Health - Check API contact: name: Contact url: https://github.com/JanssenProject/jans/discussions license: name: License url: https://github.com/JanssenProject/jans/blob/main/LICENSE version: OAS Version servers: - url: https://jans.local.io description: The Jans server tags: - name: Health Check paths: /api/v1/health/app-version: get: tags: - Health Check summary: Returns application version operationId: get-app-version parameters: - name: artifact in: query description: artifact name for which version is requied else ALL schema: type: string default: all responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/JsonNode' '500': description: InternalServerError security: - oauth2: - https://jans.io/oauth/config/app-version.readonly - oauth2: - https://jans.io/oauth/config/health.admin - oauth2: - https://jans.io/oauth/config/read-all /api/v1/health: get: tags: - Health Check summary: Returns application health status operationId: get-config-health responses: '200': description: Ok content: application/json: schema: type: array items: $ref: '#/components/schemas/HealthStatus' '500': description: InternalServerError /api/v1/health/live: get: tags: - Health Check summary: Returns application liveness status operationId: get-config-health-live responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Status' '500': description: InternalServerError /api/v1/health/ready: get: tags: - Health Check summary: Returns application readiness status operationId: get-config-health-ready responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Status' '500': description: InternalServerError /api/v1/health/server-stat: get: tags: - Health Check summary: Returns application server status operationId: get-server-stat responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/StatsData' examples: Response json example: description: Response json example value: "{\n \"dbType\": \"sql\",\n \"lastUpdate\": \"2024-11-01T12:11:01\",\n \"facterData\": {\n \"memoryfree\": \"39.7%\",\n \"swapfree\": \"0.0%\",\n \"hostname\": \"pujavs-amazed-rat.gluu.info\",\n \"ipaddress\": \"167.99.13.66\",\n \"uptime\": \"1 day, 3:54\",\n \"free_disk_space\": \"95.4%\",\n \"load_average\": \"0.13623046875\"\n }\n}\n" '500': description: InternalServerError /api/v1/health/service-status: get: tags: - Health Check summary: Fetch service status operationId: get-service-status parameters: - name: service in: query description: Service name to check status schema: type: string default: all responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/JsonNode' examples: Response json example: description: Response json example value: "{\n \"jans-auth\": \"Running\",\n \"jans-config-api\": \"Down\",\n \"jans-casa\": \"Not present\",\n \"jans-fido2\": \"Running\",\n \"jans-scim\": \"Running\",\n \"jans-link\": \"Running\",\n \"jans-lock\": \"Running\"\n}\n" '500': description: InternalServerError security: - oauth2: - https://jans.io/oauth/config/data.readonly - oauth2: - https://jans.io/oauth/config/health.admin - oauth2: - https://jans.io/oauth/config/read-all components: schemas: StatsData: type: object properties: dbType: type: string lastUpdate: type: string format: date-time facterData: $ref: '#/components/schemas/FacterData' JsonNode: type: object Status: type: object properties: name: type: string status: type: string error: type: string FacterData: type: object properties: memoryfree: type: string swapfree: type: string hostname: type: string ipaddress: type: string uptime: type: string free_disk_space: type: string load_average: type: string HealthStatus: type: object properties: status: type: string checks: type: array items: $ref: '#/components/schemas/Status' securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://{op-hostname}/.../token scopes: https://jans.io/oauth/jans-auth-server/config/properties.readonly: View Auth Server properties related information https://jans.io/oauth/jans-auth-server/config/properties.write: Manage Auth Server properties related information https://jans.io/oauth/config/attributes.readonly: View attribute related information https://jans.io/oauth/config/attributes.write: Manage attribute related information https://jans.io/oauth/config/attributes.delete: Delete attribute related information https://jans.io/oauth/config/acrs.readonly: View ACRS related information https://jans.io/oauth/config/acrs.write: Manage ACRS related information https://jans.io/oauth/config/database/ldap.readonly: View LDAP database related information https://jans.io/oauth/config/database/ldap.write: Manage LDAP database related information https://jans.io/oauth/config/database/ldap.delete: Delete LDAP database related information https://jans.io/oauth/config/scripts.readonly: View cache scripts information https://jans.io/oauth/config/scripts.write: Manage scripts related information https://jans.io/oauth/config/scripts.delete: Delete scripts related information https://jans.io/oauth/config/cache.readonly: View cache related information https://jans.io/oauth/config/cache.write: Manage cache related information https://jans.io/oauth/config/smtp.readonly: View SMTP related information https://jans.io/oauth/config/smtp.write: Manage SMTP related information https://jans.io/oauth/config/smtp.delete: Delete SMTP related information https://jans.io/oauth/config/logging.readonly: View logging related information https://jans.io/oauth/config/logging.write: Manage logging related information https://jans.io/oauth/config/jwks.readonly: View JWKS related information https://jans.io/oauth/config/jwks.write: Manage JWKS related information https://jans.io/oauth/config/jwks.delete: Delete JWKS related information https://jans.io/oauth/config/openid/clients.readonly: View clients related information https://jans.io/oauth/config/openid/clients.write: Manage clients related information https://jans.io/oauth/config/openid/clients.delete: Delete clients related information https://jans.io/oauth/config/scopes.readonly: View scope related information https://jans.io/oauth/config/scopes.write: Manage scope related information https://jans.io/oauth/config/scopes.delete: Delete scope related information https://jans.io/oauth/config/stats.readonly: View server with basic statistic https://jans.io/oauth/config/organization.readonly: View organization configuration information https://jans.io/oauth/config/organization.write: Manage organization configuration information https://jans.io/oauth/config/agama.readonly: View Agama Flow related information https://jans.io/oauth/config/agama.write: Manage Agama Flow related information https://jans.io/oauth/config/agama.delete: Delete Agama Flow related information https://jans.io/oauth/jans-auth-server/session.readonly: View Session related information https://jans.io/oauth/jans-auth-server/session.delete: Delete Session information https://jans.io/oauth/config/read-all: Super admin read access to all configuration resources https://jans.io/oauth/config/write-all: Super admin write access to all configuration resources https://jans.io/oauth/config/delete-all: Super admin delete access to all configuration resources https://jans.io/oauth/config/openid/openid.readonly: View OpenID functionality https://jans.io/oauth/config/openid/openid.write: Manage OpenID functionality https://jans.io/oauth/config/openid/openid.delete: Delete OpenID functionality https://jans.io/oauth/config/uma.readonly: View UMA functionality https://jans.io/oauth/config/uma.write: Manage UMA functionality https://jans.io/oauth/config/uma.delete: Delete UMA functionality https://jans.io/oauth/config/plugin.readonly: View Plugin information https://jans.io/oauth/config/properties.readonly: View Config-API related configuration properties https://jans.io/oauth/config/properties.write: Manage Config-API related configuration properties https://jans.io/oauth/client/authorizations.readonly: View ClientAuthorizations https://jans.io/oauth/client/authorizations.delete: Revoke ClientAuthorizations https://jans.io/oauth/config/asset.readonly: View Jans Assets https://jans.io/oauth/config/asset.write: Manage Jans Assets https://jans.io/oauth/config/asset.delete: Delete Jans Assets https://jans.io/oauth/config/token.readonly: View Token details https://jans.io/oauth/config/token.write: Manage Token details https://jans.io/oauth/config/token.delete: Delete Token details https://jans.io/oauth/config/data.readonly: View Config-API related data https://jans.io/oauth/config/ssa.readonly: View SSA details https://jans.io/oauth/config/ssa.write: Manage SSA details https://jans.io/oauth/config/ssa.delete: Delete SSA details https://jans.io/oauth/jans-auth-server/config/properties.admin: Admin scope for Auth Server properties https://jans.io/oauth/config/attributes.admin: Admin for Attribute management https://jans.io/oauth/config/acrs.admin: Admin for ACRS management https://jans.io/oauth/config/database.admin: Admin for Database config management https://jans.io/oauth/config/scripts.admin: Admin for Scripts management https://jans.io/oauth/config/cache.admin: Admin for Cache management https://jans.io/oauth/config/message.admin: Admin for Message management https://jans.io/oauth/config/smtp.admin: Admin for SMTP management https://jans.io/oauth/config/logging.admin: Admin for Logging management https://jans.io/oauth/config/jwks.admin: Admin for JWKS management https://jans.io/oauth/config/openid/clients.admin: Admin for clients management https://jans.io/oauth/config/token.admin: Admin for Token management https://jans.io/oauth/config/scopes.admin: Admin for scope management https://jans.io/oauth/config/stats.admin: Admin for statistic management https://jans.io/oauth/config/organization.admin: Admin for organization configuration management https://jans.io/oauth/config/agama.admin: Admin for Agama flow management https://jans.io/oauth/jans-auth-server/session.admin: Admin for Session management https://jans.io/oauth/config/uma.admin: Admin for UMA management https://jans.io/oauth/config/plugin.admin: Admin for Plugin management https://jans.io/oauth/config/properties.admin: Admin for Config-API management https://jans.io/oauth/client/authorizations.admin: Admin for Client Authorizations management https://jans.io/oauth/config/asset.admin: Admin for Jans Assets management https://jans.io/auth/ssa.admin: Admin for SSA management https://jans.io/oauth/config/health.admin: Admin for Health API management