Get full details for a regression test result in a run

GET /runs/{run_id}/samples/{sample_id}

Path parameters

  • run_id integer Required

    Numeric run ID

    Minimum value is 1.

  • sample_id integer Required

    Numeric sample or regression result ID

    Minimum value is 1.

Responses

  • 200 application/json

    Regression test result details

    Hide response attributes Show response attributes object
    • run_id integer Required

      Minimum value is 1.

    • sample_id integer Required

      Minimum value is 1.

    • regression_id integer Required

      Minimum value is 1.

    • category string

      Maximum length is 100.

    • command string

      Maximum length is 500.

    • status string Required

      Computed from TestResult, TestResultFile, expected exit code, and multiple acceptable baselines. Not a stored column.

      Values are pass, fail, skipped, missing_output, running, or not_started.

    • runtime_ms integer | null

      Minimum value is 0.

    • exit_code integer | null
    • expected_exit_code integer | null
    • result_message string | null

      Maximum length is 500.

    • tags array[string]

      Not more than 50 elements. Maximum length of each is 50.

    • outputs array[object]

      One entry per expected output file. got=null in the DB means output matched expected; no actual file is stored. The dummy (-1,-1,-1,'','error') row is translated to status=missing_output and is never exposed here.

      Not more than 20 elements.

      Hide outputs attributes Show outputs attributes object
      • output_id integer Required

        Minimum value is 1.

      • status string Required

        Values are match, diff_mismatch, missing_output, or missing_expected.

      • expected_hash string | null

        Format should match the following pattern: ^[a-fA-F0-9]{64}$.

      • actual_hash string | null

        Format should match the following pattern: ^[a-fA-F0-9]{64}$.

  • 401 application/json

    Missing, expired, or invalid bearer token

    Hide response attributes Show response attributes object
    • code string Required

      Machine-readable error code (snake_case)

      Maximum length is 100.

    • message string Required

      Human-readable error summary

      Maximum length is 500.

    • details object Required

      Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available.

      Additional properties are allowed.

  • 404 application/json

    Resource not found

    Hide response attributes Show response attributes object
    • code string Required

      Machine-readable error code (snake_case)

      Maximum length is 100.

    • message string Required

      Human-readable error summary

      Maximum length is 500.

    • details object Required

      Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available.

      Additional properties are allowed.

  • 429 application/json

    Too many requests. Retry after the indicated number of seconds.

    Hide headers attributes Show headers attributes
    • Retry-After integer

      Seconds to wait before retrying

    • X-RateLimit-Limit

      Maximum requests allowed in the current window

    • X-RateLimit-Remaining

      Requests remaining in the current window

    • X-RateLimit-Reset

      Unix timestamp when the rate limit window resets

    Hide response attributes Show response attributes object
    • code string Required

      Machine-readable error code (snake_case)

      Maximum length is 100.

    • message string Required

      Human-readable error summary

      Maximum length is 500.

    • details object Required

      Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available.

      Additional properties are allowed.

  • default application/json

    Unexpected server error

    Hide response attributes Show response attributes object
    • code string Required

      Machine-readable error code (snake_case)

      Maximum length is 100.

    • message string Required

      Human-readable error summary

      Maximum length is 500.

    • details object Required

      Structured context for the error. Always an object, never null. Empty object {} when no additional detail is available.

      Additional properties are allowed.

GET /runs/{run_id}/samples/{sample_id}
curl \
 --request GET 'https://sampleplatform.ccextractor.org/api/v1/runs/{run_id}/samples/{sample_id}' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "run_id": 42,
  "sample_id": 42,
  "regression_id": 42,
  "category": "string",
  "command": "string",
  "status": "pass",
  "runtime_ms": 42,
  "exit_code": 42,
  "expected_exit_code": 42,
  "result_message": "string",
  "tags": [
    "string"
  ],
  "outputs": [
    {
      "output_id": 42,
      "status": "match",
      "expected_hash": "string",
      "actual_hash": "string"
    }
  ]
}
Response examples (401)
{
  "code": "unauthorized",
  "message": "Bearer token is missing, expired, or invalid.",
  "details": {}
}
Response examples (404)
{
  "code": "not_found",
  "message": "Run 9317 not found.",
  "details": {
    "resource": "run",
    "id": 9317
  }
}
Response examples (429)
{
  "code": "rate_limited",
  "message": "Rate limit exceeded. Retry after 30 seconds.",
  "details": {
    "retry_after": 30,
    "limit": 120,
    "window": "60s"
  }
}
Response examples (default)
{
  "code": "not_found",
  "message": "Run 9317 not found.",
  "details": {}
}