[
  {
    "endpoint": "/api/admins",
    "method": "GET",
    "description": "Retrieve all admin users.",
    "responses": {
      "200": { "$ref": "../examples/admins/list.200.json" },
      "403": { "$ref": "../examples/errors/403.json" }
    }
  },
  {
    "endpoint": "/api/admins/:id",
    "method": "GET",
    "description": "Retrieve an admin user by ID.",
    "request": {
      "params": { "id": "integer" }
    },
    "responses": {
      "200": { "$ref": "../examples/admins/get.200.json" },
      "404": { "$ref": "../examples/errors/404.json" }
    }
  },
  {
    "endpoint": "/api/admins",
    "method": "POST",
    "description": "Create a new admin user.",
    "request": {
      "body": {
        "full_name": "string (required)",
        "email": "string (required, valid email, unique)",
        "phone_number": "string (required, valid phone, unique)",
        "password": "string (required, min 8 chars, must have uppercase & digit)",
        "industry": "string (required)",
        "role": "string (required, must be 'admin' or 'super_admin')",
        "account_status": "string (optional, enum: [active, suspended, inactive])",
        "profile_image_url": "string (optional, valid URL to image)"
      }
    },
    "responses": {
      "201": { "$ref": "../examples/admins/post.201.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "409": { "$ref": "../examples/errors/409.json" }
    }
  },
  {
    "endpoint": "/api/admins/:id",
    "method": "PUT",
    "description": "Update an existing admin user.",
    "request": {
      "params": { "id": "integer" },
      "body": {
        "full_name": "string (optional)",
        "email": "string (optional, valid email, unique)",
        "phone_number": "string (optional, valid phone, unique)",
        "password": "string (optional, min 8 chars, must have uppercase & digit)",
        "industry": "string (optional)",
        "role": "string (optional, must be 'admin' or 'super_admin')",
        "account_status": "string (optional, enum: [active, suspended, inactive])",
        "profile_image_url": "string (optional, valid URL to image)"
      }
    },
    "responses": {
      "200": { "$ref": "../examples/admins/put.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "404": { "$ref": "../examples/errors/404.json" },
      "409": { "$ref": "../examples/errors/409.json" }
    }
  },
  {
    "endpoint": "/api/admins/:id",
    "method": "DELETE",
    "description": "Delete an admin user by ID.",
    "request": {
      "params": { "id": "integer" }
    },
    "responses": {
      "200": { "$ref": "../examples/admins/delete.200.json" },
      "404": { "$ref": "../examples/errors/404.json" }
    }
  }
]
