{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$ref": "#/definitions/BundleEntryRequest",
  "definitions": {
    "BundleEntryRequest": {
      "type": "object",
      "properties": {
        "method": {
          "type": "string",
          "enum": [
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "DELETE",
            "PATCH"
          ],
          "description": "The HTTP method for this entry.\n\n- `GET` — Read the resource\n- `HEAD` — Check resource existence (headers only)\n- `POST` — Create a new resource\n- `PUT` — Create or update a resource\n- `DELETE` — Remove a resource\n- `PATCH` — Partially update a resource"
        },
        "url": {
          "type": "string",
          "description": "The URL for this entry, relative to the server base.",
          "format": "uri"
        },
        "ifNoneMatch": {
          "type": "string",
          "description": "Only perform the operation if the ETag does not match (for caching). Maps to the HTTP `If-None-Match` header."
        },
        "ifModifiedSince": {
          "type": "string",
          "description": "Only perform the operation if the resource was modified after this date. Maps to the HTTP `If-Modified-Since` header.",
          "format": "date-time"
        },
        "ifMatch": {
          "type": "string",
          "description": "Only perform the operation if the ETag matches (for concurrency control). Maps to the HTTP `If-Match` header."
        },
        "ifNoneExist": {
          "type": "string",
          "description": "Only perform the create if no resource already matches the given criteria. Prevents duplicate creation in POST operations."
        }
      },
      "required": [
        "method",
        "url"
      ],
      "additionalProperties": false,
      "description": "Request metadata for an entry in a transaction or batch bundle. Describes the HTTP operation the server should perform for this entry.",
      "examples": [
        {
          "method": "PUT",
          "url": "Policy/pol-2025-1001"
        }
      ]
    }
  },
  "$id": "https://bind-standard.org/schema/BundleEntryRequest",
  "title": "BundleEntryRequest"
}
