---
title: "Run health check for a website"
method: POST
path: "/health/check"
tags: ["Health"]
---

# Run health check for a website

`POST /health/check`

## Request

- Base URL: `https://api.foudroyer.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.foudroyer.com/health/check`
- Auth: HTTP bearer

Performs a comprehensive health check on a website including robots.txt, server configuration, and sitemap validation. Returns health issues found.

## Request body

- HealthCheckInputDto
  - `website_id` string, required: The ID of the website to check

## Response `200`

Health check results for the website

- HealthIssueResponseDto
  - `id` string, required: Unique identifier of the health issue
  - `fk_website_id` string, required: The website ID this health issue belongs to
  - `robots` HealthIssueTypeDto[], required: Robots.txt related issues
    - `id` string, required: Unique identifier of the issue
    - `type` 'robots' | 'server' | 'sitemap', required: Type of the issue
    - `name` 'robots/crawl-allowed' | 'robots/empty' | 'robots/javascript' | 'server/error' | 'server/not-https' | 'server/not-sc-domain/not-same-url' | 'server/not-sc-domain' | 'server/no-index' | 'sitemap/no-sitemap' | 'sitemap/server-error' | 'sitemap/bad-formed' | 'sitemap/hreflang-without-loc' | 'sitemap/contains-external-url' | 'sitemap/no-same-website', required: Name of the specific issue
    - `status` 'pass' | 'dont-pass' | 'warning', required: Status of the issue
    - `context` object, required: Additional context about the issue
    - `created_at` string, date-time, required: Date when the issue was created
    - `updated_at` string, date-time, required: Date when the issue was last updated
  - `server` HealthIssueTypeDto[], required: Server related issues
    - `id` string, required: Unique identifier of the issue
    - `type` 'robots' | 'server' | 'sitemap', required: Type of the issue
    - `name` 'robots/crawl-allowed' | 'robots/empty' | 'robots/javascript' | 'server/error' | 'server/not-https' | 'server/not-sc-domain/not-same-url' | 'server/not-sc-domain' | 'server/no-index' | 'sitemap/no-sitemap' | 'sitemap/server-error' | 'sitemap/bad-formed' | 'sitemap/hreflang-without-loc' | 'sitemap/contains-external-url' | 'sitemap/no-same-website', required: Name of the specific issue
    - `status` 'pass' | 'dont-pass' | 'warning', required: Status of the issue
    - `context` object, required: Additional context about the issue
    - `created_at` string, date-time, required: Date when the issue was created
    - `updated_at` string, date-time, required: Date when the issue was last updated
  - `sitemap` HealthIssueTypeDto[], required: Sitemap related issues
    - `id` string, required: Unique identifier of the issue
    - `type` 'robots' | 'server' | 'sitemap', required: Type of the issue
    - `name` 'robots/crawl-allowed' | 'robots/empty' | 'robots/javascript' | 'server/error' | 'server/not-https' | 'server/not-sc-domain/not-same-url' | 'server/not-sc-domain' | 'server/no-index' | 'sitemap/no-sitemap' | 'sitemap/server-error' | 'sitemap/bad-formed' | 'sitemap/hreflang-without-loc' | 'sitemap/contains-external-url' | 'sitemap/no-same-website', required: Name of the specific issue
    - `status` 'pass' | 'dont-pass' | 'warning', required: Status of the issue
    - `context` object, required: Additional context about the issue
    - `created_at` string, date-time, required: Date when the issue was created
    - `updated_at` string, date-time, required: Date when the issue was last updated
  - `synced_at` object, nullable, required: Date when the health check was last synced
  - `created_at` string, date-time, required: Date when the health issue was created
  - `updated_at` string, date-time, required: Date when the health issue was last updated

---

[API](https://skmtc.dev/foudroyer/apis/foudroyer-api.md) - [All operations](https://skmtc.dev/foudroyer/apis/foudroyer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/foudroyer/apis/foudroyer-api/revisions/5b917c67e013?raw)
