{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/gitea/main/json-schema/gitea-rest-api-release-schema.json",
  "title": "Release",
  "description": "Release represents a repository release",
  "type": "object",
  "properties": {
    "assets": {
      "description": "The files attached to the release",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Attachment"
      },
      "x-go-name": "Attachments"
    },
    "author": {
      "$ref": "#/$defs/User"
    },
    "body": {
      "description": "The release notes or description",
      "type": "string",
      "x-go-name": "Note"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "x-go-name": "CreatedAt"
    },
    "draft": {
      "description": "Whether the release is a draft",
      "type": "boolean",
      "x-go-name": "IsDraft"
    },
    "html_url": {
      "description": "The HTML URL to view the release",
      "type": "string",
      "x-go-name": "HTMLURL"
    },
    "id": {
      "description": "The unique identifier of the release",
      "type": "integer",
      "format": "int64",
      "x-go-name": "ID"
    },
    "name": {
      "description": "The display title of the release",
      "type": "string",
      "x-go-name": "Title"
    },
    "prerelease": {
      "description": "Whether the release is a prerelease",
      "type": "boolean",
      "x-go-name": "IsPrerelease"
    },
    "published_at": {
      "type": "string",
      "format": "date-time",
      "x-go-name": "PublishedAt"
    },
    "tag_name": {
      "description": "The name of the git tag associated with the release",
      "type": "string",
      "x-go-name": "TagName"
    },
    "tarball_url": {
      "description": "The URL to download the tarball archive",
      "type": "string",
      "x-go-name": "TarURL"
    },
    "target_commitish": {
      "description": "The target commitish for the release",
      "type": "string",
      "x-go-name": "Target"
    },
    "upload_url": {
      "description": "The URL template for uploading release assets",
      "type": "string",
      "x-go-name": "UploadURL"
    },
    "url": {
      "description": "The API URL of the release",
      "type": "string",
      "x-go-name": "URL"
    },
    "zipball_url": {
      "description": "The URL to download the zip archive",
      "type": "string",
      "x-go-name": "ZipURL"
    }
  },
  "x-go-package": "code.gitea.io/gitea/modules/structs",
  "$defs": {
    "User": {
      "description": "User represents a user",
      "type": "object",
      "properties": {
        "active": {
          "description": "Is user active",
          "type": "boolean",
          "x-go-name": "IsActive"
        },
        "avatar_url": {
          "description": "URL to the user's avatar",
          "type": "string",
          "x-go-name": "AvatarURL"
        },
        "created": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "description": {
          "description": "the user's description",
          "type": "string",
          "x-go-name": "Description"
        },
        "email": {
          "type": "string",
          "format": "email",
          "x-go-name": "Email"
        },
        "followers_count": {
          "description": "user counts",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Followers"
        },
        "following_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "Following"
        },
        "full_name": {
          "description": "the user's full name",
          "type": "string",
          "x-go-name": "FullName"
        },
        "html_url": {
          "description": "URL to the user's gitea page",
          "type": "string",
          "x-go-name": "HTMLURL"
        },
        "id": {
          "description": "the user's id",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "is_admin": {
          "description": "Is the user an administrator",
          "type": "boolean",
          "x-go-name": "IsAdmin"
        },
        "language": {
          "description": "User locale",
          "type": "string",
          "x-go-name": "Language"
        },
        "last_login": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "LastLogin"
        },
        "location": {
          "description": "the user's location",
          "type": "string",
          "x-go-name": "Location"
        },
        "login": {
          "description": "login of the user, same as `username`",
          "type": "string",
          "x-go-name": "UserName"
        },
        "login_name": {
          "description": "identifier of the user, provided by the external authenticator (if configured)",
          "type": "string",
          "default": "empty",
          "x-go-name": "LoginName"
        },
        "prohibit_login": {
          "description": "Is user login prohibited",
          "type": "boolean",
          "x-go-name": "ProhibitLogin"
        },
        "restricted": {
          "description": "Is user restricted",
          "type": "boolean",
          "x-go-name": "Restricted"
        },
        "source_id": {
          "description": "The ID of the user's Authentication Source",
          "type": "integer",
          "format": "int64",
          "x-go-name": "SourceID"
        },
        "starred_repos_count": {
          "type": "integer",
          "format": "int64",
          "x-go-name": "StarredRepos"
        },
        "visibility": {
          "description": "User visibility level option: public, limited, private",
          "type": "string",
          "x-go-name": "Visibility"
        },
        "website": {
          "description": "the user's website",
          "type": "string",
          "x-go-name": "Website"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    },
    "Attachment": {
      "description": "Attachment a generic attachment",
      "type": "object",
      "properties": {
        "browser_download_url": {
          "description": "DownloadURL is the URL to download the attachment",
          "type": "string",
          "x-go-name": "DownloadURL"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "x-go-name": "Created"
        },
        "download_count": {
          "description": "DownloadCount is the number of times the attachment has been downloaded",
          "type": "integer",
          "format": "int64",
          "x-go-name": "DownloadCount"
        },
        "id": {
          "description": "ID is the unique identifier for the attachment",
          "type": "integer",
          "format": "int64",
          "x-go-name": "ID"
        },
        "name": {
          "description": "Name is the filename of the attachment",
          "type": "string",
          "x-go-name": "Name"
        },
        "size": {
          "description": "Size is the file size in bytes",
          "type": "integer",
          "format": "int64",
          "x-go-name": "Size"
        },
        "uuid": {
          "description": "UUID is the unique identifier for the attachment file",
          "type": "string",
          "x-go-name": "UUID"
        }
      },
      "x-go-package": "code.gitea.io/gitea/modules/structs"
    }
  }
}