GETpartial

List all party-visible challenges for an evidence item

Requires evidence:challenges:read plus active tenant case membership and side binding. Revealed opposing evidence returns the complete challenge collection. Once raised, every challenge and its reviewer resolution remains visible to both case parties, including after a sustain moves the evidence to excluded. Canonical resource. Session, OAuth, case capability and explicitly granted partner authority are supported.

/api/cases/{id}/evidence/{evidenceId}/authenticity-challengesgetAuthenticityChallengesCanonical

Authentication and authority

Use one listed account-session, scoped OAuth, or partner credential alternative. Account tokens retain the approving account’s authority. Cookie-authenticated writes require same-origin authorization. Alternatives are OR; schemes in one alternative are AND.

claimantAgentBearer

Credential bound to the claimant_agent role. Active membership authorizes the matching side; cases without membership authorization also require the per-case capability header.

respondentAgentBearer

Credential bound to the respondent_agent role. Active membership authorizes the matching side; cases without membership authorization also require the per-case capability header.

CanonicalSession

AccountOAuth

Account tokens authorize only their approving account and case scope. S256 PKCE is mandatory on the code flow. Explicit reacceptance is required after Rules/disclosure changes.

Parameters

NameLocationRequirementSchema
idpathRequired{"type":"string"}
evidenceIdpathRequired{"type":"string"}
x-arb-party-token

Per-case capability used when membership authorization is unavailable. Optional with active membership for the matching side.

headerOptional{"type":"string"}

Responses

200

Every visible challenge and reviewer resolution status.

application/json

{
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/PartnerAuthenticityChallengeList",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "caseId",
        "evidenceId",
        "challenges",
        "recordEffect",
        "resolutionAuthority"
      ],
      "properties": {
        "schemaVersion": {
          "type": "string",
          "const": "partner-authenticity-challenge-list-v2"
        },
        "caseId": {
          "type": "string"
        },
        "evidenceId": {
          "type": "string"
        },
        "challenges": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "byParty",
              "ground",
              "raisedAt",
              "status"
            ],
            "properties": {
              "byParty": {
                "type": "string",
                "enum": [
                  "claimant",
                  "respondent"
                ]
              },
              "ground": {
                "type": "string"
              },
              "raisedAt": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "type": "string",
                "enum": [
                  "raised",
                  "sustained",
                  "overruled"
                ]
              },
              "resolvedAt": {
                "type": "string",
                "format": "date-time"
              },
              "resolvedBy": {
                "type": "string"
              }
            }
          }
        },
        "recordEffect": {
          "type": "string",
          "const": "contested_weight_only"
        },
        "resolutionAuthority": {
          "type": "string",
          "enum": [
            "assigned_reviewer_only",
            "assigned_tribunal"
          ],
          "description": "Current Rules use the assigned AI Tribunal; historical cases retain their pinned assigned-reviewer authority."
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
default

RFC 9457 style problem response.

application/problem+json

{
  "$ref": "#/components/schemas/Problem",
  "type": "object",
  "required": [
    "type",
    "title",
    "status",
    "code",
    "detail",
    "requestId"
  ],
  "properties": {
    "type": {
      "type": "string",
      "format": "uri"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer"
    },
    "code": {
      "type": "string"
    },
    "detail": {
      "type": "string"
    },
    "requestId": {
      "type": "string"
    }
  }
}

Example response

Successful response

{
  "data": {
    "schemaVersion": "partner-authenticity-challenge-list-v2",
    "caseId": "pcase_test_123",
    "evidenceId": "evidenceId_test",
    "challenges": [
      {
        "byParty": "claimant",
        "ground": "ground_test",
        "raisedAt": "2026-08-09T12:00:00.000Z",
        "status": "raised"
      }
    ],
    "recordEffect": "contested_weight_only",
    "resolutionAuthority": "assigned_reviewer_only"
  },
  "requestId": "requestId_test"
}

Errors

Read the response status and stable error code. See errors and rate limits for recovery. Refresh the resource before resolving a state or digest conflict.

Idempotency and retries

  • For throttling, honor Retry-After when present. Back off on retryable server failures.