openapi: 3.0.4
info:
  title: Altitude Web API
  description: |-
    The API for the Altitude website
  version: 1.0.0
servers:
  - url: https://alttd.com/api/v3
components:
  schemas:
    PermissionClaim:
      $ref: './schemas/permissions/permissions.yml#/components/schemas/PermissionClaim'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
tags:
  - name: history
    description: Retrieves punishment history
  - name: team
    description: Retrieves information about the staff team
  - name: particles
    description: All actions related to particles
  - name: forms
    description: All actions shared between forms
  - name: appeals
    description: All action related to appeals
  - name: mail
    description: All actions related to user email verification
  - name: site
    description: Actions related to small features on the site such as displaying vote stats or pt/rank stats
  - name: chatInfo
    description: All actions related to chat information
paths:
  /api/team/{team}:
    $ref: './schemas/team/team.yml#/getTeam'
  /api/history/{userType}/search/{type}:
    $ref: './schemas/bans/bans.yml#/getUserNames'
  /api/history/{userType}/name/{type}/{user}/{page}:
    $ref: './schemas/bans/bans.yml#/getHistoryForUsers'
  /api/history/{userType}/name/{type}/{page}:
    $ref: './schemas/bans/bans.yml#/getHistoryForAll'
  /api/history/{userType}/uuid/{type}/{uuid}/{page}:
    $ref: './schemas/bans/bans.yml#/getHistoryForUuid'
  /api/history/{userType}/search-results/uuid/{type}/{uuid}:
    $ref: './schemas/bans/bans.yml#/getTotalResultsForUuidSearch'
  /api/history/{userType}/search-results/user/{type}/{user}:
    $ref: './schemas/bans/bans.yml#/getTotalResultsForUserSearch'
  /api/history/single/{type}/{id}:
    $ref: './schemas/bans/bans.yml#/getHistoryById'
  /api/history/all/{uuid}:
    $ref: './schemas/bans/bans.yml#/getAllHistoryForUUID'
  /api/history/total:
    $ref: './schemas/bans/bans.yml#/getTotalPunishments'
  /api/history/admin/{type}/{id}/reason:
    $ref: './schemas/bans/bans.yml#/updatePunishmentReason'
  /api/history/admin/{type}/{id}/until:
    $ref: './schemas/bans/bans.yml#/updatePunishmentUntil'
  /api/history/admin/{type}/{id}:
    $ref: './schemas/bans/bans.yml#/removePunishment'
  /api/appeal/update-mail:
    $ref: './schemas/forms/appeal/appeal.yml#/UpdateMail'
  /api/appeal/discord/getBannedUser:
    $ref: './schemas/forms/appeal/discordAppeal.yml#/getBannedUser'
  /api/appeal/minecraft-appeal:
    $ref: './schemas/forms/appeal/appeal.yml#/MinecraftAppeal'
  /api/appeal/discord-appeal:
    $ref: './schemas/forms/appeal/appeal.yml#/DiscordAppeal'
  /api/apply/staff-application:
    $ref: './schemas/forms/staff_apply/staff_apply.yml#/StaffApply'
  /api/apply/staff-application-is-open:
    $ref: './schemas/forms/staff_apply/staff_apply.yml#/StaffApplicationsIsOpen'
  /api/login/requestNewUserLogin/{uuid}:
    $ref: './schemas/login/login.yml#/RequestNewUserLogin'
  /api/login/userLogin/{code}:
    $ref: './schemas/login/login.yml#/UserLogin'
  /api/login/getUsername:
    $ref: './schemas/login/login.yml#/GetUsername'
  /api/files/save/{filename}:
    $ref: './schemas/particles/particles.yml#/SaveFile'
  /api/files/save/{uuid}/{filename}:
    $ref: './schemas/particles/particles.yml#/SaveFileForUser'
  /api/files/download/{filename}:
    $ref: './schemas/particles/particles.yml#/DownloadFile'
  /api/files/download/{uuid}/{filename}:
    $ref: './schemas/particles/particles.yml#/DownloadFileForUser'
  /api/mail/submit:
    $ref: './schemas/forms/mail/mail.yml#/SubmitEmail'
  /api/mail/verify:
    $ref: './schemas/forms/mail/mail.yml#/VerifyCode'
  /api/mail/resend:
    $ref: './schemas/forms/mail/mail.yml#/ResendEmail'
  /api/mail/delete:
    $ref: './schemas/forms/mail/mail.yml#/DeleteEmail'
  /api/mail/list:
    $ref: './schemas/forms/mail/mail.yml#/GetEmails'
  /api/site/vote:
    $ref: './schemas/site/vote.yml#/VoteStats'
  /api/site/get-staff-playtime/{from}/{to}:
    $ref: './schemas/site/staff_pt.yml#/GetStaffPlaytime'
  /api/site/chat/party/{id}/name:
    $ref: './schemas/chat_info/chat_info.yml#/PartyName'
  /api/site/chat/player/{uuid}/name:
    $ref: './schemas/chat_info/chat_info.yml#/UserName'
