{
    "openapi": "3.0.0",
    "info": {
        "title": "API Registro de Notas",
        "description": "API RESTful para la gestión de estudiantes y notas",
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "http://127.0.0.1:8000/api",
            "description": "Servidor local"
        }
    ],
    "paths": {
        "/login": {
            "post": {
                "tags": [
                    "Auth"
                ],
                "summary": "Login de usuario",
                "operationId": "a3674f0652b564b652bd25c2326691d7",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email",
                                    "password"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "example": "admin@test.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "123456"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Login exitoso"
                    },
                    "401": {
                        "description": "Credenciales incorrectas"
                    }
                }
            }
        },
        "/grades": {
            "post": {
                "tags": [
                    "Grades"
                ],
                "summary": "Registrar nota",
                "operationId": "05ad8c97232a8faa357a0e20ed8774ff",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "student_id",
                                    "score"
                                ],
                                "properties": {
                                    "student_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "score": {
                                        "type": "number",
                                        "example": 18
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Nota registrada"
                    },
                    "401": {
                        "description": "No autorizado"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/students": {
            "get": {
                "tags": [
                    "Students"
                ],
                "summary": "Listar estudiantes",
                "operationId": "84f444f03e4d3157371b7c3ed3b8f76f",
                "responses": {
                    "200": {
                        "description": "Listado de estudiantes"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "description": "Ingrese el token JWT con el prefijo Bearer",
                "bearerFormat": "JWT",
                "scheme": "bearer"
            }
        }
    },
    "security": [
        {
            "bearerAuth": []
        }
    ],
    "tags": [
        {
            "name": "Auth",
            "description": "Auth"
        },
        {
            "name": "Grades",
            "description": "Grades"
        },
        {
            "name": "Students",
            "description": "Students"
        }
    ]
}