{
    "openapi": "3.0.0",
    "info": {
        "title": "API para o sistema mobile",
        "version": "1.0.0"
    },
    "paths": {
        "/api/v1/{escola}/cursos/curso/{slugCurso}/{slugModulo}/{slugAula}": {
            "get": {
                "tags": [
                    "aula"
                ],
                "summary": "Exibir aula",
                "description": "Exibir conteúdo de uma aula",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\AulaController::aula",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugCurso",
                        "in": "path",
                        "description": "Slug do curso",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "utilitarios-de-cozinha"
                    },
                    {
                        "name": "slugModulo",
                        "in": "path",
                        "description": "Slug do modulo",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "porta-pano-de-prato-de-vaquinha"
                    },
                    {
                        "name": "slugAula",
                        "in": "path",
                        "description": "Slug da aula",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "bracinhos-e-finalizacao-cabeca"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "titulo": {
                                                    "type": "string",
                                                    "example": "Bracinhos e finalização cabeça"
                                                },
                                                "descricao": {
                                                    "type": "string",
                                                    "example": ""
                                                },
                                                "tipo_conteudo": {
                                                    "type": "string",
                                                    "example": "kaltura"
                                                },
                                                "conteudo": {
                                                    "type": "string",
                                                    "example": "1_xyvq7n9i"
                                                },
                                                "url_disqus": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/utilitarios-de-cozinha/porta-pano-de-prato-de-vaquinha/cabeca-da-vaquinha"
                                                },
                                                "aula_anterior": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/utilitarios-de-cozinha/porta-pano-de-prato-de-vaquinha/cabeca-da-vaquinha"
                                                },
                                                "aula_proxima": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/utilitarios-de-cozinha/porta-pano-de-prato-de-vaquinha/detalhes-e-montagem"
                                                },
                                                "modulos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "sequencia": {
                                                                "type": "int",
                                                                "example": 1
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Porta Pano de prato de vaquinha"
                                                            },
                                                            "aulas": {
                                                                "type": "array",
                                                                "items": {
                                                                    "properties": {
                                                                        "url": {
                                                                            "type": "url",
                                                                            "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/utilitarios-de-cozinha/porta-pano-de-prato-de-vaquinha/materiais"
                                                                        },
                                                                        "sequencia": {
                                                                            "type": "int",
                                                                            "example": 1
                                                                        },
                                                                        "titulo": {
                                                                            "type": "string",
                                                                            "example": "Materiais"
                                                                        },
                                                                        "assistida": {
                                                                            "type": "bool",
                                                                            "example": false
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "collectionFormat": "multi"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Sem permissão para acessar a aula"
                                                },
                                                "url": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/url-checkout/carrinho-compras"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/{escola}/cursos/curso/{slugCurso}/{slugModulo}/{slugAula}/materiais": {
            "get": {
                "tags": [
                    "aula"
                ],
                "summary": "Exibir materiais",
                "description": "Exibir materiais de apoio de uma determinada aula",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\AulaController::materiais",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugCurso",
                        "in": "path",
                        "description": "Slug do curso",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "utilitarios-de-cozinha"
                    },
                    {
                        "name": "slugModulo",
                        "in": "path",
                        "description": "Slug do modulo",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "porta-pano-de-prato-de-vaquinha"
                    },
                    {
                        "name": "slugAula",
                        "in": "path",
                        "description": "Slug da aula",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "materiais"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "materiais": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Lista de Materiais"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/utilitarios-de-cozinha/porta-pano-de-prato-de-vaquinha/material/molde-porta-pano-de-prato-de-vaquinha/baixar"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Sem permissão para acessar os materiais"
                                                },
                                                "url": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/url-checkout/carrinho-compras"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/{escola}/cursos/curso/{slugCurso}/{slugModulo}/{slugAula}/material/{slugMaterial}/baixar": {
            "get": {
                "tags": [
                    "aula"
                ],
                "summary": "Download do material",
                "description": "Download de um material da aula",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\AulaController::baixar",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugCurso",
                        "in": "path",
                        "description": "Slug do curso",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "utilitarios-de-cozinha"
                    },
                    {
                        "name": "slugModulo",
                        "in": "path",
                        "description": "Slug do modulo",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "porta-pano-de-prato-de-vaquinha"
                    },
                    {
                        "name": "slugAula",
                        "in": "path",
                        "description": "Slug da aula",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "materiais"
                    },
                    {
                        "name": "slugMaterial",
                        "in": "path",
                        "description": "Slug do material",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "lista-de-materiais"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "url": {
                                                    "type": "url",
                                                    "example": "https://escola-artesanato.s3.amazonaws.com/curso/modulo/aula/rFJLpkTtgafUnFPKn2C8a1ufikzWqIUah6b39MCo.png"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Sem permissão para baixar o arquivo"
                                                },
                                                "url": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/url-checkout/carrinho-compras"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/token": {
            "post": {
                "tags": [
                    "login"
                ],
                "summary": "Token acesso",
                "description": "Obter o token de acesso a partir do email e senha",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\AuthController::token",
                "parameters": [
                    {
                        "name": "email",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "email"
                        }
                    },
                    {
                        "name": "senha",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "password"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "token_type": {
                                                    "type": "string",
                                                    "example": "Bearer"
                                                },
                                                "expires_in": {
                                                    "type": "int",
                                                    "example": 1296000
                                                },
                                                "access_token": {
                                                    "type": "string"
                                                },
                                                "refresh_token": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "E-mail não cadastrado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro na validação de algum campo",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "email": {
                                                    "type": "string",
                                                    "example": [
                                                        "O e-mail é obrigatório"
                                                    ]
                                                },
                                                "senha": {
                                                    "type": "string",
                                                    "example": [
                                                        "A senha é obrigatória"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/certificados": {
            "get": {
                "tags": [
                    "certificado"
                ],
                "summary": "Listar certificados",
                "description": "Listar todas as aulas assistidas para geração do certificado",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CertificadoController::indice",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "titulo": {
                                                    "type": "string",
                                                    "example": "Dicas de Feltro Para Iniciantes"
                                                },
                                                "imagem": {
                                                    "type": "url",
                                                    "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                },
                                                "percentual_assistido": {
                                                    "type": "int",
                                                    "example": 87
                                                },
                                                "aulas": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "modulo_titulo": {
                                                                "type": "string",
                                                                "example": "Primeiro Passos"
                                                            },
                                                            "modulo_sequencia": {
                                                                "type": "int",
                                                                "example": 3
                                                            },
                                                            "aula_titulo": {
                                                                "type": "string",
                                                                "example": "Investimento Inicial"
                                                            },
                                                            "aula_sequencia": {
                                                                "type": "int",
                                                                "example": 1
                                                            },
                                                            "aula_url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes/primeiro-passos/investimento-inicial"
                                                            },
                                                            "aula_assistida": {
                                                                "type": "bool",
                                                                "example": true
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/{escola}/certificados/{slugCurso}": {
            "get": {
                "tags": [
                    "certificado"
                ],
                "summary": "Dados para o certificado",
                "description": "Exibir todos os dados necessários para a geração do certificado",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CertificadoController::baixar",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugCurso",
                        "in": "path",
                        "description": "Slug do curso",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "dicas-de-feltro-para-iniciantes"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "url_logo": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/usuario/images/logo-escola-feltro.png"
                                                },
                                                "nome": {
                                                    "type": "string",
                                                    "example": "Nome abreviado do usuário"
                                                },
                                                "curso_titulo": {
                                                    "type": "string",
                                                    "example": "Dicas de Feltro Para Iniciantes"
                                                },
                                                "carga_horaria": {
                                                    "type": "int",
                                                    "example": 20
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/{escola}/cursos": {
            "get": {
                "tags": [
                    "curso"
                ],
                "summary": "Listar cursos",
                "description": "Listar todos os cursos cadastrados para a escola",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CursoController::indice",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "dificuldade",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "fácil"
                    },
                    {
                        "name": "categoria",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "guirlandas"
                    },
                    {
                        "name": "professor",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "int",
                            "format": "int64"
                        },
                        "example": 15
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "cursos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            },
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "dificuldade": {
                                                                "type": "string",
                                                                "example": "fácil"
                                                            },
                                                            "professor_nome": {
                                                                "type": "string",
                                                                "example": "Larissa Amaral"
                                                            },
                                                            "professor_url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos?professor=15"
                                                            },
                                                            "status": {
                                                                "type": "string",
                                                                "example": "liberado, bloqueado"
                                                            },
                                                            "quantidade_aulas": {
                                                                "type": "int",
                                                                "example": 30
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/cursos/curso/{slugCurso}": {
            "get": {
                "tags": [
                    "curso"
                ],
                "summary": "Exibição do curso",
                "description": "Tela de exibição do curso",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CursoController::exibir",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugCurso",
                        "in": "path",
                        "description": "Slug do curso",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "dicas-de-feltro-para-iniciantes"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "imagem": {
                                                    "type": "url",
                                                    "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                },
                                                "titulo": {
                                                    "type": "string",
                                                    "example": "Dicas de Feltro Para Iniciantes"
                                                },
                                                "descricao": {
                                                    "type": "string"
                                                },
                                                "dificuldade": {
                                                    "type": "string",
                                                    "example": "fácil"
                                                },
                                                "professor_nome": {
                                                    "type": "string",
                                                    "example": "Larissa Amaral"
                                                },
                                                "professor_url": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos?professor=15"
                                                },
                                                "primeira_aula_url": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes/primeiro-passos/investimento-inicial"
                                                },
                                                "quantidade_aulas": {
                                                    "type": "int",
                                                    "example": 30
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/cursos/curso/{slugCurso}/semelhantes": {
            "get": {
                "tags": [
                    "curso"
                ],
                "summary": "Exibir cursos semelhantes",
                "description": "Exibir cursos semelhantes (da mesma categoria) do curso que está sendo exibido na tela",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CursoController::semelhantes",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugCurso",
                        "in": "path",
                        "description": "Slug do curso",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "dicas-de-feltro-para-iniciantes"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "cursos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            },
                                                            "quantidade_aulas": {
                                                                "type": "int",
                                                                "example": 30
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/cursos/curso/{slugCurso}/aulas": {
            "get": {
                "tags": [
                    "curso"
                ],
                "summary": "Exibir aulas do curso",
                "description": "Exibir todos os módulos e todas as aulas para determinado curso",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CursoController::aulas",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugCurso",
                        "in": "path",
                        "description": "Slug do curso",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "fantoches"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "modulos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/modulo/imagem/HaffQFSMykf3Wy64FXQP0pYtBTUmHIKAY7Hjmx6C.png"
                                                            },
                                                            "sequencia": {
                                                                "type": "int",
                                                                "example": 1
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Introdução Curso de Fantoches"
                                                            },
                                                            "aulas": {
                                                                "type": "array",
                                                                "items": {
                                                                    "properties": {
                                                                        "url": {
                                                                            "type": "url",
                                                                            "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/fantoches/introducao-curso-de-fantoches/introducao"
                                                                        },
                                                                        "sequencia": {
                                                                            "type": "int",
                                                                            "example": 1
                                                                        },
                                                                        "titulo": {
                                                                            "type": "string",
                                                                            "example": "Introdução"
                                                                        },
                                                                        "assistida": {
                                                                            "type": "bool",
                                                                            "example": true
                                                                        },
                                                                        "status": {
                                                                            "type": "string",
                                                                            "example": "liberado, bloqueado"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "collectionFormat": "multi"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/cursos/curso/{slugCurso}/materiais": {
            "get": {
                "tags": [
                    "curso"
                ],
                "summary": "Exibir materiais do curso",
                "description": "Exibir todos os materiais para determinado curso",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CursoController::materiais",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugCurso",
                        "in": "path",
                        "description": "Slug do curso",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "fantoches"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "materiais": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Download do molde - Vaquinha"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/fantoches/vaquinha/vaquinha-completa/molde-vaquinha"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/cursos/iniciante": {
            "get": {
                "tags": [
                    "curso"
                ],
                "summary": "Listar cursos iniciantes",
                "description": "Listar todos os cursos iniciantes para a escola",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CursoController::iniciante",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "cursos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            },
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "dificuldade": {
                                                                "type": "string",
                                                                "example": "fácil"
                                                            },
                                                            "professor_nome": {
                                                                "type": "string",
                                                                "example": "Larissa Amaral"
                                                            },
                                                            "professor_url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos?professor=15"
                                                            },
                                                            "status": {
                                                                "type": "string",
                                                                "example": "liberado, bloqueado"
                                                            },
                                                            "quantidade_aulas": {
                                                                "type": "int",
                                                                "example": 30
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/cursos/divulgacao": {
            "get": {
                "tags": [
                    "curso"
                ],
                "summary": "Listar cursos divulgação e vendas",
                "description": "Listar todos os cursos para divulgação e vendas para a escola",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CursoController::divulgacao",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "cursos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            },
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "dificuldade": {
                                                                "type": "string",
                                                                "example": "fácil"
                                                            },
                                                            "professor_nome": {
                                                                "type": "string",
                                                                "example": "Larissa Amaral"
                                                            },
                                                            "professor_url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos?professor=15"
                                                            },
                                                            "status": {
                                                                "type": "string",
                                                                "example": "liberado, bloqueado"
                                                            },
                                                            "quantidade_aulas": {
                                                                "type": "int",
                                                                "example": 30
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/cursos/bonus": {
            "get": {
                "tags": [
                    "curso"
                ],
                "summary": "Listar cursos bonus",
                "description": "Listar todos os cursos bonus para a escola",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\CursoController::bonus",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "cursos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            },
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "dificuldade": {
                                                                "type": "string",
                                                                "example": "fácil"
                                                            },
                                                            "professor_nome": {
                                                                "type": "string",
                                                                "example": "Larissa Amaral"
                                                            },
                                                            "professor_url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos?professor=15"
                                                            },
                                                            "status": {
                                                                "type": "string",
                                                                "example": "liberado, bloqueado"
                                                            },
                                                            "quantidade_aulas": {
                                                                "type": "int",
                                                                "example": 30
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/escolas": {
            "get": {
                "tags": [
                    "escola"
                ],
                "summary": "Listar escolas",
                "description": "Listar todas as escolas cadastradas no sistema",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\EscolaController::listar",
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "escolas": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "int",
                                                                "example": 1
                                                            },
                                                            "slug": {
                                                                "type": "string",
                                                                "example": "escola-feltro"
                                                            },
                                                            "nome": {
                                                                "type": "string",
                                                                "example": "Escola de feltro"
                                                            },
                                                            "logo": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/usuario/images/logo-escola-feltro.png"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/artesanato"
                                                            },
                                                            "destaques": {
                                                                "type": "array",
                                                                "items": {
                                                                    "properties": {
                                                                        "imagem": {
                                                                            "type": "url",
                                                                            "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                                        },
                                                                        "titulo": {
                                                                            "type": "string",
                                                                            "example": "Dicas de Feltro Para Iniciantes"
                                                                        },
                                                                        "url": {
                                                                            "type": "url",
                                                                            "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                                        }
                                                                    },
                                                                    "type": "object"
                                                                },
                                                                "collectionFormat": "multi"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}": {
            "get": {
                "tags": [
                    "escola"
                ],
                "summary": "Home da escola",
                "description": "Homepage da escola especifica",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\EscolaController::indice",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "lancamentos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                },
                                                "recentes": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                },
                                                "mais_vistos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                },
                                                "modulos_teste": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                },
                                                "validade_assinatura": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "teste": {
                                                                "type": "bool",
                                                                "example": false
                                                            },
                                                            "valido_ate": {
                                                                "type": "date",
                                                                "example": "2021-11-20 00:00:00"
                                                            },
                                                            "url_checkout": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/url-checkout/carrinho-compras"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                },
                                                "url_vantagens": {
                                                    "type": "url",
                                                    "example": "https://app.escoladefeltro.com.br/artigos/pg-vantagens"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/curso/categorias": {
            "get": {
                "tags": [
                    "escola"
                ],
                "summary": "Listar categorias dos cursos",
                "description": "Listar todas as categorias dos cursos de uma escola",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\EscolaController::cursoCategorias",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "categorias": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "nome": {
                                                                "type": "string",
                                                                "example": "Guirlandas"
                                                            },
                                                            "slug": {
                                                                "type": "string",
                                                                "example": "guirlandas"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos?categoria=guirlandas"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/molde/categorias": {
            "get": {
                "tags": [
                    "escola"
                ],
                "summary": "Listar categorias dos moldes",
                "description": "Listar todas as categorias dos moldes de uma escola",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\EscolaController::moldeCategorias",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "categorias": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "nome": {
                                                                "type": "string",
                                                                "example": "Guirlandas"
                                                            },
                                                            "slug": {
                                                                "type": "string",
                                                                "example": "guirlandas"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/moldes?categoria=guirlandas"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/professores": {
            "get": {
                "tags": [
                    "escola"
                ],
                "summary": "Listar professores",
                "description": "Listar todas os professores de uma escola",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\EscolaController::professores",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "professores": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "nome": {
                                                                "type": "string",
                                                                "example": "Larissa Amaral"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos?professor=15"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/pesquisa/{termo}": {
            "get": {
                "tags": [
                    "escola"
                ],
                "summary": "Pesquisar moldes e cursos",
                "description": "Pesquisar moldes e cursos de uma escola por um termo",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\EscolaController::pesquisar",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "termo",
                        "in": "path",
                        "description": "Termo a ser pesquisado",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "feltro"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "cursos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos/curso/dicas-de-feltro-para-iniciantes"
                                                            },
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/curso/imagem/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Dicas de Feltro Para Iniciantes"
                                                            },
                                                            "dificuldade": {
                                                                "type": "string",
                                                                "example": "fácil"
                                                            },
                                                            "professor_nome": {
                                                                "type": "string",
                                                                "example": "Larissa Amaral"
                                                            },
                                                            "professor_url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/cursos?professor=15"
                                                            },
                                                            "status": {
                                                                "type": "string",
                                                                "example": "liberado, bloqueado"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                },
                                                "moldes": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/moldes/molde/natal"
                                                            },
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/molde/imagem/95v4UjtzE45hCFSrPOi4Wzivrlajtxu5JlnVfEef.png"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Papai Noel"
                                                            },
                                                            "status": {
                                                                "type": "string",
                                                                "example": "liberado, bloqueado"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/senha/redefinir/token": {
            "post": {
                "tags": [
                    "login"
                ],
                "summary": "Token para redefinir senha acesso",
                "description": "Obter o token para redefinir a senha",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\ForgotPasswordController::getResetToken",
                "parameters": [
                    {
                        "name": "email",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "email"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "token": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "E-mail não cadastrado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro na validação de algum campo",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "email": {
                                                    "type": "string",
                                                    "example": [
                                                        "O e-mail é obrigatório"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/moldes": {
            "get": {
                "tags": [
                    "molde"
                ],
                "summary": "Listar moldes",
                "description": "Listar todos os moldes cadastrados no sistema",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\MoldeController::indice",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "categoria",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "natal"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "moldes": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/moldes/molde/natal"
                                                            },
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/molde/imagem/95v4UjtzE45hCFSrPOi4Wzivrlajtxu5JlnVfEef.png"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Papai Noel"
                                                            },
                                                            "status": {
                                                                "type": "string",
                                                                "example": "liberado, bloqueado"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/moldes/molde/{slugMolde}": {
            "get": {
                "tags": [
                    "molde"
                ],
                "summary": "Exibição do molde",
                "description": "Tela de exibição do molde",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\MoldeController::exibir",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugMolde",
                        "in": "path",
                        "description": "Slug do molde",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "papai-noel"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "imagem": {
                                                    "type": "url",
                                                    "example": "https://escola-artesanato.s3.amazonaws.com/molde/imagem/95v4UjtzE45hCFSrPOi4Wzivrlajtxu5JlnVfEef.png"
                                                },
                                                "titulo": {
                                                    "type": "string",
                                                    "example": "Papai Noel"
                                                },
                                                "descricao": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/moldes/molde/{slugMolde}/semelhantes": {
            "get": {
                "tags": [
                    "molde"
                ],
                "summary": "Exibir moldes semelhantes",
                "description": "Exibir moldes semelhantes (da mesma categoria) do molde que está sendo exibido na tela",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\MoldeController::semelhantes",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugMolde",
                        "in": "path",
                        "description": "Slug do molde",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "papai-noel"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "moldes": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "imagem": {
                                                                "type": "url",
                                                                "example": "https://escola-artesanato.s3.amazonaws.com/molde/imagem/95v4UjtzE45hCFSrPOi4Wzivrlajtxu5JlnVfEef.png"
                                                            },
                                                            "titulo": {
                                                                "type": "string",
                                                                "example": "Papai Noel"
                                                            },
                                                            "url": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/api/v1/escola-feltro/moldes/molde/natal"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Nenhuma escola encontrada com o slug informado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/{escola}/moldes/molde/{slugMolde}/baixar": {
            "get": {
                "tags": [
                    "molde"
                ],
                "summary": "Download do molde",
                "description": "Download do arquivo do molde",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\MoldeController::baixar",
                "parameters": [
                    {
                        "name": "escola",
                        "in": "path",
                        "description": "Slug da escola",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "escola-feltro"
                    },
                    {
                        "name": "slugMolde",
                        "in": "path",
                        "description": "Slug do molde",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "papai-noel"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "url": {
                                                    "type": "url",
                                                    "example": "https://escola-artesanato.s3.amazonaws.com/molde/documento/P0CZ0ya6Z3fL3VXsslAVtrX0wrQtopPHoC6PP5Am.jpg"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Sem permissão para baixar o arquivo"
                                                },
                                                "url": {
                                                    "type": "url",
                                                    "example": "https://www.artesanato.com/url-checkout/carrinho-compras"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/cadastrar": {
            "post": {
                "tags": [
                    "login"
                ],
                "summary": "Cadastrar usuário",
                "description": "Cadastrar um usuário no sistema",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\RegisterController::register",
                "parameters": [
                    {
                        "name": "nome",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "email",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "email"
                        }
                    },
                    {
                        "name": "senha",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "password"
                        }
                    },
                    {
                        "name": "senha_confirmacao",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "password"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Usuário cadastrado com sucesso"
                                                },
                                                "email": {
                                                    "type": "string",
                                                    "example": "exemplo@exemplo.com"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro na validação de algum campo",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "nome": {
                                                    "type": "string",
                                                    "example": [
                                                        "O nome é obrigatório"
                                                    ]
                                                },
                                                "email": {
                                                    "type": "string",
                                                    "example": [
                                                        "O e-mail é obrigatório"
                                                    ]
                                                },
                                                "senha": {
                                                    "type": "string",
                                                    "example": [
                                                        "A senha é obrigatória",
                                                        "A senha deve ter no mínimo 8 caracteres"
                                                    ]
                                                },
                                                "senha_confirmacao": {
                                                    "type": "string",
                                                    "example": [
                                                        "A repetição da senha não foi correta"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/senha/redefinir": {
            "post": {
                "tags": [
                    "login"
                ],
                "summary": "Redefinir senha",
                "description": "Redefinir a senha do usuário",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\ResetPasswordController::reset",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "email",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "email"
                        }
                    },
                    {
                        "name": "senha",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "password"
                        }
                    },
                    {
                        "name": "senha_confirmacao",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "password"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Sua senha foi redefinida com sucesso"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Este token não é válido"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro na validação de algum campo",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "token": {
                                                    "type": "string",
                                                    "example": [
                                                        "O token é obrigatório"
                                                    ]
                                                },
                                                "email": {
                                                    "type": "string",
                                                    "example": [
                                                        "O e-mail é obrigatório"
                                                    ]
                                                },
                                                "senha": {
                                                    "type": "string",
                                                    "example": [
                                                        "A senha é obrigatória",
                                                        "A senha deve ter no mínimo 8 caracteres"
                                                    ]
                                                },
                                                "senha_confirmacao": {
                                                    "type": "string",
                                                    "example": [
                                                        "A repetição da senha não foi correta"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearer": []
                    }
                ]
            }
        },
        "/api/v1/perfil": {
            "get": {
                "tags": [
                    "usuario"
                ],
                "summary": "Dados do usuário",
                "description": "Tela de exibição dos dados do usuário",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\UsuarioController::exibir",
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "nome": {
                                                    "type": "string",
                                                    "example": "Teste de usuário"
                                                },
                                                "email": {
                                                    "type": "email",
                                                    "example": "teste@teste.com"
                                                },
                                                "telefone": {
                                                    "type": "int",
                                                    "example": 31987654321
                                                },
                                                "sexo": {
                                                    "type": "string",
                                                    "example": "masculino"
                                                },
                                                "data_nascimento": {
                                                    "type": "date",
                                                    "example": "1995-12-25"
                                                },
                                                "planos": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "url_logo": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/usuario/images/logo-escola-feltro.png"
                                                            },
                                                            "valido_ate": {
                                                                "type": "date",
                                                                "example": "2021-07-20"
                                                            },
                                                            "url_checkout": {
                                                                "type": "url",
                                                                "example": "https://www.artesanato.com/url-checkout/carrinho-compras"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "collectionFormat": "multi"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "mensagem": {
                                                    "type": "string",
                                                    "example": "Usuário não autenticado"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "usuario"
                ],
                "summary": "Atualizar os dados do usuário",
                "description": "Atualizar os dados do usuário",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\UsuarioController::salvar",
                "parameters": [
                    {
                        "name": "nome",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "telefone",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "(31) 98765-4321"
                        }
                    },
                    {
                        "name": "sexo",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "data_nascimento",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "date",
                            "format": "1990-01-20"
                        }
                    },
                    {
                        "name": "senha",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "password"
                        }
                    },
                    {
                        "name": "senha_confirmacao",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "password"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "nullable",
                                            "example": null
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "nome": {
                                                    "type": "string",
                                                    "example": [
                                                        "O nome é obrigatório"
                                                    ]
                                                },
                                                "senha": {
                                                    "type": "string",
                                                    "example": [
                                                        "As senhas não são iguais"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/ajuda": {
            "post": {
                "tags": [
                    "usuario"
                ],
                "summary": "Solicitar ajuda",
                "description": "Enviar e-mail solicitando ajuda",
                "operationId": "App\\Http\\Controllers\\Api\\V1\\UsuarioController::ajuda",
                "parameters": [
                    {
                        "name": "nome",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "email",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "descricao",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucesso",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "nullable",
                                            "example": null
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Erro nos dados enviados",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "fail"
                                        },
                                        "data": {
                                            "properties": {
                                                "nome": {
                                                    "type": "string",
                                                    "example": [
                                                        "O nome é obrigatório"
                                                    ]
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "security": [
        []
    ]
}