openapi: 3.0.4 info: contact: name: HMCTS AppReg Team url: https://github.com/hmcts/appreg-api description: "REST API for managing Administrative Tasks, Applications Lists, Application\ \ List Entries and getting important, reference data including Application Codes,\ \ Result Codes, Fees, Court Locations, Criminal Justice Areas and Standard Applicants." title: Applications Register API version: '@version@' servers: - url: / tags: - description: Administrative operations such as jobs can be run from this set of endpoints. name: admin - description: "Application Codes are reference data, not managed in App Reg. They\ \ are required to provide a set repeatable data that can be used by Application\ \ List Entries, such as the title, wording or whether an application has an associated\ \ fee." name: application-codes - description: "An Application List records the date, time and location at which one\ \ or more Applications is to be considered by a magistrate or delegated authority." name: application-lists - description: An Application List Entry records all details of an individual Application. This will always belong to an Application List. name: application-list-entries - description: An Application List Entry Result records the result of an individual Application. Each Application can have multiple child Results and Results cannot exist without a parent Application. name: application-list-entry-results - description: "Court Locations are reference data, not managed in App Reg. They are\ \ a consolidation of both crown and magistrates courts where an application will\ \ be heard and resulted." name: court-locations - description: "Criminal Justice Areas are reference data, not managed in App Reg.\ \ They are officially recognized justice regions and used to classify records\ \ by jurisdiction." name: criminal-justice-areas - description: Background job operations for asynchronous tasks (polling status across all job types). name: jobs - description: Endpoints to generate and retrieve CSV reports asynchronously. name: reports - description: "Result codes are reference data, not managed in App Reg. They are\ \ required to provide a set of ways an Application List Entry can be resulted.\ \ e.g. Approved/Denied." name: result-codes - description: "Standard Applicants are reference data, not managed in App Reg. They\ \ are pre-registered individuals stored in the system to streamline applications\ \ for recurring users, avoiding the need to manually re-enter their details each\ \ time they create applications." name: standard-applicants paths: /admin/jobs/{jobType}: get: description: Returns the current status and details of a background job. operationId: getJobStatus parameters: - description: The type of the job we are determining the status of. in: path name: jobType required: true schema: $ref: "#/components/schemas/admin-job-type" responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/admin-job-status" description: Job status retrieved successfully. headers: Vary: description: Response varies by Accept for media-type versioning. example: Accept schema: type: string "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get the status of a background job being processed in an administrative context. tags: - admin put: description: Enables or disables a database job by its name. operationId: enableDisableDatabaseJobByName parameters: - description: The name of the database job to trigger. example: APPLICATION_LISTS_DATABASE_JOB in: path name: jobType required: true schema: $ref: "#/components/schemas/admin-job-type" - description: Flag to enable (true) or disable (false) the database job. example: true in: query name: enable required: true schema: type: boolean responses: "200": description: Job enabled/disabled successfully. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Enable/Disable a database job by its name. tags: - admin /admin/jobs/{jobType}/retention-policy: get: description: Returns the RETENTION_PERIOD_DAYS configuration for the specified database job. operationId: getDatabaseJobRetentionPeriodByName parameters: - description: The name of the database job to read. example: APPLICATION_LISTS_DATABASE_JOB in: path name: jobType required: true schema: $ref: "#/components/schemas/admin-job-type" responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-retention-policy" description: Retention period retrieved successfully. headers: Vary: description: Response varies by Accept for media-type versioning. example: Accept schema: type: string "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get a database job retention period by its name. tags: - admin put: description: Updates the RETENTION_PERIOD_DAYS configuration for the specified database job. operationId: updateDatabaseJobRetentionPeriodByName parameters: - description: The name of the database job to update. example: APPLICATION_LISTS_DATABASE_JOB in: path name: jobType required: true schema: $ref: "#/components/schemas/admin-job-type" - description: Number of days to retain closed application lists before deletion. example: 1825 in: query name: retentionPeriodDays required: true schema: minimum: 1 type: integer responses: "200": description: Retention period updated successfully. "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Update a database job retention period by its name. tags: - admin /admin/csds/{processor}/ingest: post: description: | Runs the requested CSDS processor synchronously against an uploaded JSON snapshot rendered from the reporting pipeline. The processor key in the path must be one of `application_codes`, `resolution_codes`, `fee`, `national_court_houses`, or `standard_applicants`. Implemented processors must also be enabled in CSDS ingress configuration; disabled processors return `409 Conflict`, and recognised but unimplemented processors return `501 Not Implemented`. The endpoint honours the distributed CSDS ingest lock and returns `423 Locked` if another run already owns it. The global 5MB multipart file limit applies. operationId: ingestCsdsData parameters: - description: CSDS processor key. This maps to the processor name used by the manual ingest path. in: path name: processor required: true schema: enum: - application_codes - resolution_codes - fee - national_court_houses - standard_applicants type: string requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/ingestCsdsData_request" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/csds-ingest-response" description: CSDS ingest completed successfully. headers: Vary: description: Response varies by Accept for media-type versioning. example: Accept schema: type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: | Uploaded CSDS snapshot could be parsed, but one or more rows violated target-table constraints. Response detail reports the failing row count; row-level reasons are written to CSDS_AUDIT. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "409": content: application/problem+json: examples: csds-conflict: value: type: https://errors.hmcts.net/common/conflict title: The requested CSDS ingest processor is disabled status: 409 detail: The requested CSDS ingest processor is disabled schema: $ref: "#/components/schemas/problem" description: The requested CSDS ingest processor is disabled. "413": content: application/problem+json: examples: payload-too-large: value: type: https://errors.hmcts.net/common/payload-too-large title: Payload Too Large status: 413 detail: Uploaded file must not be larger than 5MB schema: $ref: "#/components/schemas/problem" description: Request entity is too large to be processed. "415": content: application/problem+json: examples: unsupported-media-type: value: type: https://errors.hmcts.net/common/unsupported-media-type title: Unsupported Media Type status: 415 detail: The content type 'application/xml' is not supported. Expected 'text/csv' or 'multipart/form-data'. schema: $ref: "#/components/schemas/problem" description: The server does not support the media type of the request. "423": content: application/problem+json: examples: locked: value: type: https://errors.hmcts.net/common/locked title: Locked status: 423 detail: The CSDS ingest is already running schema: $ref: "#/components/schemas/problem" description: The requested operation could not start because the resource is locked. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. "501": content: application/problem+json: examples: not-implemented: value: type: https://errors.hmcts.net/common/not-implemented title: Not Implemented status: 501 detail: The requested CSDS ingest processor is not implemented yet schema: $ref: "#/components/schemas/problem" description: The requested processor is recognised but not yet implemented. summary: Ingest a CSDS snapshot file. tags: - admin /application-codes: get: description: | Returns a paginated list of Application Codes. - Filters: - `code` – case-insensitive partial match - `title` – case-insensitive partial match operationId: getApplicationCodes parameters: - description: "Filter by code (contains, case-insensitive)." example: AD99004 in: query name: code schema: maxLength: 10 type: string - description: "Filter by title (contains, case-insensitive)." example: Certificate of Satisfaction in: query name: title schema: maxLength: 500 type: string - description: | ISO date (yyyy-MM-dd) on which returned Application Codes must be valid. example: 2021-01-01 in: query name: date required: false schema: format: date type: string - description: Zero-based page index. in: query name: pageNumber schema: default: 0 format: int32 minimum: 0 type: integer - description: Page size. in: query name: pageSize schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer - description: | Sort parameter. Format: `property,(asc|desc)`. Currently only a single sort value is supported. Example: `?sort=title,asc`. Supported properties: - `title` - `code` - `bulkRespondentAllowed` - `feeDue` explode: true in: query name: sort schema: example: - "title,asc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-code-page" description: Page of Application Codes headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: "Get Application Codes (paginated, filterable)" tags: - application-codes /application-codes/{code}: get: description: Returns the Application Code matching the supplied code and valid on the supplied date. operationId: getApplicationCodeByCodeAndDate parameters: - description: Code used to identify the Application Code (case-insensitive). example: AD99004 in: path name: code required: true schema: maxLength: 10 type: string - description: | ISO date (yyyy-MM-dd) on which the Application Code must be valid. example: 2021-01-01 in: query name: date required: true schema: format: date type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-code-get-detail-dto" description: Application Code found headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get a specific Application Code by code tags: - application-codes /application-lists: get: description: Returns a paginated list of Application Lists. operationId: getApplicationLists parameters: - description: Filter criteria for Application Lists. explode: true in: query name: filter required: false schema: $ref: "#/components/schemas/application-list-get-filter-dto" style: form - in: query name: pageNumber schema: default: 0 minimum: 0 type: integer - in: query name: pageSize schema: default: 10 maximum: 100 minimum: 1 type: integer - description: | Sort parameter. Format: `property,(asc|desc)`. Currently only a single sort value is supported. Example: `?sort=date,desc`. explode: true in: query name: sort schema: example: - "date,desc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-list-page" description: Page of Application Lists headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: "Get Application Lists (paginated, filterable)" tags: - application-lists post: description: Creates a new Application List from the supplied request body. operationId: createApplicationList requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-list-create-dto" required: true responses: "201": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-list-get-detail-dto" description: Application List created headers: Location: description: URL of the created Application List schema: type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Create an Application List tags: - application-lists /application-lists/print: post: description: | Returns print-oriented Application Lists for one or more Application Lists in a single request. Supply `listIds` to scope the search. If `entryIds` is omitted or empty, all active entries from the supplied lists are returned. If `entryIds` is supplied, only the specified active entries from the supplied lists are returned within each returned list. Validation is all-or-nothing. operationId: printApplicationLists requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-get-application-list-entries-request-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: items: $ref: "#/components/schemas/application-list-get-print-dto" type: array description: Matching print-ready Application Lists in input order. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get print-ready Application Lists in bulk tags: - application-lists /application-lists/{listId}: delete: description: Permanently deletes the Application List identified by `listId`. operationId: deleteApplicationList parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string responses: "204": description: Application List deleted (no content) headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Delete an Application List tags: - application-lists get: description: Returns the Application List identified by `listId`. operationId: getApplicationList parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Zero-based page index. in: query name: pageNumber schema: default: 0 format: int32 minimum: 0 type: integer - description: Page size. in: query name: pageSize schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer - description: | Sort parameter. Format: `property,(asc|desc)`. Currently only a single sort value is supported. Example: `?sort=name,asc`. explode: true in: query name: sort schema: example: - "name,asc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-list-get-detail-dto" description: Application List detail headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get an Application List by id tags: - application-lists put: description: | Full replacement (PUT) of an existing Application List. The `id` is taken from the path; the request body must satisfy the same constraints as create (including the XOR location rule: either `courtLocation` or (`otherLocationDescription` + `criminalJusticeAreaCode`)). The request must include a valid `If-Match` header for optimistic concurrency control; a mismatch results in 409 Conflict. operationId: updateApplicationList parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-list-update-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-list-get-detail-dto" description: Updated Application List headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Update an Application List tags: - application-lists /application-list-entries: get: description: "Returns a paginated list of Application Lists Entries that match\ \ the search filters, without using an Application List ID ." operationId: getEntries parameters: - description: Filter criteria for Application Lists Entries. explode: true in: query name: filter required: false schema: $ref: "#/components/schemas/entry-get-filter-dto" style: form - in: query name: pageNumber schema: default: 0 minimum: 0 type: integer - in: query name: pageSize schema: default: 10 maximum: 100 minimum: 1 type: integer - description: | Sort order. A single value is currently supported. Format: `property,(asc|desc)`. Supported properties are date, applicantName, respondentName, applicationTitle, feeRequired, resulted, isResulted, and status. resulted sorts by the result code; isResulted sorts by whether the entry has been resulted. explode: true in: query name: sort schema: example: - "date,desc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry-page" description: Page of Application List Entries headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: "Get all Entries (paginated, filterable)" tags: - application-list-entries /application-list-entries/bulk-action-preview: post: description: | Resolves the current global Application List Entry selection into entry IDs and row context for the next bulk action page, enforcing the configured global bulk action limit. operationId: bulkActionPreview requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-action-preview-request-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-action-preview-response-dto" description: Bulk action preview for the resolved selection. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "413": content: application/problem+json: examples: payload-too-large: value: type: https://errors.hmcts.net/common/payload-too-large title: Payload Too Large status: 413 detail: Uploaded file must not be larger than 5MB schema: $ref: "#/components/schemas/problem" description: Request entity is too large to be processed. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Resolve global bulk action selection preview tags: - application-list-entries /application-lists/{listId}/entries: get: description: Returns a paginated list of Application List Entries linked to a specific Application List. operationId: getApplicationListEntries parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Filter criteria for Application List Entries. explode: true in: query name: filter required: false schema: $ref: "#/components/schemas/entry-application-list-get-filter-dto" style: form - in: query name: pageNumber schema: default: 0 minimum: 0 type: integer - in: query name: pageSize schema: default: 10 maximum: 100 minimum: 1 type: integer - description: | Sort order. A single value is currently supported. Format: `property,(asc|desc)`. Supported properties are sequenceNumber, applicationTitle, applicantName, respondentName, respondentPostcode, accountReference, feeRequired, and resulted. applicantName sorts by organisation name for organisation applicants, otherwise by first name and last name. explode: true in: query name: sort schema: example: - "applicantName,asc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry-page_1" description: Page of Application List Entries headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: "Get Application List Entries (paginated, filterable)" tags: - application-list-entries post: description: Creates a new Application List Entry within the Application List identified by `listId`. operationId: createApplicationListEntry parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry-create-dto" required: true responses: "201": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry-get-detail-dto" description: Returns the created Application List Entry headers: Location: description: URL of the created Application List Entry schema: type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Create an Application List Entry tags: - application-list-entries /application-lists/{listId}/entries/bulk-action-preview: post: description: | Resolves a selection within a single Application List into entry IDs and row context, enforcing the configured single-list bulk action limit. operationId: applicationListEntryBulkActionPreview parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/application-list-entry-bulk-action-preview-request-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-action-preview-response-dto" description: Bulk action preview for the resolved Application List selection. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "413": content: application/problem+json: examples: payload-too-large: value: type: https://errors.hmcts.net/common/payload-too-large title: Payload Too Large status: 413 detail: Uploaded file must not be larger than 5MB schema: $ref: "#/components/schemas/problem" description: Request entity is too large to be processed. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Resolve Application List bulk action selection preview tags: - application-list-entries /application-lists/{listId}/entries/officials: post: description: | Atomically replaces the full officials array for each specified entry in the source list (path `listId`). If any entry cannot be updated, no officials are changed. NOTE: Duplicate entryIds will result in an error operationId: replaceApplicationListEntryOfficials parameters: - description: ID of the Application List that owns the entries whose officials will be replaced. example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 in: path name: listId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-officials-update-dto" required: true responses: "204": description: Officials replaced for all entries. No response body. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Replace officials for multiple Application List Entries. tags: - application-list-entries /application-lists/{listId}/entries/fees: put: description: | Atomically appends the supplied fee status rows to each specified entry in the source list (path `listId`). Existing fee status rows are preserved to retain fee-status history. If any supplied fee detail has `hasOffsiteFee=true`, the selected entries will be ensured to have an off-site fee mapping. `hasOffsiteFee=false` does not remove an existing off-site fee mapping. If any entry cannot be updated, no fee status rows are changed. operationId: bulkUpdateApplicationListEntryFees parameters: - description: ID of the Application List that owns the entries whose fee details will be updated. example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 in: path name: listId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-fees-update-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-update-response-dto" description: Fee status rows appended for all entries. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Bulk append fee status rows for multiple Application List Entries. tags: - application-list-entries /application-lists/{listId}/entries/{entryId}: delete: description: Permanently deletes the Application List Entry identified by `entryId`. operationId: deleteApplicationListEntry parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: entryId required: true schema: format: uuid type: string responses: "204": description: Application List Entry deleted (no content returned) headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Delete an Application List Entry tags: - application-list-entries get: description: | Returns a detailed Application List Entry while the parent Application List is in a state that permits standard entry access. Closed lists must be updated via the dedicated closed-entry endpoint and may reject this standard detail endpoint with 409 Conflict. operationId: getApplicationListEntry parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: entryId required: true schema: format: uuid type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry-get-detail-dto_1" description: Returns a detailed Application List Entry headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get an Application List Entry by id tags: - application-list-entries put: description: | Full replacement (PUT) of an existing Application List Entry. When `feeStatuses` is supplied, the existing fee-status rows for the entry are replaced by the provided list. When `feeStatuses` is `null`, fee-status rows are left unchanged. operationId: updateApplicationListEntry parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: entryId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry-update-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry-get-detail-dto_1" description: Returns the updated Application List Entry headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Update an Application List Entry tags: - application-list-entries /application-lists/{listId}/entries/bulk-import: post: description: | Validates the target application list and CSV structure up front, then enqueues a background job that validates the uploaded rows and, if valid, automatically inserts all rows in a single transaction. If row validation or commit fails, the entire transaction is rolled back and the job ends in `FAILED`. There is a file size limitation of 5MB. operationId: bulkUploadApplicationListEntries parameters: - description: ID of the Application List receiving the uploaded entries. example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 in: path name: listId required: true schema: format: uuid type: string requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/bulkUploadApplicationListEntries_request" required: true responses: "202": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Job accepted. Poll the URL in the Location header for status. headers: Location: description: Polling URL for the created job. schema: type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "413": content: application/problem+json: examples: payload-too-large: value: type: https://errors.hmcts.net/common/payload-too-large title: Payload Too Large status: 413 detail: Uploaded file must not be larger than 5MB schema: $ref: "#/components/schemas/problem" description: Request entity is too large to be processed. "415": content: application/problem+json: examples: unsupported-media-type: value: type: https://errors.hmcts.net/common/unsupported-media-type title: Unsupported Media Type status: 415 detail: The content type 'application/xml' is not supported. Expected 'text/csv' or 'multipart/form-data'. schema: $ref: "#/components/schemas/problem" description: The server does not support the media type of the request. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Start an asynchronous bulk upload of entries via CSV. tags: - application-list-entries /application-lists/entries/bulk-import/{jobId}: get: description: | Fetches the application list entries that have been inserted via the bulk upload endpoint. operationId: getBulkResultApplicationListEntriesByJobId parameters: - description: ID of the bulk result job that created the entries. example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 in: path name: jobId required: true schema: format: uuid type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: items: description: list of application list entry IDs created by the bulk upload job. format: uuid type: string type: array description: Application list entries created by the bulk upload job. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Fetches the application list entries that have been inserted via the bulk upload endpoint. tags: - application-list-entries /application-lists/{listId}/entries/move: post: description: Moves the specified entries from the **source** list (path `listId`) to a single **destination** list. operationId: moveApplicationListEntries parameters: - description: ID of the source Application List that currently owns the entries. example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 in: path name: listId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/move-entries-dto" required: true responses: "200": description: All entries successfully moved. No response body. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Move entries from one Application List to another. tags: - application-list-entries /application-lists/{listId}/entries/closed/{entryId}: get: description: | Returns the selected Application List Entry details and existing notes when the parent Application List is closed. operationId: getApplicationListEntryFromClosedList parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: entryId required: true schema: format: uuid type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry-get-detail-dto_1" description: Returns a detailed Application List Entry whose parent Application List is closed headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string ETag: description: Entity tag for optimistic concurrency in the follow-on update flow. schema: example: '"9f2d6d4f4f2d6d4f4f2d6d4f4f2d6d4f"' type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get an Application List Entry whose Application List is closed tags: - application-list-entries put: description: | Appends additional notes to an Application List Entry after its parent Application List has been closed. Empty additional notes are accepted and leave existing notes unchanged. This is a command-style update and does not return an entry representation. operationId: updateClosedApplicationListEntry parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: entryId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/entry_update_closed_dto" required: true responses: "204": description: Closed Application List Entry updated successfully (no content returned) headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Update notes for an Application List Entry whose Application List is closed tags: - application-list-entries /application-lists/{listId}/entries/results: post: description: | Atomically creates a **separate Result** for each specified entry in the **source** list (path `listId`), using the same Result payload for all entries. If any entry cannot be resulted, **no Results are created**. operationId: bulkResultApplicationListEntries parameters: - description: ID of the Application List that owns the entries to be resulted. example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 in: path name: listId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-result-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: items: $ref: "#/components/schemas/result-get-dto" type: array description: Results created for all entries. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Create the same Result for multiple entries in an Application List. tags: - application-list-entry-results /application-lists/entries/results: delete: description: | Atomically deletes the specified Application List Entry Results. Each item is validated using the same rules as the single delete endpoint. If any item cannot be deleted, no Results are removed. operationId: bulkDeleteResultEntries requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-delete-results-dto" required: true responses: "204": description: Results deleted for all supplied items. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Delete multiple Application List Entry Results. tags: - application-list-entry-results post: description: | Atomically creates a **separate Result** for each specified entry in the **source** list (path `listId`), using the same Result payload for all entries. If any entry cannot be resulted, **no Results are created**. operationId: bulkResultEntries requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/bulk-result-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: items: $ref: "#/components/schemas/result-get-dto" type: array description: Results created for all entries. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Create the same Result for multiple entries across application lists. tags: - application-list-entry-results /application-lists/{listId}/entries/{entryId}/results: get: description: Returns a paginated list of Application List Entry Results linked to a specific Entry. operationId: getApplicationListEntryResults parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: entryId required: true schema: format: uuid type: string - in: query name: pageNumber schema: default: 0 minimum: 0 type: integer - in: query name: pageSize schema: default: 10 maximum: 100 minimum: 1 type: integer responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/result-page" description: Page of Application List Entry Results headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get Application List Entries Results (paginated) tags: - application-list-entry-results post: description: Creates a new Result for the Application List Entry identified by `entryId` within `listId`. operationId: createApplicationListEntryResult parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: entryId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/result-create-dto" required: true responses: "201": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/result-get-dto" description: Returns the created Application List Entry Result headers: Location: description: URL of the created Application List Entry Result schema: type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Create an Application List Entry Result tags: - application-list-entry-results /application-lists/{listId}/entries/{entryId}/results/{resultId}: put: description: | Full replacement (PUT) of an existing Application List Entry Result. operationId: updateApplicationListEntryResult parameters: - description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: listId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: entryId required: true schema: format: uuid type: string - description: Public identifier of the Application List Entry Result. example: 123e4567-e89b-12d3-a456-426655440000 in: path name: resultId required: true schema: format: uuid type: string requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/result-update-dto" required: true responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/result-get-dto" description: Returns the updated Application List Entry Result headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Update an Application List Entry Result tags: - application-list-entry-results /court-locations: get: description: | Returns a paginated list of Court Locations. - Filters: - `name` – case-insensitive partial match - `code` – case-insensitive partial match operationId: getCourtLocations parameters: - description: "Filter by court name (contains, case-insensitive)." example: Cardiff Crown Court Set 1 in: query name: name schema: maxLength: 100 type: string - description: "Filter by Court Location code (contains, case-insensitive)." example: MCJC002 in: query name: code schema: maxLength: 10 type: string - description: Zero-based page index. in: query name: pageNumber schema: default: 0 format: int32 minimum: 0 type: integer - description: Page size. in: query name: pageSize schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer - description: | Sort parameter. Format: `property,(asc|desc)`. Currently only a single sort value is supported. Example: `?sort=name,asc`. explode: true in: query name: sort schema: example: - "name,asc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/court-location-page" description: Page of summarised Court Locations headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: "Get Court Locations (paginated, filterable)" tags: - court-locations /court-locations/{code}: get: description: Returns the Court Location matching the supplied code and valid on the supplied date. operationId: getCourtLocationByCodeAndDate parameters: - description: Code used to identify the Court Location (case-insensitive). example: MCJC002 in: path name: code required: true schema: maxLength: 10 type: string - description: | ISO date (yyyy-MM-dd) on which the Court Location must be valid. example: 2021-01-01 in: query name: date required: true schema: format: date type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/court-location-get-detail-dto" description: Court Location found headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get a specific Court Location by code and date. tags: - court-locations /criminal-justice-areas: get: description: | Returns a paginated list of Criminal Justice Areas. - Filters: - `code` – case-insensitive partial match. - `description` – case-insensitive partial match. operationId: getCriminalJusticeAreas parameters: - description: "Filter by code (contains, case-insensitive)." example: A1 in: query name: code schema: maxLength: 2 type: string - description: "Filter by description (contains, case-insensitive)." example: Liverpool in: query name: description schema: maxLength: 35 type: string - description: Zero-based page index. in: query name: pageNumber schema: default: 0 format: int32 minimum: 0 type: integer - description: Page size. in: query name: pageSize schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer - description: | Sort parameter. Format: `property,(asc|desc)`. Currently only a single sort value is supported. Example: `?sort=description,asc`. explode: true in: query name: sort schema: example: - "description,asc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/criminal-justice-area-page" description: Page of Criminal Justice Areas headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: "Get Criminal Justice Areas (paginated, filterable)" tags: - criminal-justice-areas /criminal-justice-areas/{code}: get: description: Returns the Criminal Justice Area matching the supplied code. operationId: getCriminalJusticeAreaByCode parameters: - description: Code used to identify the Criminal Justice Area (case-insensitive). example: CF in: path name: code required: true schema: maxLength: 2 type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/criminal-justice-area-get-dto" description: Criminal Justice Area found headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get a specific Criminal Justice Area by code. tags: - criminal-justice-areas /jobs/{jobId}: get: description: Returns the current status and details of a background job. operationId: getJobStatusById parameters: - description: The unique identifier of the job. example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 in: path name: jobId required: true schema: format: uuid type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Job status retrieved successfully. headers: Vary: description: Response varies by Accept for media-type versioning. example: Accept schema: type: string "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get the status of a background job. tags: - jobs /reports/activity-audit/jobs: post: description: | Creates an asynchronous job to produce a CSV report detailing user activity within the application register, filtered by date range, username, and activity type. Returns an acknowledgement containing the job ID that can be used to track progress and download the report once complete. operationId: createActivityAuditReport requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/activity-audit-filter-dto" required: true responses: "202": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Report job accepted for asynchronous processing. headers: Location: description: URL to poll the report job status. schema: example: /jobs/job_12345 type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Generate an Activity Audit report of user actions within the application register. tags: - reports /reports/fees/jobs: post: description: | Creates an asynchronous job to produce a CSV report of applications that incur a fee, filtered by date range and location. Returns an acknowledgement containing the job ID for tracking progress. operationId: createFeesReport requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/fees-report-filter-dto" required: true responses: "202": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Report job accepted for asynchronous processing. headers: Location: description: URL to poll the report job status. schema: example: /jobs/job_12345 type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Generate a Fees report for applications that include a fee. tags: - reports /reports/list-maintenance/jobs: post: description: | Creates an asynchronous job to produce a CSV report of open application lists matching the specified inclusive date range, optional list description, and optional legacy location filters. Returns an acknowledgement containing the job ID that can be used to track progress and download the report once complete. operationId: createListMaintenanceReport requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/list-maintenance-filter-dto" required: true responses: "202": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Report job accepted for asynchronous processing. headers: Location: description: URL to poll the report job status. schema: example: /jobs/job_12345 type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Generate a List Maintenance report of open application lists by date range. tags: - reports /reports/search-warrants/jobs: post: description: | Creates an asynchronous job to produce a CSV report listing search warrants, filtered by date range and court location. Returns an acknowledgement containing the job ID that can be used to track progress and download the report once complete. operationId: createSearchWarrantsReport requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/search-warrants-report-filter-dto" required: true responses: "202": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Report job accepted for asynchronous processing. headers: Location: description: URL to poll the report job status. schema: example: /jobs/job_12345 type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Generate a Search Warrants report by date and location. tags: - reports /reports/workload/jobs: post: description: | Creates an asynchronous job to produce a CSV report summarising applications that have been processed within closed application lists, filtered by date range and court location. Returns an acknowledgement containing the job ID that can be used to track progress and download the report once complete. operationId: createWorkloadReport requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/workload-filter-dto" required: true responses: "202": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Report job accepted for asynchronous processing. headers: Location: description: URL to poll the report job status. schema: example: /jobs/job_12345 type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Generate a Workload report of processed applications. tags: - reports /reports/duration/jobs: post: description: | Initiates an asynchronous job to create a CSV report of closed application lists within the specified date range. Duration values are the recorded duration hours and minutes on the application list. Returns an acknowledgement containing the job ID for tracking progress. operationId: createDurationReport requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/duration-filter-dto" required: true responses: "202": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Report job accepted for asynchronous processing. headers: Location: description: URL to poll the report job status. schema: example: /jobs/job_12345 type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Generate a Duration report of closed application lists. tags: - reports /reports/private-prosecutors-index/jobs: post: description: | Creates an asynchronous job to produce a CSV report listing all applications to commence a private prosecution recorded under code MX99010, filtered by date range and legacy report location semantics. Returns an acknowledgement containing the job ID that can be used to track progress and download the report once complete. operationId: createPrivateProsecutorsIndexReport requestBody: content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/private-prosecutors-index-filter-dto" required: true responses: "202": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/job-acknowledgement" description: Report job accepted for asynchronous processing. headers: Location: description: URL to poll the report job status. schema: example: /jobs/job_12345 type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Generate a Private Prosecutors Index report. tags: - reports /reports/jobs/{jobId}/download: get: description: | Streams the generated CSV from the database for the specified job. The job must be in the `completed` state. operationId: downloadReport parameters: - description: The unique identifier of the report job. example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 in: path name: jobId required: true schema: format: uuid type: string responses: "200": content: text/csv: schema: format: binary type: string description: The generated CSV report. headers: Content-Disposition: description: Suggested filename for the downloaded CSV. schema: example: attachment; filename="report.csv" type: string Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Download the generated CSV for a completed report job. tags: - reports /result-codes: get: description: | Returns a paginated list of Result Codes. - Filters: - `code` – case-insensitive partial match - `title` – case-insensitive partial match operationId: getResultCodes parameters: - description: "Filter by code (contains, case-insensitive)." example: CC in: query name: code schema: maxLength: 10 type: string - description: "Filter by title (contains, case-insensitive)." example: Fee Remitted (Benefits) in: query name: title schema: maxLength: 500 type: string - description: Zero-based page index. in: query name: pageNumber schema: default: 0 format: int32 minimum: 0 type: integer - description: Page size. in: query name: pageSize schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer - description: | Sort parameter. Format: `property,(asc|desc)`. Currently only a single sort value is supported. Example: `?sort=title,asc`. explode: true in: query name: sort schema: example: - "title,asc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/result-code-page" description: Page of Result Codes headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: "Get Result Codes (paginated, filterable)" tags: - result-codes /result-codes/{code}: get: description: Returns the Result Code matching the supplied code and valid on the supplied date. operationId: getResultCodeByCodeAndDate parameters: - description: Code used to identify the Result Code (case-insensitive). example: CF in: path name: code required: true schema: maxLength: 10 type: string - description: | ISO date (yyyy-MM-dd) on which the Result Code must be valid. example: 2021-01-01 in: query name: date required: true schema: format: date type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/result-code-get-detail-dto" description: Result Code found headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get a specific Result Code by code and date. tags: - result-codes /standard-applicants: get: description: | Returns a paginated list of Standard Applicants. - Filters: - `code` – case-insensitive partial match - `name` – case-insensitive partial match against organisation/name, surname and forenames 1-3 operationId: getStandardApplicants parameters: - description: "Filter by code (contains, case-insensitive)." example: SA in: query name: code schema: maxLength: 10 type: string - description: "Filter by name (contains, case-insensitive). Searches organisation/name,\ \ surname, forename 1, forename 2 and forename 3." in: query name: name schema: example: Innovative Solutions Inc maxLength: 100 type: string - description: "Filter by address line 1 (contains, case-insensitive)." example: 1 High Street in: query name: addressLine1 schema: maxLength: 255 type: string - description: "Filter by from date. If supplied after `to`, the API normalises\ \ the range before searching." example: 2026-04-01 in: query name: from schema: format: date type: string - description: "Filter by to date. If supplied before `from`, the API normalises\ \ the range before searching." example: 2026-12-31 in: query name: to schema: format: date type: string - description: Zero-based page index. in: query name: pageNumber schema: default: 0 format: int32 minimum: 0 type: integer - description: Page size. in: query name: pageSize schema: default: 10 format: int32 maximum: 100 minimum: 1 type: integer - description: | Sort parameter. Format: `property,(asc|desc)`. Currently only a single sort value is supported. Example: `?sort=name,asc`. Supported properties: - `code` - `name` - `addressLine1` - `from` - `to` explode: true in: query name: sort schema: example: - "name,asc" items: type: string type: array style: form responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/standard-applicant-page" description: Page of Standard Applicants. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: "Get Standard Applicants (paginated, filterable)" tags: - standard-applicants /standard-applicants/reports/print: get: description: | Returns all data required for printing Standard Applicants filtered by the supported print criteria; code, name, addressLine1, from and to. Dates are returned in ISO format; frontend PDF rendering should display dates as dd/MM/yyyy for legacy parity. operationId: printStandardApplicants parameters: - description: Filter by code. in: query name: code schema: maxLength: 10 type: string - description: Filter by applicant name. in: query name: name schema: maxLength: 100 type: string - description: Filter by from date. in: query name: from schema: format: date type: string - description: Filter by to date. in: query name: to schema: format: date type: string - description: Filter by address line 1. in: query name: addressLine1 schema: maxLength: 255 type: string - description: "Sort parameter. Format `property,(asc|desc)`." in: query name: sort schema: items: type: string type: array responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/standard-applicant-print-dto" description: Print-ready Standard Applicants payload. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get a print-ready JSON payload for a Standard Applicants tags: - standard-applicants /standard-applicants/{code}: get: description: | Returns a Standard Applicant record matching the supplied code without applying lodgement-date effective filtering. Where multiple records share the same code, the current active or latest record is selected using deterministic reference-data ordering. operationId: getStandardApplicantByCode parameters: - description: Code used to identify the Standard Applicant (case-insensitive). example: SA in: path name: code required: true schema: maxLength: 10 type: string responses: "200": content: application/vnd.hmcts.appreg.v1+json: schema: $ref: "#/components/schemas/standard-applicant-get-detail-dto" description: Standard Applicant found headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "406": content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. summary: Get a specific Standard Applicant by code. tags: - standard-applicants /standard-applicants/export: get: description: | Export a filtered list of Standard Applicants to a CSV file. - Filters: - `code` – case-insensitive partial match. Name parameter cannot be included when providing the code parameter. - `name` – case-insensitive partial match against organisation/name, surname and forenames 1-3. Code parameter cannot be included when providing the name parameter. operationId: standardApplicantsExport parameters: - description: "Filter by code (contains, case-insensitive). Name parameter\ \ cannot be included when providing the code parameter." example: SA in: query name: code schema: maxLength: 10 type: string - description: "Filter by organisation name (contains, case-insensitive). Code\ \ parameter cannot be included when providing the name parameter." in: query name: name schema: example: Innovative Solutions Inc maxLength: 100 type: string responses: "200": content: text/csv: schema: type: string description: A CSV file containing the filtered list of Standard Applicants. headers: Vary: description: Response varies by Accept for media-type versioning. schema: example: Accept type: string "400": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "401": content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. "403": content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. "404": content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. "409": content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. "500": content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. tags: - standard-applicants components: responses: unauthorized-error: content: application/problem+json: examples: unauthenticated: value: type: https://errors.hmcts.net/common/unauthorized title: Unauthorized status: 401 detail: Missing or invalid credentials schema: $ref: "#/components/schemas/problem" description: Authentication required or token invalid. conflict-error: content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/conflict title: Conflict status: 409 detail: The Application List could not be modified due to a conflict with its current state schema: $ref: "#/components/schemas/problem" description: Conflict with the current state of the resource. forbidden-error: content: application/problem+json: examples: forbidden: value: type: https://errors.hmcts.net/common/forbidden title: Forbidden status: 403 detail: You do not have permission to access this resource schema: $ref: "#/components/schemas/problem" description: Authenticated but not permitted to perform this action. not-found-error: content: application/problem+json: examples: missing: value: type: https://errors.hmcts.net/appreg/not-found title: Not Found status: 404 detail: Result code with id=123 was not found schema: $ref: "#/components/schemas/problem" description: The requested resource was not found. internal-server-error: content: application/problem+json: examples: generic: value: type: https://errors.hmcts.net/common/internal-error title: Internal Server Error status: 500 detail: An unexpected error occurred schema: $ref: "#/components/schemas/problem" description: Unexpected server error. bad-request-error: content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: Invalid request parameters. csds-ingest-bad-request-error: content: application/problem+json: schema: $ref: "#/components/schemas/problem" description: | Uploaded CSDS snapshot could be parsed, but one or more rows violated target-table constraints. Response detail reports the failing row count; row-level reasons are written to CSDS_AUDIT. csds-conflict-error: content: application/problem+json: examples: csds-conflict: value: type: https://errors.hmcts.net/common/conflict title: The requested CSDS ingest processor is disabled status: 409 detail: The requested CSDS ingest processor is disabled schema: $ref: "#/components/schemas/problem" description: The requested CSDS ingest processor is disabled. payload-too-large-error: content: application/problem+json: examples: payload-too-large: value: type: https://errors.hmcts.net/common/payload-too-large title: Payload Too Large status: 413 detail: Uploaded file must not be larger than 5MB schema: $ref: "#/components/schemas/problem" description: Request entity is too large to be processed. unsupported-media-type-error: content: application/problem+json: examples: unsupported-media-type: value: type: https://errors.hmcts.net/common/unsupported-media-type title: Unsupported Media Type status: 415 detail: The content type 'application/xml' is not supported. Expected 'text/csv' or 'multipart/form-data'. schema: $ref: "#/components/schemas/problem" description: The server does not support the media type of the request. locked-error: content: application/problem+json: examples: locked: value: type: https://errors.hmcts.net/common/locked title: Locked status: 423 detail: The CSDS ingest is already running schema: $ref: "#/components/schemas/problem" description: The requested operation could not start because the resource is locked. not-implemented-error: content: application/problem+json: examples: not-implemented: value: type: https://errors.hmcts.net/common/not-implemented title: Not Implemented status: 501 detail: The requested CSDS ingest processor is not implemented yet schema: $ref: "#/components/schemas/problem" description: The requested processor is recognised but not yet implemented. not-acceptable-error: content: application/problem+json: examples: notAcceptable: value: type: https://errors.hmcts.net/common/not-acceptable title: Not Acceptable status: 406 detail: Requested media type/version not acceptable schema: $ref: "#/components/schemas/problem" description: Requested media type/version not acceptable. schemas: admin-job-type: description: The type of the administrative background job enum: - APPLICATION_LISTS_DATABASE_JOB - REFRESH_REFERENCE_DATA example: APPLICATION_LISTS_DATABASE_JOB type: string admin-job-status: description: Details of the database job status. properties: lastRan: description: The last time the job was run. format: date-time type: string enabled: description: Whether the job is currently enabled. example: true type: boolean type: object problem: description: RFC 9457/7807 problem details. properties: type: description: Problem type identifier (URI). example: https://errors.hmcts.net/appreg/bad-request format: uri type: string title: description: "Short, human-readable summary." example: Invalid request parameters type: string status: description: HTTP status code. example: 400 format: int32 type: integer detail: description: Human-readable explanation specific to this occurrence. example: startDateFrom must be on or before startDateTo type: string instance: description: URI reference to the specific occurrence (if applicable). example: urn:request:2f9c3d8a-1b3a-4a1e-9b7f-6b2a6a0a2b2f format: uri type: string correlationId: description: Server-side correlation ID for tracing. example: 3e1a2c95a7d84a5fb3e1a2c95a7d84a5 type: string required: - status - title - type type: object job-retention-policy: additionalProperties: false description: Retention policy configuration for an administrative background job. properties: retentionPeriodDays: description: Number of days to retain closed application lists before deletion. example: 1825 minimum: 1 type: integer type: object csds-ingest-response: additionalProperties: false description: Summary returned when a CSDS ingest file has been processed. properties: inserted: description: Number of records inserted by the ingest. example: 12 format: int32 type: integer updated: description: Number of records updated by the ingest. example: 12 format: int32 type: integer required: - inserted - updated type: object application-code-page: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/application-code-get-summary-dto" type: array type: object application-code-get-detail-dto: description: Immutable DTO representing a detailed Application Code. properties: applicationCode: description: Code that identifies the application. example: AD99003 type: string title: description: Human-readable title. example: Application to Crown Court type: string wording: $ref: "#/components/schemas/template-detail" isFeeDue: description: | True if Application List Entries using this Application Code require an Application List Entry Fee Status to be created and linked. type: boolean requiresRespondent: description: | True if Application List Entries using this Application Code require a respondent to be created and linked. type: boolean bulkRespondentAllowed: description: | True if Application List Entries using this Application Code allow multiple respondents to be created and linked. type: boolean feeReference: description: A short reference code that identifies a Fee. example: CO5.2 maxLength: 12 nullable: true type: string feeAmount: $ref: "#/components/schemas/application_code_get_detail_dto_feeAmount" feeDescription: description: Descriptive text for the fee. example: Fee for application to Crown Court nullable: true type: string offsiteFeeReference: description: A short reference code that identifies a offsite Fee. example: CO5.2 maxLength: 12 nullable: true type: string offsiteFeeAmount: $ref: "#/components/schemas/application_code_get_detail_dto_offsiteFeeAmount" offsiteFeeDescription: description: Descriptive text for the offsite fee. example: Offsite Fee for application to Crown Court nullable: true type: string startDate: description: Date the Application Code became active. example: 2025-09-17 format: date type: string endDate: description: Date the Application Code became inactive. `null` indicates that this row is still active. example: 2025-12-01 format: date nullable: true type: string required: - applicationCode - bulkRespondentAllowed - endDate - isFeeDue - requiresRespondent - startDate - title - wording type: object application-list-get-filter-dto: description: Filter criteria for GET /application-lists. properties: date: description: Single date of the Application List. example: 2025-10-07 format: date type: string time: description: Single time of the Application List. example: 10:30:00 format: time type: string courtLocationCode: description: Court Location code (exact match). example: LOC123 maxLength: 10 type: string cjaCode: description: CJA code (exact match). example: "52" maxLength: 2 type: string description: description: Case-insensitive contains match on description. example: morning session maxLength: 200 type: string otherLocationDescription: description: Case-insensitive contains match on other location description. example: town hall maxLength: 200 type: string status: $ref: "#/components/schemas/application-list-status" type: object application-list-page: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/application-list-get-summary-dto" type: array type: object application-list-create-dto: additionalProperties: false description: "Request payload to create an Application List. Blank fields will\ \ be rejected, nulls should be used instead." properties: date: description: The calendar date on which the Application List is scheduled. example: 2025-09-17 format: date type: string time: description: "The time of day at which the Application List is scheduled,\ \ seconds are optional." example: 10:30:00 format: time type: string description: maxLength: 200 minLength: 1 type: string status: $ref: "#/components/schemas/application-list-status" courtLocationCode: description: Code that identifies the Court Location. example: LOC123 maxLength: 10 minLength: 1 type: string otherLocationDescription: description: Free-text location if not using a standard court. example: Temporary Courtroom at Town Hall maxLength: 200 minLength: 1 type: string cjaCode: description: Criminal Justice Area code. example: CJ maxLength: 2 minLength: 1 type: string durationHours: format: int32 minimum: 0 type: integer durationMinutes: format: int32 maximum: 59 minimum: 0 type: integer required: - date - description - status - time type: object application-list-get-detail-dto: description: Immutable DTO representing a detailed Application List. properties: id: description: Unique identifier of the Application List. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string date: description: The calendar date on which the Application List is scheduled. example: 2025-09-17 format: date type: string time: description: "The time of day at which the Application List is scheduled,\ \ seconds are optional." example: 10:30:00 format: time type: string description: description: Human-readable description of the Application List (e.g. session title or purpose). example: Morning session for traffic-related applications type: string status: $ref: "#/components/schemas/application-list-status" courtCode: description: Code that identifies the Court Location. example: LOC123 type: string courtName: description: Name that identifies the Court Location. example: Bath Magistrates Court type: string cjaCode: description: Criminal Justice Area code. example: CJA001 type: string otherLocationDescription: description: Free-text location if not using a standard court. example: Temporary Courtroom at Town Hall type: string durationHours: description: Duration hours component. example: 2 format: int32 minimum: 0 type: integer durationMinutes: description: Duration minutes component. example: 30 format: int32 maximum: 59 minimum: 0 type: integer version: description: Current resource version for optimistic concurrency. example: 3 format: int64 type: integer entriesCount: description: Total number of Application List Entries associated with this Application List. example: 12 format: int32 minimum: 0 type: integer required: - date - description - id - status - time - version type: object bulk-get-application-list-entries-request-dto: properties: listIds: description: | Public identifiers of the Application Lists to read from. Must be non-empty, contain no duplicates, and contain at most 2000 items. Response order follows the supplied `listIds` order when `entryIds` is omitted or empty. example: - 123e4567-e89b-12d3-a456-426655440000 - 123e4567-e89b-12d3-a456-426655440001 items: format: uuid type: string type: array entryIds: description: | Optional public identifiers of specific Application List Entries to return. If omitted or empty, all active entries from the supplied `listIds` are returned. If supplied, the response follows the supplied `entryIds` order. Duplicates are rejected. example: - 123e4567-e89b-12d3-a456-426655440100 - 123e4567-e89b-12d3-a456-426655440101 items: format: uuid type: string type: array required: - listIds type: object application-list-get-print-dto: description: Immutable DTO representing a detailed Application List. properties: date: description: The calendar date on which the Application List is scheduled. example: 2025-09-17 format: date type: string time: description: "The time of day at which the Application List is scheduled,\ \ seconds are optional." example: 10:30:00 format: time type: string courtName: description: Name that identifies the Court Location. example: Bath Magistrates Court type: string cja: description: The Criminal Justice Area code and description. example: 52 - Avon & Somerset type: string otherLocationDescription: description: Free-text location if not using a standard court. example: Temporary Courtroom at Town Hall type: string duration: description: The length of the hearing that heard the Application List. example: "1 hour, 30 minutes" type: string entries: description: List of entries (empty when none). items: $ref: "#/components/schemas/entry-get-print-dto" type: array required: - date - entries - time type: object application-list-update-dto: additionalProperties: false description: "Request payload to fully replace an existing Application List.\ \ Blank fields will be rejected, nulls should be used instead." properties: date: description: The calendar date on which the Application List is scheduled. example: 2025-09-17 format: date type: string time: description: The time of day at which the Application List is scheduled. example: 10:30:00 format: time type: string description: description: Human-readable description of the Application List (e.g. session title or purpose). example: Morning session for traffic-related applications maxLength: 200 minLength: 1 type: string status: $ref: "#/components/schemas/application-list-status" otherLocationDescription: description: Free-text location if not using a standard court. example: Temporary Courtroom at Town Hall maxLength: 200 minLength: 1 type: string courtLocationCode: description: Code that identifies the Court Location. example: LOC123 maxLength: 10 minLength: 1 type: string cjaCode: description: Criminal Justice Area code. example: CJ maxLength: 2 minLength: 1 type: string durationHours: description: Duration hours component. example: 2 format: int32 minimum: 0 type: integer durationMinutes: description: Duration minutes component. example: 30 format: int32 maximum: 59 minimum: 0 type: integer required: - date - description - status - time type: object entry-get-filter-dto: description: Filter criteria for retrieving Application List Entries. properties: date: description: The date on which the application's hearing is scheduled. This has to be Exact. example: 2025-10-07 format: date type: string courtCode: description: Name of the court or session where the application is being heard. This has to be Exact. example: LOC123 maxLength: 10 type: string otherLocationDescription: description: Description of an alternative location for the hearing. This can be Partial. example: Bradford scout hut maxLength: 200 type: string cjaCode: description: The Criminal Justice Area (CJA) associated with the application. This has to be Exact. example: "52" maxLength: 2 type: string applicantOrganisation: description: The name of the organisation submitting the application. This can be Partial. example: Smith Legal Services Ltd maxLength: 100 type: string applicantSurname: description: The surname of the applicant if the applicant is an individual. This can be Partial. example: Smith maxLength: 100 type: string standardApplicantCode: description: Unique code identifying the standard applicant. This can be Partial. example: APP001 maxLength: 10 type: string status: $ref: "#/components/schemas/application-list-status" respondentOrganisation: description: The name of the organisation responding to the application. example: Jones Consulting Group maxLength: 100 type: string respondentSurname: description: The surname of the respondent if the respondent is an individual. example: Jones maxLength: 100 type: string respondentPostcode: description: The postcode associated with the respondent’s address. This can be Partial. example: SW1A 1AA maxLength: 8 pattern: "^[a-zA-Z0-9 ]*$" type: string accountReference: description: Reference code identifying the applicant’s account. This can be Partial. maxLength: 15 type: string applicationTitle: description: The title of the application. This can be Partial. example: Smith vs Jones maxLength: 500 pattern: "^[a-zA-Z0-9\\-\\+\\.,£@\\?'\\(\\)/%_ &!:]*$" type: string applicantName: description: The applicant display name. For people this uses the format "firstName lastName"; for organisations this uses the organisation name. This can be Partial. example: John Turner maxLength: 300 type: string respondentName: description: The respondent display name. For people this uses the format "firstName lastName"; for organisations this uses the organisation name. This can be Partial. example: Sarah Johnson maxLength: 300 type: string type: object entry-page: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/entry-get-summary-dto" type: array type: object bulk-action-preview-request-dto: additionalProperties: false description: Request to resolve a global bulk action selection into IDs and row context. properties: action: $ref: "#/components/schemas/bulk-action-type" selection: $ref: "#/components/schemas/bulk-action-selection-dto" required: - action - selection type: object bulk-action-preview-response-dto: additionalProperties: false description: Resolved preview for a global bulk action selection. properties: action: $ref: "#/components/schemas/bulk-action-type" limit: example: 2000 format: int32 type: integer selectedCount: example: 25 format: int32 type: integer eligibleCount: example: 22 format: int32 type: integer ineligibleCount: example: 3 format: int32 type: integer entryIds: items: format: uuid type: string type: array entries: items: $ref: "#/components/schemas/entry-get-summary-dto" type: array required: - action - eligibleCount - entries - entryIds - ineligibleCount - limit - selectedCount type: object entry-application-list-get-filter-dto: description: Filter criteria for retrieving Application List Entries for an Application List. properties: sequenceNumber: description: The sequence number of the application in the list. This has to be Exact. example: 1 type: integer applicationTitle: description: The title of the application. This can be Partial. example: Smith vs Jones maxLength: 500 pattern: "^[a-zA-Z0-9\\-\\+\\.,£@\\?'\\(\\)/%_ &!:]*$" type: string applicantName: description: The applicant display name. For people this uses the format "firstName lastName"; for organisations this uses the organisation name. This can be Partial. example: John Turner maxLength: 300 pattern: "^[a-zA-Z0-9\\-\\+\\.,£@\\?'\\(\\)/%_ &!:]*$" type: string respondentName: description: The respondent display name. For people this uses the format "firstName lastName"; for organisations this uses the organisation name. This can be Partial. example: Sarah Johnson maxLength: 300 pattern: "^[a-zA-Z0-9\\-\\+\\.,£@\\?'\\(\\)/%_ &!:]*$" type: string respondentPostcode: description: The postcode associated with the respondent’s address. This can be Partial. example: SW1A 1AA maxLength: 8 pattern: "^[a-zA-Z0-9 ]*$" type: string accountReference: description: Reference code identifying the applicant’s account. This can be Partial. maxLength: 20 type: string feeRequired: description: Whether a fee is required for the application. This has to be Exact. example: true type: boolean resulted: description: The application resolution code. This can be Partial. example: APPC type: string type: object entry-page_1: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/entry-get-summary-dto" type: array type: object entry-create-dto: additionalProperties: false description: "Request payload to create an Application List Entry. Blank fields\ \ will be rejected, nulls should be used instead." properties: standardApplicantCode: description: Code that identifies the Standard Applicant. example: APP001 maxLength: 10 minLength: 1 type: string applicationCode: description: Code that identifies the Application Code. example: APP001 maxLength: 10 minLength: 1 type: string applicant: $ref: "#/components/schemas/applicant" respondent: $ref: "#/components/schemas/respondent" numberOfRespondents: description: Number of respondents required by the Application. example: 0 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. items: $ref: "#/components/schemas/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: "#/components/schemas/fee-status" type: array hasOffsiteFee: description: Indicates whether an off-site fee applies. example: true type: boolean caseReference: description: A reference code to identify a related case (maximum 15 characters). example: CASE-001 maxLength: 15 minLength: 1 type: string accountNumber: description: The Applicants account number (maximum 20 characters). example: APP-001 maxLength: 20 minLength: 1 type: string notes: description: Notes about the application or the hearing (maximum 4000 characters). example: "Time is 10:31, we have convened to talk about Application..." maxLength: 4000 minLength: 1 type: string lodgementDate: description: The date on which the application was submitted. Will be set to current date if omitted. example: 2025-12-01 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: "#/components/schemas/official" maxItems: 4 type: array required: - applicationCode type: object entry-get-detail-dto: description: DTO representing a detailed Application List Entry. properties: id: description: Unique identifier of the Application List Entry. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string listId: description: The Unique identifier of the Application List this Entry belongs to. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string standardApplicantCode: description: Code that identifies the Standard Applicant. example: APP001 type: string applicationCode: description: Code that identifies the Application Code. example: APP001 type: string applicant: $ref: "#/components/schemas/applicant" respondent: $ref: "#/components/schemas/respondent" numberOfRespondents: description: Number of respondents required by the Application. example: 0 nullable: true type: integer wording: $ref: "#/components/schemas/template-detail" feeStatuses: items: $ref: "#/components/schemas/fee-status" type: array hasOffsiteFee: description: Indicates whether an off-site fee applies. example: true type: boolean caseReference: description: A reference code to identify a related case (maximum 15 characters). example: CASE-001 maxLength: 15 type: string accountNumber: description: The Applicants account number (maximum 20 characters). example: ACC-001 maxLength: 20 type: string notes: description: Notes about the application or the hearing (maximum 4000 characters). example: "Time is 10:31, we have convened to talk about Application..." maxLength: 4000 type: string lodgementDate: description: The date on which the application was submitted. Will be set to current date if omitted. example: 2025-12-01 format: date type: string officials: description: An array of Officials who will decide the outcome of the Application. items: $ref: "#/components/schemas/official" maxItems: 4 type: array required: - applicationCode - id - listId - lodgementDate - numberOfRespondents type: object application-list-entry-bulk-action-preview-request-dto: additionalProperties: false description: Request to resolve a single-list bulk action selection into IDs and row context. properties: action: $ref: "#/components/schemas/bulk-action-type" selection: $ref: "#/components/schemas/application-list-entry-bulk-action-selection-dto" required: - action - selection type: object bulk-officials-update-dto: additionalProperties: false description: Replace officials for multiple Application List Entries in one atomic operation. properties: entryIds: description: Array of entry IDs whose officials should be replaced. All must belong to the list in the path. example: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 - 3fa85f64-5717-4562-b3fc-2c963f66afa7 items: format: uuid type: string minItems: 1 type: array officials: description: "An array of Officials who will decide the outcome of each\ \ selected 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: "#/components/schemas/official" maxItems: 4 type: array required: - entryIds - officials type: object bulk-fees-update-dto: additionalProperties: false description: Append fee-status rows for multiple Application List Entries in one atomic operation. properties: entryIds: description: | Array of entry IDs whose fee-status history should be appended to. All must belong to the list in the path. Requests with more than 1050 entry IDs are rejected with 400 Bad Request. example: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 - 3fa85f64-5717-4562-b3fc-2c963f66afa7 items: format: uuid type: string maxItems: 1050 minItems: 1 type: array uniqueItems: true feeDetails: description: | Array of fee-status rows to append to every selected Application List Entry. Fee details is optional, but if provided, there must be at least a row. items: $ref: "#/components/schemas/bulk-fee-details-dto" nullable: true type: array hasOffsiteFee: default: false description: | If true, ensures that all selected entries have an off-site fee mapping. If false, it will remove the offsite fee. If not provided, the offsite fee will not be changed. nullable: true type: boolean required: - entryIds type: object bulk-update-response-dto: description: Result of a bulk update operation. properties: totalCount: description: Total number of records requested for update. example: 2 format: int32 minimum: 0 type: integer updatedCount: description: Number of records updated. example: 2 format: int32 minimum: 0 type: integer status: description: Overall status of the bulk update operation. enum: - SUCCEEDED - FAILED example: SUCCEEDED type: string required: - status - totalCount - updatedCount type: object entry-get-detail-dto_1: description: DTO representing a detailed Application List Entry. properties: id: description: Unique identifier of the Application List Entry. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string listId: description: The Unique identifier of the Application List this Entry belongs to. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string standardApplicantCode: description: Code that identifies the Standard Applicant. example: APP001 type: string applicationCode: description: Code that identifies the Application Code. example: APP001 type: string applicant: $ref: "#/components/schemas/applicant" respondent: $ref: "#/components/schemas/respondent" numberOfRespondents: description: Number of respondents required by the Application. example: 0 nullable: true type: integer wording: $ref: "#/components/schemas/template-detail" feeStatuses: items: $ref: "#/components/schemas/fee-status" type: array hasOffsiteFee: description: Indicates whether an off-site fee applies. example: true type: boolean caseReference: description: A reference code to identify a related case (maximum 15 characters). example: CASE-001 maxLength: 15 type: string accountNumber: description: The Applicants account number (maximum 20 characters). example: ACC-001 maxLength: 20 type: string notes: description: Notes about the application or the hearing (maximum 4000 characters). example: "Time is 10:31, we have convened to talk about Application..." maxLength: 4000 type: string lodgementDate: description: The date on which the application was submitted. Will be set to current date if omitted. example: 2025-12-01 format: date type: string officials: description: An array of Officials who will decide the outcome of the Application. items: $ref: "#/components/schemas/official" maxItems: 4 type: array required: - applicationCode - id - listId - lodgementDate - numberOfRespondents type: object entry-update-dto: additionalProperties: false description: | Request payload to update an Application List Entry. Note, this is a PUT operation so the whole object is replaced. When `feeStatuses` is supplied it replaces the existing fee-status rows for the entry. When `feeStatuses` is `null`, fee-status rows are left unchanged. Blank fields will be rejected, nulls should be used instead. properties: standardApplicantCode: description: Code that identifies the Standard Applicant. example: APP001 maxLength: 10 minLength: 1 type: string applicationCode: description: Code that identifies the Application Code. example: APP001 maxLength: 10 minLength: 1 type: string applicant: $ref: "#/components/schemas/applicant" respondent: $ref: "#/components/schemas/respondent" numberOfRespondents: description: Number of respondents required by the Application. example: 0 format: int16 type: integer wordingFields: description: "An array of user-provided values used to populate placeholders\ \ in the entry wording template, applied in the order they are provided." items: $ref: "#/components/schemas/template-substitution" type: array feeStatuses: description: | Fee-status rows to persist for the entry. Providing a list replaces the existing fee-status rows. `null` means the existing fee-status rows are left unchanged. For application codes that do not require a fee, this operation allows existing historical fee-status rows to be retained unchanged, but rejects new, changed, or cleared fee-status rows. items: $ref: "#/components/schemas/fee-status" type: array hasOffsiteFee: description: Indicates whether an off-site fee applies. example: true type: boolean caseReference: description: A reference code to identify a related case (maximum 15 characters). example: CASE-001 maxLength: 15 minLength: 1 type: string accountNumber: description: The Applicants account number (maximum 20 characters). example: ACC-001 maxLength: 20 minLength: 1 type: string notes: description: Notes about the application or the hearing (maximum 4000 characters). example: "Time is 10:31, we have convened to talk about Application..." maxLength: 4000 minLength: 1 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: "#/components/schemas/official" maxItems: 4 type: array required: - applicationCode type: object job-acknowledgement: additionalProperties: false description: Acknowledgement returned when a background job is created. properties: id: description: "Unique identifier for the job, in UUID v4 format." example: 9f7b2a35-57ac-4a1c-9c41-83b6c8157af4 format: uuid type: string type: $ref: "#/components/schemas/job-type" status: $ref: "#/components/schemas/job-status" error_description: description: A description of the errorneous outcome of the job. Typically used for error messages. type: string required: - id - status - type type: object move-entries-dto: additionalProperties: false description: Parameters to move entries from one Application List to another. properties: targetListId: description: ID of the **destination** Application List (must differ from the source `listId` in the path). example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string entryIds: description: Array of entry IDs to move. All must currently belong to the source list. example: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 - 3fa85f64-5717-4562-b3fc-2c963f66afa7 items: format: uuid type: string minItems: 1 type: array uniqueItems: true required: - entryIds - targetListId type: object entry_update_closed_dto: additionalProperties: false description: | Request payload to update notes for an Application List Entry whose Application List is closed. properties: additionalNotes: description: | The additional notes to append to the Application List Entry. Empty values are accepted and leave existing notes unchanged. example: Additional notes maxLength: 4000 minLength: 0 type: string required: - additionalNotes type: object bulk-result-dto: additionalProperties: false description: Create the same Result for multiple entries (atomic operation). properties: entryIds: description: Array of entry IDs to result. All must belong to the list in the path. example: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 - 3fa85f64-5717-4562-b3fc-2c963f66afa7 items: format: uuid type: string minItems: 1 type: array result: $ref: "#/components/schemas/result-create-dto" required: - entryIds - result type: object result-get-dto: description: Response payload to get an Application List Entry Result. properties: id: description: Unique identifier of the Application List Entry Result. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string entryId: description: The Unique identifier of the parent Application List Entry belongs. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string resultCode: description: Code that identifies the Result Code. example: RC-001 type: string wording: $ref: "#/components/schemas/template-detail" required: - entryId - id - resultCode type: object bulk-delete-results-dto: additionalProperties: false description: Delete multiple Application List Entry Results atomically. properties: results: description: | Result delete requests to execute. Each item is validated using the same rules as the single-result delete endpoint. If any item is invalid, no results are deleted. items: $ref: "#/components/schemas/bulk-delete-result-item-dto" minItems: 1 type: array required: - results type: object result-page: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/result-get-dto" type: array type: object result-create-dto: additionalProperties: false description: "Request payload to create an Application List Entry Result. Blank\ \ fields will be rejected, nulls should be used instead." properties: resultCode: description: Code that identifies the Result Code. example: RC-001 maxLength: 10 minLength: 1 type: string wordingFields: description: | An array of user-provided values used to populate placeholders in the 'wording'. The wording is a field belonging to the linked Result Code. Each string is applied to the wording in the order they are provided. items: $ref: "#/components/schemas/template-substitution" type: array required: - resultCode type: object result-update-dto: additionalProperties: false description: "Request payload to update an Application List Entry Result. Blank\ \ fields will be rejected, nulls should be used instead." properties: resultCode: description: Code that identifies the Result Code. example: RC-001 maxLength: 10 minLength: 1 type: string wordingFields: description: | An array of user-provided values used to populate placeholders in the 'wording'. The wording is a field belonging to the linked Result Code. Each string is applied to the wording in the order they are provided. items: $ref: "#/components/schemas/template-substitution" type: array required: - resultCode type: object court-location-page: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/court-location-get-summary-dto" type: array type: object court-location-get-detail-dto: description: Immutable DTO representing a detailed Court Location. properties: name: description: Human-readable court name. example: Cardiff Crown Court Set 1 type: string locationCode: description: Code that identifies the Court Location. example: CCC003 type: string startDate: description: Date the Court Location became active. example: 2025-09-17 format: date type: string endDate: description: Date the Court Location became inactive. `null` indicates that this row is still active. example: 2025-12-01 format: date nullable: true type: string required: - endDate - locationCode - name - startDate type: object criminal-justice-area-page: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/criminal-justice-area-get-dto" type: array type: object criminal-justice-area-get-dto: description: Immutable DTO representing a Criminal Justice Area. properties: code: description: Code that identifies the Criminal Justice Area. example: "001" type: string description: description: Human-readable name of the Criminal Justice Area. example: Leeds type: string required: - code - description type: object activity-audit-filter-dto: additionalProperties: false description: | Filter criteria for POST /reports/activity-audit/jobs. Both dateFrom and dateTo are required and are treated as inclusive bounds. If dateFrom is later than dateTo, the API treats the earlier date as the inclusive start and the later date as the inclusive end. The username must match exactly. Blank fields will be rejected, nulls should be used instead. properties: dateFrom: description: Inclusive start date (YYYY-MM-DD). example: 2025-10-01 format: date type: string dateTo: description: Inclusive end date (YYYY-MM-DD). example: 2025-10-31 format: date type: string username: description: Exact username to audit. example: jsmith minLength: 1 pattern: .*\S.* type: string activityTypes: description: | One or more activity types to include in the audit report. Must contain at least one value. items: $ref: "#/components/schemas/activity-type" minItems: 1 type: array required: - activityTypes - dateFrom - dateTo type: object fees-report-filter-dto: additionalProperties: false description: | Filter criteria for POST /reports/fees/jobs. Both dateFrom and dateTo are required and are treated as inclusive bounds. If dateFrom is later than dateTo, the API treats the earlier date as the inclusive start and the later date as the inclusive end. Location is optional. When provided, use courtLocationCode on its own, cjaCode on its own, otherLocationDescription on its own, or cjaCode and otherLocationDescription together. When supplied, cjaCode must match an existing Criminal Justice Area and courtLocationCode must match an active Court. properties: dateFrom: description: Inclusive start date (YYYY-MM-DD). example: 2025-10-01 format: date type: string dateTo: description: Inclusive end date (YYYY-MM-DD). example: 2025-10-31 format: date type: string standardApplicantCode: description: Standard applicant code (case-insensitive contains match). example: STD-00123 maxLength: 10 minLength: 1 pattern: .*\S.* type: string applicantName: description: "Applicant name, surname, or organisation name (case-insensitive\ \ contains match)." example: john smith maxLength: 100 minLength: 1 pattern: .*\S.* type: string location: $ref: "#/components/schemas/legacy-report-location" required: - dateFrom - dateTo type: object list-maintenance-filter-dto: additionalProperties: false description: | Filter criteria for POST /reports/list-maintenance/jobs. Both dateFrom and dateTo are required and are treated as inclusive bounds. Blank fields will be rejected, nulls should be used instead. properties: dateFrom: description: Inclusive start date (YYYY-MM-DD). example: 2025-10-01 format: date type: string dateTo: description: Inclusive end date (YYYY-MM-DD). example: 2025-10-31 format: date type: string listDescription: description: Case-insensitive contains match on the Application List description. example: morning session maxLength: 200 minLength: 1 pattern: .*\S.* type: string location: $ref: "#/components/schemas/legacy-report-location" required: - dateFrom - dateTo type: object search-warrants-report-filter-dto: additionalProperties: false description: | Filter criteria for POST /reports/search-warrants/jobs. Both dateFrom and dateTo are required and are treated as inclusive bounds. properties: dateFrom: description: Inclusive start date (YYYY-MM-DD). example: 2025-10-01 format: date type: string dateTo: description: Inclusive end date (YYYY-MM-DD). example: 2025-10-31 format: date type: string location: $ref: "#/components/schemas/legacy-report-location" required: - dateFrom - dateTo type: object workload-filter-dto: additionalProperties: false description: | Filter criteria for POST /reports/workload/jobs. Both dateFrom and dateTo are required and are treated as inclusive bounds. properties: dateFrom: description: Inclusive start date (YYYY-MM-DD). example: 2025-10-01 format: date type: string dateTo: description: Inclusive end date (YYYY-MM-DD). example: 2025-10-31 format: date type: string location: $ref: "#/components/schemas/legacy-report-location" required: - dateFrom - dateTo type: object duration-filter-dto: additionalProperties: false description: | Filter criteria for POST /reports/duration/jobs. Both dateFrom and dateTo are required inclusive bounds. If dateFrom is later than dateTo, the API treats the earlier date as the inclusive start and the later date as the inclusive end. Location is optional. When provided, use courtLocationCode on its own, cjaCode on its own, otherLocationDescription on its own, or cjaCode and otherLocationDescription together. When supplied, cjaCode must match an existing Criminal Justice Area and courtLocationCode must match an active Court. Blank fields will be rejected; use null instead. properties: dateFrom: description: Inclusive start date (YYYY-MM-DD). example: 2025-10-01 format: date type: string dateTo: description: Inclusive end date (YYYY-MM-DD). example: 2025-10-31 format: date type: string location: $ref: "#/components/schemas/legacy-report-location" required: - dateFrom - dateTo type: object private-prosecutors-index-filter-dto: additionalProperties: false description: | Filter criteria for POST /reports/private-prosecutors-index/jobs. Both dateFrom and dateTo are required and are treated as inclusive bounds. Blank fields will be rejected, nulls should be used instead. properties: dateFrom: description: Inclusive start date (YYYY-MM-DD). example: 2025-10-01 format: date type: string dateTo: description: Inclusive end date (YYYY-MM-DD). example: 2025-10-31 format: date type: string location: $ref: "#/components/schemas/legacy-report-location" applicantSurname: description: Applicant surname (case-insensitive contains match). example: Smith maxLength: 100 minLength: 1 pattern: .*\S.* type: string applicantFirstName: description: Applicant first name (case-insensitive contains match). example: John maxLength: 100 minLength: 1 pattern: .*\S.* type: string applicantOrganisationName: description: Applicant organisation name (case-insensitive contains match). example: Acme Corp maxLength: 100 minLength: 1 pattern: .*\S.* type: string standardApplicantName: description: Standard applicant name (case-insensitive contains match). example: Crown Prosecution Service maxLength: 100 minLength: 1 pattern: .*\S.* type: string respondentSurname: description: Respondent surname (case-insensitive contains match). example: Doe maxLength: 100 minLength: 1 pattern: .*\S.* type: string respondentFirstName: description: Respondent first name (case-insensitive contains match). example: Jane maxLength: 100 minLength: 1 pattern: .*\S.* type: string respondentOrganisationName: description: Respondent organisation name (case-insensitive contains match). example: XYZ Ltd maxLength: 100 minLength: 1 pattern: .*\S.* type: string required: - dateFrom - dateTo type: object result-code-page: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/result-code-get-summary-dto" type: array type: object result-code-get-detail-dto: description: Immutable DTO representing a detailed Result Code. properties: resultCode: description: Code that identifies the result. example: RC-001 type: string title: description: Human-readable title. example: Application List Entry Fee Status type: string wording: $ref: "#/components/schemas/template-detail" startDate: description: Date the Result Code became active. example: 2025-12-01 format: date type: string endDate: description: Date the Result Code became inactive. `null` indicates that this row is still active. example: 2025-12-31 format: date nullable: true type: string required: - endDate - resultCode - startDate - title - wording type: object standard-applicant-page: allOf: - $ref: "#/components/schemas/page" - properties: content: items: $ref: "#/components/schemas/standard-applicant-get-summary-dto" type: array type: object standard-applicant-print-dto: description: Print-ready Standard Applicans report payload. properties: reportTitle: example: Standard Applicants Report type: string searchCriteria: $ref: "#/components/schemas/standard-applicant-print-search-criteria-dto" generatedAt: format: date-time type: string recordCount: format: int32 type: integer applicants: items: $ref: "#/components/schemas/standard-applicant-print-row-dto" type: array required: - applicants - generatedAt - recordCount - reportTitle - searchCriteria type: object standard-applicant-get-detail-dto: description: Immutable DTO representing a detailed Standard Applicant. properties: code: description: Code that identifies the Standard Applicant. example: STANDARD-1 type: string name: description: Name of the Standard Applicant. example: Standard Applicant 1 type: string applicant: $ref: "#/components/schemas/applicant" startDate: description: Date the applicant record became active. example: 2025-12-01 format: date type: string endDate: description: Date the applicant became inactive. `null` indicates that this row is still active. example: 2025-12-01 format: date nullable: true type: string required: - code - endDate - startDate type: object page: description: Generic Spring Data page. properties: pageNumber: description: Zero-based page index. format: int32 type: integer pageSize: description: Page size. format: int32 type: integer totalElements: description: Total number of elements across all pages. format: int64 type: integer totalPages: description: Total number of pages. format: int32 type: integer sort: $ref: "#/components/schemas/sort" first: type: boolean last: type: boolean elementsOnPage: description: Total number of elements in the current page. format: int32 type: integer required: - content - elementsOnPage - pageNumber - pageSize - totalElements type: object application-code-get-summary-dto: description: "Lightweight DTO for Application Codes, used in list/search views." properties: applicationCode: description: Code that identifies the application. example: AD99003 type: string title: description: Human-readable title. type: string wording: $ref: "#/components/schemas/template-detail" isFeeDue: description: | True if Application List Entries using this Application Code require an Application List Entry Fee Status to be created and linked. type: boolean requiresRespondent: description: | True if Application List Entries using this Application Code require a respondent to be created and linked. type: boolean bulkRespondentAllowed: description: | True if Application List Entries using this Application Code allow multiple respondents to be created and linked. type: boolean feeReference: description: A short reference code that identifies a Fee. example: CO5.2 maxLength: 12 nullable: true type: string feeAmount: $ref: "#/components/schemas/application_code_get_detail_dto_feeAmount" feeDescription: description: Descriptive text for the fee. nullable: true type: string offsiteFeeReference: description: A short reference code that identifies a offsite Fee. example: CO1.1 maxLength: 12 nullable: true type: string offsiteFeeAmount: $ref: "#/components/schemas/application_code_get_detail_dto_offsiteFeeAmount" offsiteFeeDescription: description: | Descriptive text for the offsite fee. example: Offsite Fee for application to Crown Court nullable: true type: string required: - applicationCode - bulkRespondentAllowed - isFeeDue - requiresRespondent - title - wording type: object template-detail: description: The wording details properties: template: description: The template name. It contains the field names between curly braces. example: "This is a test {{Applicant number}} with a date" type: string substitution-key-constraints: description: A list of fields and the associated constraints items: $ref: "#/components/schemas/template-key-with-constraint" type: array required: - template type: object application-list-status: description: Status of the Application List. enum: - OPEN - CLOSED example: OPEN type: string application-list-get-summary-dto: description: "Lightweight DTO for Application Lists, used in list/search views." properties: id: description: Unique identifier of the Application List. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string date: description: The calendar date on which the Application List is scheduled. example: 2025-09-17 format: date type: string time: description: "The time of day at which the Application List is scheduled,\ \ seconds are optional." example: 10:30:00 format: time type: string location: description: Location where the applications will be considered. example: Bath Magistrates Court type: string description: description: Human-readable description of the Application List (e.g. session title or purpose). example: Morning session for traffic-related applications type: string entriesCount: description: Total number of Application List Entries associated with this Application List. example: 12 format: int32 type: integer status: $ref: "#/components/schemas/application-list-status" required: - date - description - id - location - numberOfEntries - status - time type: object entry-get-print-dto: description: "An application view, used specifically for printing." properties: id: description: Unique identifier of the Application List Entry. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string applicant: $ref: "#/components/schemas/applicant" respondent: $ref: "#/components/schemas/respondent" applicationCode: description: Code that identifies the application. example: AD99001 type: string applicationTitle: description: The title of the application. example: Appeal to Crown Court type: string applicationWording: description: Full description of the application. example: Notice of appeal in respect of a case heard on 10-01-2026 type: string resultWordings: description: A list of result wordings for the application. example: - Appeal forwarded to Bristol Crown Court. - Respondent Attended. items: type: string type: array officials: description: A list of officials that ruled on the application. items: $ref: "#/components/schemas/official" type: array caseReference: description: A reference code to identify a related case (maximum 15 characters). example: CASE-001 maxLength: 15 type: string accountReference: description: The Applicants account number (maximum 20 characters). example: CCC-001 maxLength: 20 type: string notes: description: Notes about the application or the hearing (maximum 4000 characters). example: "Time is 10:31, we have convened to talk about Application..." maxLength: 4000 type: string required: - applicant - applicationCode - applicationTitle - applicationWording - id type: object entry-get-summary-dto: description: "Lightweight DTO for Application Lists Entries, not retrieved through\ \ a parent list. Used in list/search views." properties: id: description: Unique identifier of the Application List Entry. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string applicant: $ref: "#/components/schemas/applicant" respondent: $ref: "#/components/schemas/respondent" applicationTitle: description: Descriptive title of the application. example: Application to Crown Court type: string legislation: description: Legislation under which the application is made. example: Application to Crown Court type: string isFeeRequired: description: True if submitting the application incurs a charge. type: boolean isResulted: description: True if this application list entry has been resulted. type: boolean listId: description: Unique Identifier of the Application List to which this entry belongs. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string date: description: Single date of the Application List. example: 2025-10-07 format: date type: string sequenceNumber: description: The sequence number of the application in the list. example: 1 type: integer resulted: description: List of result codes applied to this application list entry. items: $ref: "#/components/schemas/result-code-get-summary-dto" type: array status: $ref: "#/components/schemas/application-list-status" accountNumber: example: ACC-001 maxLength: 20 nullable: true type: string required: - applicantName - applicationTitle - id - isFeeRequired - isResulted - status type: object bulk-action-type: description: Supported bulk action types. enum: - RESULT_SELECTED - UPDATE_NOTES - MOVE_ENTRIES - UPDATE_OFFICIALS - UPDATE_FEE_DETAILS - PRINT_CONTINUOUS - PRINT_PAGE type: string bulk-action-selection-dto: additionalProperties: false description: | Selection criteria for a global bulk action preview. When selectionType is IDS, entryIds must contain at least one non-null entry ID. When selectionType is FILTER, filter, sort, and excludedEntryIds describe the select-all-matching selection. properties: selectionType: $ref: "#/components/schemas/bulk-action-selection-type" filter: $ref: "#/components/schemas/entry-get-filter-dto" sort: description: | Sort order for the resolved selection. A single value is currently supported. Format: `property,(asc|desc)`. example: - "date,desc" items: type: string type: array entryIds: description: Explicitly selected Application List Entry IDs. items: format: uuid type: string minItems: 1 type: array excludedEntryIds: description: Entry IDs excluded from a select-all-matching filter selection. items: format: uuid type: string type: array required: - selectionType type: object applicant: additionalProperties: false description: The applicant making the application. properties: person: $ref: "#/components/schemas/person" organisation: $ref: "#/components/schemas/organisation" type: object respondent: additionalProperties: false description: The respondent to the application. properties: person: $ref: "#/components/schemas/respondent_person" organisation: $ref: "#/components/schemas/organisation" 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. example: account-number minLength: 1 type: string value: description: The field value to substitute into the template key example: "1234" minLength: 1 type: string required: - key - value 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. example: PAY-001 maxLength: 15 minLength: 1 type: string paymentStatus: $ref: "#/components/schemas/payment-status" statusDate: description: The date when the payment status was updated. Must be today's date or a past date. example: 2025-12-01 format: date type: string required: - paymentStatus - statusDate 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. example: "Mr, Mrs" maxLength: 100 minLength: 1 type: string surname: description: The persons family name. example: Smith maxLength: 100 minLength: 1 type: string forename: description: The persons first name. example: John maxLength: 100 minLength: 1 type: string type: $ref: "#/components/schemas/official-type" type: object application-list-entry-bulk-action-selection-dto: additionalProperties: false description: | Selection criteria for a single Application List bulk action preview. When selectionType is IDS, entryIds must contain at least one non-null entry ID. When selectionType is FILTER, filter, sort, and excludedEntryIds describe the select-all-matching selection. properties: selectionType: $ref: "#/components/schemas/bulk-action-selection-type" filter: $ref: "#/components/schemas/entry-application-list-get-filter-dto" sort: description: | Sort order for the resolved selection. A single value is currently supported. Format: `property,(asc|desc)`. example: - "sequenceNumber,asc" items: type: string type: array entryIds: description: Explicitly selected Application List Entry IDs. items: format: uuid type: string minItems: 1 type: array excludedEntryIds: description: Entry IDs excluded from a select-all-matching filter selection. items: format: uuid type: string type: array required: - selectionType type: object bulk-fee-details-dto: additionalProperties: false description: One fee detail row to apply to every selected Application List Entry. properties: paymentStatus: $ref: "#/components/schemas/payment-status" statusDate: description: The date when the fee status was updated. Must not be in the future. example: 2025-12-01 format: date type: string paymentReference: description: Optional reference used to identify the payment. example: PAY-001 maxLength: 15 minLength: 1 type: string required: - paymentStatus - statusDate type: object job-type: description: The type of the job being polled by the user. enum: - ACTIVITY_AUDIT_REPORT - FEES_REPORT - LIST_MAINTENANCE_REPORT - SEARCH_WARRANTS_REPORT - WORKLOAD_REPORT - DURATION_REPORT - PRIVATE_PROSECUTORS_INDEX_REPORT - BULK_UPLOAD_ENTRIES example: FEES_REPORT type: string job-status: description: The status of the job being polled by the user. enum: - RECEIVED - VALIDATING - PROCESSING - FAILED - COMPLETED example: RECEIVED type: string bulk-delete-result-item-dto: additionalProperties: false properties: listId: description: Public identifier of the Application List. example: 123e4567-e89b-12d3-a456-426655440000 format: uuid type: string entryId: description: Public identifier of the Application List Entry. example: 123e4567-e89b-12d3-a456-426655440100 format: uuid type: string resultId: description: Public identifier of the Application List Entry Result. example: 123e4567-e89b-12d3-a456-426655440200 format: uuid type: string required: - entryId - listId - resultId type: object court-location-get-summary-dto: description: "Lightweight DTO for Court Locations, used in list/search views." properties: name: description: Human-readable court name. example: Cardiff Crown Court Set 1 type: string locationCode: description: Code that identifies the Court Location. example: CCC003 type: string required: - locationCode - name type: object activity-type: description: Type of user activity recorded in the audit log. enum: - ADD_APPLICATION - ADD_STANDARD_APPLICANT - BULK_APPLICATION_UPLOAD - BULK_UPDATE_FEE_STATUS - BULK_UPDATE_OFFICIALS - CREATE_APPLICATION_LIST - DELETE_APPLICATION_ENTRY - DELETE_APPLICATION_LIST - DELETE_RESULT_APPLICATION - DELETE_RESULT_LIST - DELETE_RESULT_MULTIPLE_APPLICATIONS - DELETE_STANDARD_APPLICANT - MOVE_APPLICATION - REPORT_CREATED - REPORT_DOWNLOADED - REPORT_STATUS_TRANSITION - RESULT_APPLICATION - RESULT_LIST - RESULT_MULTIPLE_APPLICATIONS - UPDATE_APPLICATION - UPDATE_APPLICATION_LIST - UPDATE_RESULT_APPLICATION - UPDATE_RESULT_LIST - UPDATE_RESULT_MULTIPLE_APPLICATIONS - UPDATE_STANDARD_APPLICANT example: UPDATE_APPLICATION title: ActivityType type: string legacy-report-location: additionalProperties: false description: | Location filters for legacy MIS reports. Blank fields will be rejected, nulls should be used instead. Location filters are optional. Use courtLocationCode on its own, cjaCode on its own, otherLocationDescription on its own, or cjaCode and otherLocationDescription together. courtLocationCode is mutually exclusive with cjaCode and otherLocationDescription. properties: courtLocationCode: description: Court location code (case-insensitive contains match). example: LOC123 maxLength: 10 minLength: 1 pattern: .*\S.* type: string otherLocationDescription: description: Other location description (case-insensitive contains match). example: town hall maxLength: 200 minLength: 1 pattern: .*\S.* type: string cjaCode: description: | Criminal Justice Area code. Can be supplied on its own or with otherLocationDescription. example: "52" maxLength: 2 minLength: 1 pattern: .*\S.* type: string title: LegacyReportLocation type: object result-code-get-summary-dto: description: Lightweight DTO used in list/search views. properties: resultCode: description: Code that identifies the result. example: RC-001 type: string title: description: Human-readable title. example: Application List Entry Fee Status type: string required: - resultCode - title type: object standard-applicant-get-summary-dto: description: "Lightweight DTO for Standard Applicants, used in list/search views." properties: code: description: Code that identifies the Standard Applicant. example: STANDARD-1 type: string applicant: $ref: "#/components/schemas/applicant" startDate: description: Date the applicant record became active. example: 2025-12-01 format: date type: string endDate: description: Date the applicant record became inactive (if applicable). example: 2025-12-01 format: date nullable: true type: string required: - addressLine1 - "code," - endDate - "name," - startDate type: object standard-applicant-print-search-criteria-dto: description: Search criteria used for the Standard Applicants print report. properties: code: nullable: true type: string name: nullable: true type: string addressLine1: nullable: true type: string from: format: date nullable: true type: string to: format: date nullable: true type: string required: - addressLine1 - code - from - name - to type: object standard-applicant-print-row-dto: description: Legacy Standard Applicants print row. properties: code: nullable: true type: string useFrom: format: date nullable: true type: string name: nullable: true type: string useTo: format: date nullable: true type: string title: nullable: true type: string addressLine1: nullable: true type: string forename1: nullable: true type: string addressLine2: nullable: true type: string forename2: nullable: true type: string addressLine3: nullable: true type: string forename3: nullable: true type: string addressLine4: nullable: true type: string surname: nullable: true type: string addressLine5: nullable: true type: string emailAddress: nullable: true type: string postcode: nullable: true type: string telephoneNumber: nullable: true type: string mobileNumber: nullable: true type: string required: - addressLine1 - addressLine2 - addressLine3 - addressLine4 - addressLine5 - code - emailAddress - forename1 - forename2 - forename3 - mobileNumber - name - postcode - surname - telephoneNumber - title - useFrom - useTo type: object sort: description: Sorting state for the returned page. example: orders: - property: title direction: asc - property: code direction: desc properties: orders: description: Active sort orders in priority order. items: $ref: "#/components/schemas/sort_orders_inner" type: array type: object template-key-with-constraint: description: The template field with an associated value properties: key: description: Field key for substitution into the template. example: account-number type: string value: description: The optional value for the key. example: "12345678" type: string constraint: allOf: - $ref: "#/components/schemas/template-constraint" description: The constraint details for the field required: - constraint - key type: object bulk-action-selection-type: description: How the global bulk action selection should be resolved. enum: - FILTER - IDS type: string person: additionalProperties: false description: "The person making, or responding to, the application." properties: name: $ref: "#/components/schemas/full-name" contactDetails: $ref: "#/components/schemas/contact-details" required: - contactDetails - name type: object 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. example: ACME Industries LTD maxLength: 100 minLength: 1 pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string contactDetails: $ref: "#/components/schemas/contact-details" required: - contactDetails - name type: object payment-status: description: The Status of the Fee's Payment. enum: - PAID - UNDERTAKEN - DUE - REMITTED example: PAID type: string official-type: description: The type of Official hearing the application. enum: - MAGISTRATE - CLERK example: MAGISTRATE type: string template-constraint: description: The template field with an associated value properties: type: description: The data type of the value. enum: - TEXT example: TEXT type: string length: description: The length of the data value. example: 1234 type: integer required: - length - type 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. example: "Mr, Mrs" maxLength: 100 minLength: 1 pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string firstName: description: The person's first name. example: John maxLength: 100 minLength: 1 pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string middleName: description: The person's optional middle name or names. example: James maxLength: 100 minLength: 1 nullable: true pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string lastName: description: The person's family name. example: Smith maxLength: 100 minLength: 1 pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string required: - firstName - lastName 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. example: 10 Downing Street maxLength: 35 minLength: 1 nullable: false pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string addressLine2: description: Line two of the participant's address. example: Westminster maxLength: 35 minLength: 1 nullable: true pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string addressLine3: description: Line three of the participant's address. example: London maxLength: 35 minLength: 1 nullable: true pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string addressLine4: description: Line four of the participant's address. example: Greater London maxLength: 35 minLength: 1 nullable: true pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string addressLine5: description: Line five of the participant's address. example: United Kingdom maxLength: 35 minLength: 1 nullable: true pattern: "^[^\\u0000-\\u001F\\u007F-\\u009F]*$" type: string postcode: description: The participant's postcode. example: SW1A 2AA 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. example: 01225 123456 maxLength: 20 minLength: 10 nullable: true pattern: "[0-9 \\-]*" type: string mobile: description: The participant's mobile number. example: "07123456789" maxLength: 20 minLength: 11 nullable: true pattern: "^(?:\\+\\d{1,4}\\s*)?[0-9 \\-]*$" type: string email: description: The participant's email address. example: john-doe@gmail.com maxLength: 253 minLength: 1 nullable: true 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 required: - addressLine1 type: object ingestCsdsData_request: properties: file: format: binary type: string required: - file type: object bulkUploadApplicationListEntries_request: properties: file: format: binary type: string type: object application_code_get_detail_dto_feeAmount: description: | Fee amount for this Application Code, expressed in pence (GBP minor units). Always use integer values; 1 GBP = 100 pence. nullable: true properties: value: description: Amount in pence. example: 1299 format: int64 minimum: 0 type: integer currency: default: GBP description: ISO 4217 currency code (always "GBP" for now). enum: - GBP example: GBP type: string required: - value type: object application_code_get_detail_dto_offsiteFeeAmount: description: | Offsite Fee amount for this Application Code, expressed in pence (GBP minor units). Always use integer values; 1 GBP = 100 pence. nullable: true properties: value: description: Amount in pence. example: 1299 format: int64 minimum: 0 type: integer currency: default: GBP description: ISO 4217 currency code (always "GBP" for now). enum: - GBP example: GBP type: string required: - value type: object respondent_person: allOf: - $ref: "#/components/schemas/person" - description: Person details for a respondent (includes DOB). properties: dateOfBirth: description: Date of birth (only applicable for person respondents). example: 1990-01-01 format: date type: string type: object sort_orders_inner: properties: property: description: Property name used for sorting. example: title type: string direction: description: Sort direction. enum: - asc - desc example: asc type: string required: - direction - property type: object