Skip to content

Service

Get service status

GET /api/status.json

Returns service health and status information (RFC 8631 status)

Markdown · Authoritative OpenAPI

Request policy

Operation
getStatus
Access
anonymous
Automatic retries
None
Redirects
Returned to the caller without following
Request body limit
No request body
Pagination
No collection iterator

Parameters

No path or query parameters.

Request headers

  • API-Version (optional) — Header-based API version selection. Omit it, send an empty value, or send 1.0.0; surrounding whitespace is ignored.
  • Idempotency-Key (optional) — Accepted for clients that attach a key uniformly. GET, HEAD, and OPTIONS are already safe and intrinsically idempotent, so read responses are not stored in an idempotency replay cache.

Responses

200

Service is healthy

Response headers
{
  "Content-Usage": {
    "description": "IETF AIPREF usage preferences for this public content",
    "schema": {
      "type": "string",
      "examples": [
        "train-ai=y, search=y"
      ]
    }
  },
  "Content-Signal": {
    "description": "Compatibility AI usage preferences for deployed crawlers",
    "schema": {
      "type": "string",
      "examples": [
        "ai-train=yes, search=yes, ai-input=yes"
      ]
    }
  },
  "API-Version": {
    "description": "Selected public REST contract version",
    "schema": {
      "type": "string",
      "enum": [
        "1.0.0"
      ]
    }
  },
  "RateLimit-Policy": {
    "description": "Public REST quota policy: 1000 Worker requests per 60 seconds for each source and Cloudflare location",
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Compatibility form of the current public REST request limit",
    "schema": {
      "type": "integer",
      "enum": [
        1000
      ]
    }
  },
  "ETag": {
    "description": "Entity tag for conditional requests",
    "schema": {
      "type": "string"
    }
  },
  "Last-Modified": {
    "description": "Last modification date (HTTP IMF-fixdate)",
    "schema": {
      "type": "string",
      "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$",
      "examples": [
        "Sun, 06 Sep 2026 17:40:13 GMT"
      ]
    }
  },
  "Cache-Control": {
    "description": "Caching directives",
    "schema": {
      "type": "string"
    }
  }
}

application/health+json

ServiceStatus

Schema details

status string required

Allowed: "healthy" | "degraded"

timestamp string required (date-time)

version unknown required

checks object required

Schema details

collections object required

Schema details

status string required

Allowed: "pass" | "fail"

componentType unknown required

observedValue number required

observedUnit unknown required

searchProjection object required

Schema details

status string required

Allowed: "pass" | "fail"

componentType unknown required

projectionVersion number required

baselineProjectionVersion number required

Schema details

number

unknown

targetProjectionVersion number required

Schema details

number

unknown

state string required

Allowed: "ready" | "rebuilding" | "degraded"

activeProvider string required

Allowed: "d1-lexical-v1" | "canonical-d1-fallback"

dirtyCount number required

dueCount number required

leasedCount number required

quarantinedCount number required

maintenanceInstanceId string required

vocabularyGeneration number required

lastVerifiedAgeSeconds number required

Schema details

number

unknown

metrics object required

Schema details

responseTimeMs number required

links object required

Schema details

self unknown required

meta unknown required

docs unknown required

capnweb unknown required

mcp unknown required

graphql unknown required

sql unknown required

304

Not Modified

400

Unsupported API version

application/problem+json

ProblemDetails

Schema details

type string required (uri)

Problem type URI (see /problems/)

title string required

Short human-readable summary

status number required

HTTP status code

detail string required

Human-readable explanation

instance string (uri)

URI reference for this occurrence

412

Precondition Failed

429

Public REST request limit exceeded

Response headers
{
  "Retry-After": {
    "description": "Seconds before the request should be retried",
    "schema": {
      "type": "integer",
      "enum": [
        60
      ]
    }
  },
  "RateLimit": {
    "description": "Current quota state for the exhausted public-rest policy",
    "schema": {
      "type": "string"
    }
  },
  "Content-Usage": {
    "description": "IETF AIPREF usage preferences for this public content",
    "schema": {
      "type": "string",
      "examples": [
        "train-ai=y, search=y"
      ]
    }
  },
  "Content-Signal": {
    "description": "Compatibility AI usage preferences for deployed crawlers",
    "schema": {
      "type": "string",
      "examples": [
        "ai-train=yes, search=yes, ai-input=yes"
      ]
    }
  },
  "API-Version": {
    "description": "Selected public REST contract version",
    "schema": {
      "type": "string",
      "enum": [
        "1.0.0"
      ]
    }
  },
  "RateLimit-Policy": {
    "description": "Public REST quota policy: 1000 Worker requests per 60 seconds for each source and Cloudflare location",
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Compatibility form of the current public REST request limit",
    "schema": {
      "type": "integer",
      "enum": [
        1000
      ]
    }
  }
}

application/problem+json

ProblemDetails

Schema details

type string required (uri)

Problem type URI (see /problems/)

title string required

Short human-readable summary

status number required

HTTP status code

detail string required

Human-readable explanation

instance string (uri)

URI reference for this occurrence

503

Service is degraded

Response headers
{
  "Content-Usage": {
    "description": "IETF AIPREF usage preferences for this public content",
    "schema": {
      "type": "string",
      "examples": [
        "train-ai=y, search=y"
      ]
    }
  },
  "Content-Signal": {
    "description": "Compatibility AI usage preferences for deployed crawlers",
    "schema": {
      "type": "string",
      "examples": [
        "ai-train=yes, search=yes, ai-input=yes"
      ]
    }
  },
  "API-Version": {
    "description": "Selected public REST contract version",
    "schema": {
      "type": "string",
      "enum": [
        "1.0.0"
      ]
    }
  },
  "RateLimit-Policy": {
    "description": "Public REST quota policy: 1000 Worker requests per 60 seconds for each source and Cloudflare location",
    "schema": {
      "type": "string"
    }
  },
  "RateLimit-Limit": {
    "description": "Compatibility form of the current public REST request limit",
    "schema": {
      "type": "integer",
      "enum": [
        1000
      ]
    }
  },
  "ETag": {
    "description": "Entity tag for conditional requests",
    "schema": {
      "type": "string"
    }
  },
  "Last-Modified": {
    "description": "Last modification date (HTTP IMF-fixdate)",
    "schema": {
      "type": "string",
      "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), [0-9]{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT$",
      "examples": [
        "Sun, 06 Sep 2026 17:40:13 GMT"
      ]
    }
  },
  "Cache-Control": {
    "description": "Caching directives",
    "schema": {
      "type": "string"
    }
  }
}

application/health+json

ServiceStatus

Schema details

status string required

Allowed: "healthy" | "degraded"

timestamp string required (date-time)

version unknown required

checks object required

Schema details

collections object required

Schema details

status string required

Allowed: "pass" | "fail"

componentType unknown required

observedValue number required

observedUnit unknown required

searchProjection object required

Schema details

status string required

Allowed: "pass" | "fail"

componentType unknown required

projectionVersion number required

baselineProjectionVersion number required

Schema details

number

unknown

targetProjectionVersion number required

Schema details

number

unknown

state string required

Allowed: "ready" | "rebuilding" | "degraded"

activeProvider string required

Allowed: "d1-lexical-v1" | "canonical-d1-fallback"

dirtyCount number required

dueCount number required

leasedCount number required

quarantinedCount number required

maintenanceInstanceId string required

vocabularyGeneration number required

lastVerifiedAgeSeconds number required

Schema details

number

unknown

metrics object required

Schema details

responseTimeMs number required

links object required

Schema details

self unknown required

meta unknown required

docs unknown required

capnweb unknown required

mcp unknown required

graphql unknown required

sql unknown required

Examples

Examples use synthetic fixture values. Replace fixture identifiers with public IDs returned by the service. Request bodies and precise locations are transient; keep them out of logs.

curl

curl --fail-with-body --max-time 30 --max-filesize 16777216 --request GET 'https://irvinebroque.com/api/status.json' --header 'Accept: application/health+json'

TypeScript

import { PublicApi } from '@irvinebroque/public-api';
const api = new PublicApi();
const result = await api.service.status({});
console.log(result.status, result.headers.get('content-type')); // Keep transient capabilities in memory.

CLI

irvinebroque service status

The SDK preserves status, headers, and the server envelope. A 304 has no fresh body. Errors retain structured problem details; ordinary error messages omit response details. Responses are limited to 16 MiB and requests time out after 30 seconds by default.