{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/easyvcr-net",
  "$comment": "https://github.com/EasyPost/easyvcr-csharp",
  "title": "EasyVCR .NET cassette",
  "description": "A schema for an EasyVCR .NET recording\nhttps://github.com/EasyPost/easyvcr-csharp",
  "type": "array",
  "items": {
    "type": "object",
    "additionalProperties": true,
    "properties": {
      "Duration": {
        "title": "Duration",
        "description": "How long, in milliseconds, the recorded request took to complete",
        "type": "integer"
      },
      "RecordedAt": {
        "title": "Recorded at",
        "description": "When the request was recorded",
        "type": "string",
        "format": "date-time"
      },
      "Request": {
        "title": "Request",
        "description": "The request that was recorded",
        "type": "object",
        "properties": {
          "Body": {
            "title": "Body",
            "description": "The request body",
            "type": "string"
          },
          "BodyContentType": {
            "title": "Body content type",
            "description": "The type of content in the request body",
            "type": "string"
          },
          "ContentHeaders": {
            "title": "Content headers",
            "description": "The request content headers",
            "type": "object"
          },
          "Method": {
            "title": "Method",
            "description": "The HTTP method",
            "type": "string"
          },
          "RequestHeaders": {
            "title": "Request headers",
            "description": "The request headers",
            "type": "object"
          },
          "Uri": {
            "title": "Uri",
            "description": "The request URI",
            "type": "string"
          }
        }
      },
      "Response": {
        "title": "Response",
        "description": "The response that was recorded",
        "type": "object",
        "properties": {
          "Body": {
            "title": "Body",
            "description": "The response body",
            "type": "string"
          },
          "BodyContentType": {
            "title": "Body content type",
            "description": "The type of content in the response body",
            "type": "string"
          },
          "ContentHeaders": {
            "title": "Content headers",
            "description": "The response content headers",
            "type": "object"
          },
          "HttpVersion": {
            "title": "HTTP version",
            "description": "The HTTP version",
            "type": "string"
          },
          "ResponseHeaders": {
            "title": "Response headers",
            "description": "The response headers",
            "type": "object"
          },
          "Status": {
            "title": "Status",
            "description": "The HTTP status",
            "type": "object",
            "properties": {
              "Code": {
                "title": "Code",
                "description": "The HTTP status code",
                "type": "integer"
              },
              "Message": {
                "title": "Description",
                "description": "The HTTP status code description",
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}
