SafetyCulture API JSON schemas
JSON schemas of data structures exposed by the SafetyCulture public API.
They are useful e.g. to integrators wishing to validate data exported by the SafetyCulture API.
For more details see the SafetyCulture developer portal.
Usage
npm install @safetyculture/api-json-schemas
const safetyCultureApiJsonSchemas = require('@safetyculture/api-json-schemas');
console.log(safetyCultureApiJsonSchemas.audit);
console.log(safetyCultureApiJsonSchemas.definitions);
console.log(safetyCultureApiJsonSchemas.geometry);
Validation example
Add a file to your project that exposes a validator like this:
const Validator = require('jsonschema').Validator;
const publicApiJsonSchema = require('@safetyculture/api-json-schemas');
function createValidator() {
const validator = new Validator();
const SUB_SCHEMAS = [
publicApiJsonSchema.definitions,
publicApiJsonSchema.geometry
];
SUB_SCHEMAS.forEach((subSchema) => {
validator.addSchema(subSchema);
});
return validator;
}
module.exports = function validate(doc, options) {
if (!doc || typeof doc !== 'object') {
throw new Error('Input to API schema validation function is not an object');
}
const validator = createValidator();
return validator.validate(doc, publicApiJsonSchema.audit, options);
};