HM Courts & Tribunals Service · Schema
entry-create-dto
Request payload to create an Application List Entry. Blank fields will be rejected, nulls should be used instead.
CompanyGovernmentCourtsJusticePublic SectorUnited Kingdom
Properties
| Name | Type | Description |
|---|---|---|
| standardApplicantCode | string | Code that identifies the Standard Applicant. |
| applicationCode | string | Code that identifies the Application Code. |
| applicant | object | |
| respondent | object | |
| numberOfRespondents | integer | Number of respondents required by the Application. |
| wordingFields | array | An array of user-provided values used to populate placeholders in the 'wording'. The wording is a field belonging to the linked Application Code. Each string is applied to the wording in the order the |
| feeStatuses | array | Fee-status rows for the entry. Must only be supplied when the selected application code requires a fee. |
| hasOffsiteFee | boolean | Indicates whether an off-site fee applies. |
| caseReference | string | A reference code to identify a related case (maximum 15 characters). |
| accountNumber | string | The Applicant's account number (maximum 20 characters). Required when the Application Code starts with EF. |
| notes | string | Notes about the application or the hearing (maximum 4000 characters). |
| lodgementDate | string | The date on which the application was submitted. Will be set to current date if omitted. |
| officials | array | An array of Officials who will decide the outcome of the Application. A maximum of 4 officials may be supplied, with no more than 3 MAGISTRATE entries and no more than 1 CLERK entry. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/hmcts/main/json-schema/hmcts-entry-create-dto-schema.json",
"title": "entry-create-dto",
"description": "Request payload to create an Application List Entry. Blank fields will be rejected, nulls should be used instead.",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/hmcts-applications-register-openapi.yml#/components/schemas/entry-create-dto",
"additionalProperties": false,
"properties": {
"standardApplicantCode": {
"description": "Code that identifies the Standard Applicant.",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"applicationCode": {
"description": "Code that identifies the Application Code.",
"maxLength": 10,
"minLength": 1,
"type": "string"
},
"applicant": {
"$ref": "#/$defs/applicant"
},
"respondent": {
"$ref": "#/$defs/respondent"
},
"numberOfRespondents": {
"description": "Number of respondents required by the Application.",
"format": "int16",
"type": "integer"
},
"wordingFields": {
"description": "An array of user-provided values used to populate placeholders in the 'wording'. The wording is a field belonging to the linked Application Code. Each string is applied to the wording in the order they are provided.\n",
"items": {
"$ref": "#/$defs/template-substitution"
},
"type": "array"
},
"feeStatuses": {
"description": "Fee-status rows for the entry. Must only be supplied when the selected application code requires a fee.",
"items": {
"$ref": "#/$defs/fee-status"
},
"type": "array"
},
"hasOffsiteFee": {
"description": "Indicates whether an off-site fee applies.",
"type": "boolean"
},
"caseReference": {
"description": "A reference code to identify a related case (maximum 15 characters).",
"maxLength": 15,
"minLength": 1,
"type": "string"
},
"accountNumber": {
"description": "The Applicant's account number (maximum 20 characters). Required when the Application Code starts with EF.",
"maxLength": 20,
"minLength": 1,
"type": "string"
},
"notes": {
"description": "Notes about the application or the hearing (maximum 4000 characters).",
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"lodgementDate": {
"description": "The date on which the application was submitted. Will be set to current date if omitted.",
"format": "date",
"type": "string"
},
"officials": {
"description": "An array of Officials who will decide the outcome of the Application. A maximum of 4 officials may be supplied, with no more than 3 MAGISTRATE entries and no more than 1 CLERK entry.",
"items": {
"$ref": "#/$defs/official"
},
"maxItems": 4,
"type": "array"
}
},
"required": [
"applicationCode"
],
"type": "object",
"$defs": {
"applicant": {
"additionalProperties": false,
"description": "The applicant making the application.\nIn application read and print responses, Standard Applicants are represented by their\nreference name in organisation.name (or their code when no reference name exists).\nTheir personal and contact values are not returned. For these read responses the\nshared input contact constraints do not apply: contact fields may be null or absent.\nOrdinary applicant input still requires the person or organisation contact details.\n",
"properties": {
"person": {
"$ref": "#/$defs/person"
},
"organisation": {
"$ref": "#/$defs/organisation"
}
},
"type": "object"
},
"contact-details": {
"additionalProperties": false,
"description": "A participant's contact details. Blank fields will be rejected, nulls should be used instead.",
"properties": {
"addressLine1": {
"description": "Line one of the participant's address.",
"maxLength": 35,
"minLength": 1,
"nullable": false,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": "string"
},
"addressLine2": {
"description": "Line two of the participant's address.",
"maxLength": 35,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": [
"string",
"null"
]
},
"addressLine3": {
"description": "Line three of the participant's address.",
"maxLength": 35,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": [
"string",
"null"
]
},
"addressLine4": {
"description": "Line four of the participant's address.",
"maxLength": 35,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": [
"string",
"null"
]
},
"addressLine5": {
"description": "Line five of the participant's address.",
"maxLength": 35,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": [
"string",
"null"
]
},
"postcode": {
"description": "The participant's postcode.",
"maxLength": 8,
"minLength": 1,
"nullable": false,
"pattern": "^(([A-Z]{1,2}((\\d[A-Z\\d])|(\\d)) \\d[A-Z]{2})|(GIR 0A{2}))$",
"type": "string"
},
"phone": {
"description": "The participant's home-phone number.",
"maxLength": 20,
"minLength": 10,
"pattern": "[0-9 \\-]*",
"type": [
"string",
"null"
]
},
"mobile": {
"description": "The participant's mobile number.",
"maxLength": 20,
"minLength": 11,
"pattern": "^(?:\\+\\d{1,4}\\s*)?[0-9 \\-]*$",
"type": [
"string",
"null"
]
},
"email": {
"description": "The participant's email address.",
"maxLength": 253,
"minLength": 1,
"pattern": "^((([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,})))*$",
"type": [
"string",
"null"
]
}
},
"required": [
"addressLine1"
],
"type": "object"
},
"fee-status": {
"additionalProperties": false,
"description": "The status of the fee linked to the application. Blank fields will be rejected, nulls should be used instead.",
"properties": {
"paymentReference": {
"description": "The reference code used to identify the payment.",
"maxLength": 15,
"minLength": 1,
"type": "string"
},
"paymentStatus": {
"$ref": "#/$defs/payment-status"
},
"statusDate": {
"description": "The date when the payment status was updated. Must be today's date or a past date.",
"format": "date",
"type": "string"
}
},
"required": [
"paymentStatus",
"statusDate"
],
"type": "object"
},
"full-name": {
"additionalProperties": false,
"description": "A persons full name. Blank fields will be rejected, nulls should be used instead.",
"properties": {
"title": {
"description": "Prefix before a persons name.",
"maxLength": 100,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": "string"
},
"firstName": {
"description": "The person's first name.",
"maxLength": 100,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": "string"
},
"middleName": {
"description": "The person's optional middle name or names.",
"maxLength": 100,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": [
"string",
"null"
]
},
"lastName": {
"description": "The person's family name.",
"maxLength": 100,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": "string"
}
},
"required": [
"firstName",
"lastName"
],
"type": "object"
},
"official": {
"additionalProperties": false,
"description": "The Official hearing the application. Blank fields will be rejected, nulls should be used instead.",
"properties": {
"title": {
"description": "Prefix before a persons name.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"surname": {
"description": "The persons family name.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"forename": {
"description": "The persons first name.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"type": {
"$ref": "#/$defs/official-type"
}
},
"type": "object"
},
"official-type": {
"description": "The type of Official hearing the application.",
"enum": [
"MAGISTRATE",
"CLERK"
],
"type": "string"
},
"organisation": {
"additionalProperties": false,
"description": "The organisation making, or responding to, the application. Blank fields will be rejected, nulls should be used instead.",
"properties": {
"name": {
"description": "The name of the organisation.",
"maxLength": 100,
"minLength": 1,
"pattern": "^[^\\u0000-\\u001F\\u007F-\\u009F]*$",
"type": "string"
},
"contactDetails": {
"$ref": "#/$defs/contact-details"
}
},
"required": [
"contactDetails",
"name"
],
"type": "object"
},
"payment-status": {
"description": "The Status of the Fee's Payment.",
"enum": [
"PAID",
"UNDERTAKEN",
"DUE",
"REMITTED"
],
"type": "string"
},
"person": {
"additionalProperties": false,
"description": "The person making, or responding to, the application.",
"properties": {
"name": {
"$ref": "#/$defs/full-name"
},
"contactDetails": {
"$ref": "#/$defs/contact-details"
}
},
"required": [
"contactDetails",
"name"
],
"type": "object"
},
"respondent": {
"additionalProperties": false,
"description": "The respondent to the application.",
"properties": {
"person": {
"$ref": "#/$defs/respondent_person"
},
"organisation": {
"$ref": "#/$defs/organisation"
}
},
"type": "object"
},
"respondent_person": {
"allOf": [
{
"$ref": "#/$defs/person"
},
{
"description": "Person details for a respondent (includes DOB).",
"properties": {
"dateOfBirth": {
"description": "Date of birth (only applicable for person respondents).",
"format": "date",
"type": "string"
}
},
"type": "object"
}
]
},
"template-substitution": {
"additionalProperties": false,
"description": "The template field with the associated value to substitute. Blank fields will be rejected, nulls should be used instead.",
"properties": {
"key": {
"description": "Field key for substitution into the template.",
"minLength": 1,
"type": "string"
},
"value": {
"description": "The field value to substitute into the template key. Braces and line breaks are not permitted.",
"minLength": 1,
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/hmcts-entry-create-dto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.