---
title: "Bulk trigger health checks"
method: POST
path: "/integration/health-checks/"
tags: ["integrations"]
---

# Bulk trigger health checks

`POST /integration/health-checks/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/integration/health-checks/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Trigger background health checks for a selection of integrations. The selection is either an explicit ID list or a filter-based select-all that genuinely spans every page (past the per-page cap). Checks run asynchronously in the background (they complete even if the user navigates away) and progress can be polled via the summary endpoint.

## Request body

- BulkHealthCheckSelectionSchema: Integration selection for a bulk health check. Either an explicit ``ids`` list (the per-page selection) OR a ``filters``-based select-all that spans every page (optionally minus ``exclude_ids``). Exactly one of ``ids`` / ``filters`` must be provided.
  - `exclude_ids` string[], nullable: Integration IDs to exclude from a filter-based (select-all) selection.
  - `filters` ListIntegrationsFilterParamsSchema: Filter parameters for list and count integration endpoints.
    - `integration_type__not` string[], nullable: Exclude integrations with these integration types
    - `kind` 'source' | 'destination' | 'both': Query filter: source-only, destination-only, or both.
    - `record_type__in` string[], nullable: Filter to integrations that handle any of these record types (match ANY). Unknown slugs are ignored; wildcard integrations always match.
    - `search` string, nullable: Search integrations by name or type. Multi-word queries use AND logic.
  - `ids` string[], nullable: Explicit integration IDs to check (per-page selection).

## Response `200`

Successful Response

- HealthChecksTriggeredResponseSchema: Acknowledgement that background health checks were queued.
  - `count` integer, required: Number of health checks queued.
  - `detail` string, required
  - `since` string, date-time, required: Server-generated run start time. Pass this back to the summary endpoint as `since` so progress is measured against the server clock (a client clock that is ahead of the server would otherwise leave every fresh check counted as stale).

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
