{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "The commit message."
    },
    "content": {
      "type": "string",
      "description": "The new file content, using Base64 encoding."
    },
    "sha": {
      "type": "string",
      "description": "**Required if you are updating a file**. The blob SHA of the file being replaced."
    },
    "branch": {
      "type": "string",
      "description": "The branch name. Default: the repository’s default branch."
    },
    "committer": {
      "type": "object",
      "description": "The person that committed the file. Default: the authenticated user.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted."
        },
        "email": {
          "type": "string",
          "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted."
        },
        "date": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "email"
      ]
    },
    "author": {
      "type": "object",
      "description": "The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted."
        },
        "email": {
          "type": "string",
          "description": "The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted."
        },
        "date": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "email"
      ]
    }
  },
  "required": [
    "message",
    "content"
  ],
  "$schema": "https://json-schema.org/draft/2019-09/schema"
}