{
    "openapi": "3.1.2",
    "info": {
        "title": "Procurement UNISA API Docs",
        "version": "1.0.0",
        "description": "Dokumentasi RESTful API Pengadaan UNISA."
    },
    "servers": [
        {
            "url": "https:\/\/staging-unisa-api.wongjavas.com\/api"
        }
    ],
    "security": [
        {
            "http": []
        }
    ],
    "paths": {
        "\/auth\/login": {
            "post": {
                "operationId": "auth.login",
                "summary": "Authenticate user and issue API token",
                "tags": [
                    "Auth"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/LoginRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Autentikasi berhasil."
                                        },
                                        "data": {
                                            "type": "object",
                                            "properties": {
                                                "user": {
                                                    "allOf": [
                                                        {
                                                            "$ref": "#\/components\/schemas\/UserResource"
                                                        },
                                                        {
                                                            "type": "object",
                                                            "required": [
                                                                "role",
                                                                "faculty"
                                                            ]
                                                        }
                                                    ]
                                                },
                                                "token": {
                                                    "type": "string"
                                                },
                                                "token_type": {
                                                    "type": "string",
                                                    "const": "Bearer"
                                                }
                                            },
                                            "required": [
                                                "user",
                                                "token",
                                                "token_type"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                },
                "security": []
            }
        },
        "\/auth\/me": {
            "get": {
                "operationId": "auth.me",
                "summary": "Get the authenticated user profile",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Profil pengguna berhasil dimuat."
                                        },
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/UserResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "role",
                                                        "faculty"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/auth\/logout": {
            "post": {
                "operationId": "auth.logout",
                "summary": "Log out the authenticated user (revoke current token)",
                "tags": [
                    "Auth"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Logout berhasil."
                                        },
                                        "data": {
                                            "type": "null"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/faculties": {
            "get": {
                "operationId": "faculties.index",
                "summary": "Display a listing of faculties",
                "tags": [
                    "Faculty"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Daftar fakultas berhasil dimuat."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/FacultyResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "string"
                                                },
                                                "last_page": {
                                                    "type": "string"
                                                },
                                                "per_page": {
                                                    "type": "string"
                                                },
                                                "total": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "faculties.store",
                "summary": "Store a newly created faculty in storage",
                "tags": [
                    "Faculty"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreFacultyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Fakultas berhasil ditambahkan."
                                        },
                                        "data": {
                                            "$ref": "#\/components\/schemas\/FacultyResource"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/faculties\/{faculty}": {
            "get": {
                "operationId": "faculties.show",
                "summary": "Display the specified faculty",
                "tags": [
                    "Faculty"
                ],
                "parameters": [
                    {
                        "name": "faculty",
                        "in": "path",
                        "required": true,
                        "description": "The faculty ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Detail fakultas berhasil dimuat."
                                        },
                                        "data": {
                                            "$ref": "#\/components\/schemas\/FacultyResource"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "faculties.update",
                "summary": "Update the specified faculty in storage",
                "tags": [
                    "Faculty"
                ],
                "parameters": [
                    {
                        "name": "faculty",
                        "in": "path",
                        "required": true,
                        "description": "The faculty ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateFacultyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Data fakultas berhasil diperbarui."
                                        },
                                        "data": {
                                            "$ref": "#\/components\/schemas\/FacultyResource"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "faculties.destroy",
                "summary": "Remove the specified faculty from storage",
                "tags": [
                    "Faculty"
                ],
                "parameters": [
                    {
                        "name": "faculty",
                        "in": "path",
                        "required": true,
                        "description": "The faculty ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Fakultas berhasil dihapus."
                                        },
                                        "data": {
                                            "type": "null"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/universities": {
            "get": {
                "operationId": "universities.index",
                "summary": "Display a listing of universities",
                "tags": [
                    "University"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Daftar universitas berhasil dimuat."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#\/components\/schemas\/UniversityResource"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "string"
                                                },
                                                "last_page": {
                                                    "type": "string"
                                                },
                                                "per_page": {
                                                    "type": "string"
                                                },
                                                "total": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "universities.store",
                "summary": "Store a newly created university in storage",
                "tags": [
                    "University"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreUniversityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Universitas berhasil ditambahkan."
                                        },
                                        "data": {
                                            "$ref": "#\/components\/schemas\/UniversityResource"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/universities\/{university}": {
            "get": {
                "operationId": "universities.show",
                "summary": "Display the specified university",
                "tags": [
                    "University"
                ],
                "parameters": [
                    {
                        "name": "university",
                        "in": "path",
                        "required": true,
                        "description": "The university ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Detail universitas berhasil dimuat."
                                        },
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/UniversityResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "faculties"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "universities.update",
                "summary": "Update the specified university in storage",
                "tags": [
                    "University"
                ],
                "parameters": [
                    {
                        "name": "university",
                        "in": "path",
                        "required": true,
                        "description": "The university ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateUniversityRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Data universitas berhasil diperbarui."
                                        },
                                        "data": {
                                            "$ref": "#\/components\/schemas\/UniversityResource"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "universities.destroy",
                "summary": "Remove the specified university from storage",
                "tags": [
                    "University"
                ],
                "parameters": [
                    {
                        "name": "university",
                        "in": "path",
                        "required": true,
                        "description": "The university ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Universitas berhasil dihapus."
                                        },
                                        "data": {
                                            "type": "null"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        },
        "\/users": {
            "get": {
                "operationId": "users.index",
                "summary": "Display a listing of users",
                "tags": [
                    "User"
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Daftar pengguna berhasil dimuat."
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "allOf": [
                                                    {
                                                        "$ref": "#\/components\/schemas\/UserResource"
                                                    },
                                                    {
                                                        "type": "object",
                                                        "required": [
                                                            "role",
                                                            "faculty"
                                                        ]
                                                    }
                                                ]
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "properties": {
                                                "current_page": {
                                                    "type": "string"
                                                },
                                                "last_page": {
                                                    "type": "string"
                                                },
                                                "per_page": {
                                                    "type": "string"
                                                },
                                                "total": {
                                                    "type": "string"
                                                }
                                            },
                                            "required": [
                                                "current_page",
                                                "last_page",
                                                "per_page",
                                                "total"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data",
                                        "meta"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "post": {
                "operationId": "users.store",
                "summary": "Store a newly created user in storage",
                "tags": [
                    "User"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/StoreUserRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Pengguna berhasil ditambahkan."
                                        },
                                        "data": {
                                            "$ref": "#\/components\/schemas\/UserResource"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            }
        },
        "\/users\/{user}": {
            "get": {
                "operationId": "users.show",
                "summary": "Display the specified user",
                "tags": [
                    "User"
                ],
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "description": "The user ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Detail pengguna berhasil dimuat."
                                        },
                                        "data": {
                                            "allOf": [
                                                {
                                                    "$ref": "#\/components\/schemas\/UserResource"
                                                },
                                                {
                                                    "type": "object",
                                                    "required": [
                                                        "role",
                                                        "faculty"
                                                    ]
                                                }
                                            ]
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            },
            "put": {
                "operationId": "users.update",
                "summary": "Update the specified user in storage",
                "tags": [
                    "User"
                ],
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "description": "The user ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/UpdateUserRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Data pengguna berhasil diperbarui."
                                        },
                                        "data": {
                                            "$ref": "#\/components\/schemas\/UserResource"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    },
                    "422": {
                        "$ref": "#\/components\/responses\/ValidationException"
                    }
                }
            },
            "delete": {
                "operationId": "users.destroy",
                "summary": "Remove the specified user from storage",
                "tags": [
                    "User"
                ],
                "parameters": [
                    {
                        "name": "user",
                        "in": "path",
                        "required": true,
                        "description": "The user ID",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Pengguna berhasil dihapus."
                                        },
                                        "data": {
                                            "type": "null"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "data"
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "boolean"
                                        },
                                        "message": {
                                            "type": "string",
                                            "const": "Anda tidak dapat menghapus akun Anda sendiri."
                                        },
                                        "errors": {
                                            "type": "null"
                                        }
                                    },
                                    "required": [
                                        "success",
                                        "message",
                                        "errors"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#\/components\/responses\/ModelNotFoundException"
                    },
                    "401": {
                        "$ref": "#\/components\/responses\/AuthenticationException"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "http": {
                "type": "http",
                "scheme": "bearer"
            }
        },
        "schemas": {
            "FacultyResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "university_id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "code": {
                        "type": "string"
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "university": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "code": {
                                "type": "string"
                            },
                            "short_name": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "code",
                            "short_name"
                        ]
                    }
                },
                "required": [
                    "id",
                    "university_id",
                    "name",
                    "code",
                    "address",
                    "created_at",
                    "updated_at"
                ],
                "title": "FacultyResource"
            },
            "LoginRequest": {
                "type": "object",
                "properties": {
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "password": {
                        "type": "string"
                    }
                },
                "required": [
                    "email",
                    "password"
                ],
                "title": "LoginRequest"
            },
            "StoreFacultyRequest": {
                "type": "object",
                "properties": {
                    "university_id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "code": {
                        "type": "string",
                        "maxLength": 50
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "university_id",
                    "name",
                    "code"
                ],
                "title": "StoreFacultyRequest"
            },
            "StoreUniversityRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "code": {
                        "type": "string",
                        "maxLength": 50
                    },
                    "short_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 50
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 50
                    }
                },
                "required": [
                    "name",
                    "code"
                ],
                "title": "StoreUniversityRequest"
            },
            "StoreUserRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "maxLength": 255
                    },
                    "password": {
                        "type": "string",
                        "minLength": 8
                    },
                    "role_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "faculty_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name",
                    "email",
                    "password"
                ],
                "title": "StoreUserRequest"
            },
            "UniversityResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "code": {
                        "type": "string"
                    },
                    "short_name": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "updated_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "faculties": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/FacultyResource"
                        }
                    }
                },
                "required": [
                    "id",
                    "name",
                    "code",
                    "short_name",
                    "address",
                    "phone",
                    "created_at",
                    "updated_at"
                ],
                "title": "UniversityResource"
            },
            "UpdateFacultyRequest": {
                "type": "object",
                "properties": {
                    "university_id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "code": {
                        "type": "string",
                        "maxLength": 50
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "title": "UpdateFacultyRequest"
            },
            "UpdateUniversityRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "code": {
                        "type": "string",
                        "maxLength": 50
                    },
                    "short_name": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 50
                    },
                    "address": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "phone": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "maxLength": 50
                    }
                },
                "title": "UpdateUniversityRequest"
            },
            "UpdateUserRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 255
                    },
                    "email": {
                        "type": "string",
                        "format": "email",
                        "maxLength": 255
                    },
                    "password": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "minLength": 8
                    },
                    "role_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "faculty_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    }
                },
                "title": "UpdateUserRequest"
            },
            "UserResource": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "role_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "faculty_id": {
                        "type": [
                            "integer",
                            "null"
                        ]
                    },
                    "name": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "email_verified_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "created_at": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "role": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "slug": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "id",
                            "name",
                            "slug"
                        ]
                    },
                    "faculty": {
                        "type": [
                            "object",
                            "null"
                        ],
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "university_id": {
                                "type": "integer"
                            },
                            "name": {
                                "type": "string"
                            },
                            "code": {
                                "type": "string"
                            },
                            "address": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "university": {
                                "type": [
                                    "object",
                                    "null"
                                ],
                                "properties": {
                                    "id": {
                                        "type": "integer"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "short_name": {
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    }
                                },
                                "required": [
                                    "id",
                                    "name",
                                    "code",
                                    "short_name"
                                ]
                            }
                        },
                        "required": [
                            "id",
                            "university_id",
                            "name",
                            "code",
                            "address",
                            "university"
                        ]
                    }
                },
                "required": [
                    "id",
                    "role_id",
                    "faculty_id",
                    "name",
                    "email",
                    "email_verified_at",
                    "created_at"
                ],
                "title": "UserResource"
            }
        },
        "responses": {
            "ValidationException": {
                "description": "Validation error",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Errors overview."
                                },
                                "errors": {
                                    "type": "object",
                                    "description": "A detailed description of each field that failed validation.",
                                    "additionalProperties": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "required": [
                                "message",
                                "errors"
                            ]
                        }
                    }
                }
            },
            "AuthenticationException": {
                "description": "Unauthenticated",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            },
            "ModelNotFoundException": {
                "description": "Not found",
                "content": {
                    "application\/json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "message": {
                                    "type": "string",
                                    "description": "Error overview."
                                }
                            },
                            "required": [
                                "message"
                            ]
                        }
                    }
                }
            }
        }
    }
}