JSON Data Definition Specification for the API Payload to submit an FL401 case to HMCTS' CCD Platform
Two sechems are provided in this repo:
- The complete CCD Create Case API payload schema - this is made up of FL401 schema + a metaData property
- The stand-alone FL401 schema
- Do not add comments
- Always use double quotes
- Do not include empty or null values
The intention is to make the element names as transparent and human readable as possible whilst maintaining a consistent pattern and keeping their lengths to a minimum.
- All element names are based on the paper verion of the FL401 form
- Where the paper version refers to
you
oryour
the schema usesapplicant
- for exampleYour date of birth
is referenced asapplicantDateOfBirth
- All element names are expressed in camel case (e.g. lowercase initial letter with capital letters at the start of each subsequent word)
- In most cases 'short words' have been removed (e.g. &, and, or) except where these help with readibility
- Where a property has an 'other' option, an additonal property exists in the schema to store the 'other' value - this shares the name of the original with the suffix Other. For example:
applicantGender
andapplicantGenderOther
- The data within the CCD Create Case schema is broken down into two properties:
metaData
: Information about the case which doesn't appear on the FL401 formfl401
: All the data required to complete the FL401 form (note - this is also provided as a stand-alone schema)
- The FL401 data is groupded into objects which correspond to the sections on the paper form - refer to FL401-Field-names-and-rules.xlsx
- Property values must be Unicode booleans, numbers, strings, objects, arrays - do not include nulls or empty strings
- All addresses are expressed using a sub-schema (#/definitions/ukAddress)
- All dates are expressed using a sub-schema (#/definitions/standardDate)
Validation has been kept to a minimum. The following rules are enforced:
- All values chosen from a set of options are validated aginst Enumeration types
- To avoid 'falsy' ambiguity all boolean values are required
- Where the string 'other' is selected as a value from an Enumeration type, the linked 'other' property becomes required
- Some text values which are linked to booleans become required if the boolean value is set to true
To test paste the ccd-create-case.json schema and sample JSON into: https://www.jsonschemavalidator.net/