{ "$schema": "http://json-schema.org/draft-06/schema#", "id": "endpoints/access", "title": "Access", "description": "Endpoints relating to Access Lists", "stability": "stable", "type": "object", "definitions": { "_id": { "type": "string", "readonly": true }, "name": { "type": "string", "minLength": 1, "maxLength": 50 }, "items": { "type": "array", "items": { "type": "object", "required": [ "username", "password" ], "properties": { "username": { "type": "string", "minLength": 1, "maxLength": 50 }, "password": { "type": "string", "minLength": 0, "maxLength": 50 }, "hint": { "type": "string", "minLength": 0, "maxLength": 50 } } } }, "hosts": { "type": "array", "items": { "type": "object" } } }, "links": [ { "title": "List", "description": "Returns a list of Access Lists", "href": "/access", "access": "public", "method": "GET", "rel": "self", "targetSchema": { "type": "array", "items": { "$ref": "#/properties" } } }, { "title": "Create", "description": "Creates a new Access List", "href": "/access", "access": "public", "method": "POST", "rel": "create", "schema": { "type": "object", "required": [ "name", "items" ], "properties": { "name": { "$ref": "#/definitions/name" }, "items": { "$ref": "#/definitions/items" } } }, "targetSchema": { "properties": { "$ref": "#/properties" } } }, { "title": "Update", "description": "Updates a Access List", "href": "/hosts/{definitions.identity.example}", "access": "public", "method": "PUT", "rel": "update", "schema": { "type": "object", "required": [ "name", "items" ], "properties": { "name": { "$ref": "#/definitions/name" }, "items": { "$ref": "#/definitions/items" } } }, "targetSchema": { "properties": { "$ref": "#/properties" } } }, { "title": "Delete", "description": "Deletes a existing Access List", "href": "/hosts/{definitions.identity.example}", "access": "public", "method": "DELETE", "rel": "delete", "targetSchema": { "type": "boolean" } } ], "properties": { "_id": { "$ref": "#/definitions/_id" }, "name": { "$ref": "#/definitions/name" }, "items": { "$ref": "#/definitions/items" }, "hosts": { "$ref": "#/definitions/hosts" } } }