{
  "openapi": "3.0.1",
  "info": {
    "title": "JustGains-API",
    "version": "1.0"
  },
  "paths": {
    "/api/auth/register": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/me": {
      "get": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/refresh": {
      "post": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/logout": {
      "post": {
        "tags": [
          "Auth"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/signup": {
      "post": {
        "tags": [
          "Authen"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/signin": {
      "post": {
        "tags": [
          "Authen"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/resend-confirmation-email": {
      "post": {
        "tags": [
          "Authen"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmEmailRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmEmailRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmEmailRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmEmailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/forgot-password": {
      "post": {
        "tags": [
          "Authen"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotPasswordRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotPasswordRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotPasswordRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotPasswordRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/reset-password": {
      "post": {
        "tags": [
          "Authen"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/refresh-token": {
      "post": {
        "tags": [
          "Authen"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/signout": {
      "post": {
        "tags": [
          "Authen"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/auth/user": {
      "get": {
        "tags": [
          "Authen"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Authen"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/creator-profiles": {
      "get": {
        "tags": [
          "CreatorProfiles"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "CreatorProfiles"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorProfileRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorProfileRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorProfileRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreatorProfileResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatorProfileResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatorProfileResponse"
                }
              }
            }
          }
        }
      }
    },
    "/creator-profiles/{creatorProfileId}": {
      "get": {
        "tags": [
          "CreatorProfiles"
        ],
        "parameters": [
          {
            "name": "creatorProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "CreatorProfiles"
        ],
        "parameters": [
          {
            "name": "creatorProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorProfileRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorProfileRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorProfileRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatorProfileRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "CreatorProfiles"
        ],
        "parameters": [
          {
            "name": "creatorProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/equipment": {
      "get": {
        "tags": [
          "Equipment"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Equipment"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/equipment/{equipmentCode}": {
      "get": {
        "tags": [
          "Equipment"
        ],
        "parameters": [
          {
            "name": "equipmentCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Equipment"
        ],
        "parameters": [
          {
            "name": "equipmentCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Equipment"
        ],
        "parameters": [
          {
            "name": "equipmentCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/equipment/{equipmentCode}/translations": {
      "get": {
        "tags": [
          "Equipment"
        ],
        "parameters": [
          {
            "name": "equipmentCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Equipment"
        ],
        "parameters": [
          {
            "name": "equipmentCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentTranslationRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentTranslationRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentTranslationRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentTranslationRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/equipment-groups": {
      "get": {
        "tags": [
          "EquipmentGroups"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "EquipmentGroups"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentGroupRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentGroupRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentGroupRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/equipment-groups/{equipmentGroupCode}": {
      "get": {
        "tags": [
          "EquipmentGroups"
        ],
        "parameters": [
          {
            "name": "equipmentGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "EquipmentGroups"
        ],
        "parameters": [
          {
            "name": "equipmentGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentGroupRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentGroupRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentGroupRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EquipmentGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "EquipmentGroups"
        ],
        "parameters": [
          {
            "name": "equipmentGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/equipment-groups/{equipmentGroupCode}/translations": {
      "get": {
        "tags": [
          "EquipmentGroups"
        ],
        "parameters": [
          {
            "name": "equipmentGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "EquipmentGroups"
        ],
        "parameters": [
          {
            "name": "equipmentGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentGroupTranslationDto"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentGroupTranslationDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentGroupTranslationDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentGroupTranslationDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise": {
      "get": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCategoryCodes",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "exerciseTypes",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "exerciseMetrics",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "publishedStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "muscleCodes",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "nameSearch",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          },
          {
            "name": "pageIndex",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExercisePreviewPaginatedApiResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExercisePreviewPaginatedApiResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExercisePreviewPaginatedApiResponse"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/{exerciseCode}": {
      "get": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/upload": {
      "post": {
        "tags": [
          "Exercise"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/{exerciseCode}/muscle-groups": {
      "get": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/{exerciseCode}/translations": {
      "get": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/{exerciseCode}/videos": {
      "get": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseVideoDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseVideoDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseVideoDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseVideoDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/{exerciseCode}/videos/{userId}": {
      "get": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/{exerciseCode}/videos/{userId}/{exerciseVideoId}": {
      "put": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "exerciseVideoId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseVideoDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseVideoDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseVideoDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseVideoDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "exerciseVideoId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/{exerciseCode}/instructions": {
      "get": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseInstructionRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseInstructionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseInstructionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseInstructionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise/{exerciseCode}/instructions/{localeCode}/{userId}": {
      "get": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "localeCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseInstructionUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseInstructionUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseInstructionUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseInstructionUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Exercise"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "localeCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-categories": {
      "get": {
        "tags": [
          "ExerciseCategory"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "ExerciseCategory"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseCategoryRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseCategoryRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseCategoryRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseCategoryRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-categories/{exerciseCategoryCode}": {
      "get": {
        "tags": [
          "ExerciseCategory"
        ],
        "parameters": [
          {
            "name": "exerciseCategoryCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "ExerciseCategory"
        ],
        "parameters": [
          {
            "name": "exerciseCategoryCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseCategoryUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseCategoryUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseCategoryUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseCategoryUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "ExerciseCategory"
        ],
        "parameters": [
          {
            "name": "exerciseCategoryCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-categories/{exerciseCategoryCode}/translations": {
      "get": {
        "tags": [
          "ExerciseCategory"
        ],
        "parameters": [
          {
            "name": "exerciseCategoryCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "ExerciseCategory"
        ],
        "parameters": [
          {
            "name": "exerciseCategoryCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExerciseCategoryTranslationRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExerciseCategoryTranslationRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExerciseCategoryTranslationRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExerciseCategoryTranslationRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-draft": {
      "put": {
        "tags": [
          "ExerciseDraft"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-instructions/{exerciseCode}/{localeCode}/{userId}": {
      "get": {
        "tags": [
          "ExerciseInstruction"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "localeCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-instructions/{exerciseCode}": {
      "delete": {
        "tags": [
          "ExerciseInstruction"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-metrics": {
      "get": {
        "tags": [
          "ExerciseMetric"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "ExerciseMetric"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseMetricCreateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseMetricCreateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseMetricCreateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseMetricCreateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-metrics/{metricCode}": {
      "get": {
        "tags": [
          "ExerciseMetric"
        ],
        "parameters": [
          {
            "name": "metricCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "ExerciseMetric"
        ],
        "parameters": [
          {
            "name": "metricCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseMetricUpdateRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseMetricUpdateRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseMetricUpdateRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ExerciseMetricUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "ExerciseMetric"
        ],
        "parameters": [
          {
            "name": "metricCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-metrics/{metricCode}/translations": {
      "get": {
        "tags": [
          "ExerciseMetric"
        ],
        "parameters": [
          {
            "name": "metricCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-videos": {
      "get": {
        "tags": [
          "ExerciseVideo"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-videos/{exerciseCode}": {
      "get": {
        "tags": [
          "ExerciseVideo"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-videos/{exerciseCode}/{userId}": {
      "get": {
        "tags": [
          "ExerciseVideo"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/exercise-videos/{exerciseCode}/{userId}/{mediaId}": {
      "get": {
        "tags": [
          "ExerciseVideo"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "ExerciseVideo"
        ],
        "parameters": [
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/": {
      "get": {
        "tags": [
          "JustGains-API"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/locales": {
      "get": {
        "tags": [
          "Locale"
        ],
        "parameters": [
          {
            "name": "showAll",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Locale"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/LocaleDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocaleDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LocaleDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LocaleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Locale"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Locale"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Locale"
                }
              }
            }
          }
        }
      }
    },
    "/api/locales/{localCode}": {
      "get": {
        "tags": [
          "Locale"
        ],
        "parameters": [
          {
            "name": "localCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/locales/{localeCode}": {
      "put": {
        "tags": [
          "Locale"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/LocaleDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocaleDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LocaleDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LocaleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/media-assets": {
      "get": {
        "tags": [
          "MediaAsset"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "MediaAsset"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "mediaType": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "uploadDirectory": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                },
                "mediaType": {
                  "style": "form"
                },
                "description": {
                  "style": "form"
                },
                "uploadDirectory": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/media-assets/{mediaId}": {
      "get": {
        "tags": [
          "MediaAsset"
        ],
        "parameters": [
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "MediaAsset"
        ],
        "parameters": [
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MediaAsset"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MediaAsset"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MediaAsset"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MediaAsset"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "MediaAsset"
        ],
        "parameters": [
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/media-assets/{mediaId}/content": {
      "get": {
        "tags": [
          "MediaAsset"
        ],
        "parameters": [
          {
            "name": "mediaId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/muscles": {
      "get": {
        "tags": [
          "Muscle"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/muscles/{muscleCode}": {
      "get": {
        "tags": [
          "Muscle"
        ],
        "parameters": [
          {
            "name": "muscleCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locale",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Muscle"
        ],
        "parameters": [
          {
            "name": "muscleCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/muscles/{muscleCode}/translations": {
      "get": {
        "tags": [
          "Muscle"
        ],
        "parameters": [
          {
            "name": "muscleCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Muscle"
        ],
        "parameters": [
          {
            "name": "muscleCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MuscleTranslationDto"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MuscleTranslationDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MuscleTranslationDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MuscleTranslationDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/muscle-groups": {
      "get": {
        "tags": [
          "MuscleGroup"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "MuscleGroup"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleGroupRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleGroupRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleGroupRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/muscle-groups/{muscleGroupCode}": {
      "get": {
        "tags": [
          "MuscleGroup"
        ],
        "parameters": [
          {
            "name": "muscleGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "MuscleGroup"
        ],
        "parameters": [
          {
            "name": "muscleGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleGroupRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleGroupRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleGroupRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MuscleGroupRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "MuscleGroup"
        ],
        "parameters": [
          {
            "name": "muscleGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/muscle-groups/{muscleGroupCode}/translations": {
      "get": {
        "tags": [
          "MuscleGroup"
        ],
        "parameters": [
          {
            "name": "muscleGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "MuscleGroup"
        ],
        "parameters": [
          {
            "name": "muscleGroupCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MuscleGroupTranslationDto"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MuscleGroupTranslationDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MuscleGroupTranslationDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MuscleGroupTranslationDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/published-status": {
      "get": {
        "tags": [
          "PublishedStatuses"
        ],
        "parameters": [
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "PublishedStatuses"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PublishedStatusRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishedStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishedStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PublishedStatusRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/published-status/{publishedStatusCode}": {
      "get": {
        "tags": [
          "PublishedStatuses"
        ],
        "parameters": [
          {
            "name": "publishedStatusCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeCode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "en-US"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "PublishedStatuses"
        ],
        "parameters": [
          {
            "name": "publishedStatusCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/PublishedStatusRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishedStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishedStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PublishedStatusRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "PublishedStatuses"
        ],
        "parameters": [
          {
            "name": "publishedStatusCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/published-status/{publishedStatusCode}/translations": {
      "get": {
        "tags": [
          "PublishedStatuses"
        ],
        "parameters": [
          {
            "name": "publishedStatusCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/published-status/{exerciseCategoryCode}/translations": {
      "put": {
        "tags": [
          "PublishedStatuses"
        ],
        "parameters": [
          {
            "name": "exerciseCategoryCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PublishedStatusTranslationDto"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PublishedStatusTranslationDto"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PublishedStatusTranslationDto"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PublishedStatusTranslationDto"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/users": {
      "get": {
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/users/{id}": {
      "get": {
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/workouts": {
      "get": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "desc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Workout"
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Workout"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Workout"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Workout"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Workout"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/workouts/{workoutId}": {
      "get": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Workout"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Workout"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Workout"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Workout"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/workouts/{workoutId}/duplicate": {
      "post": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateWorkoutDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateWorkoutDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateWorkoutDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateWorkoutDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/workouts/{workoutId}/data": {
      "get": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/workouts/{workoutId}/data/{exerciseCode}": {
      "get": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkoutData"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkoutData"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkoutData"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkoutData"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkoutData"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkoutData"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkoutData"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WorkoutData"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Workout"
        ],
        "parameters": [
          {
            "name": "workoutId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "exerciseCode",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Block": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "nullable": true
          },
          "Type": {
            "type": "string",
            "nullable": true
          },
          "Data": {
            "$ref": "#/components/schemas/Data"
          }
        },
        "additionalProperties": false
      },
      "BlockDto": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "nullable": true
          },
          "Type": {
            "type": "string",
            "nullable": true
          },
          "Data": {
            "$ref": "#/components/schemas/DataDto"
          }
        },
        "additionalProperties": false
      },
      "ConfirmEmailRequest": {
        "required": [
          "Email"
        ],
        "type": "object",
        "properties": {
          "Email": {
            "type": "string",
            "nullable": true
          },
          "Password": {
            "type": "string",
            "nullable": true
          },
          "NewEmail": {
            "type": "string",
            "nullable": true
          },
          "RedirectUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatorProfile": {
        "type": "object",
        "properties": {
          "CreatorProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "UserId": {
            "type": "string",
            "format": "uuid"
          },
          "User": {
            "$ref": "#/components/schemas/User"
          },
          "CreatorEmail": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "ProfilePhoto": {
            "type": "string",
            "format": "uuid"
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "CreatorSocialMediaAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreatorSocialMediaAccount"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatorProfileRequest": {
        "type": "object",
        "properties": {
          "CreatorEmail": {
            "type": "string",
            "nullable": true
          },
          "ProfilePhoto": {
            "$ref": "#/components/schemas/MediaAssetIdRequest"
          },
          "SocialMediaAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreatorSocialMediaAccountDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatorProfileResponse": {
        "type": "object",
        "properties": {
          "CreatorProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "UserId": {
            "type": "string",
            "format": "uuid"
          },
          "CreatorEmail": {
            "type": "string",
            "nullable": true
          },
          "ProfilePhoto": {
            "$ref": "#/components/schemas/MediaAssetResponse"
          },
          "SocialMediaAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreatorSocialMediaAccount"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatorSocialMediaAccount": {
        "required": [
          "SocialMediaPlatformCode"
        ],
        "type": "object",
        "properties": {
          "CreatorProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "CreatorProfile": {
            "$ref": "#/components/schemas/CreatorProfile"
          },
          "SocialMediaPlatformCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "CreatorProfileUsername": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "SocialMediaPlatform": {
            "$ref": "#/components/schemas/SocialMediaPlatform"
          }
        },
        "additionalProperties": false
      },
      "CreatorSocialMediaAccountDto": {
        "type": "object",
        "properties": {
          "SocialMediaPlatformCode": {
            "type": "string",
            "nullable": true
          },
          "SocialMediaAccountUsername": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Data": {
        "type": "object",
        "properties": {
          "Text": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DataDto": {
        "type": "object",
        "properties": {
          "Text": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DuplicateWorkoutDto": {
        "type": "object",
        "properties": {
          "NewWorkoutTitle": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Equipment": {
        "required": [
          "EquipmentCode"
        ],
        "type": "object",
        "properties": {
          "EquipmentCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "EquipmentThumbnail": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "ExerciseEquipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseEquipment"
            },
            "nullable": true
          },
          "EquipmentTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EquipmentTranslation"
            },
            "nullable": true
          },
          "EquipmentEquipmentGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EquipmentEquipmentGroup"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentEquipmentGroup": {
        "required": [
          "EquipmentCode",
          "EquipmentGroupCode"
        ],
        "type": "object",
        "properties": {
          "EquipmentGroupCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "EquipmentGroup": {
            "$ref": "#/components/schemas/EquipmentGroup"
          },
          "EquipmentCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "Equipment": {
            "$ref": "#/components/schemas/Equipment"
          }
        },
        "additionalProperties": false
      },
      "EquipmentEquipmentGroupCreateRequest": {
        "required": [
          "EquipmentGroupCode"
        ],
        "type": "object",
        "properties": {
          "EquipmentGroupCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentGroup": {
        "required": [
          "EquipmentGroupCode"
        ],
        "type": "object",
        "properties": {
          "EquipmentGroupCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "EquipmentGroupThumbnail": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "EquipmentGroupParent": {
            "type": "string",
            "nullable": true
          },
          "EquipmentGroupType": {
            "type": "string",
            "nullable": true
          },
          "SortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "EquipmentGroupTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EquipmentGroupTranslation"
            },
            "nullable": true
          },
          "EquipmentEquipmentGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EquipmentEquipmentGroup"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentGroupRequest": {
        "required": [
          "EquipmentGroupCode"
        ],
        "type": "object",
        "properties": {
          "EquipmentGroupCode": {
            "type": "string",
            "nullable": true
          },
          "EquipmentGroupParent": {
            "type": "string",
            "nullable": true
          },
          "EquipmentGroupType": {
            "type": "string",
            "nullable": true
          },
          "SortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "EquipmentGroupMediaId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "Equipments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentGroupTranslation": {
        "required": [
          "EquipmentGroupCode",
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "EquipmentGroupCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "EquipmentGroup": {
            "$ref": "#/components/schemas/EquipmentGroup"
          },
          "LocaleCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "EquipmentGroupName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentGroupTranslationDto": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "EquipmentGroupName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentRequest": {
        "required": [
          "EquipmentCode"
        ],
        "type": "object",
        "properties": {
          "EquipmentCode": {
            "type": "string",
            "nullable": true
          },
          "EquipmentThumbnail": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "EquipmentEquipmentGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EquipmentEquipmentGroupCreateRequest"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentRequiredDto": {
        "type": "object",
        "properties": {
          "Required": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          },
          "Optional": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentTranslation": {
        "required": [
          "EquipmentCode",
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "EquipmentCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "Equipment": {
            "$ref": "#/components/schemas/Equipment"
          },
          "LocaleCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "EquipmentName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EquipmentTranslationRequest": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "EquipmentName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Exercise": {
        "required": [
          "ExerciseCode"
        ],
        "type": "object",
        "properties": {
          "CreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeletedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ExerciseCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "UserId": {
            "type": "string",
            "format": "uuid"
          },
          "User": {
            "$ref": "#/components/schemas/User"
          },
          "ExerciseTypeCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "ExerciseType": {
            "$ref": "#/components/schemas/ExerciseType"
          },
          "PublishedStatus": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "Difficulty": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "TechnicalComplexity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MetabolicEquivalent": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "IsPlateloaded": {
            "type": "boolean"
          },
          "IsCardio": {
            "type": "boolean"
          },
          "OlympicRating": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "PowerLifterRating": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "CalisthenicRating": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "PopularityRating": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MuscleStimulus": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "IsPlyometric": {
            "type": "boolean"
          },
          "IsIsometric": {
            "type": "boolean"
          },
          "IsCalisthenic": {
            "type": "boolean"
          },
          "IsWeighted": {
            "type": "boolean"
          },
          "IsUnilateral": {
            "type": "boolean"
          },
          "IsBodyweight": {
            "type": "boolean"
          },
          "AdminNotes": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "ExerciseTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseTranslation"
            },
            "nullable": true
          },
          "ExerciseVideos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseVideo"
            },
            "nullable": true
          },
          "ExerciseThumbnails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseThumbnail"
            },
            "nullable": true
          },
          "ExerciseInstructions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseInstruction"
            },
            "nullable": true
          },
          "ExerciseMuscles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseMuscle"
            },
            "nullable": true
          },
          "ExerciseEquipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseEquipment"
            },
            "nullable": true
          },
          "ExerciseExerciseCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseExerciseCategory"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseCategory": {
        "required": [
          "ExerciseCategoryCode"
        ],
        "type": "object",
        "properties": {
          "CreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeletedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ExerciseCategoryCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseCategoryTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseCategoryTranslation"
            },
            "nullable": true
          },
          "ExerciseExerciseCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseExerciseCategory"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseCategoryRequest": {
        "required": [
          "ExerciseCategoryCode"
        ],
        "type": "object",
        "properties": {
          "ExerciseCategoryCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseCategoryTranslation": {
        "required": [
          "ExerciseCategoryCode",
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "ExerciseCategoryCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseCategory": {
            "$ref": "#/components/schemas/ExerciseCategory"
          },
          "LocaleCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseCategoryName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseCategoryTranslationRequest": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "ExerciseCategoryName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseCategoryUpdateRequest": {
        "type": "object",
        "properties": {
          "ExerciseCategoryTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseCategoryTranslationRequest"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseDto": {
        "required": [
          "ExerciseCode"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "FileName": {
            "type": "string",
            "nullable": true
          },
          "ExerciseCode": {
            "type": "string",
            "nullable": true
          },
          "ExerciseName": {
            "type": "string",
            "nullable": true
          },
          "AlternateNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "PublishStatus": {
            "type": "string",
            "nullable": true
          },
          "Models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ModelDto"
            },
            "nullable": true
          },
          "ExerciseType": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "ExerciseMetrics": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "ExerciseDifficulty": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ExerciseComplexity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MetabolicEquivalent": {
            "type": "number",
            "format": "double"
          },
          "EquipmentRequired": {
            "$ref": "#/components/schemas/EquipmentRequiredDto"
          },
          "PrimaryMuscleGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MuscleGroupTargetDto"
            },
            "nullable": true
          },
          "SecondaryMuscleGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MuscleGroupTargetDto"
            },
            "nullable": true
          },
          "IsPlateLoaded": {
            "type": "boolean"
          },
          "ExerciseTechnicalComplexity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "IsCardio": {
            "type": "boolean"
          },
          "OlympicRating": {
            "type": "integer",
            "format": "int32"
          },
          "PowerlifterRating": {
            "type": "integer",
            "format": "int32"
          },
          "CalisthenicRating": {
            "type": "integer",
            "format": "int32"
          },
          "PopularityRating": {
            "type": "integer",
            "format": "int32"
          },
          "IsPlyometric": {
            "type": "boolean"
          },
          "IsIsometric": {
            "type": "boolean"
          },
          "IsCalisthenic": {
            "type": "boolean"
          },
          "IsWeighted": {
            "type": "boolean"
          },
          "IsUnilateral": {
            "type": "boolean"
          },
          "IsBodyweight": {
            "type": "boolean"
          },
          "AiNotes": {
            "type": "string",
            "nullable": true
          },
          "MuscleStimulus": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "ExerciseInstructions": {
            "$ref": "#/components/schemas/ExerciseInstructionDto"
          }
        },
        "additionalProperties": false
      },
      "ExerciseEquipment": {
        "required": [
          "EquipmentCode",
          "ExerciseCode",
          "IsRequired"
        ],
        "type": "object",
        "properties": {
          "ExerciseCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "Exercise": {
            "$ref": "#/components/schemas/Exercise"
          },
          "EquipmentCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "Equipment": {
            "$ref": "#/components/schemas/Equipment"
          },
          "EquipmentGroup": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "IsRequired": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ExerciseEquipmentDto": {
        "type": "object",
        "properties": {
          "Required": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "Optional": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseExerciseCategory": {
        "type": "object",
        "properties": {
          "ExerciseCategoryCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ExerciseCategory": {
            "$ref": "#/components/schemas/ExerciseCategory"
          },
          "ExerciseCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "Exercise": {
            "$ref": "#/components/schemas/Exercise"
          }
        },
        "additionalProperties": false
      },
      "ExerciseGroupType": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "ExerciseInstruction": {
        "required": [
          "ExerciseCode",
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "CreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeletedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ExerciseCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "Exercise": {
            "$ref": "#/components/schemas/Exercise"
          },
          "UserId": {
            "type": "string",
            "format": "uuid"
          },
          "User": {
            "$ref": "#/components/schemas/User"
          },
          "LocaleCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "InstructionJSON": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseInstructionData": {
        "type": "object",
        "properties": {
          "Time": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "Version": {
            "type": "string",
            "nullable": true
          },
          "Blocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Block"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseInstructionDto": {
        "type": "object",
        "properties": {
          "Time": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "Blocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BlockDto"
            },
            "nullable": true
          },
          "Version": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseInstructionRequest": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "InstructionJSON": {
            "$ref": "#/components/schemas/ExerciseInstructionData"
          }
        },
        "additionalProperties": false
      },
      "ExerciseInstructionUpdateRequest": {
        "type": "object",
        "properties": {
          "InstructionJSON": {
            "$ref": "#/components/schemas/ExerciseInstructionData"
          }
        },
        "additionalProperties": false
      },
      "ExerciseMetric": {
        "required": [
          "ExerciseMetricCode"
        ],
        "type": "object",
        "properties": {
          "CreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeletedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ExerciseMetricCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "ExerciseMetricTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseMetricTranslation"
            },
            "nullable": true
          },
          "ExerciseTypeExerciseMetrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseTypeExerciseMetric"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseMetricCreateRequest": {
        "required": [
          "MetricCode"
        ],
        "type": "object",
        "properties": {
          "MetricCode": {
            "type": "string",
            "nullable": true
          },
          "ExerciseMetricTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseMetricTranslationDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseMetricTranslation": {
        "required": [
          "ExerciseMetricCode",
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "ExerciseMetricCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseMetric": {
            "$ref": "#/components/schemas/ExerciseMetric"
          },
          "LocaleCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseMetricName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "MeasurementData": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseMetricTranslationDto": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "ExerciseMetricName": {
            "type": "string",
            "nullable": true
          },
          "MeasurementData": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseMetricUpdateRequest": {
        "type": "object",
        "properties": {
          "ExerciseMetricTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseMetricTranslationDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseMuscle": {
        "required": [
          "ExerciseCode",
          "IsPrimary",
          "MuscleCode",
          "TargetPercentage"
        ],
        "type": "object",
        "properties": {
          "ExerciseCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "Exercise": {
            "$ref": "#/components/schemas/Exercise"
          },
          "MuscleCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "Muscle": {
            "$ref": "#/components/schemas/Muscle"
          },
          "IsPrimary": {
            "type": "boolean"
          },
          "TargetPercentage": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ExerciseMuscleDto": {
        "required": [
          "MuscleCode"
        ],
        "type": "object",
        "properties": {
          "MuscleCode": {
            "type": "string",
            "nullable": true
          },
          "IsPrimary": {
            "type": "boolean"
          },
          "TargetPercentage": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ExercisePreview": {
        "required": [
          "ExerciseCode"
        ],
        "type": "object",
        "properties": {
          "ExerciseCode": {
            "type": "string",
            "nullable": true
          },
          "ExerciseName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "ExerciseTypeCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "ExerciseMuscles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "ExerciseThumbnail": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "ExerciseMetrics": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "RecentOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExercisePreviewPaginatedApiResponse": {
        "type": "object",
        "properties": {
          "Status": {
            "type": "string",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "nullable": true
          },
          "Errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExercisePreview"
            },
            "nullable": true
          },
          "Pagination": {
            "$ref": "#/components/schemas/PaginationInfo"
          }
        },
        "additionalProperties": false
      },
      "ExerciseRequest": {
        "required": [
          "ExerciseCode"
        ],
        "type": "object",
        "properties": {
          "ExerciseCode": {
            "type": "string",
            "nullable": true
          },
          "ExerciseTypeCode": {
            "type": "string",
            "nullable": true
          },
          "PublishStatusCode": {
            "type": "string",
            "nullable": true
          },
          "Difficulty": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "TechnicalComplexity": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MetabolicEquivalent": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "IsPlateloaded": {
            "type": "boolean"
          },
          "IsCardio": {
            "type": "boolean"
          },
          "OlympicRating": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "PowerLifterRating": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "CalisthenicRating": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "PopularityRating": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MuscleStimulus": {
            "type": "number",
            "format": "float",
            "nullable": true
          },
          "IsPlyometric": {
            "type": "boolean"
          },
          "IsIsometric": {
            "type": "boolean"
          },
          "IsCalisthenic": {
            "type": "boolean"
          },
          "IsWeighted": {
            "type": "boolean"
          },
          "IsUnilateral": {
            "type": "boolean"
          },
          "IsBodyweight": {
            "type": "boolean"
          },
          "AdminNotes": {
            "type": "string",
            "nullable": true
          },
          "ExerciseTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseTranslationDto"
            },
            "nullable": true
          },
          "ExerciseEquipment": {
            "$ref": "#/components/schemas/ExerciseEquipmentDto"
          },
          "ExerciseVideos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseVideoDto"
            },
            "nullable": true
          },
          "ExerciseInstructions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseInstructionRequest"
            },
            "nullable": true
          },
          "ExerciseMuscles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseMuscleDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseSet": {
        "type": "object",
        "properties": {
          "SetNumber": {
            "type": "integer",
            "format": "int32"
          },
          "MetricValues": {
            "type": "object",
            "properties": {
              "REPS": {
                "type": "number",
                "format": "double"
              },
              "WEIGHT": {
                "type": "number",
                "format": "double"
              },
              "DISTANCE": {
                "type": "number",
                "format": "double"
              },
              "DURATION": {
                "type": "number",
                "format": "double"
              },
              "SPEED": {
                "type": "number",
                "format": "double"
              }
            },
            "additionalProperties": false,
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseThumbnail": {
        "type": "object",
        "properties": {
          "ExerciseCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "Exercise": {
            "$ref": "#/components/schemas/Exercise"
          },
          "UserId": {
            "type": "string",
            "format": "uuid"
          },
          "User": {
            "$ref": "#/components/schemas/User"
          },
          "MediaId": {
            "type": "string",
            "format": "uuid"
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          }
        },
        "additionalProperties": false
      },
      "ExerciseTranslation": {
        "required": [
          "ExerciseCode",
          "ExerciseTranslationId",
          "IsPrimary",
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "ExerciseTranslationId": {
            "type": "integer",
            "format": "int32"
          },
          "ExerciseCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "Exercise": {
            "$ref": "#/components/schemas/Exercise"
          },
          "LocaleCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "IsPrimary": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ExerciseTranslationDto": {
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "ExerciseName": {
            "type": "string",
            "nullable": true
          },
          "IsPrimary": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ExerciseType": {
        "required": [
          "ExerciseTypeCode"
        ],
        "type": "object",
        "properties": {
          "ExerciseTypeCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ExerciseTypeExerciseMetrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseTypeExerciseMetric"
            },
            "nullable": true
          },
          "ExerciseTypeTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseTypeTranslation"
            },
            "nullable": true
          },
          "Exercises": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Exercise"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseTypeExerciseMetric": {
        "required": [
          "ExerciseMetricCode",
          "ExerciseTypeCode"
        ],
        "type": "object",
        "properties": {
          "ExerciseTypeCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseType": {
            "$ref": "#/components/schemas/ExerciseType"
          },
          "ExerciseMetricCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseMetric": {
            "$ref": "#/components/schemas/ExerciseMetric"
          }
        },
        "additionalProperties": false
      },
      "ExerciseTypeTranslation": {
        "required": [
          "ExerciseTypeName"
        ],
        "type": "object",
        "properties": {
          "ExerciseTypeCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ExerciseType": {
            "$ref": "#/components/schemas/ExerciseType"
          },
          "LocaleCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ExerciseTypeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseVideo": {
        "required": [
          "ExerciseCode"
        ],
        "type": "object",
        "properties": {
          "CreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeletedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ExerciseCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "Exercise": {
            "$ref": "#/components/schemas/Exercise"
          },
          "UserId": {
            "type": "string",
            "format": "uuid"
          },
          "User": {
            "$ref": "#/components/schemas/User"
          },
          "MediaId": {
            "type": "string",
            "format": "uuid"
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "SortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExerciseVideoDto": {
        "type": "object",
        "properties": {
          "MediaElement": {
            "$ref": "#/components/schemas/MediaAssetDto"
          },
          "SortOrder": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ForgotPasswordRequest": {
        "required": [
          "Email"
        ],
        "type": "object",
        "properties": {
          "Email": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Locale": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "LocaleName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "Published": {
            "type": "boolean"
          },
          "LocaleIcon": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          }
        },
        "additionalProperties": false
      },
      "LocaleDto": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "LocaleName": {
            "type": "string",
            "nullable": true
          },
          "Published": {
            "type": "boolean"
          },
          "LocaleIcon": {
            "$ref": "#/components/schemas/MediaAssetIdRequest"
          }
        },
        "additionalProperties": false
      },
      "MediaAsset": {
        "required": [
          "FileName",
          "FilePath"
        ],
        "type": "object",
        "properties": {
          "CreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeletedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "MediaId": {
            "type": "string",
            "format": "uuid"
          },
          "MediaType": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "FileName": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "FilePath": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "FileSize": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "FileFormat": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "Description": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MediaAssetDto": {
        "required": [
          "FileName",
          "FilePath"
        ],
        "type": "object",
        "properties": {
          "MediaAssetId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "FileName": {
            "type": "string",
            "nullable": true
          },
          "FilePath": {
            "type": "string",
            "nullable": true
          },
          "FileSize": {
            "type": "string",
            "nullable": true
          },
          "FileFormat": {
            "type": "string",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MediaAssetIdRequest": {
        "type": "object",
        "properties": {
          "MediaId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "MediaAssetResponse": {
        "required": [
          "FileName"
        ],
        "type": "object",
        "properties": {
          "MediaId": {
            "type": "string",
            "format": "uuid"
          },
          "MediaType": {
            "type": "string",
            "nullable": true
          },
          "FileName": {
            "type": "string",
            "nullable": true
          },
          "FilePath": {
            "type": "string",
            "nullable": true
          },
          "FileUrl": {
            "type": "string",
            "nullable": true
          },
          "FileSize": {
            "type": "string",
            "nullable": true
          },
          "FileFormat": {
            "type": "string",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          },
          "CreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeletedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MetricCode": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "MetricWithUnit": {
        "type": "object",
        "properties": {
          "Code": {
            "$ref": "#/components/schemas/MetricCode"
          },
          "Unit": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ModelDto": {
        "required": [
          "VideoId",
          "VideoUrl"
        ],
        "type": "object",
        "properties": {
          "ModelName": {
            "type": "string",
            "nullable": true
          },
          "VideoId": {
            "type": "string",
            "nullable": true
          },
          "VideoUrl": {
            "type": "string",
            "nullable": true
          },
          "ModelId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Muscle": {
        "required": [
          "MuscleCode"
        ],
        "type": "object",
        "properties": {
          "MuscleCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "MuscleTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MuscleTranslation"
            },
            "nullable": true
          },
          "MuscleGroupMuscles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MuscleGroupMuscle"
            },
            "nullable": true
          },
          "ExerciseMuscles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseMuscle"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MuscleDto": {
        "required": [
          "MuscleCode"
        ],
        "type": "object",
        "properties": {
          "MuscleCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MuscleGroup": {
        "required": [
          "MuscleGroupCode"
        ],
        "type": "object",
        "properties": {
          "CreatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeletedBy": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "MuscleGroupCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "MuscleGroupThumbnailId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "MuscleGroupThumbnail": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "MuscleGroupParent": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "SortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MuscleGroupType": {
            "$ref": "#/components/schemas/MuscleGroupType"
          },
          "MuscleGroupTranslations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MuscleGroupTranslation"
            },
            "nullable": true
          },
          "MuscleGroupMuscles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MuscleGroupMuscle"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MuscleGroupMuscle": {
        "required": [
          "MuscleCode",
          "MuscleGroupCode"
        ],
        "type": "object",
        "properties": {
          "MuscleGroupCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "MuscleGroup": {
            "$ref": "#/components/schemas/MuscleGroup"
          },
          "MuscleCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "Muscle": {
            "$ref": "#/components/schemas/Muscle"
          }
        },
        "additionalProperties": false
      },
      "MuscleGroupMuscleDto": {
        "required": [
          "MuscleCode",
          "MuscleGroupCode"
        ],
        "type": "object",
        "properties": {
          "MuscleGroupCode": {
            "type": "string",
            "nullable": true
          },
          "MuscleCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MuscleGroupRequest": {
        "required": [
          "MuscleGroupCode"
        ],
        "type": "object",
        "properties": {
          "MuscleGroupCode": {
            "type": "string",
            "nullable": true
          },
          "MuscleGroupParent": {
            "type": "string",
            "nullable": true
          },
          "MuscleGroupType": {
            "type": "string",
            "nullable": true
          },
          "SortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "MuscleGroupMuscles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MuscleGroupMuscleDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MuscleGroupTargetDto": {
        "type": "object",
        "properties": {
          "MuscleName": {
            "type": "string",
            "nullable": true
          },
          "TargetPercentage": {
            "type": "number",
            "format": "double"
          },
          "MuscleGroupId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "MuscleGroupTranslation": {
        "required": [
          "LocaleCode",
          "MuscleGroupCode"
        ],
        "type": "object",
        "properties": {
          "MuscleGroupCode": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "MuscleGroup": {
            "$ref": "#/components/schemas/MuscleGroup"
          },
          "LocaleCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "MuscleGroupName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MuscleGroupTranslationDto": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "MuscleGroupName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MuscleGroupType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "MuscleTranslation": {
        "required": [
          "LocaleCode",
          "MuscleCode"
        ],
        "type": "object",
        "properties": {
          "MuscleCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "Muscle": {
            "$ref": "#/components/schemas/Muscle"
          },
          "LocaleCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "MuscleName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MuscleTranslationDto": {
        "required": [
          "LocaleCode",
          "MuscleCode"
        ],
        "type": "object",
        "properties": {
          "MuscleCode": {
            "type": "string",
            "nullable": true
          },
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "MuscleName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PaginationInfo": {
        "type": "object",
        "properties": {
          "CurrentPage": {
            "type": "integer",
            "format": "int32"
          },
          "TotalPages": {
            "type": "integer",
            "format": "int32"
          },
          "PageSize": {
            "type": "integer",
            "format": "int32"
          },
          "TotalCount": {
            "type": "integer",
            "format": "int32"
          },
          "HasPrevious": {
            "type": "boolean",
            "readOnly": true
          },
          "HasNext": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PublishedStatusRequest": {
        "required": [
          "PublishedStatusCode"
        ],
        "type": "object",
        "properties": {
          "PublishedStatusCode": {
            "type": "string",
            "nullable": true
          },
          "UserRoleAccess": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublishedStatusTranslationDto": {
        "required": [
          "LocaleCode"
        ],
        "type": "object",
        "properties": {
          "LocaleCode": {
            "type": "string",
            "nullable": true
          },
          "PublishedStatusName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RegisterDto": {
        "required": [
          "Email",
          "Password",
          "Username"
        ],
        "type": "object",
        "properties": {
          "Username": {
            "minLength": 1,
            "type": "string"
          },
          "Email": {
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "Password": {
            "minLength": 1,
            "type": "string"
          },
          "FirstName": {
            "maxLength": -1,
            "type": "string",
            "nullable": true
          },
          "LastName": {
            "maxLength": -1,
            "type": "string",
            "nullable": true
          },
          "RedirectUrl": {
            "maxLength": -1,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResetPasswordRequest": {
        "required": [
          "NewPassword"
        ],
        "type": "object",
        "properties": {
          "NewPassword": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SocialMediaPlatform": {
        "required": [
          "SocialMediaPlatformCode"
        ],
        "type": "object",
        "properties": {
          "SocialMediaPlatformCode": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "SocialMediaPlatformIcon": {
            "type": "string",
            "format": "uuid"
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "SocialMediaPlatformName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "SocialMediaPlatformNameUrlFormat": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "CreatorSocialMediaAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreatorSocialMediaAccount"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateUserRequest": {
        "type": "object",
        "properties": {
          "User": {
            "$ref": "#/components/schemas/User"
          }
        },
        "additionalProperties": false
      },
      "User": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "format": "uuid"
          },
          "UserName": {
            "type": "string",
            "nullable": true
          },
          "NormalizedUserName": {
            "type": "string",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "nullable": true
          },
          "NormalizedEmail": {
            "type": "string",
            "nullable": true
          },
          "EmailConfirmed": {
            "type": "boolean"
          },
          "PasswordHash": {
            "type": "string",
            "nullable": true
          },
          "SecurityStamp": {
            "type": "string",
            "nullable": true
          },
          "ConcurrencyStamp": {
            "type": "string",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "PhoneNumberConfirmed": {
            "type": "boolean"
          },
          "TwoFactorEnabled": {
            "type": "boolean"
          },
          "LockoutEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "LockoutEnabled": {
            "type": "boolean"
          },
          "AccessFailedCount": {
            "type": "integer",
            "format": "int32"
          },
          "FirstName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "LastName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "OAuthProvider": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "ConfirmationSentAt": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "RecoverySentAt": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "EmailChangeTokenCurrent": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "EmailChangeTokenNew": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "LastSignInAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "PhoneConfirmedAt": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "RefreshToken": {
            "maxLength": 625,
            "type": "string",
            "nullable": true
          },
          "Exercises": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Exercise"
            },
            "nullable": true
          },
          "ExerciseVideos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseVideo"
            },
            "nullable": true
          },
          "ExerciseThumbnails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseThumbnail"
            },
            "nullable": true
          },
          "ExerciseInstructions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseInstruction"
            },
            "nullable": true
          },
          "UserRoleAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserRoleAssignment"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserDto": {
        "required": [
          "Email",
          "Password"
        ],
        "type": "object",
        "properties": {
          "Email": {
            "minLength": 1,
            "type": "string",
            "format": "email"
          },
          "Password": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UserRole": {
        "type": "object",
        "properties": {
          "UserRoleId": {
            "type": "integer",
            "format": "int32"
          },
          "RoleName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          },
          "UserRoleAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserRoleAssignment"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserRoleAssignment": {
        "required": [
          "AssignedAt"
        ],
        "type": "object",
        "properties": {
          "RoleId": {
            "type": "integer",
            "format": "int32"
          },
          "UserRole": {
            "$ref": "#/components/schemas/UserRole"
          },
          "AssignedAt": {
            "type": "string",
            "format": "date-time"
          },
          "UserId": {
            "type": "string",
            "format": "uuid"
          },
          "User": {
            "$ref": "#/components/schemas/User"
          },
          "AssignedBy": {
            "type": "string",
            "format": "uuid"
          },
          "AssignedByUser": {
            "$ref": "#/components/schemas/User"
          }
        },
        "additionalProperties": false
      },
      "Workout": {
        "required": [
          "WorkoutTitle"
        ],
        "type": "object",
        "properties": {
          "WorkoutId": {
            "type": "integer",
            "format": "int32"
          },
          "OriginalWorkoutId": {
            "type": "integer",
            "format": "int32"
          },
          "WorkoutTitle": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "WorkoutContent": {
            "type": "object",
            "additionalProperties": { },
            "nullable": true
          },
          "WorkoutImage": {
            "type": "string",
            "format": "uuid"
          },
          "MediaAsset": {
            "$ref": "#/components/schemas/MediaAsset"
          },
          "CreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "CreatedBy": {
            "type": "string",
            "format": "uuid"
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "DeletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "LastUsedAt": {
            "type": "string",
            "format": "date-time"
          },
          "WorkoutCreator": {
            "type": "string",
            "format": "uuid"
          },
          "WorkoutCreatorUser": {
            "$ref": "#/components/schemas/User"
          },
          "WorkoutAnalytic": {
            "$ref": "#/components/schemas/WorkoutAnalytic"
          },
          "CreatorCredits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkoutUserCredit"
            },
            "nullable": true
          },
          "WorkoutData": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkoutData"
            },
            "nullable": true
          },
          "WorkoutViews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkoutView"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkoutAnalytic": {
        "type": "object",
        "properties": {
          "WorkoutId": {
            "type": "integer",
            "format": "int32"
          },
          "Workout": {
            "$ref": "#/components/schemas/Workout"
          },
          "TotalUses": {
            "type": "integer",
            "format": "int32"
          },
          "AverageRating": {
            "type": "number",
            "format": "float"
          },
          "UpdatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "PopularityScore": {
            "type": "number",
            "format": "float"
          }
        },
        "additionalProperties": false
      },
      "WorkoutData": {
        "required": [
          "ExerciseCode"
        ],
        "type": "object",
        "properties": {
          "WorkoutId": {
            "type": "integer",
            "format": "int32"
          },
          "Workout": {
            "$ref": "#/components/schemas/Workout"
          },
          "ExerciseCode": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "ExerciseNotes": {
            "type": "string",
            "nullable": true
          },
          "ExerciseMetrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetricWithUnit"
            },
            "nullable": true
          },
          "ExerciseData": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExerciseSet"
            },
            "nullable": true
          },
          "ExerciseOrder": {
            "type": "integer",
            "format": "int32"
          },
          "ExerciseGroupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "ExerciseGroupType": {
            "$ref": "#/components/schemas/ExerciseGroupType"
          }
        },
        "additionalProperties": false
      },
      "WorkoutUserCredit": {
        "type": "object",
        "properties": {
          "WorkoutId": {
            "type": "integer",
            "format": "int32"
          },
          "Workout": {
            "$ref": "#/components/schemas/Workout"
          },
          "CreatorProfileId": {
            "type": "string",
            "format": "uuid"
          },
          "CreatorProfile": {
            "$ref": "#/components/schemas/CreatorProfile"
          },
          "WorkoutSourceUrl": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "ContributionType": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WorkoutView": {
        "type": "object",
        "properties": {
          "WorkoutViewId": {
            "type": "integer",
            "format": "int32"
          },
          "WorkoutId": {
            "type": "integer",
            "format": "int32"
          },
          "Workout": {
            "$ref": "#/components/schemas/Workout"
          },
          "SessionId": {
            "type": "string",
            "nullable": true
          },
          "IpAddress": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "UserAgent": {
            "maxLength": 255,
            "type": "string",
            "nullable": true
          },
          "UserId": {
            "type": "string",
            "format": "uuid"
          },
          "User": {
            "$ref": "#/components/schemas/User"
          },
          "IsAuthenticated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Put **_ONLY_** your JWT Bearer token on the textbox below!",
        "scheme": "Bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}