# ##################################################################################### # YAML File Information # ##################################################################################### # # Author: Colin Smythe (1EdTech) # Date: 1st May, 2024 # Version: 1.0 # Status: 1EdTech Candidate Final # Description: The Access for All Personal Needs and Preferences (AfAPNP) Service defines the service to enable the exchange of the personal needs and preferences configuration data for a user. # # History: This is the first release of the Access for All Personal Needs and Preferences (AfAPNP) Service. # # License: IPR and Distribution Notices # # This machine readable file is derived from the 1EdTech Access for All Personal Needs and Preferences (AfAPNP) Service Version 1.0 # found at https://www.1edtech.org/afapnp and the original 1EdTech schema binding or code base at # https://www.1edtech.org/afapnp. # # Recipients of this document are requested to submit, with their comments, notification of any relevant # patent claims or other intellectual property rights of which they may be aware that might be infringed by # any implementation of the specification set forth in this document, and to provide supporting documentation. # # 1EdTech takes no position regarding the validity or scope of any intellectual property or other rights that might # be claimed to pertain to the implementation or use of the technology described in this document or the extent # to which any license under such rights might or might not be available; neither does it represent that it has # made any effort to identify any such rights. Information on 1EdTech procedures with respect to rights in 1EdTech # specifications can be found at the 1EdTech Intellectual Property Rights web page: https://www.1edtech.org/ipr/imsipr_policyFinal.pdf. # # Copyright (c) 1EdTech Consortium 1999-2024. All Rights Reserved. # # Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: http://www.1edtech.org/license.html. # # Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals. # # The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns. # # THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS # EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM # NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF # ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION. # # Source UML File Information # =========================== # The source file information must be supplied as an XMI file (without diagram layout information). # The supported UML authoring tools are: # (a) Papyrus - v1.1.3 (and later) # # Source XSLT File Information # ============================ # XSL Generator: Specificationv1p0_GenerationToolv1.xsl # XSLT Processor: Saxon # Release: 1.0 # Date: 31st October, 2022 # Autogen Engineer: Colin Smythe (1EdTech) # Autogen Date: 2024-04-23 # # 1EdTech Auto-generation Binding Tool-kit (E-BAT) # ================================================ # This file was auto-generated using the 1EdTech Binding Auto-generation Tool-kit (E-BAT). While every # attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware # that this is an experimental tool. Permission is given to make use of this tool. 1EdTech makes no # claim on the materials created by third party users of this tool. Details on how to use this tool # are contained in the 1EdTech "E-BAT" documentation available at the 1EdTech web-site: # https://www.1edtech.org. # # Tool Copyright: 2012-2024 (c) 1EdTech Consortium Inc. All Rights Reserved. # # ##################################################################################### openapi: '3.0.0' ##################################################################################### # API Information # ##################################################################################### info: version: '1.0' title: Access for All Personal Needs and Preferences (AfAPNP) Service OpenAPI (YAML) Definition description: The Access for All Personal Needs and Preferences (AfAPNP) Service defines the service to enable the exchange of the personal needs and preferences configuration data for a user. termsOfService: https://www.imsglobal.org/license.html contact: name: Vice President of Operations, 1EdTech url: https://www.1edtech.org email: operations@1edtech.org license: name: 1EdTech Consortium url: https://www.1edtech.org/license.html ##################################################################################### # Servers # ##################################################################################### servers: - url: https://{hostName}{basePath} description: The pattern for the Server URL should be configured for the actual server location. variables: "hostName": description: This is the hostname for the server and MUST be set to the actual service provider (the 1EdTech url is given as a default value). default: www.1edtech.org "basePath": description: This is the base-path for the full URL and MUST be a part of the service endpoints. enum: - /ims/afapnp/v1p0 default: /ims/afapnp/v1p0 ##################################################################################### # Tags # ##################################################################################### tags: - name: AfAPNPRecordManagement description: | This interface enables the management of the access to the set of Access for All Personal Needs and Preferences (AFA PNP) records. The set of operations support the creation, deletion and reading of AfA PNP records. ##################################################################################### # Paths # ##################################################################################### paths: /afapnprecords: get: operationId: getAllAfAPNPRecords summary: The REST read request message for the getAllAfAPNPRecords() API call. tags: - AfAPNPRecordManagement description: | To read all of the AfA PNP records in the context of the system implementation i.e. for a schools, district, etc. parameters: - name: limit in: query description: | To define the download segmentation value i.e. the maximum number of records to be contained in the response. required: false schema: type: integer format: int32 default: 100 minimum: 1 allowEmptyValue: false style: form - name: offset in: query description: | The number of the first record to be supplied in the segmented response message. required: false schema: type: integer format: int32 default: 0 minimum: 0 allowEmptyValue: false style: form - name: sort in: query description: | Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard. required: false schema: type: string allowEmptyValue: false style: form - name: orderBy in: query description: | The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard. required: false schema: type: string enum: - asc - desc allowEmptyValue: false style: form - name: filter in: query description: | The filtering rules to be applied when identifying the records to be supplied in the response message. required: false schema: type: string allowEmptyValue: false style: form - name: fields in: query description: | To identify the range of fields that should be supplied in the response message. required: false schema: type: array items: type: string allowEmptyValue: false style: form security: - OAuth2CC: - https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.readonly x-1edtech-confidentiality: veryrestricted responses: "200" : description: | The requested read has been fully serviced and all of the required data returned. content: application/json: schema: $ref: "#/components/schemas/AccessForAllPNPRecordSetDType" headers: "X-Total-Count" : description: | The total number of resources that are available to be returned schema: type: integer links: "next" : description: | Get the next set of resources i.e. from offset to offset+limit operationId: getAllAfAPNPRecords parameters: "limit" : "$request.path.limit" "offset" : "$request.path.offset" "last" : description: | Get the last set of resources i.e. from offset to end operationId: getAllAfAPNPRecords parameters: "limit" : "$request.path.limit" "offset" : "$request.path.offset" "first" : description: | Get the first set of resources i.e. from first to limit operationId: getAllAfAPNPRecords parameters: "limit" : "$request.path.limit" "offset" : "$request.path.offset" "prev" : description: | Get the previous set of resources i.e. from last_offset to last_offset+limit operationId: getAllAfAPNPRecords parameters: "limit" : "$request.path.limit" "offset" : "$request.path.offset" "default" : description: | This is the default payload when none of the other HTTP codes are to be supplied. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "400" : description: | Either an invalid selection field or invalid filter field was supplied and data filtering on the specified criteria was not possible i.e. 'invalid_selection_field' or 'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "401" : description: | The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "403" : description: | This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "404" : description: | Either the supplied identifier is unknown in the Service Provider and so the object could not be obtained or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "429" : description: | The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "500" : description: | This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" /users/{userSourcedId}/activities/{activitySourcedId}/afapnprecords: get: operationId: getAfAPNPRecordForUserForActivity summary: The REST read request message for the getAfAPNPRecordForUserForActivity() API call. tags: - AfAPNPRecordManagement description: | To read the AfA PNP record the identified user for the specified learning activity. If either the user or activity cannot be identified within the service provider then a status code of 'unknownobject' must be reported. parameters: - name: userSourcedId in: path description: | The unique identifier, GUID, for this user. This is the interoperability identifier for the user. required: true schema: type: string style: simple - name: activitySourcedId in: path description: | The unique identifier, GUID, for this activity This is the interoperability identifier for the activity. required: true schema: type: string style: simple - name: fields in: query description: | To identify the range of fields that should be supplied in the response message. required: false schema: type: array items: type: string allowEmptyValue: false style: form security: - OAuth2CC: - https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.readonly - https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.lti.readonly x-1edtech-confidentiality: veryrestricted responses: "200" : description: | The requested read has been fully serviced and all of the required data returned. content: application/json: schema: $ref: "#/components/schemas/SingleAFAPNPRecordDType" "default" : description: | This is the default payload when none of the other HTTP codes are to be supplied. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "400" : description: | Either an invalid selection field or invalid filter field was supplied and data filtering on the specified criteria was not possible i.e. 'invalid_selection_field' or 'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "401" : description: | The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "403" : description: | This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "404" : description: | Either the supplied identifier is unknown in the Service Provider and so the object could not be obtained or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "429" : description: | The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "500" : description: | This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" delete: operationId: deleteAfAPNPRecordForUserForActivity summary: The REST delete request message for the deleteAfAPNPRecordForUserForActivity() API call. tags: - AfAPNPRecordManagement description: | To delete the identified AfA PNP record associated with the identified user. If the specified user and/or AFA PNP record cannot be identified within the service provider then a status code of 'unknownobject' must be reported. Note that the user record is NOT deleted i.e. ONLY the AfA PNP record is deleted. parameters: - name: userSourcedId in: path description: | The unique identifier, GUID, for this user. This is the interoperability identifier for the user. required: true schema: type: string style: simple - name: activitySourcedId in: path description: | The unique identifier, GUID, for this activity This is the interoperability identifier for the activity. required: true schema: type: string style: simple security: - OAuth2CC: - https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.writeonly x-1edtech-confidentiality: undefinedverbtype responses: "204" : description: | The object has been successfully deleted. This would be accompanied by the 'codeMajor/severity' values of 'success/status'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "default" : description: | This is the default payload when none of the other HTTP codes are to be supplied. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "401" : description: | The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "403" : description: | This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "404" : description: | The supplied identifier is unknown in the Service Provider and so the object could not be deleted or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "429" : description: | The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "500" : description: | This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" put: operationId: createAfAPNPRecordForUserForActivity summary: The REST create request message for the createAfAPNPRecordForUserForActivity() API call. tags: - AfAPNPRecordManagement description: | To create an AfA PNP record for the defined user. If the user already exists then the request is rejected with a status code of 'user_already_exists'. This request results in a new user record being created to which AfA PNP records for other activities MAY be added. parameters: - name: userSourcedId in: path description: | The unique identifier, GUID, for this user. This is the interoperability identifier for the user. required: true schema: type: string style: simple - name: activitySourcedId in: path description: | The unique identifier, GUID, for this learning activity This is the interoperability identifier for the activity. required: true schema: type: string style: simple security: - OAuth2CC: - https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.writeonly x-1edtech-confidentiality: undefinedverbtype requestBody: description: | The combination of the user information for the creation of the user record and the first AfA PNP record that is to be associated with that user information. content: application/json: schema: $ref: "#/components/schemas/SingleUserAFAPNPRecordDType" required: true responses: "201" : description: | The object has been successfully created. This would be accompanied by the 'codeMajor/severity' values of 'success/status'. The 'codeMinority' code will either be 'replacesuccess' or 'fullsuccess'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "default" : description: | This is the default payload when none of the other HTTP codes are to be supplied. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "401" : description: | The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "403" : description: | This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "404" : description: | Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "429" : description: | The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "500" : description: | This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" post: operationId: addAfAPNPRecordForUserForActivity summary: The REST createbp request message for the addAfAPNPRecordForUserForActivity() API call. tags: - AfAPNPRecordManagement description: | To add an AfA PNP record for the specified activity for a user who already has other AfA PNP record(s). If the specified activity is already defined, that record is replaced with the AfA PNP record supplied. parameters: - name: userSourcedId in: path description: | The unique identifier, GUID, for this user. This is the interoperability identifier for the user. required: true schema: type: string style: simple - name: activitySourcedId in: path description: | The unique identifier, GUID, for this learning activity This is the interoperability identifier for the activity. required: true schema: type: string style: simple security: - OAuth2CC: - https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.writeonly x-1edtech-confidentiality: undefinedverbtype requestBody: description: | Tthe AfA PNP record that is to be added to the set of records for the specified user. content: application/json: schema: $ref: "#/components/schemas/SingleAFAPNPRecordDType" required: true responses: "201" : description: | The object has been successfully created. This would be accompanied by the 'codeMajor/severity' values of 'success/status'. The 'codeMinority' code will either be 'replacesuccess' or 'fullsuccess'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "default" : description: | This is the default payload when none of the other HTTP codes are to be supplied. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "401" : description: | The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "403" : description: | This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "404" : description: | Either the supplied identifier is unknown in the Service Provider and so the object could not be changed or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "429" : description: | The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "500" : description: | This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" /users/{userSourcedId}/afapnprecords: get: operationId: getAfAPNPRecordSetForUser summary: The REST read request message for the getAfAPNPRecordSetForUser() API call. tags: - AfAPNPRecordManagement description: | To read the set of AfA PNP records for the identified user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported. parameters: - name: userSourcedId in: path description: | The unique identifier, GUID, for this user. This is the interoperability identifier for the user. required: true schema: type: string style: simple - name: limit in: query description: | To define the download segmentation value i.e. the maximum number of records to be contained in the response. required: false schema: type: integer format: int32 default: 100 minimum: 1 allowEmptyValue: false style: form - name: offset in: query description: | The number of the first record to be supplied in the segmented response message. required: false schema: type: integer format: int32 default: 0 minimum: 0 allowEmptyValue: false style: form - name: sort in: query description: | Identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The sort order should follow the [UNICODE, 16] standard. required: false schema: type: string allowEmptyValue: false style: form - name: orderBy in: query description: | The form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The sort order should follow the [UNICODE, 16] standard. required: false schema: type: string enum: - asc - desc allowEmptyValue: false style: form - name: filter in: query description: | The filtering rules to be applied when identifying the records to be supplied in the response message. required: false schema: type: string allowEmptyValue: false style: form - name: fields in: query description: | To identify the range of fields that should be supplied in the response message. required: false schema: type: array items: type: string allowEmptyValue: false style: form security: - OAuth2CC: - https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.readonly x-1edtech-confidentiality: veryrestricted responses: "200" : description: | The requested read has been fully serviced and all of the required data returned. content: application/json: schema: $ref: "#/components/schemas/AccessForAllPNPRecordSetDType" headers: "X-Total-Count" : description: | The total number of resources that are available to be returned schema: type: integer links: "next" : description: | Get the next set of resources i.e. from offset to offset+limit operationId: getAfAPNPRecordSetForUser parameters: "limit" : "$request.path.limit" "offset" : "$request.path.offset" "last" : description: | Get the last set of resources i.e. from offset to end operationId: getAfAPNPRecordSetForUser parameters: "limit" : "$request.path.limit" "offset" : "$request.path.offset" "first" : description: | Get the first set of resources i.e. from first to limit operationId: getAfAPNPRecordSetForUser parameters: "limit" : "$request.path.limit" "offset" : "$request.path.offset" "prev" : description: | Get the previous set of resources i.e. from last_offset to last_offset+limit operationId: getAfAPNPRecordSetForUser parameters: "limit" : "$request.path.limit" "offset" : "$request.path.offset" "default" : description: | This is the default payload when none of the other HTTP codes are to be supplied. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "400" : description: | Either an invalid selection field or invalid filter field was supplied and data filtering on the specified criteria was not possible i.e. 'invalid_selection_field' or 'invalid_filter_field' respectively. This is accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "401" : description: | The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "403" : description: | This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "404" : description: | Either the supplied identifier is unknown in the Service Provider and so the object could not be obtained or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "429" : description: | The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "500" : description: | This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" delete: operationId: deleteAfAPNPRecordSetForUser summary: The REST delete request message for the deleteAfAPNPRecordSetForUser() API call. tags: - AfAPNPRecordManagement description: | To delete all of the AfA PNP records associated with the identified user. If the specified user cannot be identified within the service provider then a status code of 'unknownobject' must be reported. Note that the user record is NOT deleted i.e. ONLY the AFA PNP records are deleted. parameters: - name: userSourcedId in: path description: | The unique identifier, GUID, for this user. This is the interoperability identifier for the user. required: true schema: type: string style: simple security: - OAuth2CC: - https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.writeonly x-1edtech-confidentiality: undefinedverbtype responses: "204" : description: | The object has been successfully deleted. This would be accompanied by the 'codeMajor/severity' values of 'success/status'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "default" : description: | This is the default payload when none of the other HTTP codes are to be supplied. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "401" : description: | The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "403" : description: | This is used to indicate that the server can be reached and process the request but refuses to take any further action i.e. 'forbidden'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "404" : description: | The supplied identifier is unknown in the Service Provider and so the object could not be deleted or an invalid GUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' should also be presented. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "429" : description: | The server is receiving too many requests i.e. 'server_busy'. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" "500" : description: | This code should be used only if there is catastrophic error and there is not a more appropriate code i.e. 'internal_server_error'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. content: application/json: schema: $ref: "#/components/schemas/imsx_StatusInfoDType" ##################################################################################### # Components # ##################################################################################### components: securitySchemes: OAuth2CC: type: oauth2 description: | OAuth 2 Client Credentials (as per the requirements in the 1EdTech Security Framework) is to be used. flows: clientCredentials: tokenUrl: https://www.1edtech.org/token scopes: https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.readonly: To enable access to ALL of the READ endpoints for the AfA PNP service. https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.writeonly: To enable access to ALL of the PUT/POST/DELETE endpoints for the AfA PNP service. https://purl.imsglobal.org/spec/afapnp/v1p0/scope/afapnprecord.lti.readonly: The scope that MUST be used for LTI enabled access to the AfA PNP service. schemas: AccessForAllPNPDType: description: | A collection of information that states how a user prefers digital learning resources to be supplied. This is the root container and so identifies all of the available PNP properties. type: object x-1edtech-privacy: - access-mode-required - adaptation-type-required - at-interoperable - educational-complexity-of-adaptation - hazard-avoidance - input-requirements - language-of-adaptation - language-of-interface - adaptation-detail-required - adaptation-media-required - educational-level-of-adaptation - linguistic-guidance - keyword-emphasis - keyword-translation - simplified-language-portions - simplified-graphics - item-translation - sign-language - encouragement - additional-testing-time - line-reader - magnification - spoken - tactile - braille - answer-masking - keyboard-directions - additional-directions - long-description - captions - environment - transcript - alternative-text - audio-description - high-contrast - layout-single-column - text-appearance - calculator-on-screen - dictionary-on-screen - glossary-on-screen - thesaurus-on-screen - homophone-checker-on-screen - note-taking-on-screen - visual-organizer-on-screen - outliner-on-screen - peer-interaction-on-screen - spell-checker-on-screen - activate-at-initialization-set - activate-as-option-set - prohibit-set - extensions x-1edtech-confidentiality: veryrestricted x-1edtech-confidentiality-normal: - text-appearance - activate-at-initialization-set - activate-as-option-set - prohibit-set - extensions x-1edtech-confidentiality-veryrestricted: - access-mode-required - adaptation-type-required - at-interoperable - educational-complexity-of-adaptation - hazard-avoidance - input-requirements - language-of-adaptation - language-of-interface - adaptation-detail-required - adaptation-media-required - educational-level-of-adaptation - linguistic-guidance - keyword-emphasis - keyword-translation - simplified-language-portions - simplified-graphics - item-translation - sign-language - encouragement - additional-testing-time - line-reader - magnification - spoken - tactile - braille - answer-masking - keyboard-directions - additional-directions - long-description - captions - environment - transcript - alternative-text - audio-description - high-contrast - layout-single-column - text-appearance - calculator-on-screen - dictionary-on-screen - glossary-on-screen - thesaurus-on-screen - homophone-checker-on-screen - note-taking-on-screen - visual-organizer-on-screen - outliner-on-screen - peer-interaction-on-screen - spell-checker-on-screen - activate-at-initialization-set - activate-as-option-set - prohibit-set properties: access-mode-required: description: | Access mode that a user seeks either in an adaptation or an original resource as a replacement for a different access mode. This attribute relates an 'existingAccessMode' to an access mode that the user prefers, called an 'adaptationRequest'. type: array minItems: 0 items: $ref: "#/components/schemas/AccessModeRequiredDType" adaptation-type-required: description: | Nature or genre of the adaptation required as a replacement for a specific access mode. This attribute relates an 'existingAccessMode' to an adaptation type that the user prefers, called an 'adaptationRequest'. type: array minItems: 0 items: $ref: "#/components/schemas/AdaptationTypeRequiredDType" at-interoperable: description: A preference for resources which are compatible with assistive technologies. Resources that are interoperable with AT should be selected whenever possible. Interoperability is indicated by compliance with WCAG 2.0 checkpoints- 1.1.1, 1.3.1, 1.3.2, 2.4.4, 3.1.1, 3.1.2, 3.3.2, 4.1.1 and 4.1.2. The specific details of the AT are normally provided by a user agent or the operating system. The example of 'atInteroperable=true' expresses this statement - resources that are interoperable with AT should be selected whenever possible. Model Primitive Datatype = Boolean. type: boolean educational-complexity-of-adaptation: description: | A preference for a resource that is simplified or enriched relative to another resource that presents the same intellectual content. The example of 'educationalComplexityOfAdaptation=simplified' expresses this statement: Resources that are presented in a simplified form should be selected whenever possible. anyOf: - enum: - enriched - simplified type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" hazard-avoidance: description: | A resource having such a characteristic should not be delivered to a user with this preference. The example of 'hazardAvoidance=flashing' expresses this statement: Resources that include flashing visuals should never be presented. type: array minItems: 0 items: anyOf: - enum: - flashing - sound - olfactory-hazard - motion-simulation type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" input-requirements: description: | Single input system that is sufficient to control a resource. The example of 'inputRequirements=fullKeyboardControl' expresses this statement: Resources that are fully usable with keyboard control should be selected whenever possible. anyOf: - enum: - full-keyboard-control - full-mouse-control type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" language-of-adaptation: description: | A preference for the language of the adaptation [RFC 4646]. The example of 'languageOfAdaptation=spa' expresses this statement: Resources in Spanish should be selected whenever possible. type: array minItems: 0 items: $ref: "#/components/schemas/LanguageModeDType" language-of-interface: description: | A preference for the language of the user interface [RFC 4646]. The example of 'languageOfInterface=spa' expresses this statement: User interfaces should be presented in Spanish whenever possible. type: array minItems: 0 items: $ref: "#/components/schemas/LanguageModeDType" adaptation-detail-required: description: | This attribute relates an 'existingAccessMode' to an adaptation detail that the user prefers, called an 'adaptationRequest'. The example of 'adaptationDetailRequired.existingAccessMode = auditory' an 'adaptationDetailRequired.adaptationRequested = verbatim' expresses this statement: Resources that are auditory should be replaced by verbatim alternatives. type: array minItems: 0 items: $ref: "#/components/schemas/AdaptationDetailRequiredDType" adaptation-media-required: description: | This attribute relates an 'existingAccessMode' to an adaptation media that the user prefers, called an 'adaptationRequest'. The example of 'adaptationMediaRequired.existingAccessMode = textual' and 'adaptationMediaRequired.adaptationRequested = NIMAS' expresses this statement: Resources that are textual should be replaced by NIMAS-based alternatives. type: array minItems: 0 items: $ref: "#/components/schemas/AdaptationMediaRequiredDType" educational-level-of-adaptation: description: A preference for the education level of the adaptation. The example of 'educationalLevelOfAdaptation=Grade5' expresses this statement - resources that match education level Grade 5 should be selected whenever possible when used in conjunction with the ASN Educational Level Vocabulary. Model Primitive Datatype = NormalizedString. type: array minItems: 0 items: type: string linguistic-guidance: $ref: "#/components/schemas/ReplacesAccessModeDType" keyword-emphasis: $ref: "#/components/schemas/ReplacesAccessModeDType" keyword-translation: $ref: "#/components/schemas/LanguageModeDType" simplified-language-portions: $ref: "#/components/schemas/ReplacesAccessModeDType" simplified-graphics: $ref: "#/components/schemas/ReplacesAccessModeDType" item-translation: $ref: "#/components/schemas/LanguageModeDType" sign-language: $ref: "#/components/schemas/LanguageModeDType" encouragement: $ref: "#/components/schemas/ReplacesAccessModeDType" additional-testing-time: $ref: "#/components/schemas/AdditionalTestingTimeDType" line-reader: $ref: "#/components/schemas/LineReaderDType" magnification: $ref: "#/components/schemas/MagnificationDType" spoken: $ref: "#/components/schemas/SpokenDType" tactile: $ref: "#/components/schemas/ReplacesAccessModeDType" braille: $ref: "#/components/schemas/BrailleDType" answer-masking: $ref: "#/components/schemas/ReplacesAccessModeDType" keyboard-directions: $ref: "#/components/schemas/ReplacesAccessModeDType" additional-directions: $ref: "#/components/schemas/ReplacesAccessModeDType" long-description: $ref: "#/components/schemas/LongDescriptionDType" captions: $ref: "#/components/schemas/ReplacesAccessModeDType" environment: $ref: "#/components/schemas/EnvironmentDType" transcript: $ref: "#/components/schemas/ReplacesAccessModeDType" alternative-text: $ref: "#/components/schemas/ReplacesAccessModeDType" audio-description: $ref: "#/components/schemas/ReplacesAccessModeDType" high-contrast: $ref: "#/components/schemas/ReplacesAccessModeDType" layout-single-column: $ref: "#/components/schemas/ReplacesAccessModeDType" text-appearance: $ref: "#/components/schemas/TextAppearanceDType" calculator-on-screen: $ref: "#/components/schemas/CalculatorDType" dictionary-on-screen: description: The presence of this attribute makes available, on screen, the dictionary tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active glossary-on-screen: description: The presence of this attribute makes available, on screen, the glossary tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active thesaurus-on-screen: description: The presence of this attribute makes available, on screen, the thesaurus tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active homophone-checker-on-screen: description: The presence of this attribute makes available, on screen, the homophone checker tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active note-taking-on-screen: description: The presence of this attribute makes available, on screen, the note taking tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active visual-organizer-on-screen: description: The presence of this attribute makes available, on screen, the visual organizer tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active outliner-on-screen: description: The presence of this attribute makes available, on screen, the outliner tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active peer-interaction-on-screen: description: The presence of this attribute makes available, on screen, the peer interaction tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active spell-checker-on-screen: description: The presence of this attribute makes available, on screen, the spell checker tool. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active activate-at-initialization-set: $ref: "#/components/schemas/FeatureSetDType" activate-as-option-set: $ref: "#/components/schemas/FeatureSetDType" prohibit-set: $ref: "#/components/schemas/FeatureSetDType" additionalProperties: true AccessForAllPNPRecordDType: description: | This is the container for each of the AfA PNP Records. type: object required: - personSourcedId - activitySourcedId - access-for-all-pnp x-1edtech-privacy: - personSourcedId - activitySourcedId - access-for-all-pnp x-1edtech-confidentiality: veryrestricted x-1edtech-confidentiality-normal: - personSourcedId - activitySourcedId x-1edtech-confidentiality-veryrestricted: - access-for-all-pnp properties: personSourcedId: $ref: "#/components/schemas/PersonSourcedIdDType" activitySourcedId: description: This is an identifier that has been assigned to the individual as part of the learning process for which the PNP record will be used. Model Primitive Datatype = NormalizedString. type: string access-for-all-pnp: $ref: "#/components/schemas/AccessForAllPNPDType" additionalProperties: false AccessForAllPNPRecordSetDType: description: | This is the root container for the set AfA PNP Records. The order of the records is not significant and the payload may be empty. type: object x-1edtech-privacy: - access-for-all-pnp-record x-1edtech-confidentiality: veryrestricted x-1edtech-confidentiality-veryrestricted: - access-for-all-pnp-record properties: access-for-all-pnp-record: description: | This is used to contain the description of each of the individual AfA PNP Records. type: array minItems: 0 items: $ref: "#/components/schemas/AccessForAllPNPRecordDType" additionalProperties: false AccessModeRequiredDType: description: | The container for the domain space and range space information for this class. Access mode that a user seeks either in an adaptation or an original resource as a replacement for a different access mode. type: object required: - existing-access-mode - adaptation-request x-1edtech-confidentiality: unrestricted properties: existing-access-mode: description: | A value, from the AccessMode vocabulary, for the existing access mode. anyOf: - enum: - auditory - color - item-size - olfactory - orientation - position - tactile - text-on-image - textual - visual type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" adaptation-request: description: | A value, from the AccessMode vocabulary, for the new adaptation access mode. anyOf: - enum: - auditory - color - item-size - olfactory - orientation - position - tactile - text-on-image - textual - visual type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" additionalProperties: false AdaptationDetailRequiredDType: description: | The container for the domain space and range space information for this class. This attribute uses different vocabularies for its current mode and adaotation value. type: object required: - existing-access-mode - adaptation-request x-1edtech-confidentiality: unrestricted properties: existing-access-mode: description: | A value, from the AdaptationDetail vocabulary, for the existing access mode. anyOf: - enum: - auditory - color - item-size - olfactory - orientation - position - tactile - text-on-image - textual - visual type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" adaptation-request: description: | A value, from the AdaptatonDetail vocabulary, for the new adaptation detail mode. anyOf: - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" - enum: - enhanced - verbatim - real-time - symbolic - recorded - synthesized type: string additionalProperties: false AdaptationMediaRequiredDType: description: | The container for the requirement for a particular type of media. type: object required: - existing-access-mode - adaptation-request x-1edtech-confidentiality: unrestricted properties: existing-access-mode: description: | A value, from the AdaptationMedia vocabulary, for the existing access mode. anyOf: - enum: - auditory - color - item-size - olfactory - orientation - position - tactile - text-on-image - textual - visual type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" adaptation-request: description: | A value, from the AdaptatonMedia vocabulary, for the new adaptation media mode. anyOf: - enum: - Daisy - braille - NIMAS - MathML - ChemML - LaTeX - OEBPS - PDF - LIT - Nemeth - EPUB3 type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" additionalProperties: false AdaptationTypeRequiredDType: description: | Nature or genre of the adaptation required as a replacement for a specific access mode. type: object required: - existing-access-mode - adaptation-request x-1edtech-confidentiality: unrestricted properties: existing-access-mode: description: | A value, from the AdaptationType vocabulary, for the existing access mode. anyOf: - enum: - auditory - color - item-size - olfactory - orientation - position - tactile - text-on-image - textual - visual type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" adaptation-request: description: | A value, from the AdaptatonType vocabulary, for the new adaptation media mode. anyOf: - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" - enum: - alternative-text - audio-description - captions - e-book - haptic - high-contrast - long-description - sign-language - transcript type: string additionalProperties: false AdditionalTestingTimeDType: description: | The container for the set of additional testing time preferences. Only one of the available options can be selected. type: object x-1edtech-confidentiality: unrestricted properties: replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active time-multiplier: description: Providing the additional testing time as a multiplier of the set time. Model Primitive Datatype = Float. type: number format: float fixed-minutes: description: Providing the additional testing time as an additional number of minutes. Model Primitive Datatype = Integer. type: integer format: int32 unlimited: description: Providing the additional testing time as an unlimited time. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additionalProperties: false BrailleDType: description: | The container for the set of preferences for Braille devices. type: object x-1edtech-confidentiality: unrestricted properties: language: description: The native language, defined as per [RFC 3066], to which the Braille conversion will be applied. Model Primitive Datatype = Language. type: string replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active delivery-mode: description: | The delivery mode for the Braille device: this is defined as an enumerated vocabulary. type: string enum: - refreshable - embossed default: refreshable grade: description: | The grade, for the encoding, for the Braille device: this is defined as an enumerated vocabulary. type: string enum: - 1 - 2 - 3 default: 2 braille-type: description: | The type of Braille to be used. anyOf: - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" - enum: - ebae - ueb type: string math-type: description: | The type of Braille to be used for the rendering if Maths: this is defined as an enumerated vocabulary. anyOf: - enum: - nemeth - ueb type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" additionalProperties: false CalculatorDType: description: | The data-type for the type of calculator tool. type: object required: - value x-1edtech-confidentiality: unrestricted properties: calculator-type: description: | The type of calculator that can be used. This consists of an extensible predefined set of types of permitted calculator. anyOf: - enum: - basic - standard - scientific - graphing type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" value: description: Model Derived-Primitive Datatype = Empty (mapped to an enumeration value of active). type: string enum: - active additionalProperties: false EnvironmentDType: description: | The container for the set of preferences for the environment within which the learning exerience is to take place. type: object x-1edtech-confidentiality: unrestricted properties: replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active description: description: A human-readable description of the accessibility support environment. Model Primitive Datatype = NormalizedString. type: string medical: description: A human-readable description of the available medical support. Model Primitive Datatype = NormalizedString. type: string software: description: A human-readable description of the available accessibility software. Model Primitive Datatype = NormalizedString. type: string hardware: description: A human-readable description of the available accessibility hardware. Model Primitive Datatype = NormalizedString. type: string breaks: description: A human-readable description of the available breaks i.e. moments away for the activity itself. Model Primitive Datatype = Boolean. type: boolean additionalProperties: false FeatureSetDType: description: | This is the container for the set of features whose preferences can be controlled. When a feature is listed in an instance then the preference is to be set as determined by the intention of the contaning parent class. type: object x-1edtech-privacy: - extensions x-1edtech-confidentiality: unrestricted x-1edtech-confidentiality-normal: - extensions properties: linguistic-guidance: description: Used to indicate that the corresponding 'linguistic-guidance' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active keyword-emphasis: description: Used to indicate that the corresponding 'keyword-emphasis' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active keyword-translation: description: Used to indicate that the corresponding 'keyword-translation' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active simplified-language-portions: description: Used to indicate that the corresponding 'simplified-language-portions' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active simplified-graphics: description: Used to indicate that the corresponding 'simplified-graphics' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active item-translation: description: Used to indicate that the corresponding 'item-translation' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active sign-language: description: Used to indicate that the corresponding 'sign-language' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active encouragement: description: Used to indicate that the corresponding 'encouragement' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additional-testing-time: description: Used to indicate that the corresponding 'additional-testing-time' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active line-reader: description: Used to indicate that the corresponding 'line-reader' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active magnification: description: Used to indicate that the corresponding 'magnification' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active spoken: description: Used to indicate that the corresponding 'spoken' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active tactile: description: Used to indicate that the corresponding 'tactile' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active braille: description: Used to indicate that the corresponding 'braille' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active answer-masking: description: Used to indicate that the corresponding 'answer-masking' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active keyboard-directions: description: Used to indicate that the corresponding 'keyboard-directions' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additional-directions: description: Used to indicate that the corresponding 'additional-directions' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active long-description: description: Used to indicate that the corresponding 'long-description' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active captions: description: Used to indicate that the corresponding 'captions' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active transcript: description: Used to indicate that the corresponding 'transcript' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active alternative-text: description: Used to indicate that the corresponding 'alternative-text' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active audio-description: description: Used to indicate that the corresponding 'audio-description' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active high-contrast: description: Used to indicate that the corresponding 'high-contrast' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active input-requirements: description: Used to indicate that the corresponding 'input-requirements' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active language-of-interface: description: Used to indicate that the corresponding 'language-of-interface' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active layout-single-column: description: Used to indicate that the corresponding 'layout-single-column' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active text-appearance: description: Used to indicate that the corresponding 'text-appearance' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active calculator-on-screen: description: Used to indicate that the corresponding 'calculator-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active dictionary-on-screen: description: Used to indicate that the corresponding 'dictionary-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active glossary-on-screen: description: Used to indicate that the corresponding 'glossary-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active thesaurus-on-screen: description: Used to indicate that the corresponding 'thesaurus-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active homophone-checker-on-screen: description: Used to indicate that the corresponding 'homophone-checker-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active note-taking-on-screen: description: Used to indicate that the corresponding 'note-taking-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active visual-organizer-on-screen: description: Used to indicate that the corresponding 'visual-organizer-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active outliner-on-screen: description: Used to indicate that the corresponding 'outliner-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active peer-interaction-on-screen: description: Used to indicate that the corresponding 'peer-interaction-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active spell-checker-on-screen: description: Used to indicate that the corresponding 'spell-checker-on-screen' preferences are to be established appropriately. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additionalProperties: true FontFaceDType: description: | The container for information about the font face to be used. type: object required: - generic-font-face x-1edtech-confidentiality: unrestricted properties: font-name: description: The name of the font to be used for text display. Model Primitive Datatype = NormalizedString. type: array minItems: 0 items: type: string generic-font-face: description: | The generic font face to be use for text. This is based upon an enumerated vocabulary. type: string enum: - serif - sans serif - monospaced - cursive - fantasy additionalProperties: false LanguageModeDType: description: | The container for the set of preferences related to the language mode. type: object required: - language x-1edtech-confidentiality: unrestricted properties: language: description: Identification of the language. The permitted value is based upon [RFC 3066]. Model Primitive Datatype = Language. type: string replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additionalProperties: false LineReaderDType: description: | The container for the preference settings for line readers. type: object x-1edtech-confidentiality: unrestricted properties: highlight-color: description: The highlight color to be used by the display when identifying the position of the line reader. Model Primitive Datatype = String. type: string pattern: "(#)([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})" replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additionalProperties: false LongDescriptionDType: description: | The container for the preferences for the provision of long descriptions. type: object x-1edtech-confidentiality: unrestricted properties: hide-visually: description: Defines whether or not the long description is hidden from view as a default setting. Model Primitive Datatype = Boolean. type: boolean default: true replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additionalProperties: false MagnificationDType: description: | The container for the details about the magnification preferences. type: object x-1edtech-confidentiality: unrestricted properties: replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active all-content: $ref: "#/components/schemas/ZoomAmountDType" select-magnification: $ref: "#/components/schemas/SelectMagnificationDType" additionalProperties: false PersonSourcedIdDType: description: | The data-type for the sourcedId of a Person. This is used to identify the owner of a PNP Record. There is NO predefined format for this identifier. type: object required: - source-system - value x-1edtech-confidentiality: unrestricted properties: source-system: description: The source system that was responsible for the allocation of the 'sourcedId' for the Person. Model Primitive Datatype = NormalizedString. type: string value: description: Model Derived-Primitive Datatype = NormalizedString. type: string additionalProperties: false ReplacesAccessModeDType: description: | This is the container for the identification for the set of access modes whose operational state are to be replaced by the contained set of children. The presence of a child attribute means that the parent preference is to be applied to that attribute. type: object x-1edtech-confidentiality: unrestricted properties: replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additionalProperties: false SelectMagnificationDType: description: | This is used to contain the zoom magnification factors for the display of text and non-text. type: object x-1edtech-confidentiality: unrestricted properties: text: $ref: "#/components/schemas/ZoomAmountDType" non-text: $ref: "#/components/schemas/ZoomAmountDType" additionalProperties: false SingleAFAPNPRecordDType: description: | The root container for a single AfA PNP record. type: object required: - access-for-all-pnp-record x-1edtech-privacy: - access-for-all-pnp-record x-1edtech-confidentiality: veryrestricted x-1edtech-confidentiality-veryrestricted: - access-for-all-pnp-record properties: access-for-all-pnp-record: $ref: "#/components/schemas/AccessForAllPNPRecordDType" additionalProperties: false SingleUserAFAPNPRecordDType: description: | The root container for the combined user information and their first AfA PNP record. type: object required: - access-for-all-pnp-record x-1edtech-privacy: - access-for-all-pnp-record x-1edtech-confidentiality: veryrestricted x-1edtech-confidentiality-veryrestricted: - access-for-all-pnp-record properties: access-for-all-pnp-record: $ref: "#/components/schemas/UserAFAPNPRecordDType" additionalProperties: false SpokenDType: description: | The container for the preferences that are used to define the ways in which information is 'spoken'. type: object required: - reading-type - link-indication - typing-echo x-1edtech-confidentiality: unrestricted properties: replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active reading-type: description: | Deines the type of reading that is to be used. This is based upon an enumerated vocabulary. type: string enum: - screen-reader - computer-read-aloud default: screen-reader restriction-type: description: | Defines the type of restrictions to which the reading is to be applied. This is based upon an extendable enumerated vocbulary. type: array minItems: 0 items: anyOf: - enum: - unrestricted - word-by-word - directions-only - skip-math-equations - skip-chemistry-equations type: string - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" speech-rate: description: Rate of speech of a speech synthesizer. A speech synthesizer may be used by or with a number of technologies, including a screen reader, text reader/highlighter or Braille display, among others. Model Primitive Datatype = Integer. type: integer format: int32 default: 180 pitch: description: Pitch of a speech synthesizer. A speech synthesizer may be used by or with a number of technologies, including a screen reader, text reader/highlighter or Braille display, among others. Use 0.0 = 'low', 0.5 = 'medium', 1.0 = 'high'. Model Primitive Datatype = Float. type: number format: float default: 0.5 volume: description: Volume of a speech synthesizer. A speech synthesizer may be used by or with a number of technologies, including a screen reader, text reader/highlighter or Braille display, among others. Use 0.0 = 'low', 0.5 = 'medium', 1.0 = 'high'. Model Primitive Datatype = Float. type: number format: float default: 0.5 link-indication: description: | The nature of handling embedded links. This is based upon an enumerated vocabulary. type: string enum: - speak-link - different-voice - sound-effect - none typing-echo: description: | Unit of reading to be spoken. This is an enumerated vocabulary. type: string enum: - characters - words - characters-and-words - none additionalProperties: false TextAppearanceDType: description: | The container for the set of preferences for the appearance of text on a display. type: object x-1edtech-privacy: - extensions x-1edtech-confidentiality: unrestricted x-1edtech-confidentiality-normal: - extensions properties: replace-access-mode-auditory: description: The parent access mode preference is to be applied to auditory based tools and/or content i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-color: description: The parent access mode preference is to be applied to color based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-item-size: description: The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-olfactory: description: The parent access mode preference is to be applied to olfactory based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-orientation: description: The parent access mode preference is to be applied to orientation based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-position: description: The parent access mode preference is to be applied to position based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-tactile: description: The parent access mode preference is to be applied to tactile based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-text-on-image: description: The parent access mode preference is to be applied to text-on-image based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-textual: description: The parent access mode preference is to be applied to text based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active replace-access-mode-visual: description: The parent access mode preference is to be applied to visually based content and/or tools i.e. it replaces the default mode. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active color-theme: description: | The color theme that SHOULD be applied to the text. This is an extensible enumerated vocabulary. anyOf: - description: This is the mechanism to provide extensible enumerated vocabularies. The extensions must be strings that start with the sub-string of 'ext:'. Model Primitive Datatype = String. type: string pattern: "(ext:)[a-z|A-Z|.|_]+" - enum: - default - default-reverse - high-contrast - high-contrast-reverse - yellow-blue - blue-yellow - black-rose - rose-black - black-cyan - cyan-black - black-cream - cream-black - medgray-darkgray - darkgray-medgray type: string background-color: description: Background color in an interface that is displaying text. Model Primitive Datatype = String. type: string pattern: "(#)([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})" font-color: description: Font color in an interface that is displaying text. Model Primitive Datatype = String. type: string pattern: "(#)([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})" font-size: description: Size of a font. This value is in points. Model Primitive Datatype = Float. type: number format: float default: 12.0 font-face: $ref: "#/components/schemas/FontFaceDType" line-spacing: description: The line spacing. Model Primitive Datatype = Float. type: number format: float line-height: description: The line height. Model Primitive Datatype = Float. type: number format: float letter-spacing: description: The spacing between letters. This value is in points. Model Primitive Datatype = Float. type: number format: float uniform-font-sizing: description: Defines if uniform font sizing is to be used. If present then uniform spacing is to be used. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active word-spacing: description: The spacing between words. This value is in points. Model Primitive Datatype = Float. type: number format: float word-wrapping: description: Defines if word wrapping is to be used. If present then word wrapping is to be used. Model Primitive Datatype = Empty (mapped to an enumeration value of active). The parent access mode preference is to be applied to item-size based content and/or tools i.e. it replaces the default mode. type: string enum: - active additionalProperties: true UserAFAPNPRecordDType: description: | This is the container for each of the combined user information and AfA PNP record. type: object required: - personSourcedId - activitySourcedId - user - access-for-all-pnp x-1edtech-privacy: - personSourcedId - user - access-for-all-pnp x-1edtech-confidentiality: veryrestricted x-1edtech-confidentiality-normal: - personSourcedId - user x-1edtech-confidentiality-veryrestricted: - access-for-all-pnp properties: personSourcedId: $ref: "#/components/schemas/PersonSourcedIdDType" activitySourcedId: description: This is an identifier that has been assigned to the individual as part of the learning process for which the PNP record will be used. Model Primitive Datatype = NormalizedString. type: string user: $ref: "#/components/schemas/UserRecordDType" access-for-all-pnp: $ref: "#/components/schemas/AccessForAllPNPDType" additionalProperties: false UserIdDType: description: | This is the container for an external user identifier that should be used for this user in the cntext of the AFA PNP Server. This might be an active directory id, an LTI id, or some other machine-readable identifier that is used for this person. type: object required: - type - identifier x-1edtech-privacy: - type - identifier x-1edtech-confidentiality: normal x-1edtech-confidentiality-normal: - type - identifier properties: type: description: The type of identifier. This is no predefined vocabuary. Model Primitive Datatype = NormalizedString. type: string identifier: description: The identifier, of the defined type, for the user. Model Primitive Datatype = NormalizedString. type: string additionalProperties: false UserRecordDType: description: | The container for the user information. This is a minimal set of information that can identify, uniquely, a user in the AfA PNP Server. It MUST not contain Personally Identifiable Information. type: object required: - userIds x-1edtech-privacy: - userIds - extensions x-1edtech-confidentiality: normal x-1edtech-confidentiality-normal: - userIds - extensions properties: userIds: description: | This is the set of external user identifiers that should be used for this user in the context of the AFA PNP Server. This might be an active directory id, an LTI id, or some other machine-readable identifier that is used for this person. type: array minItems: 1 items: $ref: "#/components/schemas/UserIdDType" additionalProperties: true ZoomAmountDType: description: | A data-type for amount of zoom i.e. magnification. type: object required: - value x-1edtech-confidentiality: unrestricted properties: zoom-amount: description: The value for the zoom amount as a float number. Model Primitive Datatype = Float. type: number format: float value: description: Model Derived-Primitive Datatype = Empty (mapped to an enumeration value of active). type: string enum: - active additionalProperties: false imsx_CodeMinorDType: description: | This is the container for the set of code minor status codes reported in the responses from the Service Provider. type: object required: - imsx_codeMinorField x-1edtech-confidentiality: unrestricted properties: imsx_codeMinorField: description: | Each reported code minor status code. type: array minItems: 1 items: $ref: "#/components/schemas/imsx_CodeMinorFieldDType" additionalProperties: false imsx_CodeMinorFieldDType: description: | This is the container for a single code minor status code. type: object required: - imsx_codeMinorFieldName - imsx_codeMinorFieldValue x-1edtech-confidentiality: unrestricted properties: imsx_codeMinorFieldName: description: This should contain the identity of the system that has produced the code minor status code report. In most cases this will be the target service provider denoted as 'TargetEndSystem'. Model Primitive Datatype = NormalizedString. type: string default: TargetEndSystem imsx_codeMinorFieldValue: description: | The code minor status code (this is a value from the corresponding enumerated vocabulary). type: string enum: - fullsuccess - forbidden - internal_server_error - invalid_filter_field - invalid_selection_field - invalid_sort_field - invaliddata - server_busy - unauthorisedrequest - unknownobject - unsupported - user_already_exists additionalProperties: false imsx_StatusInfoDType: description: | This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider. For the OneRoster Resources service this object will only be returned to provide information about a failed request i.e. it will NOT be in the payload for a successful request. See Appendix B for further information on the interpretation of the information contained within this class. type: object required: - imsx_codeMajor - imsx_severity x-1edtech-confidentiality: unrestricted properties: imsx_codeMajor: description: | The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. The permitted vocabulary for the values for the CodeMajor field. type: string enum: - success - processing - failure - unsupported imsx_severity: description: | The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. type: string enum: - status - warning - error imsx_description: description: A human readable description supplied by the entity creating the status code information. Model Primitive Datatype = String. type: string imsx_codeMinor: $ref: "#/components/schemas/imsx_CodeMinorDType" additionalProperties: false