{
  "description": "Worked signing examples for the Record Status API. Use the signingSecret below with each method, path, body and timestamp; your code must produce exactly bodySha256, stringToSign (lines joined by a single \\n, no trailing newline) and signature (lowercase hex). The secret is an example only and works against no server. A live server also rejects these requests because the timestamp is in the past.",
  "signingSecret": "example_signing_secret_NOT_A_REAL_SECRET",
  "vectors": [
    {
      "name": "GET one record",
      "method": "GET",
      "path": "/v1/attestations/AbC123xYz",
      "body": "",
      "timestamp": "2026-10-14T15:04:05Z",
      "bodySha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "stringToSign": "GET\n/v1/attestations/AbC123xYz\ne3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n2026-10-14T15:04:05Z",
      "signature": "2cccbcc6939a50959c6161ba27b6c41c7c30c38d233d2a1bba4d80b2bdf138d5"
    },
    {
      "name": "POST batch",
      "method": "POST",
      "path": "/v1/attestations:batch",
      "body": "{\"recordIds\":[\"AbC123xYz\",\"DeF456uVw\"]}",
      "timestamp": "2026-10-14T15:04:05Z",
      "bodySha256": "0566b81f859748c30ac2d5174cbdb0d5f1a0014159780ff2f209d1ecc0b70f12",
      "stringToSign": "POST\n/v1/attestations:batch\n0566b81f859748c30ac2d5174cbdb0d5f1a0014159780ff2f209d1ecc0b70f12\n2026-10-14T15:04:05Z",
      "signature": "886527421ce6762661cfafb6161e9df5329262cc961183daa9b57ce7af348923"
    },
    {
      "name": "POST connection code (empty body)",
      "method": "POST",
      "path": "/v1/connection-codes",
      "body": "",
      "timestamp": "2026-10-14T15:04:05Z",
      "bodySha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "stringToSign": "POST\n/v1/connection-codes\ne3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n2026-10-14T15:04:05Z",
      "signature": "ce9435c4a6901de383e1ea9fcde3f4e91c79e3a7faab671b978605b6c287c0a7"
    }
  ]
}
