GET /v1/brands/{brand_id}/seo-pages/{page_id}/technical-checks

Retrieve the latest technical check

Fetch the most recent technical SEO check for a page: an overall score plus per-category findings (robots.txt, sitemap, meta robots, canonical, Open Graph, Twitter card, schema.org, indexability, SSL, redirects, internal links, meta content, headings, hreflang, images, security headers, page weight). Returns 404 not_found when no check has been run yet; run one with POST.

Path parameters

  • page_idstring required

    Page id (UUID).

  • brand_idstring required

    Brand UUID.

Header parameters

Responses

Returned the latest technical checkapplication/json
Type:SeoTechnicalCheck
  • brand_idstringrequired

    Owning brand id (UUID).

  • created_atstringrequired

    When the check was requested.

    format: `date-time`

  • idstringrequired

    Technical check id (UUID).

  • page_idstringrequired

    Page this check belongs to (UUID).

  • statusenumrequired

    Check lifecycle state. One of processing, completed, failed.

  • canonicalobject (nullable)nullable

    Canonical URL findings.

  • error_messagestring (nullable)nullable

    User-facing failure reason when status is failed.

  • finished_atstring (nullable)nullable

    When the check finished.

    format: `date-time`

  • headingsobject (nullable)nullable

    Heading hierarchy findings.

  • hreflangobject (nullable)nullable

    Hreflang findings for international SEO.

  • imagesobject (nullable)nullable

    Image alt-text coverage findings.

  • indexabilityobject (nullable)nullable

    Overall indexability findings.

  • Number of issues found across all checks.

    min: 0 · default: `0`

  • meta_contentobject (nullable)nullable

    Title and meta description findings.

  • meta_robotsobject (nullable)nullable

    Meta robots directive findings.

  • objectstring

    Always seo_technical_check.

    default: `seo_technical_check`

  • open_graphobject (nullable)nullable

    Open Graph tag findings.

  • overall_scoreinteger (nullable)nullable

    Overall technical score 0-100, based on how many checks passed.

  • page_error_typestring (nullable)nullable

    Category of the fetch error, if any.

  • page_fetch_errorstring (nullable)nullable

    Reason the page could not be fetched, if any.

  • page_fetch_warningstring (nullable)nullable

    Note when the page was reachable only through a fallback path.

  • page_urlstring (nullable)nullable

    URL that was checked.

  • page_warning_typestring (nullable)nullable

    Category of the fetch warning, if any.

  • page_weightobject (nullable)nullable

    Page HTML weight findings.

  • Number of checks that passed.

    min: 0 · default: `0`

  • redirect_chainobject (nullable)nullable

    Redirect chain findings.

  • robots_txtobject (nullable)nullable

    Robots.txt findings.

  • schema_orgobject (nullable)nullable

    Schema.org structured-data findings.

  • security_headersobject (nullable)nullable

    HTTP security header findings.

  • sitemapobject (nullable)nullable

    Sitemap findings.

  • ssl_certificateobject (nullable)nullable

    SSL certificate findings.

  • started_atstring (nullable)nullable

    When the check began running.

    format: `date-time`

  • twitter_cardobject (nullable)nullable

    Twitter card findings.

  • updated_atstring (nullable)nullable

    When the check row was last updated.

    format: `date-time`

Request validation failedapplication/json
Type:ApiError
  • errorobjectrequired
    Show fields
    • codestringrequired

      Stable machine-readable error code from the catalog.

    • messagestringrequired

      Human-readable description suitable for logging.

    • detailsobject

      Optional, code-specific context (e.g. errors array for validation_error, retry_after for service_unavailable). Shape depends on error.code; treat as opaque otherwise.

      Show fields

      Empty object (no properties).

  • Server-generated correlation id for the request. Mirrors the X-Correlation-ID response header. Include this when contacting support.

    format: `uuid`

Example response
{
  "error": {
    "code": "validation_error",
    "message": "Request validation failed"
  },
  "request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}
Missing or invalid credentialsapplication/json
Type:ApiError
  • errorobjectrequired
    Show fields
    • codestringrequired

      Stable machine-readable error code from the catalog.

    • messagestringrequired

      Human-readable description suitable for logging.

    • detailsobject

      Optional, code-specific context (e.g. errors array for validation_error, retry_after for service_unavailable). Shape depends on error.code; treat as opaque otherwise.

      Show fields

      Empty object (no properties).

  • Server-generated correlation id for the request. Mirrors the X-Correlation-ID response header. Include this when contacting support.

    format: `uuid`

Example response
{
  "error": {
    "code": "unauthorized",
    "message": "Missing or invalid credentials"
  },
  "request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}
You do not have permission to access this resourceapplication/json
Type:ApiError
  • errorobjectrequired
    Show fields
    • codestringrequired

      Stable machine-readable error code from the catalog.

    • messagestringrequired

      Human-readable description suitable for logging.

    • detailsobject

      Optional, code-specific context (e.g. errors array for validation_error, retry_after for service_unavailable). Shape depends on error.code; treat as opaque otherwise.

      Show fields

      Empty object (no properties).

  • Server-generated correlation id for the request. Mirrors the X-Correlation-ID response header. Include this when contacting support.

    format: `uuid`

Example response
{
  "error": {
    "code": "forbidden",
    "message": "You do not have permission to access this resource"
  },
  "request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}
Resource not foundapplication/json
Type:ApiError
  • errorobjectrequired
    Show fields
    • codestringrequired

      Stable machine-readable error code from the catalog.

    • messagestringrequired

      Human-readable description suitable for logging.

    • detailsobject

      Optional, code-specific context (e.g. errors array for validation_error, retry_after for service_unavailable). Shape depends on error.code; treat as opaque otherwise.

      Show fields

      Empty object (no properties).

  • Server-generated correlation id for the request. Mirrors the X-Correlation-ID response header. Include this when contacting support.

    format: `uuid`

Example response
{
  "error": {
    "code": "not_found",
    "message": "Resource not found"
  },
  "request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}
Resource conflictapplication/json
Type:ApiError
  • errorobjectrequired
    Show fields
    • codestringrequired

      Stable machine-readable error code from the catalog.

    • messagestringrequired

      Human-readable description suitable for logging.

    • detailsobject

      Optional, code-specific context (e.g. errors array for validation_error, retry_after for service_unavailable). Shape depends on error.code; treat as opaque otherwise.

      Show fields

      Empty object (no properties).

  • Server-generated correlation id for the request. Mirrors the X-Correlation-ID response header. Include this when contacting support.

    format: `uuid`

Example response
{
  "error": {
    "code": "conflict",
    "message": "Resource conflict"
  },
  "request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}
Per-minute rate limit exceededapplication/json
Type:ApiError
  • errorobjectrequired
    Show fields
    • codestringrequired

      Stable machine-readable error code from the catalog.

    • messagestringrequired

      Human-readable description suitable for logging.

    • detailsobject

      Optional, code-specific context (e.g. errors array for validation_error, retry_after for service_unavailable). Shape depends on error.code; treat as opaque otherwise.

      Show fields

      Empty object (no properties).

  • Server-generated correlation id for the request. Mirrors the X-Correlation-ID response header. Include this when contacting support.

    format: `uuid`

Example response
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Per-minute rate limit exceeded"
  },
  "request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}
An unexpected error occurredapplication/json
Type:ApiError
  • errorobjectrequired
    Show fields
    • codestringrequired

      Stable machine-readable error code from the catalog.

    • messagestringrequired

      Human-readable description suitable for logging.

    • detailsobject

      Optional, code-specific context (e.g. errors array for validation_error, retry_after for service_unavailable). Shape depends on error.code; treat as opaque otherwise.

      Show fields

      Empty object (no properties).

  • Server-generated correlation id for the request. Mirrors the X-Correlation-ID response header. Include this when contacting support.

    format: `uuid`

Example response
{
  "error": {
    "code": "internal_error",
    "message": "An unexpected error occurred"
  },
  "request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}
Service temporarily unavailable, please retryapplication/json
Type:ApiError
  • errorobjectrequired
    Show fields
    • codestringrequired

      Stable machine-readable error code from the catalog.

    • messagestringrequired

      Human-readable description suitable for logging.

    • detailsobject

      Optional, code-specific context (e.g. errors array for validation_error, retry_after for service_unavailable). Shape depends on error.code; treat as opaque otherwise.

      Show fields

      Empty object (no properties).

  • Server-generated correlation id for the request. Mirrors the X-Correlation-ID response header. Include this when contacting support.

    format: `uuid`

Example response
{
  "error": {
    "code": "service_unavailable",
    "message": "Service temporarily unavailable, please retry"
  },
  "request_id": "9f6c4e8a-1d3b-4c8b-9f1e-7a3b1c2d3e4f"
}