{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/nullable-simple-commit",
  "title": "Simple Commit",
  "description": "A commit.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "SHA for the commit",
      "example": "7638417db6d59f3c431d3e1f261cc637155684cd"
    },
    "tree_id": {
      "type": "string",
      "description": "SHA for the commit's tree"
    },
    "message": {
      "description": "Message describing the purpose of the commit",
      "example": "Fix #42",
      "type": "string"
    },
    "timestamp": {
      "description": "Timestamp of the commit",
      "example": "2014-08-09T08:02:04+12:00",
      "format": "date-time",
      "type": "string"
    },
    "author": {
      "type": "object",
      "description": "Information about the Git author",
      "properties": {
        "name": {
          "description": "Name of the commit's author",
          "example": "Monalisa Octocat",
          "type": "string"
        },
        "email": {
          "description": "Git email address of the commit's author",
          "example": "monalisa.octocat@example.com",
          "type": "string",
          "format": "email"
        }
      },
      "required": [
        "name",
        "email"
      ],
      "nullable": true
    },
    "committer": {
      "type": "object",
      "description": "Information about the Git committer",
      "properties": {
        "name": {
          "description": "Name of the commit's committer",
          "example": "Monalisa Octocat",
          "type": "string"
        },
        "email": {
          "description": "Git email address of the commit's committer",
          "example": "monalisa.octocat@example.com",
          "type": "string",
          "format": "email"
        }
      },
      "required": [
        "name",
        "email"
      ],
      "nullable": true
    }
  },
  "required": [
    "id",
    "tree_id",
    "message",
    "timestamp",
    "author",
    "committer"
  ],
  "nullable": true
}