{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/yelp/json-schema/yelp-webhook-key-set-schema.json",
  "title": "WebhookKeySet",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/yelp-webhooks-api-openapi.yml#/components/schemas/WebhookKeySet",
  "type": "object",
  "properties": {
    "keys": {
      "description": "An array of JSON Web Keys (JWK) used to verify webhook signatures.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/WebhookKey"
      }
    }
  },
  "required": [
    "keys"
  ],
  "$defs": {
    "WebhookKey": {
      "type": "object",
      "description": "A JSON Web Key (JWK) representing an Ed25519 public key used to verify webhook payload signatures.",
      "properties": {
        "kty": {
          "description": "Key type. Always `OKP` for Ed25519 keys.",
          "type": "string",
          "enum": [
            "OKP"
          ]
        },
        "crv": {
          "description": "Curve name. Always `Ed25519`.",
          "type": "string",
          "enum": [
            "Ed25519"
          ]
        },
        "kid": {
          "description": "Key ID. Matches the `X-Yelp-Webhook-Key-Id` header on webhook deliveries, allowing you to select the correct key for verification.",
          "type": "string"
        },
        "use": {
          "description": "Key usage. Always `sig` (signature).",
          "type": "string",
          "enum": [
            "sig"
          ]
        },
        "x": {
          "description": "The Base64url-encoded public key material.",
          "type": "string"
        }
      },
      "required": [
        "kty",
        "crv",
        "kid",
        "use",
        "x"
      ]
    }
  }
}