---
title: "Read Settings › Diagnostics"
method: GET
path: "/v1/org/diagnostics"
tags: ["Diagnostics"]
---

# Read Settings › Diagnostics

`GET /v1/org/diagnostics`

## Request

- Base URL: `https://api.openworklabs.com`
- URL: `https://api.openworklabs.com/v1/org/diagnostics`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

One read for cloud, single-org and self-hosted Den: desktop startups (last 24 hours), model providers, connectors, installation services and network diagnostics, plus a summary of what needs attention. Each section is present for every caller; a section the caller's permissions do not open is `locked` and names the permission. Installation details are only for self-hosted installation administrators (local allowlist). Never returns credentials, upstream responses or another member's identity. Missing or expired provider and connector checks start in the background (rate limited); the read never waits for them.

## Query parameters

- `strict` '0' | '1' | 'true' | 'false'

## Response `200`

Diagnostics for this caller.

- OrgDiagnostics
  - `version` 1, required
  - `generatedAt` string, date-time, required
  - `deployment` 'cloud' | 'self_hosted', required
  - `checking` boolean, required
  - `attention` object[], required
    - `section` 'desktop' | 'providers' | 'connectors' | 'installation' | 'network', required
    - `targetId` string, required
    - `severity` 'warning' | 'error', required
    - `code` 'provider_key_rejected' | 'provider_unreachable' | 'provider_model_missing' | 'provider_misconfigured' | 'desktop_startup_failures' | 'connector_slack_token_rejected' | 'connector_slack_not_installed' | 'connector_google_api_disabled' | 'service_misconfigured' | 'service_unreachable', required
    - `subject` string, required
    - `count` integer, nullable, required
    - `detail` string, nullable, required
  - `desktop` union, required
    - object
      - `access` 'granted', required
      - `windowHours` 24, required
      - `startups` integer, required
      - `connected` integer, required
      - `failed` integer, required
      - `people` integer, required
      - `typicalMs` integer, nullable, required
      - `slowestMs` integer, nullable, required
      - `steps` object[], required
        - `step` 'window' | 'engine' | 'signed_in' | 'org_tools', required
        - `typicalMs` integer, nullable, required
      - `failures` object[], required
        - `step` 'window' | 'engine' | 'signed_in' | 'org_tools', required
        - `reason` 'certificate' | 'dns' | 'offline' | 'timeout' | 'connection_refused' | 'server_error' | 'signed_out' | 'session_expired' | 'engine_failed' | 'org_unavailable' | 'unknown', required
        - `count` integer, required
        - `people` integer, required
        - `lastSeenAt` string, date-time, required
      - `versions` object[], required
        - `version` string, required
        - `startups` integer, required
    - object
      - `access` 'locked', required
      - `permission` string, required
  - `providers` union, required
    - object
      - `access` 'granted', required
      - `checkedAt` string, date-time, nullable, required
      - `checking` boolean, required
      - `items` object[], required
        - `id` string, required
        - `source` 'gateway' | 'legacy' | 'openwork', required
        - `providerId` string, required
        - `name` string, required
        - `credentialName` string, nullable, required
        - `state` 'ready' | 'key_rejected' | 'unreachable' | 'model_missing' | 'misconfigured' | 'member_credentials' | 'managed' | 'not_checked', required
        - `reason` 'models_listed' | 'key_accepted' | 'no_live_check' | 'member_sign_in' | 'endpoint_not_found' | 'network_error' | 'timeout' | 'configuration_error' | 'credential_missing' | 'sync_error' | 'managed_by_openwork' | 'not_checked_yet' | 'credential_rejected' | 'credential_expired' | 'unexpected_response', required
        - `httpStatus` integer, nullable, required
        - `durationMs` integer, nullable, required
        - `checkedAt` string, date-time, nullable, required
        - `lastSuccessAt` string, date-time, nullable, required
        - `models` object, required
          - `configured` integer, required
          - `served` integer, nullable, required
          - `missing` string[], required
        - `members` object, nullable, required
          - `connected` integer, required
          - `needsAttention` integer, required
    - object
      - `access` 'locked', required
      - `permission` string, required
  - `connectors` union, required
    - object
      - `access` 'granted', required
      - `checkedAt` string, date-time, nullable, required
      - `items` object[], required
        - `id` string, required
        - `kind` 'slack_assistant' | 'google_workspace', required
        - `name` string, required
        - `state` 'ready' | 'attention' | 'off' | 'not_checked', required
        - `reason` 'slack_token_accepted' | 'slack_token_rejected' | 'slack_not_installed' | 'slack_assistant_off' | 'slack_runner_missing' | 'google_apis_enabled' | 'google_api_disabled' | 'google_sign_in_required' | 'not_checked_yet', required
        - `checkedAt` string, date-time, nullable, required
        - `lastEventAt` string, date-time, nullable, required
        - `completed24h` integer, nullable, required
        - `apis` object[], required
          - `id` string, required
          - `name` string, required
          - `status` 'enabled' | 'disabled' | 'unknown', required
    - object
      - `access` 'locked', required
      - `permission` string, required
  - `installation` union, required
    - object
      - `access` 'operator', required
      - `server` DenServerFacts, required
        - `version` string, required
        - `startedAt` string, date-time, required
        - `startupMs` integer, nullable, required
      - `services` DeploymentServiceReadiness, required
        - `version` 2, required
        - `checkedAt` string, date-time, nullable, required
        - `checking` boolean, required
        - `server` DenServerFacts, required
          - `version` string, required
          - `startedAt` string, date-time, required
          - `startupMs` integer, nullable, required
        - `services` DeploymentServiceStatus[], required
          - `id` 'database' | 'gateway' | 'headlessRunner' | 'workbot' | 'email', required
          - `required` boolean, required
          - `configured` boolean, required
          - `state` 'ready' | 'not_configured' | 'misconfigured' | 'unreachable' | 'unknown', required
          - `reason` 'not_checked' | 'not_configured' | 'missing_configuration' | 'invalid_configuration' | 'health_verified' | 'database_verified' | 'authentication_failed' | 'unexpected_response' | 'request_failed' | 'timeout' | 'dependency_unavailable' | 'configuration_only' | 'incompatible_service' | 'email_verified' | 'email_key_verified' | 'email_sender_unverified' | 'resume_misconfigured', required
          - `missingSettings` string[], required
          - `dependencies` string[], required
          - `notes` string[], required
          - `durationMs` integer, nullable, required
          - `checkedAt` string, date-time, nullable, required
          - `lastSuccessAt` string, date-time, nullable, required
          - `stale` boolean, required
    - object
      - `access` 'managed', required
    - object
      - `access` 'locked', required
      - `reason` 'installation_admin_required', required
  - `network` union, required
    - object
      - `access` 'granted', required
      - `canRun` boolean, required
    - object
      - `access` 'locked', required
      - `permission` string, required

## Other responses

- `400`: The query was invalid.
- `401`: The caller must be signed in.
- `404`: No active organization.
- `503`: With strict=1: something needs attention at error severity. Same body.

## Changes

- **2026-10-20** `352faa73c6a2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openworklabs/apis/den-api/changes/v1/org/diagnostics/get.md)

---

[API](https://skmtc.dev/openworklabs/apis/den-api.md) · [All operations](https://skmtc.dev/openworklabs/apis/den-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openworklabs/apis/den-api/revisions/e6eb4e5ce8a3?raw)
