API Explorer 936 endpoints

Get Deployment Checks

GET /obp/v7.0.0/management/system/diagnostics/deployment

OBPv7.0.0-getDeploymentChecks Roles: CanGetConfig SystemAPI

Checks of how this OBP-API instance, and the proxy and applications in front of it, are set up, worked out from its props and from its traffic of the last 15 minutes.

The protections against scans and floods (per-IP limits, IP penalties, the busiest-callers view) depend on OBP-API seeing each caller's real address. A proxy or application set up wrongly defeats them without any error: every caller looks like the proxy, or a caller can name any address it likes. Those mistakes show in the traffic, which is what these checks look at.

Each check has a status (OK, INFO, WARNING, ERROR, or MANUAL for something that cannot be seen from inside OBP-API), a basis (observed from traffic, configured from props, or manual), a message, its evidence, and the props involved. An observed check with too little traffic to judge (fewer than 20 requests) says so, rather than guessing.

Areas: client addresses (are they passed on, used, and believed only from the proxy), applications (does any application call for many users from one address), rate limits, and observability (log level, Telemetry collection, Redis, API Metrics).

The traffic evidence is this instance's own: behind a load balancer, the response describes the instance that answered (api_instance_id).

User Authentication is Required. The User must be logged in. The Application must also be authenticated.

JSON response body fields (16)
api_instance_id
api_instance_id
area
area
basis
basis
checked_at
checked_at
checks
errors
errors
evidence
evidence
id
d8839721-ad8f-45dd-9f78-2080414b93f9
message
123456
name
ACCOUNT_MANAGEMENT_FEE
props
props
status
title
Dr.
value
5987953
warnings
warnings
window_minutes
window_minutes
Example success response
{
  "api_instance_id": "obp_4f6b3c2a-9d1e-4b7a-8c5f-2e1d0a9b8c7d",
  "checked_at": "1100-01-01T01:01:01Z",
  "window_minutes": 15,
  "errors": 1,
  "warnings": 0,
  "checks": [
    {
      "id": "check_client_address_forwarding",
      "title": "Client addresses are passed on and used",
      "area": "Client addresses",
      "basis": "observed",
      "status": "ERROR",
      "message": "97% of requests carry a forwarding header (X-Real-IP or X-Forwarded-For), so a proxy is passing on client addresses, but trust.proxy.enabled is false and OBP-API ignores them.",
      "evidence": [
        {
          "name": "requests (last 15 minutes)",
          "value": "4210"
        },
        {
          "name": "with a forwarding header",
          "value": "4090 (97%)"
        }
      ],
      "props": [
        "trust.proxy.enabled",
        "trust.proxy.header",
        "trust.proxy.peers"
      ]
    }
  ]
}
Possible errors (3)
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented by OBPv7.0.0 getDeploymentChecks