Sample SCV schema

Below is a sample SCV schema in JSON format that includes system default properties and custom attributes. This schema is designed to pass validation and is deployable.

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "customerid": {
      "title": "Customer ID",
      "description": "The SCV customer id for the data, this value can not be set by the user.",
      "x-scv-source": "customer.$customerid"
    },
    "email": {
      "title": "Email",
      "description": "The verified email of the customer.",
      "x-scv-source": "customer.$verifiedEmail"
    },
    "username": {
      "title": "Username",
      "description": "The username of the customer.",
      "x-scv-source": "customer.$username"
    },
    "studentid": {
      "title": "Student ID",
      "description": "Any tertiary ID for the customer eg: studentid or staffid.",
      "x-scv-source": "customer.$tertiaryid"
    },
    "createdDatetime": {
      "title": "Created Datetime",
      "description": "The created datetime for the customer, this value can not be set by the user.",
      "x-scv-source": "customer.$createdDatetime"
    },
    "updatedDatetime": {
      "title": "Updated Datetime",
      "description": "The updated datetime for the customer, this value can not be set by the user.",
      "x-scv-source": "customer.$updatedDatetime"
    },
    "consented": {
      "title": "Consented",
      "description": "The consented value for the customer, this value is set via the consent event.",
      "x-scv-source": "customer.$consented"
    },
    "consentedDocumentVersion": {
      "title": "Consented Document Version",
      "description": "The consented document version value for the customer, this value is set via the consent event.",
      "x-scv-source": "customer.$consentDocumentVersion"
    },
    "firstName": {
      "title": "First name",
      "description": "The first name of the user.",
      "type": "string",
      "example": "Bilbo",
      "x-scv-searchable": "firstName"
    },
    "lastName": {
      "title": "Last name",
      "description": "The last name of the user.",
      "type": "string",
      "example": "Baggins",
      "x-scv-searchable": "lastName"
    },
    "countryCode": {
      "title": "Country code",
      "description": "The users countryCode.",
      "type": "string",
      "example": "au"
    },
    "profileImageURL": {
      "title": "Profile image URL",
      "description": "A place to store a URL to a profile image.",
      "type": "string",
      "example": "https://www.uni.edu/profile/myImage.jpg"
    },
    "gpa": {
      "title": "GPA",
      "description": "GPA of a student",
      "type": "number"
    },
    "interests": {
      "title": "Interests",
      "description": "List of interests that the user has.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "hasRequestedFinancialAid": {
      "title": "Has requested financial aid",
      "description": "Whether the student has requested financial aid or not.",
      "type": "boolean",
      "default": false
    }
  },
  "required": []
}