Home / Docs / API reference

/api/relay/scorecards

GET /api/relay/scorecards

Authentication signed-in session; roles: admin, fde, operator

Response

FieldTypeDescription
window requiredstring One of: 24h, 30d.
cards requiredarray of object
cards[].id requiredstringThe answer's id.
cards[].provider requiredstring
cards[].model requiredstringThe model id. In a request it is optional: without it the key's routing chooses.
cards[].baseUrlFingerprint requiredstring
cards[].region requiredstring
cards[].windowKind requiredstring One of: 24h, 30d.
cards[].ttftP50Ms requiredinteger
cards[].ttftP95Ms requiredinteger
cards[].tokensPerSecP50 requirednumber
cards[].callsCounted requiredinteger
cards[].errorRatePct requirednumber
cards[].errorKinds requiredstring
cards[].availabilityPct requirednumber
cards[].probeContextOk requiredboolean
cards[].probeToolsOk requiredboolean
cards[].probeJsonModeOk requiredboolean
cards[].probeStreamingOk requiredboolean
cards[].probeGreenStreakDays requiredinteger
cards[].quality requiredstring
cards[].pricePerMillionMu requiredinteger
cards[].effectiveCostPerVerifiedTaskMu requiredinteger
cards[].personalOk requiredboolean
cards[].personalOkReason requiredstring
cards[].rentable requiredboolean
cards[].rentableReason requiredstring
cards[].computedAt requiredstring
Example response (shape)
{
  "window": "24h",
  "cards": [
    {
      "id": "<id>",
      "provider": "<provider>",
      "model": "provider/model-id",
      "baseUrlFingerprint": "<baseUrlFingerprint>",
      "region": "<region>",
      "windowKind": "24h",
      "ttftP50Ms": 0,
      "ttftP95Ms": 0,
      "tokensPerSecP50": 0,
      "callsCounted": 0,
      "errorRatePct": 0,
      "errorKinds": "<errorKinds>",
      "availabilityPct": 0,
      "probeContextOk": false,
      "probeToolsOk": false,
      "probeJsonModeOk": false,
      "probeStreamingOk": false,
      "probeGreenStreakDays": 0,
      "quality": "<quality>",
      "pricePerMillionMu": 0,
      "effectiveCostPerVerifiedTaskMu": 0,
      "personalOk": false,
      "personalOkReason": "<personalOkReason>",
      "rentable": false,
      "rentableReason": "<rentableReason>",
      "computedAt": "<computedAt>"
    }
  ]
}

Common errors

  • 401 not signed in

Every error has the same JSON shape; see Errors and Limits.

Full schema (JSON)

Response schema

{
  "type": "object",
  "properties": {
    "window": {
      "type": "string",
      "enum": [
        "24h",
        "30d"
      ]
    },
    "cards": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "baseUrlFingerprint": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "windowKind": {
            "type": "string",
            "enum": [
              "24h",
              "30d"
            ]
          },
          "ttftP50Ms": {
            "type": "integer",
            "nullable": true
          },
          "ttftP95Ms": {
            "type": "integer",
            "nullable": true
          },
          "tokensPerSecP50": {
            "type": "number",
            "nullable": true
          },
          "callsCounted": {
            "type": "integer"
          },
          "errorRatePct": {
            "type": "number",
            "nullable": true
          },
          "errorKinds": {
            "type": "string"
          },
          "availabilityPct": {
            "type": "number",
            "nullable": true
          },
          "probeContextOk": {
            "type": "boolean",
            "nullable": true
          },
          "probeToolsOk": {
            "type": "boolean",
            "nullable": true
          },
          "probeJsonModeOk": {
            "type": "boolean",
            "nullable": true
          },
          "probeStreamingOk": {
            "type": "boolean",
            "nullable": true
          },
          "probeGreenStreakDays": {
            "type": "integer"
          },
          "quality": {
            "type": "string",
            "nullable": true
          },
          "pricePerMillionMu": {
            "type": "integer",
            "nullable": true
          },
          "effectiveCostPerVerifiedTaskMu": {
            "type": "integer",
            "nullable": true
          },
          "personalOk": {
            "type": "boolean"
          },
          "personalOkReason": {
            "type": "string"
          },
          "rentable": {
            "type": "boolean"
          },
          "rentableReason": {
            "type": "string"
          },
          "computedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "provider",
          "model",
          "baseUrlFingerprint",
          "region",
          "windowKind",
          "ttftP50Ms",
          "ttftP95Ms",
          "tokensPerSecP50",
          "callsCounted",
          "errorRatePct",
          "errorKinds",
          "availabilityPct",
          "probeContextOk",
          "probeToolsOk",
          "probeJsonModeOk",
          "probeStreamingOk",
          "probeGreenStreakDays",
          "quality",
          "pricePerMillionMu",
          "effectiveCostPerVerifiedTaskMu",
          "personalOk",
          "personalOkReason",
          "rentable",
          "rentableReason",
          "computedAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "window",
    "cards"
  ],
  "additionalProperties": false
}