openapi: 3.0.3 info: title: Core - ogDHCP - OpenAPI 3.0 description: |- API for DHCP service. Used by OGweb. Some useful links: - [The ogDHCP repository](https://ognproject.evlt.uma.es/gitea/opengnsys/ogdhcp) contact: name: ogn-qindel email: seguimiento-ogn-quindel@listas.unizar.es version: 1.0.0 paths: /opengnsys3/rest/core/subnets: get: operationId: 8f92a1cbcb8cd176bdc4ae272b3ad303 responses: '200': description: Devuelve todas las subredes content: application/json: schema: type: array items: $ref: '#/components/schemas/Subnet' '400': description: Error al obtener las subredes post: summary: Add a new DHCP subnet operationId: 88949bae5e7784ce2721ffafe7c88c0a requestBody: description: JSON payload required: true content: application/json: schema: properties: subnetId: type: integer example: 2 mask: type: string example: 255.255.255.0 address: type: string example: 192.168.1.0 nextServer: type: string example: 192.168.1.1 bootFileName: type: string example: pxelinux.0 type: object responses: '200': description: Subnet added successfully content: application/json: schema: properties: success: type: string type: object '400': description: Error occurred content: application/json: schema: properties: error: type: string type: object /opengnsys3/rest/core/subnets/{subnetId}: put: summary: Modify a DHCP subnet operationId: 548b55fc0e1ad59ea5b5c909dfd07c71 parameters: - name: subnetId in: path description: ID of the subnet to modify required: true schema: type: integer requestBody: description: Data to modify the subnet required: true content: application/json: schema: properties: mask: type: string address: type: string nextServer: type: string bootFileName: type: string type: object responses: '200': description: Subnet modified successfully content: application/json: schema: properties: success: type: string type: object '400': description: Error occurred content: application/json: schema: properties: error: type: string type: object delete: summary: Delete a DHCP subnet operationId: c1c1c34729bdd85857b22e6e2bdc41de parameters: - name: subnetId in: path description: ID of the subnet to delete required: true schema: type: integer responses: '200': description: Subnet deleted successfully content: application/json: schema: properties: success: type: string type: object '400': description: Error occurred content: application/json: schema: properties: error: type: string type: object /opengnsys3/rest/core/subnets/{subnetId}/hosts: get: summary: Get all hosts in a subnet operationId: 0989ca622a6a7e23f5af8e3bdd6f6b05 parameters: - name: subnetId in: path description: The ID of the subnet required: true schema: type: integer responses: '200': description: List of hosts in the subnet content: application/json: schema: type: array items: $ref: '#/components/schemas/Host' '400': description: Error occurred content: application/json: schema: properties: error: type: string type: object '500': description: Server error content: application/json: schema: properties: error: type: string type: object put: summary: Update a DHCP host operationId: 1541441cd53685aaf6df45ab48befaa8 parameters: - name: subnetId in: path description: The ID of the subnet required: true schema: type: integer requestBody: description: Data for the host to update required: true content: application/json: schema: properties: host: type: string example: pc11 oldMacAddress: type: string example: 56:6f:c7:4f:00:4f oldAddress: type: string example: 192.168.1.11 macAddress: type: string example: 56:6f:c7:4f:01:01 address: type: string example: 192.168.1.11 type: object responses: '200': description: Host updated successfully content: application/json: schema: properties: success: type: string type: object '400': description: Error occurred content: application/json: schema: properties: error: type: string type: object post: summary: Add a DHCP host to a subnet operationId: 3f897dcd7c04787ac9c42ddbb57cb800 parameters: - name: subnetId in: path description: ID of the subnet to add the host to required: true schema: type: integer requestBody: description: Data for the new host required: true content: application/json: schema: properties: host: type: string example: pc11 macAddress: type: string example: 56:6f:c7:4f:00:4f address: type: string example: 172.30.4.11 type: object responses: '200': description: Host added successfully content: application/json: schema: properties: success: type: string type: object '400': description: Error occurred content: application/json: schema: properties: error: type: string type: object delete: summary: Delete a DHCP host from a specific subnet operationId: f652c52b39d57d283401df66a7930b5f parameters: - name: subnetId in: path description: The ID of the subnet required: true schema: type: integer responses: '200': description: Host deleted successfully content: application/json: schema: properties: success: type: string type: object '400': description: Error occurred content: application/json: schema: properties: error: type: string type: object components: schemas: Subnet: properties: id: description: The ID of the subnet type: integer subnet: description: The name of the subnet type: string next-server: description: The next server in the subnet type: string boot-file-name: description: The boot file name for the subnet type: string reservations: type: array items: description: The reservations in the subnet type: object type: object Host: properties: host: type: string example: pc11 macAddress: type: string example: 56:6f:c7:4f:00:4f address: type: string example: 172.30.4.11 type: object