{ "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, "definitions": { "EntryTypes": { "additionalProperties": { "$ref": "./entryTypeDefinition.json", "type": "object" }, "description": "This is a dictionary of the entry types implemented in this Beacon instance.", "minProperties": 1, "type": "object" } }, "description": "Files complaint with this schema are the configuration ones. The details returned in `service-info` are mirroring the ones in this configuration file.", "properties": { "$schema": { "$ref": "../common/beaconCommonComponents.json#/definitions/$schema" }, "entryTypes": { "$ref": "#/definitions/EntryTypes" }, "maturityAttributes": { "description": "Declares the level of maturity of the Beacon instance.", "properties": { "productionStatus": { "description": "`DEV`= 'Service potentially unstable, not real data', which availability and data should not be used in production setups. `TEST`= 'Service stable, not real data'. 'PROD'= 'Service stable, actual data'.", "enum": [ "DEV", "TEST", "PROD" ], "type": "string" } }, "type": "object" }, "securityAttributes": { "description": "Configuration of the security aspects of the Beacon. By default, a Beacon that does not declare the configuration settings would return `boolean` (true/false) responses, and only if the user is authenticated and explicitly authorized to access the Beacon resources. Although this is the safest set of settings, it is not recommended unless the Beacon shares very sensitive information. Non sensitive Beacons should preferably opt for a `record` and `PUBLIC` combination.", "properties": { "defaultGranularity": { "$ref": "../common/beaconCommonComponents.json#/definitions/Granularity", "description": "Default granularity. Some responses could return higher detail, but this would be the granularity by default." }, "securityLevels": { "description": "All access levels supported by the Beacon. Any combination is valid, as every option would apply to different parts of the Beacon.", "items": { "default": [ "CONTROLLED" ], "enum": [ "PUBLIC", "REGISTERED", "CONTROLLED" ] }, "type": "array" } }, "type": "object" } }, "required": [ "$schema", "maturityAttributes", "entryTypes" ], "title": "Beacon Configuration", "type": "object" }