{
  "openapi": "3.0.4",
  "info": {
    "title": "Provider Submissions API",
    "description": "APIs for interacting with TEC data platform.<br/><br/>To start, obtain an ESL machine token from MoE scoped to the EDUMIS ID of the TEO that you are submitting data for.<br/><br/> **NOTE:** All requests to this API are scoped to the EDUMIS ID set in the EID header, and the ESL access token set in the Authentication header. Both headers must be provided for EVERY request ie <p/>`Authentication: Bearer {token}` <p/> `EID: {EDUMIS ID}`",
    "version": "v1.0"
  },
  "servers": [
    {
      "url": "https://api.prd.dxs.pub.tec.govt.nz/provider-submission-api",
      "description": "TEC production environment"
    },
    {
      "url": "https://api.pre.dxs.pub.tec.govt.nz/provider-submission-api",
      "description": "TEC pre-production environment"
    }
  ],
  "paths": {
    "/reference/v1.0/consortia": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of consortium details.",
        "operationId": "ProviderReferenceDataConsortia",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference consortia",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsortiumPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/countries": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of countries.",
        "operationId": "ProviderReferenceDataCountries",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference countries",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountryPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/ethnicities": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of ethnicities.",
        "operationId": "ProviderReferenceDataEthnicities",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference ethnicities",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EthnicityPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/fundrates": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of fund rate details.",
        "operationId": "ProviderReferenceDataFundrates",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference fund rates",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FundRatePagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/funds": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of fund details.",
        "operationId": "ProviderReferenceDataFunds",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference funds",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FundPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/toleranceFactors": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of fund tolerences.",
        "operationId": "ProviderReferenceDataTolerenceFactors",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference funds",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FundTolerancePagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/genders": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get an array of gender codes.",
        "operationId": "ProviderReferenceDataGenders",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of reference genders",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Gender"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/iwis": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of country codes.",
        "operationId": "ProviderReferenceDataIwis",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference iwis",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IwiPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/migrantrefugeestatus": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of migrant/refugee status codes.",
        "operationId": "ProviderReferenceDataMigrantRefugess",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference migrant refugee status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MigrantOrRefugeePagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/qualifications": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of qualification codes.",
        "operationId": "ProviderReferenceDataQualifications",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference qualifications",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApprovedQualificationPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/regions": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of region codes.",
        "operationId": "ProviderReferenceDataRegions",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference regions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeographicAreaPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/territorialAuthorities": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of territorial authority codes.",
        "operationId": "ProviderReferenceDataTerritorialAuthorities",
        "parameters": [
          {
            "name": "referenceYear",
            "in": "query",
            "description": "",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of reference territorial authorities",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerritorialAuthorityLocalBoardPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid reference year specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/reference/v1.0/schools": {
      "get": {
        "tags": [
          "Reference"
        ],
        "summary": "Get a paged array of school codes.",
        "operationId": "ProviderReferenceDataSchools",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Paged list of school codes",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchoolPagedResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/returns": {
      "get": {
        "tags": [
          "Return Periods"
        ],
        "summary": "List available returns",
        "description": "Get a list of available returns for the authenticated EDUMIS ID.<p />\r\nThis endpoint is scoped to the authenticated EDUMIS ID.",
        "operationId": "ProviderSubmissionsGetReturns",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "includeIndicative",
            "in": "query",
            "description": "When true Indicative returns will be included",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Submission details including a submission token and a token expiry",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Pagination parameters - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/token/{returnId}": {
      "post": {
        "tags": [
          "Return Periods"
        ],
        "summary": "Request a Single Data Return (SDR) submission token.",
        "description": "Request a submission token to submit SDR data against a return.<p />\r\nThis endpoint can be called multiple times and may return the same or a new submission token - however the submission will be refer to the same return period<p />\r\nThe validity timeout of the token will be included - the token may be reused until the stated expiry.<p />\r\nA submitted Actual SDR return must be cancelled before another token can be requested. Its token cannot be renewed.<p />\r\nThis endpoint is scoped to the authenticated EDUMIS ID.",
        "operationId": "ProviderSubmissionsCreateFromReturn",
        "parameters": [
          {
            "name": "returnId",
            "in": "path",
            "description": "The return ID to submit data against",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "409": {
            "description": "An uncancelled submitted Actual SDR return already exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent token or submission request not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "200": {
            "description": "Submission details including a submission token and a token expiry",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionDetailResponse"
                }
              }
            }
          },
          "400": {
            "description": "Return not found or accessible - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/token/{submissionToken}/delete": {
      "delete": {
        "tags": [
          "Return Periods"
        ],
        "summary": "Reset a submission upload.",
        "description": "Cancels an Actual SDR return, retains its history and returns a replacement token.<p />\r\nWait for queued validation, running validation or submission to finish before cancellation.<p />\r\nIndicative returns retain the existing token-removal behaviour.<p />\r\nThis endpoint is scoped to the authenticated EDUMIS ID.",
        "operationId": "ProviderSubmissionsDeleteToken",
        "parameters": [
          {
            "name": "submissionToken",
            "in": "path",
            "description": "The submission token for the period to reset",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Actual SDR cancelled; replacement token and expiry returned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionDetailResponse"
                }
              }
            }
          },
          "204": {
            "description": "Indicative submission cancelled"
          },
          "409": {
            "description": "The return is processing or has already been cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent token request, upload, validation or submission request not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Submission Token not found or accessible - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/learners": {
      "put": {
        "tags": [
          "Upload"
        ],
        "summary": "Upload learner data to the submission",
        "description": "Using a valid submission token, upload learner data to the submission.<p />\r\nYou are able to make multiple calls to this end point to accumulate data against the submission.<p />\r\nEach record in the submission content must contain a ```localId``` field - this field is used by the caller to indentify the record.<p />\r\nThe value of ```localId``` is only used in the context of the caller managing the records within the submission.<p />\r\nThe value of ```localId``` must be unique within the submission learners and must be set by the caller. Adding a second record in the same content type with an identical ```localId``` will cause the first record with the same ```localId``` value to be replaced.",
        "operationId": "ProviderSubmissionsUploadLearnerData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LearnerContentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LearnerContentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LearnerContentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Delete"
        ],
        "summary": "Delete learner data from the submission",
        "description": "Using a valid submission token, delete learner data from the submission by `localId`<p />",
        "operationId": "ProviderSubmissionsDeleteLearnerData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/courses": {
      "put": {
        "tags": [
          "Upload"
        ],
        "summary": "Upload course data to the submission",
        "description": "Using a valid submission token, upload course data to the submission.<p />\r\nYou are able to make multiple calls to this end point to accumulate data against the submission.<p />\r\nEach record in the submission content must contain a ```localId``` field - this field is used by the caller to indentify the record.<p />\r\nThe value of ```localId``` is only used in the context of the caller managing the records within the submission.<p />\r\nThe value of ```localId``` must be unique within the submission courses and must be set by the caller. Adding a second record in the same content type with an identical ```localId``` will cause the first record with the same ```localId``` value to be replaced.",
        "operationId": "ProviderSubmissionsUploadCourseData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CourseContentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CourseContentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CourseContentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Delete"
        ],
        "summary": "Delete course data from the submission",
        "description": "Using a valid submission token, delete course data from the submission by `localId`<p />",
        "operationId": "ProviderSubmissionsDeleteCourseData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/course-completions": {
      "put": {
        "tags": [
          "Upload"
        ],
        "summary": "Upload course completion data to the submission",
        "description": "Using a valid submission token, upload course completion data to the submission.<p />\r\nYou are able to make multiple calls to this end point to accumulate data against the submission.<p />\r\nEach record in the submission content must contain a ```localId``` field - this field is used by the caller to indentify the record.<p />\r\nThe value of ```localId``` is only used in the context of the caller managing the records within the submission.<p />\r\nThe value of ```localId``` must be unique within the submission course completions and must be set by the caller. Adding a second record in the same content type with an identical ```localId``` will cause the first record with the same ```localId``` value to be replaced.",
        "operationId": "ProviderSubmissionsUploadCourseCompletionData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CourseCompletionContentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CourseCompletionContentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CourseCompletionContentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Delete"
        ],
        "summary": "Delete course completion data from the submission",
        "description": "Using a valid submission token, delete course completion data from the submission by `localId`<p />",
        "operationId": "ProviderSubmissionsDeleteCourseCompletionsData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/course-enrolments": {
      "put": {
        "tags": [
          "Upload"
        ],
        "summary": "Upload course enrolment data to the submission",
        "description": "Using a valid submission token, upload course enrolment data to the submission.<p />\r\nYou are able to make multiple calls to this end point to accumulate data against the submission.<p />\r\nEach record in the submission content must contain a ```localId``` field - this field is used by the caller to indentify the record.<p />\r\nThe value of ```localId``` is only used in the context of the caller managing the records within the submission.<p />\r\nThe value of ```localId``` must be unique within the submission course enrolments and must be set by the caller. Adding a second record in the same content type with an identical ```localId``` will cause the first record with the same ```localId``` value to be replaced.",
        "operationId": "ProviderSubmissionsUploadCourseEnrolmentData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CourseEnrolmentContentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CourseEnrolmentContentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CourseEnrolmentContentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Delete"
        ],
        "summary": "Delete course enrolment data from the submission",
        "description": "Using a valid submission token, delete course enrolment data from the submission by `localId`<p />",
        "operationId": "ProviderSubmissionsDeleteCourseEnrolmentsData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/qualification-completions": {
      "put": {
        "tags": [
          "Upload"
        ],
        "summary": "Upload qualification completion data to the submission",
        "description": "Using a valid submission token, upload qualification completion data to the submission.<p />\r\nYou are able to make multiple calls to this end point to accumulate data against the submission.<p />\r\nEach record in the submission content must contain a ```localId``` field - this field is used by the caller to indentify the record.<p />\r\nThe value of ```localId``` is only used in the context of the caller managing the records within the submission.<p />\r\nThe value of ```localId``` must be unique within the submission qualification completions and must be set by the caller. Adding a second record in the same content type with an identical ```localId``` will cause the first record with the same ```localId``` value to be replaced.",
        "operationId": "ProviderSubmissionsUploadQualificationCompletionData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QualificationCompletionContentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QualificationCompletionContentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QualificationCompletionContentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Delete"
        ],
        "summary": "Delete qualification completion data from the submission",
        "description": "Using a valid submission token, delete qualification completion data from the submission by `localId`<p />",
        "operationId": "ProviderSubmissionsDeleteQualificationCompletionData",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SubmissionContentRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Acknowledgement of data deleted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmissionContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent Request Not Allowed - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The return is being processed or the Actual SDR return has been submitted or cancelled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/submit/{submissionToken}": {
      "post": {
        "tags": [
          "Submit"
        ],
        "summary": "Request final submission of an Actual SDR return",
        "description": "Using an unexpired submission token, explicitly submit a Processed Actual SDR return.<p />\r\nThe same submission-window, Stop-Gate and business checks as the portal apply.<p />\r\nHTTP 202 acknowledges that final submission has been queued, not completed.<p />\r\nRequest the token again to renew it if it has expired. Use the existing validation status endpoint to monitor the run status.",
        "operationId": "ProviderSubmissionsSubmitSubmission",
        "parameters": [
          {
            "name": "submissionToken",
            "in": "path",
            "description": "The token for the Actual SDR return to submit",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Final submission queued"
          },
          "400": {
            "description": "Token, return status or final submission requirements are invalid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent final submission request not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The Actual SDR return has already been submitted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/validate/{submissionToken}": {
      "post": {
        "tags": [
          "Validate"
        ],
        "summary": "Request validation",
        "description": "Using a valid submission token, request submission to be entered into the validation queue.\r\nSubmitted Actual SDR returns respond with their existing status without starting validation.",
        "operationId": "ProviderSubmissionsValidateSubmission",
        "parameters": [
          {
            "name": "submissionToken",
            "in": "path",
            "description": "The submission token for the submission to be validated",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Acknowledgement of the validation request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponse"
                }
              }
            }
          },
          "400": {
            "description": "No records uploaded - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "The Actual SDR token has been cancelled; use its replacement",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Concurrent upload, validation or submission request not allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/validation/{submissionToken}": {
      "get": {
        "tags": [
          "Validate"
        ],
        "summary": "Get validation status",
        "description": "Using a valid submission token, request the current status of a validation",
        "operationId": "ProviderSubmissionsGetValidationStatus",
        "parameters": [
          {
            "name": "submissionToken",
            "in": "path",
            "description": "The submission token for the submission",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Acknowledgement of the validation request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Submission token is not found - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/submissions/v1.0/validation/{submissionToken}/results": {
      "get": {
        "tags": [
          "Validate"
        ],
        "summary": "Get validation results",
        "description": "Request the current validation results. Submitted Actual SDR returns remain readable, including after token expiry.",
        "operationId": "ProviderSubmissionsGetValidationStatusResults",
        "parameters": [
          {
            "name": "submissionToken",
            "in": "path",
            "description": "The submission token for the submission",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Pagination page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Pagination page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of validation responses",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResultRecordPagedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Pagination parameters - check error code for more detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authorization failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/User/current-user": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get current user",
        "description": "Returns the current authenticated user.<p />\r\nThis endpoint is scoped to the authenticated EDUMIS ID.",
        "operationId": "ProviderSubmissionsGetCurrentUser",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The Machine User Identity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineUserIdentity"
                }
              }
            }
          },
          "403": {
            "description": "When an invalid bearer token has been provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "When a registered user matching the authorization token cannot be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/User/register": {
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Checks current authenticated user against existing and registers or updates the user info",
        "description": "",
        "operationId": "ProviderSubmissionsRegisterUser",
        "parameters": [
          {
            "name": "EID",
            "in": "header",
            "description": "Enter the EDUMIS (Organisation) ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The registered user info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MachineUserIdentity"
                }
              }
            }
          },
          "400": {
            "description": "When EID header has not been supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "When an invalid bearer token has been provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Rate Limiting may apply. Refer to Retry-After header",
            "headers": {
              "Retry-After": {
                "description": "Indicates how long the user agent should wait before making a follow-up request",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApprovedQualification": {
        "type": "object",
        "properties": {
          "qualificationCode": {
            "type": "string",
            "nullable": true
          },
          "qualificationName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApprovedQualificationPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApprovedQualification"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Consortium": {
        "type": "object",
        "properties": {
          "consortiumCode": {
            "type": "string",
            "nullable": true
          },
          "consortiumName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConsortiumPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Consortium"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ContentErrors": {
        "type": "object",
        "properties": {
          "returnId": {
            "type": "string",
            "nullable": true
          },
          "submissionToken": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Country": {
        "type": "object",
        "properties": {
          "countryCode": {
            "type": "string",
            "nullable": true
          },
          "countryName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CountryPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Country"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Course": {
        "required": [
          "compulsoryCourseCostsFee",
          "courseClassification",
          "courseCode",
          "courseEftsFactor",
          "courseTitle",
          "courseTuitionFee",
          "credit",
          "fundingCategory",
          "levelOnTheNzQualificationsAndCredentialsFramework",
          "localId",
          "nzscedFieldOfStudy",
          "pbrfEligibleCourseIndicator",
          "qualificationCode"
        ],
        "type": "object",
        "properties": {
          "localId": {
            "minLength": 1,
            "type": "string",
            "description": "An integrator generated unique identifier for this item."
          },
          "courseCode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Course Code\r\n\r\n\r\nThe code must be able to uniquely identify a specific course in which a learner is enrolled regardless of the period, location, and year in which it is taught.\r\n\r\nThe course code should be consistently reported for each course offered by the TEO.\r\n\r\n\r\nLength: 20\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: The internal code for the course. The code should contain no reference to dates or years in which the course is taught, e.g., “ECON112”.\r\n\r\nNote: Every unique course in the course enrolment file should appear once, and once only, in the course register file.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "courseTitle": {
            "maxLength": 225,
            "minLength": 1,
            "type": "string",
            "description": "Course Title\r\n\r\n\r\nThe title of the course as prescribed or published by the TEO.\r\n\r\n\r\nLength: 225\r\n\r\nType: Character\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: The title of the course as determined by the TEO.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "qualificationCode": {
            "maxLength": 6,
            "minLength": 1,
            "type": "string",
            "description": "Qualification Code\r\n\r\n\r\nThe Qualification code relating to a quality assured qualification.\r\n\r\nThe field is used to indicate:\r\n\r\n›          the qualification the learner is currently enrolled in, or\r\n\r\n›          a qualification that has been completed by the learner, or\r\n\r\n›          a qualification for which a course has been approved for funding.\r\n\r\n\r\nLength: 6\r\n\r\nType of enrolment: N/A\r\n\r\nType: Alpha-Numeric\r\n\r\nGuidance:\r\n\r\nThe value should be a six alpha-numeric code as on the SDR Qualifications Register which uniquely identifies a quality assured qualification.\r\n\r\n(Note the requirements for pre-service teacher education qualifications in SDR Qualifications Register section).\r\n\r\nNon-Formal Education (TEIs only)\r\n\r\nNote that QAC of all non-formal qualification must be one of 90, 91, 97, 99.\r\n\r\nFor community, continuing, and general education qualifications that are less than or equal to 40 hours of teaching use the Qualification code: G9999 and QAC code must be one of 90, 97, 99.\r\n\r\nFor community, continuing, and general education qualifications that are greater than 40 hours of teaching use the Qualification code built on this model:\r\n\r\nModel: GFFSSX – Example: G48017\r\n\r\n(where G is community; FF is field of study; SS is sub-field; X is digit 0-9)\r\n\r\nNote: Non-Formal Education is not required to be reported in the Qualification Completion file.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "courseClassification": {
            "type": "number",
            "description": "Course Classification\r\n\r\n\r\nA four-character code to uniquely group courses into subject classifications.\r\n\r\n\r\nType: Numeric (3,1)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Select a value from course classifications.\r\n\r\nThis field is mandatory.\r\n\r\nCourse Classification is available at the TEC - Course Classification. They are also listed in the DXP Data Classifications appendices.\r\n\r\n",
            "format": "double"
          },
          "nzscedFieldOfStudy": {
            "maxLength": 6,
            "minLength": 1,
            "type": "string",
            "description": "NZSCED Field of Study\r\n\r\n\r\nField of study classification of courses and qualifications.\r\n\r\n\r\nLength: 6\r\n\r\nType: Character\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Select a value from the NZSCED classification.\r\n\r\nThis field is mandatory.\r\n\r\nThe NZSCED is available at Education Counts – New Zealand Standard Classification of Education (NZSCED). They are also listed in the DXP Data Classifications Appendices.\r\n\r\n"
          },
          "levelOnTheNzQualificationsAndCredentialsFramework": {
            "type": "integer",
            "description": "Level on the NZ Qualifications and Credentials Framework\r\n\r\n\r\nThe level of credits on the NZ Qualifications and Credentials Framework contained in a course or paper contributing to a qualification registered on the NZQCF.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n1: Level 1 – Certificates\r\n\r\n2: Level 2 – Certificates\r\n\r\n3: Level 3 – Certificates\r\n\r\n4: Level 4 – Certificates\r\n\r\n5: Level 5 – Certificates / Diplomas\r\n\r\n6: Level 6 – Certificates / Diplomas\r\n\r\n7: Level 7 – Bachelor’s degrees, Graduate Certificates/Diplomas, Certificates/Diplomas\r\n\r\n8: Level 8 – Bachelor’s with honours degrees, Postgraduate Certificates/Diplomas\r\n\r\n9: Level 9 – Master’s Degrees\r\n\r\n0: Level 10 – Doctoral Degree\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "credit": {
            "type": "integer",
            "description": "Credit\r\n\r\n\r\nThe number of credits on the NZ Qualifications and Credentials Framework contained in a course or paper contributing to a qualification registered on the NZQCF.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance:\r\n\r\nEnter a value between 0 and 240 inclusive.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "fundingCategory": {
            "maxLength": 2,
            "minLength": 1,
            "type": "string",
            "description": "Funding Category\r\n\r\n\r\nThe code to uniquely identify funding categories.\r\n\r\nNote: TEOs are to use the normal funding rates for courses funded under Youth Guarantee and Trade Academies.\r\n\r\n\r\nLength: 2\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Select a value from the funding categories classification.\r\n\r\nThis field is mandatory.\r\n\r\nRefer to the DXP Data Classifications Appendices.\r\n\r\n"
          },
          "courseEftsFactor": {
            "type": "number",
            "description": "Course EFTS Factor\r\n\r\n\r\nThe proportion of the total EFTS value set for the qualification that the course is deemed to represent.\r\n\r\n\r\nType: Numeric (1,4)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Guidance: The value is expressed as a decimal rounded to four decimal places – e.g., 0.125.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "double"
          },
          "courseTuitionFee": {
            "type": "number",
            "description": "Course Tuition Fee\r\n\r\n\r\nThe standard fee that domestic learners normally pay for tuition and costs associated with enrolment in a course.\r\n\r\nNote: The validations for Annual Maximum Fee Movement and benchmark fee are assessed by TEC Customer Contact Group when the course changes are assessed.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Enter the dollar value with two decimal places, including GST.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "double"
          },
          "pbrfEligibleCourseIndicator": {
            "maxLength": 1,
            "minLength": 1,
            "type": "string",
            "description": "PBRF Eligible Course Indicator\r\n\r\n\r\nIndicates courses that are eligible for Performance Based Research Fund (PBRF) i.e., they are wholly research based and meet TEC’s PBRF policy guidelines, which are detailed on web page via the following link:\r\n\r\nPerformance Based Research Fund\r\n\r\nDistinction is made in this field between Master’s or Doctorate courses and part-time courses.\r\n\r\n\r\nLength: 1\r\n\r\nType: Character\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Select a value from the list below.\r\n\r\nM: Masters (greater than 0.75 EFTS)\r\n\r\nD: Doctorate (greater than 0.75 EFTS)\r\n\r\nL: Part-time Masters\r\n\r\nC: Part-time Doctorate\r\n\r\nX: Not PBRF Eligible\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "tuitionFeePaidByInternationalFeePayingStudent": {
            "type": "number",
            "description": "Tuition fee paid by international fee paying student\r\n\r\n\r\nThe tuition fee charged to an international learner.\r\n\r\nFor the purposes of the Export Education Levy and the Code of Practice for the Pastoral Care of International Students; ‘international student’ is defined as any learner that is not a ‘domestic student’.\r\n\r\nFor a definition of ‘domestic student’ refer to the Fund Finder on the TEC website for more information.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Enter the New Zealand dollar value with two decimal places, excluding GST.\r\n\r\nApplies to All ‘onshore’ international fee-paying learner with learner types B, C or D determined by:\r\n\r\n›          Intramural or Extramural Attendance is 1 or 2 and\r\n\r\n›          Source of Funding is 02\r\n\r\n›          The fee should always exceed the tuition fee charged to a domestic learner. The foreign tuition fee in addition to all the normal domestic tuition costs must also include:\r\n\r\n›          the costs of sale such as agents’ fees and marketing\r\n\r\n›          the cost of the Export Education Levy.\r\n\r\nAdditional compulsory course costs are not included in the tuition fee.\r\n\r\nTuition fee must be reported on either the Learner File or the Course Register File, but not on both.\r\n\r\n",
            "format": "double",
            "nullable": true
          },
          "compulsoryCourseCostsFee": {
            "type": "number",
            "description": "Compulsory Course Costs Fee\r\n\r\n\r\nThe compulsory course costs fee that are charged to all learners enrolled in a course, which includes (but are not limited to) any compulsory costs associated with enrolment, examinations (including reporting of credits to the NZQA), field trips, and any compulsory purchase of equipment or books through the TEO.\r\n\r\nThe compulsory course costs fee excludes any administrative fees or charges (other than tuition fees of compulsory course costs) for additional services that are payable because of the specific circumstances of a learner, which includes (but are not limited to) the following:\r\n\r\n›          reassessment or remarking of examination results\r\n\r\n›          examination relocation fees\r\n\r\n›          fees associated with recognition of prior learning\r\n\r\n›          fees associated with an application for selected entry programmes.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Enter the dollar value with two decimal places, including GST.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "double"
          },
          "courseExemptionFromAmfm": {
            "type": "integer",
            "description": "Course Exemption from AMFM\r\n\r\n\r\nAn indication against any course that has been granted an exemption including the 2% AMFM (Annual Maximum Fee Movement) and professional masters\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n1: Course has been granted exemption from AMFM\r\n\r\n2: Course has no exemption from AMFM\r\n\r\nThe Course will automatically be exempt from AMFM if #5.1 (Adult and Community Education).\r\n\r\n",
            "format": "int32",
            "nullable": true
          },
          "discountedCourseTuitionFee": {
            "type": "number",
            "description": "Discounted Course Tuition Fee\r\n\r\n\r\nThe discounted course tuition fee charged to domestic learners who enrol in the course.\r\n\r\nReporting this value is in line with the 2024 Fee Regulation Settings which allows providers to temporarily reduce fees, while still maintaining potential annual increases under the AMFM.\r\n\r\nRefer to TEC’s website, the Funding Conditions, or the Gazette notice for more detail.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Enter the dollar value with two decimal places, including GST.\r\n\r\nOnly use this field if you offer discounted tuition fees for this course to any learner.\r\n\r\nEnter the discounted Course Tuition Fee when setting up the course if known. Otherwise leave blank.\r\n\r\n",
            "format": "double",
            "nullable": true
          },
          "discountedCompulsoryCourseCostsFee": {
            "type": "number",
            "description": "Discounted Compulsory Course Costs Fee\r\n\r\n\r\nThe discounted course fee charged to domestic learners who enrol in the course.\r\n\r\nReporting this value is in line with the 2024 Fee Regulation Settings which allows providers to temporarily reduce fees, while still maintaining potential annual increases under the AMFM.\r\n\r\nRefer to TEC’s website, the Funding Conditions, or the Gazette notice for more detail.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Enter the dollar value with two decimal places, including GST.\r\n\r\nOnly use this field if you offer discounted compulsory course costs fees for this course to any learner.\r\n\r\nEnter the discounted Compulsory Course Cost Fee when setting up the course if known. Otherwise leave blank.\r\n\r\n",
            "format": "double",
            "nullable": true
          },
          "learningHours": {
            "type": "number",
            "description": "Learning Hours\r\n\r\n\r\nThe learning hours involved in the course.\r\n\r\n\r\nType: Numeric (6,2)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Enter a value to a maximum of 6 numeric characters, with up to 2 decimal places. The value entered must be between 0-2400.99 inclusive.\r\n\r\n",
            "format": "double",
            "nullable": true
          },
          "volumeResearchFactor": {
            "type": "number",
            "description": "Volume Research Factor\r\n\r\n\r\nThe Volume of Research Factor (VRF) is associated with the PBRF eligibility and is a multiplier that measures the research content of a course.\r\n\r\n\r\nType: Numeric (5,4)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Enter a maximum of 5 numeric characters with up to 4 decimal places. The valid VRF range for PBRF eligible courses is defined as follows:\r\n\r\nM: Blank or between 0.75 and 1.0\r\n\r\nD: Blank or between 0.0 and 3.0\r\n\r\nL: Blank or between 0.75 and 1.0\r\n\r\nC: Blank or between 0.0 and 3.0\r\n\r\nX: Blank\r\n\r\n",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CourseCompletion": {
        "required": [
          "courseCode",
          "courseEndDate",
          "courseStartDate",
          "localId",
          "nationalStudentNumber",
          "studentCourseCompletionIndicator",
          "studentIdentificationCode"
        ],
        "type": "object",
        "properties": {
          "localId": {
            "minLength": 1,
            "type": "string",
            "description": "An integrator generated unique identifier for this item."
          },
          "studentIdentificationCode": {
            "maxLength": 10,
            "minLength": 1,
            "type": "string",
            "description": "Student Identification Code\r\n\r\n\r\nA code which uniquely identifies the learner within each TEO. The student ID must remain constant for the learner throughout their enrolment history at your organisation\r\n\r\n\r\nLength: 10\r\n\r\nType: Character\r\n\r\nType of enrolment: D\r\n\r\nGuidance: The value is generated by each TEO.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "courseCode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Course Code\r\n\r\n\r\nThe internal code for a course in which learners are enrolled.\r\n\r\nThe code must be able to uniquely identify a specific course in which a learner is enrolled regardless of the period, location, and year in which it is taught.\r\n\r\nThe course code should be consistently reported for each course offered by the TEO.\r\n\r\n\r\nLength: 20\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: D\r\n\r\nGuidance: The internal code for the course. The code should contain no reference to dates or years in which the course is taught, e.g., “ECON112”.\r\n\r\nNote: Every unique course in the course enrolment file should appear once, and once only, in the course register file.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "studentCourseCompletionIndicator": {
            "type": "integer",
            "description": "Student Course Completion indicator\r\n\r\n\r\nThe completion status of a course.\r\n\r\nA learner is deemed to have successfully completed the course when they have met the requirements set out in the approved course or outline.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n0: Still to complete course – valid extension or grade not yet available (NZQCF Level 1-8)\r\n\r\n1: Still to complete course – course end date not yet reached (NZQCF Level 1-8)\r\n\r\n2: Completed course successfully\r\n\r\n3: Completed course unsuccessfully\r\n\r\n4: Did not complete course\r\n\r\n5: Practicum to complete – on job training (NZQCF Levels 1-8)\r\n\r\n6: Yet to complete – NZQCF Levels 9 & 10\r\n\r\n7: Extension granted or under moderation – NZQCF Levels 9 & 10\r\n\r\n8: Completed Successfully Thesis written in Te Reo Māori\r\n\r\nThis field is mandatory.\r\n\r\nNote: Warning 390, 543 and Error 391 are updated to commence in the year following the course end date, when the enrolment was reported in the December return. All three will be returned, in their appropriate timeframe, if the record in the previous return was reported as code 0, and the record is omitted from the file, or is in the current file as code 0.\r\n\r\n",
            "format": "int32"
          },
          "courseStartDate": {
            "type": "string",
            "description": "Course Start Date\r\n\r\n\r\nThe start date of the learner’s course(s) in the current or previous academic year.\r\n\r\nThis date is the officially notified beginning date of instruction and/or structured supervision associated with each learner’s course(s) at a tertiary education organisation.\r\n\r\n\r\nType: Date\r\n\r\nType of enrolment: D\r\n\r\nGuidance: DD/MM/YYYY.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "date-time"
          },
          "nationalStudentNumber": {
            "type": "integer",
            "description": "National Student Number\r\n\r\n\r\nA number which uniquely identifies the learner. The NSN must remain constant for the learner throughout their enrolment at your or any other organisation. The NSN is part of the NSI database system maintained by the Ministry of Education.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: This number must be the value generated by the National Student Index (NSI) for the learner.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "courseEndDate": {
            "type": "string",
            "description": "Course End Date\r\n\r\n\r\nThe end date of the learner’s course.\r\n\r\nThis will normally be the officially notified end date of instruction and/or examination associated with a course. If a course spans the end of the normal academic year, the last date will be for the following year.\r\n\r\n\r\nType: Date\r\n\r\nType of enrolment: D\r\n\r\nGuidance: DD/MM/YYYY.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "date-time"
          },
          "pbrfCourseCompletionYear": {
            "type": "integer",
            "description": "PBRF Course Completion Year\r\n\r\n\r\nThe actual end year of the learner’s course(s) for those completing PBRF (funded only) course(s).\r\n\r\nThis field value is the officially notified year the research component of the course is completed.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Enter the year in the format YYYY - e.g., 2023.\r\n\r\n",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CourseCompletionContentDto": {
        "required": [
          "content",
          "submissionToken"
        ],
        "type": "object",
        "properties": {
          "submissionToken": {
            "minLength": 1,
            "type": "string",
            "description": "The valid submission token to submit data against"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CourseCompletion"
            }
          }
        },
        "additionalProperties": false,
        "description": "A batched submission of data against a submission token linked to a return\r\n\r\nMultiple submission can be made against the submission token"
      },
      "CourseContentDto": {
        "required": [
          "content",
          "submissionToken"
        ],
        "type": "object",
        "properties": {
          "submissionToken": {
            "minLength": 1,
            "type": "string",
            "description": "The valid submission token to submit data against"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Course"
            }
          }
        },
        "additionalProperties": false,
        "description": "A batched submission of data against a submission token linked to a return\r\n\r\nMultiple submission can be made against the submission token"
      },
      "CourseEnrolment": {
        "required": [
          "australianResidentialStatus",
          "categoryOfFeesAssessmentForInternationalStudentsForEachEnrolment",
          "courseClassification",
          "courseCode",
          "courseDeliverySite",
          "courseEftsFactor",
          "courseEndDate",
          "courseStartDate",
          "eftsByMonth",
          "fundingCategory",
          "intramuralOrExtramuralAttendance",
          "localId",
          "nationalStudentNumber",
          "nzscedFieldOfStudy",
          "qualificationCode",
          "residentialStatus",
          "sourceOfFunding",
          "studentIdentificationCode"
        ],
        "type": "object",
        "properties": {
          "localId": {
            "minLength": 1,
            "type": "string",
            "description": "An integrator generated unique identifier for this item."
          },
          "studentIdentificationCode": {
            "maxLength": 10,
            "minLength": 1,
            "type": "string",
            "description": "Student Identification Code\r\n\r\n\r\nA code which uniquely identifies the learner within each TEO.\r\n\r\nThe student ID must remain constant for the learner throughout their enrolment history at your organisation.\r\n\r\n\r\nLength: 10\r\n\r\nType: Character\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: The value is generated by each TEO.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "qualificationCode": {
            "maxLength": 6,
            "minLength": 1,
            "type": "string",
            "description": "Qualification Code\r\n\r\n\r\nIdentifies the Qualification code relating to a quality assured qualification indicating the:\r\n\r\n›          qualification the learner is currently enrolled in, or\r\n\r\n›          a qualification that has been completed by a learner, or\r\n\r\n›          a qualification for which a course has been approved for funding.\r\n\r\n\r\nLength: 6\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance:\r\n\r\nThe value should be a six alpha-numeric code from the SDR Qualifications Register.\r\n\r\n(Note requirements for pre-service teacher education qualifications in SDR Qualifications Register section).\r\n\r\nNon-Formal Education (TEIs only)\r\n\r\nNote that Qualification Award Code (QAC) of all non-formal qualification must be one of 90, 91, 97, 99.\r\n\r\nFor community, continuing, and general education qualifications that are less than or equal to 40 hours of teaching use the Qualification code: G9999 and Qualification Award Code (QAC) must be one of 90, 97, 99.\r\n\r\nFor community, continuing, and general education qualifications that are greater than 40 hours of teaching use the Qualification code built on this model:\r\n\r\nModel: GFFSSX - Example: G48017 (where G is community; FF is field of study; SS is sub-field; X is digit 0-9)\r\n\r\nNote: Non-Formal Education is not required to be reported in the Qualification Completion file.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "courseCode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Course Code\r\n\r\n\r\nThe internal code for a course in which learners are enrolled.\r\n\r\nThe code must be able to uniquely identify a specific course in which a learner is enrolled regardless of the period, location, and year in which it is taught.\r\n\r\nThe course code should be consistently reported for each course offered by the TEO.\r\n\r\n\r\nLength: 20\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: The internal code for the course. The code should contain no reference to dates or years in which the course is taught, e.g., “ECON112”.\r\n\r\nNote: Every unique course in the course enrolment file should appear once, and once only, in the course register file.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "courseStartDate": {
            "type": "string",
            "description": "Course Start Date\r\n\r\n\r\nThe start date of the learner's course(s) in the current or previous academic year.\r\n\r\nThis date is the officially notified beginning date of instruction and/or structured supervision associated with each learner's course(s) at a tertiary education organisation.\r\n\r\n\r\nType: Date\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: DD/MM/YYYY\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "date-time"
          },
          "courseEndDate": {
            "type": "string",
            "description": "Course End Date\r\n\r\n\r\nThe end date of the learner's course.\r\n\r\nThis will normally be the officially notified end date of instruction and/or examination associated with a course.\r\n\r\nIf a course spans the end of the normal academic year, the last date will be for the following year.\r\n\r\n\r\nType: Date\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: DD/MM/YYYY\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "date-time"
          },
          "studentCourseWithdrawalDate": {
            "type": "string",
            "description": "Student Course Withdrawal Date\r\n\r\n\r\nThe date of withdrawal of a confirmed student enrolment from a course, programme or training scheme otherwise should be left blank.\r\n\r\nA “withdrawal” means the withdrawal of a confirmed student enrolment from a course, programme, or training scheme, by notice from the learner to the TEO or because of non-attendance or non-participation by a learner at the TEO for any reason, and whether the learner has been refunded any fees.\r\n\r\n\r\nType: Date\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: DD/MM/YYYY\r\n\r\n",
            "format": "date-time",
            "nullable": true
          },
          "categoryOfFeesAssessmentForInternationalStudentsForEachEnrolment": {
            "maxLength": 2,
            "minLength": 1,
            "type": "string",
            "description": "Category of Fees Assessment for International Students for each enrolment\r\n\r\n\r\nThe code to identify the category of fees assessment for international students.\r\n\r\nInternational students are those not classified as NZL or AUS in the Country of Citizenship field (Learner Data Submission), or Y in the Residential Status field, except if Residential Status is Y or Country of Citizenship is AUS and Intramural or Extramural Attendance field is resident overseas.\r\n\r\n\r\nLength: 2\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n0: (zero zero) Domestic Student*1\r\n\r\n1: NZAID student\r\n\r\n3: International Fee-Paying Student (including people on current work visa)\r\n\r\n4: Student on a recognised exchange scheme\r\n\r\n8: Diplomatic staff or family, persons associated with Antarctic programme\r\n\r\n9: International On-Shore PhD student *2\r\n\r\n12: International student doing ITO off-job training\r\n\r\n13: Refugee or protected person, yet to be granted a resident visa; the immediate family, also without a resident visa, of a person with refugee or protected person status; and those who have made a claim to be recognised as a refugee or protected person\r\n\r\n14: 2021 Resident Visa pathway, children aged 25 years or under on 1 January 2022 and residing in New Zealand, of a parent on an eligible work visa for the 2021 Resident Visa\r\n\r\n*1 The Category of Fees Assessment for International Students for each enrolment field will:\r\n\r\n›          Always be 00 (zero zero) for New Zealand citizens (Country of Citizenship is NZL);\r\n\r\n›          Be 00 for the following students if they are residing in New Zealand (Intramural or Extramural Attendance is 1 or 2):\r\n\r\no    Students holding New Zealand resident status (Residential Status is ‘Y’),\r\n\r\no    Australian citizens (Country of Citizenship is AUS),\r\n\r\no    Students holding a current Australian permanent resident visa (Australian Residential Status is ‘Y’).\r\n\r\n›          Be 00 for the following students if they are intramural and residing overseas (Intramural or Extramural Attendance is 4) and the students must be studying at Level 7 or above in a country they are not familiar with:\r\n\r\no    Students holding New Zealand resident status (Residential Status is ‘Y’),\r\n\r\no    Australian citizens (Country of Citizenship is AUS),\r\n\r\no    Students holding a current Australian permanent resident visa (Australian Residency Status is ‘Y’).\r\n\r\n*2 When Category of Fees Assessment for International Students for each enrolment is 09 it is for a student enrolled in a programme of study that is: A PhD (Level 10 on the NZQCF), and wholly research (for example, 120 credits thesis).\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "intramuralOrExtramuralAttendance": {
            "type": "integer",
            "description": "Intramural or Extramural Attendance\r\n\r\n\r\nThe field is used to record a code which specifies the mode of learning for a Learner.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n1: Intramural and residing in New Zealand\r\n\r\n2: Extramural and residing in New Zealand\r\n\r\n3: Extramural and residing overseas\r\n\r\n4: Intramural and residing overseas\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "courseDeliverySite": {
            "maxLength": 2,
            "minLength": 1,
            "type": "string",
            "description": "Course Delivery Site\r\n\r\n\r\nDelivery site or campus of the course or module of a qualification in which a learner is enrolled. The delivery site refers to the location in which most of the teaching, instruction or learning occurs for a particular course. The campus or site must be a recognised centre of learning by the TEO that is geographically separate from other sites or campuses.\r\n\r\n\r\nLength: 2\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Examples of the delivery site include:\r\n\r\n›          01: Main campus or delivery site of a TEO\r\n\r\n›          02 - 96: Other delivery sites\r\n\r\n›          98: Courses delivered extramurally or by distance learning\r\n\r\n›          99: Community education courses\r\n\r\n›          Any combination of letters, for example: AA, AB\r\n\r\n›          Any combination of alpha-numeric, for example: A1, 1A\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "sourceOfFunding": {
            "maxLength": 2,
            "minLength": 1,
            "type": "string",
            "description": "Source of Funding\r\n\r\n\r\nThe code that identifies the source of the funding that supports the learner's enrolment in the course.\r\n\r\n\r\nLength: 2\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the list below – current funds.\r\n\r\n1: Delivery at Levels 7 (degree) and above (DQ7Degree+) (SAC 3+ until 31/12/2022.)\r\n\r\n2: International Fee-Paying (IFP) Students (including AUS citizens and NZ permanent residents who are residing overseas)\r\n\r\n3: Domestic Full Fee Paying Students\r\n\r\n5: STAR funded student\r\n\r\n9: Prison Education (Department of Corrections)\r\n\r\n10: Ministry of Health\r\n\r\n12: Other (including other contracts)\r\n\r\n13: English for Migrants (TEC only)\r\n\r\n20: NZAID and Commonwealth Scholarships\r\n\r\n22: Youth Guarantee Scheme\r\n\r\n23: ACE (Adult and Community Education)\r\n\r\n24: Trade Academies\r\n\r\n26: Delivery at NZQCF Levels 1 and 2 (DQ1-2) (was SAC 1&2 until 31/12/022)\r\n\r\n28: Māori Pasifika Trades Training Level 1 and 2\r\n\r\n29: Māori Pasifika Trades Training Level 3 and 4\r\n\r\n31: Non-funded confirmed student enrolments\r\n\r\n37: Non-degree Delivery at Levels 3-7 on the NZQCF (DQ3-7)\r\n\r\nGuidance: Select a value from the list below – historic funds.\r\n\r\n4: TEC — Supplementary Grants/Fund\r\n\r\n6: Training Opportunities (also includes Training for Work)\r\n\r\n7: Youth Training - Ceased 31/12/2011; refer to Youth Guarantee\r\n\r\n8: Skills Enhancement\r\n\r\n11: ITO Off Job Training (Non-degree Delivery)\r\n\r\n14: Primary Pre-service Teacher Education Contracts\r\n\r\n15: Secondary Pre-service Teacher Education Contracts\r\n\r\n16: Youth Action Training Programme (DWI)\r\n\r\n25: SAC Level 1 & 2 Competitive Process Funding\r\n\r\n27: Under 25 Fees Free Standard plan process Level 1 & 2\r\n\r\n30: ICT Graduate Schools\r\n\r\n32: SAC Level 3 & 4 Competitive Process Funding\r\n\r\n33: Dual Pathways (Level 2-3 secondary-tertiary pilot) Funding\r\n\r\n35: EM ACE (Emergency Management - Adult and Community Education)\r\n\r\n36: SAR ACE (Search and Rescue - Adult and Community Education)\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "residentialStatus": {
            "maxLength": 1,
            "minLength": 1,
            "type": "string",
            "description": "Residential Status\r\n\r\n\r\nIdentifies if the learner has New Zealand resident status for each enrolment.\r\n\r\n\r\nLength: 1\r\n\r\nType: Character\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\nY: New Zealand Resident visa holder (excludes all New Zealand and Australian Citizens)\r\n\r\nN: Not a New Zealand Resident visa holder (includes all New Zealand and Australian Citizens)\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "australianResidentialStatus": {
            "type": "boolean",
            "description": "Australian Residential Status\r\n\r\n\r\nIdentifies if the learner has Australian permanent resident status for each enrolment.\r\n\r\n\r\nLength: 1\r\n\r\nType: Character\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\nY: Australian Permanent Resident\r\n\r\nN: Not an Australian Permanent Resident\r\n\r\nThis field is mandatory.\r\n\r\nAPI:\r\n\r\nType: Boolean\r\n\r\nGuidance: Value will translate as follow\r\n\r\ntrue  Yes(Y)\r\n\r\nfalse  No (N)\r\n\r\n"
          },
          "fundingCategory": {
            "maxLength": 2,
            "minLength": 1,
            "type": "string",
            "description": "Funding Category\r\n\r\n\r\nThe code to uniquely identify funding categories.\r\n\r\nNote: TEOs are to use the normal funding rates for courses funded under Youth Guarantee and Trade Academies.\r\n\r\n\r\nLength: 2\r\n\r\nType: Alpha-Numeric\r\n\r\nStudent Type: B, C, D\r\n\r\nGuidance: Select a value from the funding categories classification.\r\n\r\nRefer to the DXP Data Classifications Appendices.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "courseClassification": {
            "type": "number",
            "description": "Course Classification\r\n\r\n\r\nThe unique subject classification for the course.\r\n\r\n\r\nType: Numeric (3,1)\r\n\r\nType of enrolment: N/A\r\n\r\nGuidance: Select a value from course classifications.\r\n\r\nThis field is mandatory.\r\n\r\nCourse Classification is available at the TEC - Course Classification. They are also listed in the DXP Data Classifications appendices.\r\n\r\n",
            "format": "double"
          },
          "nzscedFieldOfStudy": {
            "maxLength": 6,
            "minLength": 1,
            "type": "string",
            "description": "NZSCED Field of Study\r\n\r\n\r\nThe field of study classification of the course.\r\n\r\n\r\nLength: 6\r\n\r\nType: Character\r\n\r\nStudent Type: B, C, D\r\n\r\nGuidance: Select a value from the NZSCED classification.\r\n\r\nThis field is mandatory.\r\n\r\nThe NZSCED is available at Education Counts - New Zealand Standard Classification of Education (NZSCED). They are also listed in the DXP Classifications Appendices.\r\n\r\n"
          },
          "courseEftsFactor": {
            "type": "number",
            "description": "Course EFTS Factor\r\n\r\n\r\nThe proportion of the total EFTS value set for the qualification that the course is deemed to represent.\r\n\r\n\r\nType: Numeric (1,4)\r\n\r\nStudent Type: B, C, D\r\n\r\nGuidance: The value is expressed as a decimal rounded to four decimal places – e.g., 0.0125.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "double"
          },
          "eftsByMonth": {
            "type": "array",
            "items": {
              "type": "number",
              "format": "double"
            },
            "description": "EFTS by Month\r\n\r\n\r\nThe portion of the course EFTS factor for each month of enrolment for all learners.\r\n\r\n\r\nType: Numeric (1,4)\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: The value is expressed as a decimal rounded to four decimal places – e.g., 0.0010.\r\n\r\nThe value is calculated by evenly dividing the course EFTS factor by the number of calendar months the learner is enrolled, irrespective of which day in the month the course starts or ends.\r\n\r\nThe formula is:\r\n\r\nCourse EFTS factor ÷ Course Finish Month - Course Start Month (inclusive)\r\n\r\nThe calculation applies if withdrawals occur after the withdrawal period – i.e., include EFTS for learners who withdraw after one calendar month or 10% of the course duration (rounded up to the nearest whole day) or as determined by the academic board or council (refer to TEC’s Funding Information).\r\n\r\nSeparate each value reported with a semicolon (;)\r\n\r\nThis field is mandatory.\r\n\r\nAPI:\r\n\r\nType: Numeric (1,4) Array\r\n\r\n"
          },
          "nationalStudentNumber": {
            "type": "integer",
            "description": "National Student Number\r\n\r\n\r\nA number which uniquely identifies the learner. The NSN must remain constant for the learner throughout their enrolment at your or any other organisation. The NSN is part of the NSI database system maintained by the Ministry of Education.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: This number must be the value generated by the National Student Index (NSI) for the learner.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "consortium": {
            "type": "integer",
            "description": "Consortium\r\n\r\n\r\nIdentifies the cooperative arrangement among groups or institutions. This could be a group of tertiary education organisations (TEOs) and can include other organisations such as community groups or councils.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the Consortium data classification. Refer to the DXP Data Classifications Appendices.\r\n\r\nThis field is mandatory for funding source 28 or 29.\r\n\r\n",
            "format": "int32",
            "nullable": true
          },
          "iteSector": {
            "type": "integer",
            "description": "ITE Sector\r\n\r\n\r\nIdentifies the sector for a learner enrolled in Initial Teacher Education (ITE).\r\n\r\nNotes:\r\n\r\n›          ITE qualifications that cover more than one sector should have the NZSCED code 070108 - Teacher Education: General (Pre-Service). Learners whose focus is Secondary must be identified with 3 – Secondary.\r\n\r\n›          This field is optional until 2026 and a warning will be displayed until then. From 2026 we will introduce validation rules to ensure data for these fields is provided for ITE-approved qualifications.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n1: Early Childhood\r\n\r\n2: Primary\r\n\r\n3: Secondary\r\n\r\nThis field is mandatory if you are reporting ITE data through SDR and the qualification NZSCED is an ITE enrolment, which includes the following.\r\n\r\n70101: Teacher Education: Early Childhood (Pre-Service)\r\n\r\n70103: Teacher Education: Primary (Pre-Service)\r\n\r\n70105: Teacher Education: Secondary (Pre-Service)\r\n\r\n70108: Teacher Education: General (Pre-Service)\r\n\r\n70118: Bilingual Early Childhood Teacher Training (Pre-Service)\r\n\r\n70120: Immersion Early Childhood Teacher Training (Pre-Service)\r\n\r\n70122: Bilingual Primary Teacher Training (Pre-Service)\r\n\r\n70124: Immersion Primary Teacher Training (Pre-Service)\r\n\r\n70126: Bilingual Secondary Teacher Training (Pre-Service)\r\n\r\n70128: Immersion Secondary Teacher Training (Pre-Service)\r\n\r\nThe same values must be used for each of the learner’s course enrolment in the qualification.\r\n\r\n",
            "format": "int32",
            "nullable": true
          },
          "iteSubject": {
            "maxItems": 40,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "ITE Subject\r\n\r\n\r\nThe specific curriculum subject areas that a learner is studying where they are enrolled in an Initial Teacher Education qualification where the ITE sector is Secondary.\r\n\r\nNote: There are four separate fields available to capture multiple curriculum subject areas.\r\n\r\nNote: Submitting ITE detail is optional until 2026. However, if you enter a value of “3” in the ITE Sector field, validations for this field will be triggered.\r\n\r\n\r\nLength: 40\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the ITE subject classification. Up to four values can be entered. If providing multiple values, separate each value reported with a semicolon (;).\r\n\r\nNote: At least one ITE Subject is required if 3-Secondary is selected for the ITE Sector. Please provide additional values if the learner is studying multiple curriculum subject areas. The same values must be used for each of the learner’s course enrolment in the qualification.\r\n\r\nFor the list of ITE subjects, refer to the DXP Data Classifications Appendices.\r\n\r\nAPI:\r\n\r\nType: Alpha-Numeric Array\r\n\r\n",
            "nullable": true
          },
          "apprenticeships": {
            "type": "boolean",
            "description": "Apprenticeships\r\n\r\n\r\nIdentifies if a learner is enrolled as an Apprenticeship\r\n\r\nNote: The field applies to New Zealand Apprenticeships (up to NZQCF level 4). This includes approved provider-based apprenticeship programmes (previously Managed Apprenticeships). Please note that until the new work-based learning structure has been decided TEC will not be approving any new provider-based apprenticeships.\r\n\r\n\r\nType: Character\r\n\r\nLength: 1\r\n\r\nType of Students: D\r\n\r\nClassification: Enter a value of Y if the enrolment is for an Apprenticeship.\r\n\r\n",
            "nullable": true
          },
          "secondarySchoolProgrammeIndicator": {
            "maxLength": 1,
            "type": "string",
            "description": "Secondary School Programme Indicator\r\n\r\n\r\nIndicates whether a course has been undertaken as part of the student’s or trainee’s school learning programme or secondary-tertiary programme. These course enrolments are excluded from Fees Free.\r\n\r\n\r\nLength: 1\r\n\r\nType: Character\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\nY: Yes. For when a course enrolment is part of a learner’s secondary school programme\r\n\r\nN: No. For when a course enrolment is not part of the learner’s secondary school programme\r\n\r\nThis field is mandatory.\r\n\r\n",
            "nullable": true
          },
          "actualCourseFee": {
            "type": "number",
            "description": "Actual Course Fee\r\n\r\n\r\nThe total cost charged to the learner for enrolment in the course, for the following fee components:\r\n\r\n1.       Tuition fees\r\n\r\n2.       Compulsory course cost fees\r\n\r\nThe amount recorded must be inclusive of any discounts/scholarships and must include GST.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Enter the dollar value with two decimal places, including GST.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CourseEnrolmentContentDto": {
        "required": [
          "content",
          "submissionToken"
        ],
        "type": "object",
        "properties": {
          "submissionToken": {
            "minLength": 1,
            "type": "string",
            "description": "The valid submission token to submit data against"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CourseEnrolment"
            }
          }
        },
        "additionalProperties": false,
        "description": "A batched submission of data against a submission token linked to a return\r\n\r\nMultiple submission can be made against the submission token"
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "$ref": "#/components/schemas/ContentErrors"
          },
          "errorCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "Ethnicity": {
        "type": "object",
        "properties": {
          "ethnicityCode": {
            "type": "string",
            "nullable": true
          },
          "ethnicityName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EthnicityPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ethnicity"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FileType": {
        "enum": [
          "Course",
          "Enrolment",
          "CourseCompletion",
          "QualificationCompletion",
          "Learner",
          "Unknown"
        ],
        "type": "string"
      },
      "Fund": {
        "type": "object",
        "properties": {
          "fundCode": {
            "type": "string",
            "nullable": true
          },
          "fundName": {
            "type": "string",
            "nullable": true
          },
          "businessStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "businessEndDate": {
            "type": "string",
            "format": "date-time"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "commitmentsDisplayFlag": {
            "type": "string",
            "nullable": true
          },
          "providerBasedActualDisplayFlag": {
            "type": "string",
            "nullable": true
          },
          "workBasedActualDisplayFlag": {
            "type": "string",
            "nullable": true
          },
          "feesFreeDisplayFlag": {
            "type": "string",
            "nullable": true
          },
          "documentsDisplayFlag": {
            "type": "string",
            "nullable": true
          },
          "otherActualDisplayFlag": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FundPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Fund"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FundRate": {
        "type": "object",
        "properties": {
          "fundCode": {
            "type": "string",
            "nullable": true
          },
          "rateAmount": {
            "type": "number",
            "format": "double"
          },
          "rateType": {
            "type": "string",
            "nullable": true
          },
          "rateCategory": {
            "type": "string",
            "nullable": true
          },
          "rateTypeCategory": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FundRatePagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FundRate"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FundTolerance": {
        "type": "object",
        "properties": {
          "fundCode": {
            "type": "string",
            "nullable": true
          },
          "toleranceAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "FundTolerancePagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FundTolerance"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Gender": {
        "type": "object",
        "properties": {
          "genderCode": {
            "type": "string",
            "nullable": true
          },
          "genderName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GeographicArea": {
        "type": "object",
        "properties": {
          "geographicAreaCode": {
            "type": "string",
            "nullable": true
          },
          "territorialAuthorityLocalBoardCode": {
            "type": "string",
            "nullable": true
          },
          "territorialAuthorityLocalBoardName": {
            "type": "string",
            "nullable": true
          },
          "regionalCouncilCode": {
            "type": "string",
            "nullable": true
          },
          "regionalCouncilName": {
            "type": "string",
            "nullable": true
          },
          "businessStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "businessEndDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GeographicAreaPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeographicArea"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Iwi": {
        "type": "object",
        "properties": {
          "iwiCode": {
            "type": "string",
            "nullable": true
          },
          "iwiName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IwiPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Iwi"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Learner": {
        "required": [
          "countryOfCitizenship",
          "dateOfBirth",
          "disabilityServicesAccessedIndicator",
          "disabilityStatus",
          "gender",
          "highestSecondarySchoolQualification",
          "localId",
          "maximaExemptFee",
          "nameIdCode",
          "nationalStudentNumber",
          "permanentPostCode",
          "studentIdentificationCode",
          "termPostCode"
        ],
        "type": "object",
        "properties": {
          "localId": {
            "minLength": 1,
            "type": "string",
            "description": "An integrator generated unique identifier for this item."
          },
          "studentIdentificationCode": {
            "maxLength": 10,
            "minLength": 1,
            "type": "string",
            "description": "Student Identification Code\r\n\r\n\r\nA code which uniquely identifies the learner within each TEO. The student ID must remain constant for the learner throughout their enrolment history at your organisation.\r\n\r\n\r\nLength: 10\r\n\r\nType: Character\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: This number must be the unique value generated by each TEO.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "gender": {
            "minLength": 1,
            "type": "string",
            "description": "Gender\r\n\r\n\r\nA code to identify the gender of a learner.\r\n\r\n\r\nType: Character\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\nM: Male\r\n\r\nF: Female\r\n\r\nD: Another gender\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of Birth\r\n\r\n\r\nThe day, month, and year of birth of the learner.\r\n\r\n\r\nType: Date\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: DD/MM/YYYY.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "date-time"
          },
          "totalFeeForDomesticStudent": {
            "type": "number",
            "description": "Total Fee for Domestic Student\r\n\r\n\r\nThe total fee for an individual learner is a sum of the following components that a domestic learner is charged for the whole year.\r\n\r\n1.       Tuition fees\r\n\r\n2.       Compulsory course cost fees, and\r\n\r\n3.       Student services fees (and any other compulsory fees).\r\n\r\nNote: The tuition fee charged to an international fee-paying learner must be reported to the Tuition Fee Paid by International Fee Paying Student field.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Enter the dollar value with two decimal places, including GST.\r\n\r\nThe value should be updated if it changes, such as when courses are added or withdrawn.\r\n\r\n",
            "format": "double",
            "nullable": true
          },
          "nameIdCode": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string",
            "description": "Name ID Code\r\n\r\n\r\nThe first four characters of a learner’s surname plus initial of first legal name.\r\n\r\nIf the learner does not have a first name, use the first five characters for the surname.\r\n\r\n\r\nLength: 5\r\n\r\nType: Character\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: The value is generated by your organisation from the learner’s name. The NAMEID Code is generated from the first four characters of the surname and the first initial of forename 1.\r\n\r\nCharacters must be capitalised. If the surname is less than 4 characters, then blanks must be inserted before forename initial. The initial must be in the fifth position. E.g.,\r\n\r\n›          LEE A for Andrew Lee\r\n\r\n›          VAN M for Michael van der Hum\r\n\r\n›          DE WP for Peter de Wittering\r\n\r\n›          KHSID for Khsithesh Devi\r\n\r\n›          O’COB for Brian O’Connor\r\n\r\nNote: The NAMEID Code must match the equivalent NAMEID Code from the main name or an alternative name on the National Student Number (NSN).\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "mainActivityAt1OctoberInYearPriorToFormalEnrolment": {
            "maxLength": 2,
            "type": "string",
            "description": "Main Activity at 1 October in Year Prior to Formal Enrolment\r\n\r\n\r\nThe main activity or occupation for the learner on 1 October of the year prior to enrolling as a Type D student at your organisation. This field is not required to be changed upon re-enrolment if the duration between the end of the previous enrolment and the re-enrolment is 12 months or less. If a learner returns to the same TEO after not being enrolled for a period of more than 12 months, this field should be updated to reflect the learner’s most recent main activity on 1 October of the year before.\r\n\r\nIf the learner enrolled for the first time between 1 October and 31 December of the current year, then report the main activity on 1 October of the current year.\r\n\r\n\r\nLength: 2\r\n\r\nType: Character\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n1: Secondary school student\r\n\r\n2: Non-employed or beneficiary (excluding retired)\r\n\r\n3: Wage or salary worker\r\n\r\n4: Self-employed\r\n\r\n5: University student\r\n\r\n6: Polytechnic student\r\n\r\n7: College of Education student\r\n\r\n8: House person or retired\r\n\r\n9: Overseas (irrespective of occupation)\r\n\r\n11: Private Training Establishment student\r\n\r\n12: Wānanga student\r\n\r\nNote: The classification of ’99 – other’ has been removed and may only be used historically.\r\n\r\n",
            "nullable": true
          },
          "firstYearOfTertiaryEducation": {
            "type": "integer",
            "description": "First Year of Tertiary Education\r\n\r\n\r\nThe year in which a learner first enrolled in any “quality assured” qualification:\r\n\r\n›          at a TEO in New Zealand or overseas, or\r\n\r\n›          in the Foundation Year at the University of the South Pacific, or\r\n\r\n›          at a registered Private Training Establishment.\r\n\r\nEnrolment in STAR, community, or other non-formal education does not count for first year purposes.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Enter the year in the format YYYY - e.g., 2023.\r\n\r\nThis field is mandatory if the learner is a New Zealand or Australian citizen or resident.\r\n\r\n",
            "format": "int32",
            "nullable": true
          },
          "disabilityServicesAccessedIndicator": {
            "type": "integer",
            "description": "Disability Services Accessed Indicator\r\n\r\n\r\nA code to indicate whether a student has accessed disability services\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n1: Disability services accessed.\r\n\r\n2: Disability services not accessed.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "lastSecondarySchoolAttended": {
            "type": "integer",
            "description": "Last Secondary School Attended\r\n\r\n\r\nA code to identify the last secondary school attended by the learner.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Select a value from the secondary school codes classification.\r\n\r\nThe Secondary School Codes are available at the Education Counts website - Secondary School Codes. They are also listed in the DXP Data Classifications Appendices.\r\n\r\n",
            "format": "int32",
            "nullable": true
          },
          "lastYearAtSecondarySchool": {
            "type": "integer",
            "description": "Last Year at Secondary School\r\n\r\n\r\nThe year in which the learner finished their secondary school education.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Enter the year in the format YYYY - e.g., 2023.\r\n\r\n",
            "format": "int32",
            "nullable": true
          },
          "highestSecondarySchoolQualification": {
            "maxLength": 2,
            "minLength": 1,
            "type": "string",
            "description": "Highest Secondary School Qualification\r\n\r\n\r\nA code to show the highest secondary school qualification attained by the learner.\r\n\r\n\r\nLength: 2\r\n\r\nType: Character\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n0: No formal secondary school qualification\r\n\r\n11: 14 or more credits at any level\r\n\r\n12: NCEA Level 1 or School Certificate\r\n\r\n13: NCEA Level 2 or 6th Form Certificate\r\n\r\n14: University Entrance\r\n\r\n15: NCEA Level 3 or Bursary or Scholarship\r\n\r\n9: Overseas qualification (incl. International Baccalaureate & Cambridge Exams)\r\n\r\n98: Other\r\n\r\n99: Not known\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "countryOfCitizenship": {
            "maxLength": 3,
            "minLength": 1,
            "type": "string",
            "description": "Country of Citizenship\r\n\r\n\r\nThe country of citizenship of a learner.\r\n\r\n\r\nLength: 3\r\n\r\nType: Character\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value country of citizenship classification. Refer to the DXP Data Classifications Appendices.\r\n\r\nNote: 999 is valid for Type B and C students\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "expectationToCompleteAQualificationThisYear": {
            "type": "boolean",
            "description": "Expectation to Complete a Qualification this year\r\n\r\n\r\nIdentifies whether the learner expects to be eligible for the award of a qualification in this academic year.\r\n\r\n\r\nLength: 1\r\n\r\nType: Character\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\nY: Yes, the student expects to be eligible for the award of a qualification this academic year or next if their current enrolment spans the end of an academic year.\r\n\r\nN: No, the student doesn’t expect to be eligible for the award of a qualification this academic year or next if their current enrolment spans the end of an academic year.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "nullable": true
          },
          "iwiAffiliation": {
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Iwi Affiliation\r\n\r\n\r\nA code to indicate the iwi affiliation of a learner. If a learner has more than one affiliation, then up to six Iwi can be recorded.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value or values from the Statistics NZ Iwi and iwi-related groups statistical classification V2.1.0.\r\n\r\nSeparate each iwi reported with a semicolon (;).\r\n\r\nWhere the ethnic group is “211” a value must be submitted for type C & D learners. A value is voluntary for type B.\r\n\r\nThe Iwi classification is available at NZ Statistics - Iwi and iwi-related groups statistical classificationV2.1.0. They are also listed in the DXP Data Classifications Appendices.\r\n\r\nAPI:\r\n\r\nLength: 10\r\n\r\nType: String  Array\r\n\r\n",
            "nullable": true
          },
          "nationalStudentNumber": {
            "type": "integer",
            "description": "National Student Number\r\n\r\n\r\nA number which uniquely identifies the learner. The NSN must remain constant for the learner throughout their enrolment at your or any other organisation. The NSN reported in the Learner file must match the NSN used for other collections (e.g., Course Enrolment).\r\n\r\nThe NSN is part of the NSI database system maintained by the Ministry of Education.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: This number must be the value generated by the National Student Index (NSI) for the learner.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "tuitionFeePaidByInternationalFeePayingStudent": {
            "type": "number",
            "description": "Tuition Fee Paid by International Fee Paying Student\r\n\r\n\r\nThe tuition fee charged to an international learner.\r\n\r\nFor the purposes of the Export Education Levy and the Code of Practice for the Pastoral Care of International Students; ‘international student’ is defined as any learner that is not a ‘domestic student’.\r\n\r\nFor a definition of ‘domestic student’ refer to the Fund Finder on the TEC website for more information.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Enter the New Zealand dollar value with two decimal places, excluding GST.\r\n\r\nApplies to All ‘onshore’ international fee-paying learner with learner types B, C or D determined by:\r\n\r\n›          Intramural or Extramural Attendance is 1 or 2 and\r\n\r\n›          Source of Funding is 02\r\n\r\nThe fee should always exceed the tuition fee charged to a domestic learner. The foreign tuition fee in addition to all the normal domestic tuition costs must also include:\r\n\r\n›          the costs of sale such as agents’ fees and marketing\r\n\r\n›          the cost of the Export Education Levy.\r\n\r\nAdditional compulsory course costs are not included in the tuition fee.\r\n\r\nTuition fee must be reported on either the Learner File or the Course Register File, but not on both.\r\n\r\n",
            "format": "double",
            "nullable": true
          },
          "maximaExemptFee": {
            "type": "number",
            "description": "Maxima Exempt Fee\r\n\r\n\r\nStudent services fee: The maxima exempt fees are compulsory fees for the provision of student services only.\r\n\r\n\r\nType: Numeric (8,2)\r\n\r\nType of enrolment: B, D\r\n\r\nGuidance: Enter the dollar value with two decimal places, including GST.\r\n\r\nThe value reported should represent the total amount charged in students services fees to a learner.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "double"
          },
          "ethnicity": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Ethnicity\r\n\r\n\r\nA code to indicate the ethnicity of a learner. Up to six ethnic codes can be entered in this field. The codes identify the ethnic group or groups to which a learner belongs.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value or values from the Statistics NZ Ethnicity New Zealand Standard Classification 2005V2.1.0.\r\n\r\nNote: At least one value must be reported.\r\n\r\nThe Ethnicity classification is available at NZ Statistics – Ethnicity New Zealand Standard Classification 2005V2.1.0. They are also listed in the DXP Data Classifications Appendices.\r\n\r\nSeparate each ethnicity reported with a semicolon (;)\r\n\r\nThis field is mandatory for type C & D learners. A value is voluntary for type B learners.\r\n\r\nAPI:\r\n\r\nType: Integer Array\r\n\r\n",
            "nullable": true
          },
          "permanentPostCode": {
            "minLength": 1,
            "type": "string",
            "description": "Permanent Post Code\r\n\r\n\r\nThe learners’ main location during the 12 months prior to first enrolling at the TEO.\r\n\r\nThis information would only be updated where the TEO has not had an enrolment at any stage in the last 2 academic years or longer.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the NZ Post Codes classification or use one of the following values:\r\n\r\n0: Overseas\r\n\r\n-1: Not yet known\r\n\r\nRefer to the DXP Data Classifications Appendices or NZ Posts Address or Postcode Finder.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "termPostCode": {
            "minLength": 1,
            "type": "string",
            "description": "Term Post Code\r\n\r\n\r\nThe learner’s current residential location while receiving the learning.\r\n\r\nThe information would be updated when the details change.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: Select a value from the NZ Post Codes classification or use one of the following values:\r\n\r\n0: Overseas\r\n\r\n-1: Not yet known\r\n\r\nRefer to the DXP Data Classifications Appendices or NZ Posts Address or Postcode Finder.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "disabilityStatus": {
            "type": "integer",
            "description": "Disability Status\r\n\r\n\r\nIndicates the disability status of a learner. This is not required for Trade Academy and Type B learners.\r\n\r\nThis field is optional for enrolments prior to the April 2025 SDR. After the April SDR this field is compulsory for new enrolments or where a learner changes qualification.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: C, D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n1: Yes\r\n\r\n2: No\r\n\r\n3: Prefer not to say\r\n\r\n9: (Not stated) Valid for enrolments prior to the April 2025 SDR\r\n\r\n",
            "format": "int32"
          },
          "disabilitySupportNeeds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Disability Support Needs\r\n\r\n\r\nAvailable options to indicate the support a learner requires where they have answered Yes to the Disability Status.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: C, D\r\n\r\nGuidance: Select a value from the list below.\r\n\r\n1: Access to assistive technology (e.g., for reading, writing, communication).\r\n\r\n2: Accessible format resources for course content.\r\n\r\n3: Mobility and transport (e.g., navigator support to help movement around campus, mobility carparks, personal emergency evacuation plan).\r\n\r\n4: New Zealand Sign Language Interpreter.\r\n\r\n5: Support with reading, writing, and communicating in learning sessions, exams, and assessments.\r\n\r\n6: Other learning or disability support.\r\n\r\n7: No, I do not need support at this time.\r\n\r\nIf the Disability Status is Yes, then at least one value must be supplied. Multiple values can be entered, with each separated with a semicolon (;).\r\n\r\nAPI:\r\n\r\nType: Integer Array\r\n\r\n",
            "nullable": true
          },
          "irdNumber": {
            "maxLength": 11,
            "type": "string",
            "description": "IRD Number\r\n\r\n\r\nIRD number of the learner. The IRD number enables data matching to support the learner in claiming their Fees Free entitlement. Learners will apply for their Fees Free entitlement via myIR. To match the learner’s data (such as course fees) provided by TEC, Inland Revenue will use the learner’s IRD number. (They will also use NSN and date of birth).\r\n\r\nWhile this field is not mandatory, TEOs are encouraged to provide the learner’s IRD number upon enrolment. If a learner is eligible and their TEO has not reported an IRD number, they will be required to provide additional information via myIR to enable accurate matching. This may require the learner to request additional information from their TEO to confirm their identity with Inland Revenue.\r\n\r\nThere will be cases where a learner does not have an IRD number at the time of enrolment, you can provide the IRD number in a subsequent SDR submission. There is also an alternative to provide the IRD number on the Qualification Completion file when submitting the learner’s qualification completion details.\r\n\r\n\r\nType: String\r\n\r\nLength: 11\r\n\r\nType of enrolment: D\r\n\r\nGuidance: IRD numbers are either eight or nine digits with dashes e.g., 123-456-789. Please enter leading zero in the first box if your IRD number is only 8 digits.\r\n\r\nOnly provide an IRD number for a who learner who may meet the eligibility criteria for Fees Free at the time of enrolment. In situations where you know the learner is not eligible, you will not need to collect their IRD number. For example, where a learner:\r\n\r\n·         has received Fees Free entitlement previously (e.g. first-year Fees Free)\r\n\r\n·         is not studying an eligible qualification\r\n\r\n·         does not meet prior study criteria\r\n\r\n·         will not meet residency criteria at the time they are awarded their qualification\r\n\r\nWe are using Inland Revenue’s checksum code to validate the IRD number. However, we cannot determine if the learner provided an IRD number that does not belong to them. Inland Revenue will work directly with the learner to resolve this situation.\r\n\r\nThe validation rule will only be triggered if a value is provided in this field.\r\n\r\n",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LearnerContentDto": {
        "required": [
          "content",
          "submissionToken"
        ],
        "type": "object",
        "properties": {
          "submissionToken": {
            "minLength": 1,
            "type": "string",
            "description": "The valid submission token to submit data against"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Learner"
            }
          }
        },
        "additionalProperties": false,
        "description": "A batched submission of data against a submission token linked to a return\r\n\r\nMultiple submission can be made against the submission token"
      },
      "MachineUserIdentity": {
        "type": "object",
        "properties": {
          "identityId": {
            "type": "integer",
            "format": "int32"
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "edumis": {
            "type": "string",
            "nullable": true
          },
          "organisationId": {
            "type": "integer",
            "format": "int32"
          },
          "providerName": {
            "type": "string",
            "nullable": true
          },
          "role": {
            "type": "string",
            "nullable": true
          },
          "insertedDateTime": {
            "type": "string",
            "format": "date-time"
          },
          "updatedDateTime": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "MigrantOrRefugee": {
        "type": "object",
        "properties": {
          "migrantOrRefugeeCode": {
            "type": "string",
            "nullable": true
          },
          "migrantOrRefugeeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MigrantOrRefugeePagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MigrantOrRefugee"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "QualificationCompletion": {
        "required": [
          "localId",
          "nationalStudentNumber",
          "qualificationCode",
          "studentIdentificationCode",
          "yearRequirementsMet"
        ],
        "type": "object",
        "properties": {
          "localId": {
            "minLength": 1,
            "type": "string",
            "description": "An integrator generated unique identifier for this item."
          },
          "studentIdentificationCode": {
            "maxLength": 10,
            "minLength": 1,
            "type": "string",
            "description": "Student Identification Code\r\n\r\n\r\nA code which uniquely identifies the learner within each TEO. The student ID must remain constant for the learner throughout their enrolment history at your organisation\r\n\r\n\r\nLength: 10\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: D\r\n\r\nGuidance: The value is generated by each TEO.\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "nationalStudentNumber": {
            "type": "integer",
            "description": "National Student Number\r\n\r\n\r\nA number which uniquely identifies the learner. The NSN must remain constant for the learner throughout their enrolment at your or any other organisation. The NSN is part of the NSI database system maintained by the Ministry of Education.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: This number must be the value generated by the National Student Index (NSI) for the learner.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "qualificationCode": {
            "maxLength": 6,
            "minLength": 1,
            "type": "string",
            "description": "Qualification Code\r\n\r\n\r\nThe Qualification code relating to a quality assured qualification. The field is used to indicate:\r\n\r\n›          the qualification the learner is currently enrolled in, or\r\n\r\n›          a qualification that has been completed by the learner, or\r\n\r\n›          a qualification for which a course has been approved for funding.\r\n\r\n\r\nLength: 6\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: D\r\n\r\nGuidance: The value should be a six alpha-numeric code as on the SDR Qualifications Register which uniquely identifies a quality assured qualification.\r\n\r\n(Note requirements for pre-service teacher education qualifications in SDR Qualifications Register section).\r\n\r\nThis field is mandatory.\r\n\r\n"
          },
          "yearRequirementsMet": {
            "type": "integer",
            "description": "Year Requirements Met\r\n\r\n\r\nThe year the requirements have been met for the award of a qualification as set out in the approved regulations.\r\n\r\n\r\nType: Integer\r\n\r\nType of enrolment: D\r\n\r\nGuidance: Enter the year in the format YYYY - e.g., 2023.\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "int32"
          },
          "irdNumber": {
            "maxLength": 11,
            "type": "string",
            "description": "IRD number\r\n\r\n\r\nIRD number of the learner. The IRD number enables data matching to support the learner in claiming their Fees Free entitlement. Learners will apply for their Fees Free entitlement via myIR. To match the learner’s data (such as course fees) provided by TEC, Inland Revenue will use the learner’s IRD number. (They will also use NSN and date of birth).\r\n\r\nWhile not mandatory, TEOs are encouraged to provide the learner’s IRD number upon enrolment. If this was not possible, the IRD number can be captured here when recording the learner’s qualification completion.\r\n\r\n\r\nType: String\r\n\r\nLength: 11\r\n\r\nType of enrolment: D\r\n\r\nGuidance: IRD numbers are either eight or nine digits with dashes e.g., 123-456-789. Please enter leading zero in the first box if your IRD number is only 8 digits.\r\n\r\nOnly provide an IRD number for a learner here if it has not been previously provided via the learner file and the learner may meet the eligibility criteria for Fees Free at the time they met the requirements to be awarded the qualification.\r\n\r\nWe are using Inland Revenue’s checksum code to validate the IRD number. However, we cannot determine if the learner provided an IRD number that does not belong to them. Inland Revenue will work directly with the learner to resolve this situation.\r\n\r\n",
            "nullable": true
          },
          "qualificationCompletionDate": {
            "type": "string",
            "description": "Qualification Completion Date\r\n\r\n\r\nThe date the requirements have been met by the learner to be awarded the qualification. This should align with what is reported for the 'Year Requirements Met' field.”\r\n\r\n\r\nType: Date\r\n\r\nType of enrolment: B, C, D\r\n\r\nGuidance: DD/MM/YYYY\r\n\r\nThis field is mandatory.\r\n\r\n",
            "format": "date-time",
            "nullable": true
          },
          "linkedQualificationCodeForFeesFree": {
            "maxLength": 6,
            "type": "string",
            "description": "Linked Qualification Code for Fees Free\r\n\r\n\r\nUsed for exit or expired qualifications when the learner’s course enrolments have been reported under a different qualification code than the one completed.\r\n\r\nThe link will identify the qualification that the original course enrolments and course fees are reported under to calculate the learner’s entitlement for Fees Fee.\r\n\r\n\r\nLength: 6\r\n\r\nType: Alpha-Numeric\r\n\r\nType of enrolment: D\r\n\r\nGuidance: The value should be a six alpha-numeric code as on the SDR Qualifications Register which uniquely identifies a quality assured qualification.\r\n\r\n",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QualificationCompletionContentDto": {
        "required": [
          "content",
          "submissionToken"
        ],
        "type": "object",
        "properties": {
          "submissionToken": {
            "minLength": 1,
            "type": "string",
            "description": "The valid submission token to submit data against"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QualificationCompletion"
            }
          }
        },
        "additionalProperties": false,
        "description": "A batched submission of data against a submission token linked to a return\r\n\r\nMultiple submission can be made against the submission token"
      },
      "Return": {
        "type": "object",
        "properties": {
          "edumis": {
            "type": "integer",
            "description": "The provider code (EDUMIS) that the return is associated to.",
            "format": "int32"
          },
          "returnId": {
            "type": "integer",
            "description": "The unique identifier of the return.",
            "format": "int32",
            "readOnly": true
          },
          "returnYear": {
            "type": "integer",
            "description": "The year that the return is inteded for",
            "format": "int32"
          },
          "returnMonth": {
            "type": "integer",
            "description": "The month that the return is inteded for",
            "format": "int32"
          },
          "openWindowDate": {
            "type": "string",
            "description": "The return opening window",
            "format": "date-time"
          },
          "closeWindowDate": {
            "type": "string",
            "description": "The return closing window",
            "format": "date-time"
          },
          "returnStatus": {
            "$ref": "#/components/schemas/ReturnStatus"
          },
          "returnType": {
            "$ref": "#/components/schemas/ReturnType"
          },
          "closeDate": {
            "type": "string",
            "description": "The date that the return was closed if appropriate.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReturnPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Return"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ReturnStatus": {
        "enum": [
          "Accumulate",
          "RollBack",
          "Cancelled",
          "FailedToTransfer",
          "Halted",
          "InProgress",
          "Processed",
          "Queued",
          "Rejected",
          "Submitted",
          "ContactSupport",
          "SubmitError"
        ],
        "type": "string",
        "description": "The status of the current submission for this return."
      },
      "ReturnType": {
        "enum": [
          "Indicative",
          "Full"
        ],
        "type": "string",
        "description": "The type of the current submission for this return."
      },
      "School": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SchoolPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/School"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SdrContentSubmissionIdHandle": {
        "type": "object",
        "properties": {
          "localId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SdrContentSubmissionIdHandleResponse": {
        "type": "object",
        "properties": {
          "localId": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubmissionContentRequest": {
        "type": "object",
        "properties": {
          "submissionToken": {
            "type": "string",
            "description": "The valid submission token to submit data against",
            "nullable": true
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SdrContentSubmissionIdHandle"
            },
            "description": "The submission content result.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubmissionContentResponse": {
        "type": "object",
        "properties": {
          "submissionToken": {
            "type": "string",
            "description": "The valid submission token to submit data against",
            "nullable": true
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SdrContentSubmissionIdHandleResponse"
            },
            "description": "The submission content result.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SubmissionDetailResponse": {
        "type": "object",
        "properties": {
          "submissionToken": {
            "type": "string",
            "description": "The submission token.",
            "nullable": true
          },
          "tokenExpiry": {
            "type": "string",
            "description": "The date and time that this token will expire",
            "format": "date-time"
          },
          "maxRecordPerBatch": {
            "type": "integer",
            "description": "The maximum number of records per batch that can be send in a single request.\r\n\r\nThe record count is the sum of the number of records in the content submission ie courses, learners, course enrolments, course completions, qualification completions",
            "format": "int32"
          },
          "returnId": {
            "type": "integer",
            "description": "Thereturn ID that this submission is associated to.",
            "format": "int64",
            "nullable": true
          },
          "edumis": {
            "type": "integer",
            "description": "The EDUMIS number of the organisation that the submission is being made for.",
            "format": "int32"
          },
          "returnYear": {
            "type": "integer",
            "description": "The year that the submission is being made in the format CCYY.",
            "format": "int32"
          },
          "returnMonth": {
            "type": "integer",
            "description": "The month that the submission is being made.",
            "format": "int32",
            "nullable": true
          },
          "submissionStatus": {
            "type": "string",
            "description": "The status of the submission. \r\nPending - The submission is still in progress. \r\nValidating - The submission is currently undergoing validation. \r\nValidated - The submission has been validated. \r\nSubmitted - The submission has passed validation and has been submitted for TEC validation. \r\nCancelled - The submission has been cancelled. \r\nClosed - The submission has been closed.",
            "nullable": true
          },
          "submissionType": {
            "type": "string",
            "description": "The return type. \r\nFull - Full SDR return. \r\nIndicative - Indicative SDR return.",
            "nullable": true
          },
          "submissionContentsUrl": {
            "type": "string",
            "description": "A URL for retrieving submission contents in CSV format.",
            "nullable": true
          },
          "validationRunResults": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationResponse"
            },
            "description": "Validation results for each attempted run.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TerritorialAuthorityLocalBoard": {
        "type": "object",
        "properties": {
          "territorialAuthorityLocalBoardCode": {
            "type": "string",
            "nullable": true
          },
          "territorialAuthorityLocalBoardName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TerritorialAuthorityLocalBoardPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TerritorialAuthorityLocalBoard"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ValidationResponse": {
        "type": "object",
        "properties": {
          "submissionToken": {
            "type": "string",
            "description": "The submission token",
            "nullable": true
          },
          "dateReceived": {
            "type": "string",
            "description": "The date that the validation request was received.",
            "format": "date-time"
          },
          "dateStarted": {
            "type": "string",
            "description": "The date that the validation run was started.",
            "format": "date-time",
            "nullable": true
          },
          "dateCompleted": {
            "type": "string",
            "description": "The date that the validation run was completed.",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/ReturnStatus"
          },
          "errorCount": {
            "type": "integer",
            "description": "The number of errors that occurred",
            "format": "int32"
          },
          "warningCount": {
            "type": "integer",
            "description": "The number of warnings that occured",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ValidationResultRecord": {
        "type": "object",
        "properties": {
          "localId": {
            "type": "string",
            "nullable": true
          },
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "errorDescription": {
            "type": "string",
            "nullable": true
          },
          "errorType": {
            "$ref": "#/components/schemas/ValidationType"
          },
          "fileType": {
            "$ref": "#/components/schemas/FileType"
          },
          "courseCode": {
            "type": "string",
            "nullable": true
          },
          "studentId": {
            "type": "string",
            "nullable": true
          },
          "recordText": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ValidationResultRecordPagedResponse": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationResultRecord"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ValidationType": {
        "enum": [
          "Error",
          "Warning"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "B2B": {
        "type": "http",
        "description": "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "B2B": [
        "APP_DXP"
      ]
    }
  ],
  "tags": [
    {
      "name": "Reference"
    },
    {
      "name": "Submission"
    },
    {
      "name": "User"
    }
  ]
}
