# #####################################################################################
# YAML File Information
# #####################################################################################
# 
# Author:         Colin Smythe (IMS Global, UK), Greg Nadeau (PCGUS, USA) and Bob Grogan (Elumen, USA)
# Date:           1st August, 2019
# Version:        2.0
# Status:         IMS Final Release
# Description:    The Competencies and Academic Standards Exchange (CASE) Service enables the exchange of data between a Competency Records Service Provider and the consumers of the associated data. This service has been described using the IMS Model Driven Specification development approach: this being the Platform Specific Model (PSM) of the service.
# 
# History:        This is the first release of the Competencies and Academic Standards Exchange (CASE) Service definition.
# 
# License:        IPR and Distribution Notices
# 
#                 This machine readable file is derived from the IMS Competencies and Academic Standards Exchange (CASE) Service Version 1.0
#                 found at http://www.imsglobal.org/case and the original IMS Global schema binding or code base
#                 http://www.imsglobal.org/case.
# 
#                 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.
# 
#                 IMS 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 IMS procedures with respect to rights in IMS 
#                 specifications can be found at the IMS Global Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
# 
#                 Copyright (c) IMS Global Learning Consortium 1999-2019. All Rights Reserved.
# 
#                 Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.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 IMS 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) Poseidon - v6 (and later)
# (b) Papyrus - v1.1.3 (and later)
# 
# Source XSLT File Information
# ============================
# XSL Generator:    Specificationv1p0_GenerationToolv1.xsl
# XSLT Processor:   Saxon
# Release:          1.0
# Date:             31st July, 2017
# Autogen Engineer: Colin Smythe (IMS Global, UK)
# Autogen Date:     2019-08-25
# 
# IMS Global Auto-generation Binding Tool-kit (I-BAT)
# ===================================================
# This file was auto-generated using the IMS Global Binding Auto-generation Tool-kit (I-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.  IMS Global 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 IMS Global "I-BAT" documentation available at the IMS Global web-site:
# http://www.imsglobal.org.
# 
# Tool Copyright:  2012-2019  (c) IMS Global Learning Consortium Inc.  All Rights Reserved.
# 
# #####################################################################################

openapi: '3.0.0'

#####################################################################################
#                               API Information                                     #
#####################################################################################
info: 
    version: '1.0'
    title: Competencies and Academic Standards Exchange (CASE) Service OpenAPI (YAML) Definition
    description: The Competencies and Academic Standards Exchange (CASE) Service enables the exchange of data between a Competency Records Service Provider and the consumers of the associated data. This service has been described using the IMS Model Driven Specification development approach: this being the Platform Specific Model (PSM) of the service.
    termsOfService: https://www.imsglobal.org/license.html
    contact: 
        name: Lisa Mattson (COO), IMS Global
        url: http://www.imsglobal.org
        email: lmattson@imsglobal.org
    license: 
        name: IMS Global
        url: https://www.imsglobal.org/license.html

#####################################################################################
#                                 Servers                                           #
#####################################################################################
servers: 
    - url: www.imsglobal.org/ims/case/v1p0
      description: The above Server URL should be changed to the actual server location.

#####################################################################################
#                                  Tags                                             #
#####################################################################################
tags: 
    - name: AssociationsManager
      description: |
        The set of service operations that manage access to the Competency Framework Associations. Associations are to establish relationships between definitions from different sources. This interface manages the associations between CFDocuments and between CFItems.
    - name: DefinitionsManager
      description: |
        The set of service operations that manage access to the Competency Framework Definitions. This interface manages the definitions of the: Competency Framework Concepts, Competency Framework Subjects, Competency Framework Licenses, Competency Framework Item Types and Competency Framework Association Groupings.
    - name: DocumentsManager
      description: |
        The set of service operations that manage access to the Competency Framework Documents. Documents are the root entry point for the definition of an academic standard/competency. This interface manages the document descriptions only i.e. it does not support the management of Items, Associations, etc.
    - name: ItemsManager
      description: |
        The set of service operations that manage access to the Competency Framework Items. Items are the containers for the definitions in an academic standard/competency. This interface manages the Item descriptions only i.e. it does not support the management of Associations, etc.
    - name: PackagesManager
      description: |
        The set of service operations that manage access to the Competency Framework Packages as a whole. A Competency Framework Package is a package that contains all of the arefacts that are used for the definition of a Competency Framework Document.
    - name: RubricsManager
      description: |
        The set of service operations that manage access to the Competency Framework Rubrics. Rubrics associate the set of rubric criteria being defined for a specific academic standard/competency (defined as either a CFItem or a CFDocument).

#####################################################################################
#                                   Paths                                           #
#####################################################################################
paths: 
    /CFAssociationGroupings/{sourcedId}:
        get:
            operationId: getCFAssociationGrouping
            summary: The REST read request message for the getCFAssociationGrouping() API call.
            tags: 
                - DefinitionsManager
            description: |
                This is a request to the Service Provider to provide the specified Competency Framework Association Grouping.  If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework AssociationGrouping that is to be read from the service provider.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFAssociationGrouping from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFAssociationGroupingDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFAssociations/{sourcedId}:
        get:
            operationId: getCFAssociation
            summary: The REST read request message for the getCFAssociation() API call.
            tags: 
                - AssociationsManager
            description: |
                This is a request to the service provider to provide the information for the specific Competency Framework Association. If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the CFAssociation to be supplied.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFAssociation from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFAssociationDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFConcepts/{sourcedId}:
        get:
            operationId: getCFConcept
            summary: The REST read request message for the getCFConcept() API call.
            tags: 
                - DefinitionsManager
            description: |
                This is a request to the Service Provider to provide the specified Competency Framework Concept and the set of children CFConcepts as identified by the hierarchy codes.  If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework Concept that is to be read from the service provider.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFConcept and child CFSConcepts from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFConceptSetDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFDocuments:
        get:
            operationId: getAllCFDocuments
            summary: The REST read request message for the getAllCFDocuments() API call.
            tags: 
                - DocumentsManager
            description: |
                This is a request to the Service Provider to provide all of the Competency Framework Documents. 
            parameters: 
                - name: limit
                  in: query
                  description: |
                      This is used as part of the data pagination mechanism to control the download rate of data. The 'limit' defines the download segmentation value i.e. the maximum number of records to be contained in the response. The form of implementation is described in the corresponding binding document(s).
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 100
                      minimum: 1
                  allowEmptyValue: false
                  style: form
                - name: offset
                  in: query
                  description: |
                      This is used as part of the data pagination mechanism to control the download rate of data. The 'offset' is the number of the first record to be supplied in the segmented response message. The form of implementation is described in the corresponding binding document(s).
                  required: false
                  schema: 
                      type: integer
                      format: int32
                      default: 0
                      minimum: 0
                  allowEmptyValue: false
                  style: form
                - name: sort
                  in: query
                  description: |
                      This is used as part of the sorting mechanism to be use by the service provider. The 'sort' identifies the sort criteria to be used for the records in the response message. Use with the orderBy parameter. The form of implementation is described in the corresponding binding document(s).
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: orderBy
                  in: query
                  description: |
                      This is used as part of the sorting mechanism to be use by the service provider. This defines the form of ordering for response to the sorted request i.e. ascending (asc) or descending (desc). The form of implementation is described in the corresponding binding document(s).
                  required: false
                  schema: 
                      type: string
                      enum: 
                        - asc
                        - desc
                  allowEmptyValue: false
                  style: form
                - name: filter
                  in: query
                  description: |
                      This is used for the data filtering mechanism to be applied by the service provider. It defines the filtering rules to be applied when identifying the records to be supplied in the response message. The form of implementation is described in the corresponding binding document(s).
                  required: false
                  schema: 
                      type: string
                  allowEmptyValue: false
                  style: form
                - name: fields
                  in: query
                  description: |
                      This is used as part of the field selection mechanism to be applied by the service provider. This identifies the range of fields that should be supplied in the response message. The form of implementation is described in the corresponding binding document(s).
                  required: false
                  schema: 
                      type: array
                      items: 
                          type: string
                  allowEmptyValue: false
                  style: form
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the set of CFDocuments from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFDocumentSetDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFDocuments/{sourcedId}:
        get:
            operationId: getCFDocument
            summary: The REST read request message for the getCFDocument() API call.
            tags: 
                - DocumentsManager
            description: |
                This is a request to the service provider to provide the information for the specific Competency Framework Document. If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework Document that is to be read from the service provider.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFDocument from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFDocumentDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFItemAssociations/{sourcedId}:
        get:
            operationId: getCFItemAssociations
            summary: The REST read request message for the getCFItemAssociations() API call.
            tags: 
                - AssociationsManager
            description: |
                This is a request to the Service Provider to provide the all of the Competency Associations for the specified CFItem and the information about the CFItem itself.  If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the CFItem for which ALL associations are to be supplied.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFItem and set of CFAssociations from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFAssociationSetDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFItemTypes/{sourcedId}:
        get:
            operationId: getCFItemType
            summary: The REST read request message for the getCFItemType() API call.
            tags: 
                - DefinitionsManager
            description: |
                This is a request to the Service Provider to provide the specified Competency Framework Item Type and the set of children CFItemTypes as identified by the hierarchy codes.  If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework ItemType that is to be read from the service provider.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFItemType and child CFItemTypes from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFItemTypeSetDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFItems/{sourcedId}:
        get:
            operationId: getCFItem
            summary: The REST read request message for the getCFItem() API call.
            tags: 
                - ItemsManager
            description: |
                This is a request to the Service Provider to provide the specified Competency Framework Item.  If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework Item that is to be read from the service provider.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFItem from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFItemDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFLicenses/{sourcedId}:
        get:
            operationId: getCFLicense
            summary: The REST read request message for the getCFLicense() API call.
            tags: 
                - DefinitionsManager
            description: |
                This is a request to the Service Provider to provide the specified Competency Framework License.  If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework License that is to be read from the service provider.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFLicense from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFLicenseDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFPackages/{sourcedId}:
        get:
            operationId: getCFPackage
            summary: The REST read request message for the getCFPackage() API call.
            tags: 
                - PackagesManager
            description: |
                This is a request to the service provider to provide the information for the specific Competency Framework Package. If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework Document that is to be read from the service provider and supplied with all of its component artefacts.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFPackage from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFPackageDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFRubrics/{sourcedId}:
        get:
            operationId: getCFRubric
            summary: The REST read request message for the getCFRubric() API call.
            tags: 
                - RubricsManager
            description: |
                This is a request to the service provider to provide the information for the specific Competency Framework Rubric. If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework Rubric that is to be read from the service provider.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFRubric from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFRubricDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"

    /CFSubjects/{sourcedId}:
        get:
            operationId: getCFSubject
            summary: The REST read request message for the getCFSubject() API call.
            tags: 
                - DefinitionsManager
            description: |
                This is a request to the Service Provider to provide the specified Competency Framework Subject and the set of children CFSubjects as identified by the hierarchy codes.  If the identified record cannot be found then the 'unknownobject' status code must be reported.
            parameters: 
                - name: sourcedId
                  in: path
                  description: |
                      The UUID that identifies the Competency Framework Subject that is to be read from the service provider.
                  required: true
                  schema: 
                      type: string
                  style: simple
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFSubject and child CFSubjects from the service provider.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/CFSubjectSetDType"
                "400" : 
                    description: |
                        An invalid selection field was supplied and data filtering on the selection criteria was not possible i.e. 'invalid_selection_field'. 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 changed or an invalid UUID has been supplied. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The statement 'Unknown Object' of 'Invalid UUID' 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"
                "default" : 
                    description: |
                        This is the response data payload to be supplied when the HTTP code is NOT explicitly defined. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and the appropriate 'codeMinor' value. The associated HTTP code will also be supplied.
                    content: 
                        application/json: 
                            schema: 
                                $ref: "#/components/schemas/imsx_StatusInfoDType"


#####################################################################################
#                               Components                                          #
#####################################################################################
components:
    schemas: 
        CFAssociationDType:
            description: |
                This is the container for the data about the relationship between two CFDocuments or between two CFItems outside of the context of a CFPackage or CFItem.
            type: object
            required: 
                - identifier
                - associationType
                - uri
                - originNodeURI
                - destinationNodeURI
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                associationType: 
                    description: |
                        The type of association. This uses an enumerated vocabulary.
                    type: string
                    enum: 
                       - isChildOf
                       - isPeerOf
                       - isPartOf
                       - exactMatchOf
                       - precedes
                       - isRelatedTo
                       - replacedBy
                       - exemplar
                       - hasSkillLevel
                sequenceNumber: 
                    description: This is used to order associated objects. Associations can be created through mapping rather than strict hierarchy. As such the presentation of the list cannot be ordered by the objects in the list. They may be different based on the parent being viewed. Model Primitive Datatype = Integer.
                    type: integer
                    format: int32
                uri: 
                    description: An unambiguous reference to the CFAssociation using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                originNodeURI: 
                    $ref: "#/components/schemas/LinkGenURIDType"
                destinationNodeURI: 
                    $ref: "#/components/schemas/LinkGenURIDType"
                CFAssociationGroupingURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                CFDocumentURI: 
                    $ref: "#/components/schemas/LinkURIDType"
            additionalProperties: false
        CFAssociationGroupingDType:
            description: |
                This is the container for information about a set of associations that have been labelled as a group (the nature of the group being defined by this container).
            type: object
            required: 
                - identifier
                - uri
                - title
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI.  Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                title: 
                    description: The title of the CFAssociationGrouping. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFAssociationGrouping. Model Primitive Datatype = String.
                    type: string
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
            additionalProperties: false
        CFAssociationSetDType:
            description: |
                This is the container for a collection of CFAssociations. There must be at least one CFAssociation. Note that the association can be between CFDocuments or between CFItems.
            type: object
            required: 
                - CFItem
                - CFAssociations
            properties: 
                CFItem: 
                    $ref: "#/components/schemas/CFItemDType"
                CFAssociations: 
                    description: |
                        This is the data for a single CFAssociation within the CFAssociationSet container. The association can be between CFDocuments or between CFItems
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/CFPckgAssociationDType"
            additionalProperties: false
        CFConceptDType:
            description: |
                The container for the definition of a concept which is addressed by the competency framework.
            type: object
            required: 
                - identifier
                - uri
                - title
                - hierarchyCode
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFConcept using a network-resolvable URI.  Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                title: 
                    description: The title of the CFConcept. Model Primitive Datatype = NormalizedString.
                    type: string
                keywords: 
                    description: Defined listing of keywords delimited by '|' that the concept encompasses. Model Primitive Datatype = NormalizedString.
                    type: string
                hierarchyCode: 
                    description: A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFConcept. Model Primitive Datatype = String.
                    type: string
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
            additionalProperties: false
        CFConceptSetDType:
            description: |
                The container for the set of CFConcepts supplied in the response payload. The relationship between the CFConcepts is determined by the 'hierarchyCode'. The first CFConcept is that which has been specified in the call. The other CFConcepts are the set of children as determined by their place in the 'hierarchyCode' of the CFConcept.
            type: object
            required: 
                - CFConcepts
            properties: 
                CFConcepts: 
                    description: |
                        The set of CFConcepts. The relationship between the CFConcepts is determined by the 'hierarchyCode'. The first CFConcept is that which has been specified in the call. The other CFConcepts are the set of children as determined by their place in the 'hierarchyCode' of the CFConcept.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/CFConceptDType"
            additionalProperties: false
        CFDefinitionDType:
            description: |
                The container for the set of definitions used for the competency framework i.e. the set of CFSubjects, CFConcepts, CFItemTypes, CFAssociationGroupings and CFLicenses.
            type: object
            properties: 
                CFConcepts: 
                    description: |
                        The set of concept definitions.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFConceptDType"
                CFSubjects: 
                    description: |
                        The set of subject definitions.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFSubjectDType"
                CFLicenses: 
                    description: |
                        The set of license definitions.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFLicenseDType"
                CFItemTypes: 
                    description: |
                        The set of item type definitions.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFItemTypeDType"
                CFAssociationGroupings: 
                    description: |
                        The set of association grouping definitions.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFAssociationGroupingDType"
            additionalProperties: false
        CFDocumentDType:
            description: |
                The container for the data about a competency framework document (CFDocument) when exchanged outside of the context of a CFPackage. A CFDocument is the root for the creation of a learning standard/competency.
            type: object
            required: 
                - identifier
                - uri
                - creator
                - title
                - lastChangeDateTime
                - CFPackageURI
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFDocument using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                creator: 
                    description: The entity with authority that promulgates the competency framework. This is the entity that authorized or created the competency framework. It could be an education agency, higher education institution, professional body. It is the owner of the competency framework. Model Primitive Datatype = NormalizedString.
                    type: string
                title: 
                    description: The title of the CFDocument. Model Primitive Datatype = NormalizedString.
                    type: string
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                officialSourceURL: 
                    description: The URL link to the formal citation of the original achievement standards document created for humans. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                publisher: 
                    description: The entity responsible for making the learning standards document available. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFDocument. Model Primitive Datatype = NormalizedString.
                    type: string
                subject: 
                    description: The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary). Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                subjectURI: 
                    description: |
                        A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency. 
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/LinkURIDType"
                language: 
                    description: The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]). Model Primitive Datatype = Language.
                    type: string
                version: 
                    description: Defines the revision of the document (the nature of this versoning is an implementation issue). Model Primitive Datatype = NormalizedString.
                    type: string
                adoptionStatus: 
                    description: The publication status of the document. Model Primitive Datatype = NormalizedString.
                    type: string
                statusStartDate: 
                    description: The date the CFDocument status started. Model Primitive Datatype = Date.
                    type: string
                    format: date
                statusEndDate: 
                    description: The date the CFDocument status ended or changed to another status. Model Primitive Datatype = Date.
                    type: string
                    format: date
                licenseURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                notes: 
                    description: Any text used to comment on the published CFDocument. Model Primitive Datatype = String.
                    type: string
                CFPackageURI: 
                    $ref: "#/components/schemas/LinkURIDType"
            additionalProperties: false
        CFDocumentSetDType:
            description: |
                This is the container for a collection of CFDocuments. There must be at least one CFDocument.
            type: object
            required: 
                - CFDocuments
            properties: 
                CFDocuments: 
                    description: |
                        This is the data for a single CFDocument within the CFDocumentSet container.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/CFDocumentDType"
            additionalProperties: false
        CFItemDType:
            description: |
                This is the container for the CFItem data outside of the context of a CFPackage. This is the content that either describes a specific competency (learning objective) or describes a grouping of competencies within the taxonomy of a Competency Framework Document. 
            type: object
            required: 
                - identifier
                - fullStatement
                - uri
                - lastChangeDateTime
                - CFDocumentURI
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                fullStatement: 
                    description: The text of the statement. The textual content that either describes a specific competency or describes a less granular group of competencies within the taxonomy of the standards document.  Model Primitive Datatype = NormalizedString.
                    type: string
                alternativeLabel: 
                    description: An alternate 'term' for Competency.  Some institutions may want to render their achievements as outcomes, or objectives, etc.  Semantically they are the same as Competencies, but diversity of terms is used.  This allows for the flexibility for the institution to define their own term for 'Competency' and not being locked into it.   Model Primitive Datatype = NormalizedString.
                    type: string
                CFItemType: 
                    description: The textual label identifying the class of the statement as designated by the promulgating body. Model Primitive Datatype = NormalizedString.
                    type: string
                uri: 
                    description: An unambiguous reference to the CFItem using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                humanCodingScheme: 
                    description: A human-referenceable code designated by the publisher to identify the item among learning standard items. Model Primitive Datatype = NormalizedString.
                    type: string
                listEnumeration: 
                    description: A set of one or more alphanumeric characters and/or symbol denoting the positioning of the statement being described in a sequential listing of statements. Model Primitive Datatype = NormalizedString.
                    type: string
                abbreviatedStatement: 
                    description: An abbreviated version of the Full Statement. Model Primitive Datatype = NormalizedString.
                    type: string
                conceptKeywords: 
                    description: The significant topicality of the CFItem using free-text keywords and phrases. Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                conceptKeywordsURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                notes: 
                    description: Information about the derivation of a CFItem statement. Model Primitive Datatype = String.
                    type: string
                language: 
                    description: The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]). Model Primitive Datatype = Language.
                    type: string
                educationLevel: 
                    description: The education level, grade level or primary instructional level at which a CFItem is intended Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                CFItemTypeURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                licenseURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                statusStartDate: 
                    description: The date the CFItem status started. Model Primitive Datatype = Date.
                    type: string
                    format: date
                statusEndDate: 
                    description: The date the CFItem status ended or changed to another status. Model Primitive Datatype = Date.
                    type: string
                    format: date
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                CFDocumentURI: 
                    $ref: "#/components/schemas/LinkURIDType"
            additionalProperties: false
        CFItemTypeDType:
            description: |
                The container for the ItemType information use within the competency framework.
            type: object
            required: 
                - identifier
                - uri
                - title
                - description
                - hierarchyCode
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFItemType using a network-resolvable URI.  Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                title: 
                    description: The title of the CFItemType. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFItemType. Model Primitive Datatype = String.
                    type: string
                hierarchyCode: 
                    description: A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes. Model Primitive Datatype = NormalizedString.
                    type: string
                typeCode: 
                    description: Text code used for type identification. Model Primitive Datatype = NormalizedString.
                    type: string
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
            additionalProperties: false
        CFItemTypeSetDType:
            description: |
                The container for the set of CFItemTypes supplied in the response payload. The relationship between the CFItemTypes is determined by the 'hierarchyCode'. The first CFItemType is that which has been specified in the call. The other CFItemTypes are the set of children as determined by their place in the 'hierarchyCode' of the CFItemType.
            type: object
            required: 
                - CFItemTypes
            properties: 
                CFItemTypes: 
                    description: |
                        The set of CFItemTypes. The relationship between the CFItemTypes is determined by the 'hierarchyCode'. The first CFItemType is that which has been specified in the call. The other CFItemTypes are the set of children as determined by their place in the 'hierarchyCode' of the CFItemType.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/CFItemTypeDType"
            additionalProperties: false
        CFLicenseDType:
            description: |
                The container for the information about a license used within the competency framework.
            type: object
            required: 
                - identifier
                - uri
                - title
                - licenseText
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFLicense using a network-resolvable URI.  Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                title: 
                    description: The title of the CFLicense. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFLicense. Model Primitive Datatype = String.
                    type: string
                licenseText: 
                    description: Legal license text used by the organization to convey license permissions. This may include the actual license text, or a link to a web location containing the license as a document or as text. Model Primitive Datatype = String.
                    type: string
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
            additionalProperties: false
        CFPackageDType:
            description: |
                This is the container for all of the data for a Competency Framework Package i.e. the root CFDocument and ALL of the corresponding components i.e. the CFItems, CFAssociations and CFDefinitions.
            type: object
            required: 
                - CFDocument
            properties: 
                CFDocument: 
                    $ref: "#/components/schemas/CFPckgDocumentDType"
                CFItems: 
                    description: |
                        The set of Competency Framework Items that are a components (direct or indirect children) of the root Competency Framework Document. There must be at least one Competency Framework Item.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFPckgItemDType"
                CFAssociations: 
                    description: |
                        The set of Competency Framework Associations. This includes: the set of associations between the component CFItems and other CFItems; the set of associations between the root CFDocument and other CFDocuments.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFPckgAssociationDType"
                CFDefinitions: 
                    $ref: "#/components/schemas/CFDefinitionDType"
                CFRubrics: 
                    description: |
                        The set of Competency Framework CFRubrics including the associated CFRubricCriteria and CFRubrcCriterionLevels that are required to complete all of the information relevant to the parent CFRubric. 
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFRubricDType"
            additionalProperties: false
        CFPckgAssociationDType:
            description: |
                This is the container for the data about the relationship between two CFDocuments or between two CFItems within the context of a CFPackage.
            type: object
            required: 
                - identifier
                - associationType
                - uri
                - originNodeURI
                - destinationNodeURI
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                associationType: 
                    description: |
                        The type of association. This uses an enumerated vocabulary.
                    type: string
                    enum: 
                       - isChildOf
                       - isPeerOf
                       - isPartOf
                       - exactMatchOf
                       - precedes
                       - isRelatedTo
                       - replacedBy
                       - exemplar
                       - hasSkillLevel
                sequenceNumber: 
                    description: This is used to order associated objects. Associations can be created through mapping rather than strict hierarchy. As such the presentation of the list cannot be ordered by the objects in the list. They may be different based on the parent being viewed. Model Primitive Datatype = Integer.
                    type: integer
                    format: int32
                uri: 
                    description: An unambiguous reference to the CFAssociation using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                originNodeURI: 
                    $ref: "#/components/schemas/LinkGenURIDType"
                destinationNodeURI: 
                    $ref: "#/components/schemas/LinkGenURIDType"
                CFAssociationGroupingURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
            additionalProperties: false
        CFPckgDocumentDType:
            description: |
                The container for the data about a competency framework document (CFDocument) within a CFPackage. A CFDocument is the root for the creation of a learning standard/competency.
            type: object
            required: 
                - identifier
                - uri
                - creator
                - title
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFDocument using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                creator: 
                    description: The entity with authority that promulgates the competency framework. This is the entity that authorized or created the competency framework. It could be an education agency, higher education institution, professional body. It is the owner of the competency framework. Model Primitive Datatype = NormalizedString.
                    type: string
                title: 
                    description: The title of the CFDocument. Model Primitive Datatype = NormalizedString.
                    type: string
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                officialSourceURL: 
                    description: The URL link to the formal citation of the original achievement standards document created for humans. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                publisher: 
                    description: The entity responsible for making the learning standards document available. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFDocument. Model Primitive Datatype = NormalizedString.
                    type: string
                subject: 
                    description: The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary). Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                subjectURI: 
                    description: |
                        A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency. 
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/LinkURIDType"
                language: 
                    description: The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]). Model Primitive Datatype = Language.
                    type: string
                version: 
                    description: Defines the revision of the document (the nature of this versoning is an implementation issue). Model Primitive Datatype = NormalizedString.
                    type: string
                adoptionStatus: 
                    description: The publication status of the document. Model Primitive Datatype = NormalizedString.
                    type: string
                statusStartDate: 
                    description: The date the CFDocument status started. Model Primitive Datatype = Date.
                    type: string
                    format: date
                statusEndDate: 
                    description: The date the CFDocument status ended or changed to another status. Model Primitive Datatype = Date.
                    type: string
                    format: date
                licenseURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                notes: 
                    description: Any text used to comment on the published CFDocument. Model Primitive Datatype = String.
                    type: string
            additionalProperties: false
        CFPckgItemDType:
            description: |
                This is the container for the CFItem data within the context of a CFPackage. This is the content that either describes a specific competency (learning objective) or describes a grouping of competencies within the taxonomy of a Competency Framework Document. 
            type: object
            required: 
                - identifier
                - fullStatement
                - uri
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                fullStatement: 
                    description: The text of the statement. The textual content that either describes a specific competency or describes a less granular group of competencies within the taxonomy of the standards document.  Model Primitive Datatype = NormalizedString.
                    type: string
                alternativeLabel: 
                    description: An alternate 'term' for Competency.  Some institutions may want to render their achievements as outcomes, or objectives, etc.  Semantically they are the same as Competencies, but diversity of terms is used.  This allows for the flexibility for the institution to define their own term for 'Competency' and not being locked into it.   Model Primitive Datatype = NormalizedString.
                    type: string
                CFItemType: 
                    description: The textual label identifying the class of the statement as designated by the promulgating body. Model Primitive Datatype = NormalizedString.
                    type: string
                uri: 
                    description: An unambiguous reference to the CFItem using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                humanCodingScheme: 
                    description: A human-referenceable code designated by the publisher to identify the item among learning standard items. Model Primitive Datatype = NormalizedString.
                    type: string
                listEnumeration: 
                    description: A set of one or more alphanumeric characters and/or symbol denoting the positioning of the statement being described in a sequential listing of statements. Model Primitive Datatype = NormalizedString.
                    type: string
                abbreviatedStatement: 
                    description: An abbreviated version of the Full Statement. Model Primitive Datatype = NormalizedString.
                    type: string
                conceptKeywords: 
                    description: The significant topicality of the CFItem using free-text keywords and phrases. Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                conceptKeywordsURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                notes: 
                    description: Information about the derivation of a CFItem statement. Model Primitive Datatype = String.
                    type: string
                language: 
                    description: The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]). Model Primitive Datatype = Language.
                    type: string
                educationLevel: 
                    description: The education level, grade level or primary instructional level at which a CFItem is intended Model Primitive Datatype = NormalizedString.
                    type: array
                    minItems: 0
                    items: 
                        type: string
                CFItemTypeURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                licenseURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                statusStartDate: 
                    description: The date the CFItem status started. Model Primitive Datatype = Date.
                    type: string
                    format: date
                statusEndDate: 
                    description: The date the CFItem status ended or changed to another status. Model Primitive Datatype = Date.
                    type: string
                    format: date
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
            additionalProperties: false
        CFRubricDType:
            description: |
                The container for the definition of a rubric which is addressed by the competency framework. This includes the set of associated CFRubricCriteria and CFRubricCriterionLevels.
            type: object
            required: 
                - identifier
                - uri
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFRubric using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                title: 
                    description: The title of the CFRubric. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFRubric. Model Primitive Datatype = NormalizedString.
                    type: string
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                CFRubricCriteria: 
                    description: |
                        The set of CFRubricCriterion that are required to complete the definition of the parent CFRubric.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFRubricCriterionDType"
            additionalProperties: false
        CFRubricCriterionDType:
            description: |
                The container for the definition of a rubric criterion which is addressed by the competency framework.
            type: object
            required: 
                - identifier
                - uri
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFRubricCriterion using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                category: 
                    description: A textual label for category by which CFRubricCriterion may be grouped. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFRubricCriterion. Model Primitive Datatype = String.
                    type: string
                CFItemURI: 
                    $ref: "#/components/schemas/LinkURIDType"
                weight: 
                    description: A numeric weight assigned to this CFRubricCriterion, used for scored rubrics. Model Primitive Datatype = Float.
                    type: number
                    format: float
                position: 
                    description: A numeric value representing this criterion's position in the criteria list for this CFRubric. Model Primitive Datatype = Integer.
                    type: integer
                    format: int32
                rubricId: 
                    description: The UUID for the parent CFRubric. This is included for forwards compatibility to enable access to the CFRubricCriterion without requiring embedding within the CFRubric itself. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
                CFRubricCriterionLevels: 
                    description: |
                        The set of CFRubricCriterionLevels that are required to complete the definition of the parent CFRubricCriterion.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFRubricCriterionLevelDType"
            additionalProperties: false
        CFRubricCriterionLevelDType:
            description: |
                The container for the definition of a criterion level which is addressed by the competency framework.
            type: object
            required: 
                - identifier
                - uri
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                description: 
                    description: A human readable description of the CFRubricCriterionLevel. Model Primitive Datatype = String.
                    type: string
                quality: 
                    description: A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics. Model Primitive Datatype = NormalizedString.
                    type: string
                score: 
                    description: The points awarded for achieving this level. Model Primitive Datatype = Float.
                    type: number
                    format: float
                feedback: 
                    description: Pre-defined feedback text to be relayed to the person or organization being evaluated. This may include guidance and suggestions for improvement or development. Model Primitive Datatype = String.
                    type: string
                position: 
                    description: A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion. Model Primitive Datatype = Integer.
                    type: integer
                    format: int32
                rubricCriterionId: 
                    description: The UUID for the parent CFRubricCriterion. This is included for forwards compatibility to enable access to the CFRubricCriterionLevel without requiring embedding within the CFRubricCriterion itself. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
            additionalProperties: false
        CFSubjectDType:
            description: |
                The container for the definition of a topic or academic subject which is addressed by the competency framework.
            type: object
            required: 
                - identifier
                - uri
                - title
                - hierarchyCode
                - lastChangeDateTime
            properties: 
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: An unambiguous reference to the CFSubject using a network-resolvable URI.  Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
                title: 
                    description: The title of the CFSubject. Model Primitive Datatype = NormalizedString.
                    type: string
                hierarchyCode: 
                    description: A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects. Model Primitive Datatype = NormalizedString.
                    type: string
                description: 
                    description: A human readable description of the CFSubject. Model Primitive Datatype = String.
                    type: string
                lastChangeDateTime: 
                    description: A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. Model Primitive Datatype = DateTime.
                    type: string
                    format: date-time
            additionalProperties: false
        CFSubjectSetDType:
            description: |
                The container for the set of CFSubjects supplied in the response payload. The relationship between the CFSubjects is determined by the 'hierarchyCode'. The first CFSubject is that which has been specified in the call. The other CFSubjects are the set of children as determined by their place in the 'hierarchyCode' of the CFSubject.
            type: object
            required: 
                - CFSubjects
            properties: 
                CFSubjects: 
                    description: |
                        The set of CFSubjects. The relationship between the CFSubjects is determined by the 'hierarchyCode'. The first CFSubject is that which has been specified in the call. The other CFSubjects are the set of children as determined by their place in the 'hierarchyCode' of the CFSubject.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/CFSubjectDType"
            additionalProperties: false
        LinkGenURIDType:
            description: |
                A container for the information that is used to achieve the link data reference.
            type: object
            required: 
                - title
                - identifier
                - uri
            properties: 
                title: 
                    description: A human readable title for the associated object. Model Primitive Datatype = NormalizedString.
                    type: string
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object. Model Primitive Datatype = NormalizedString.
                    type: string
                uri: 
                    description: A network-resolvable URI pointing to the authoritative reference for the associated object. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
            additionalProperties: false
        LinkURIDType:
            description: |
                A container for the information that is used to achieve the link data reference.
            type: object
            required: 
                - title
                - identifier
                - uri
            properties: 
                title: 
                    description: A human readable title for the associated object. Model Primitive Datatype = NormalizedString.
                    type: string
                identifier: 
                    description: An unambiguous, synthetic, globally unique identifier (UUID) for the associated object. Model Primitive Datatype = NormalizedString.
                    type: string
                    pattern: "[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[8-9a-b]{1}[0-9a-f]{3}-[0-9a-f]{12}"
                uri: 
                    description: A network-resolvable URI pointing to the authoritative reference for the associated object. Model Primitive Datatype = AnyURI.
                    type: string
                    format: uri
            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
            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
            properties: 
                imsx_codeMinorFieldName: 
                    description: This should contain the identity of the system that has produced the code minor status code report. Model Primitive Datatype = NormalizedString.
                    type: string
                imsx_codeMinorFieldValue: 
                    description: |
                        The code minor status code (this is a value from the corresponding enumerated vocabulary).
                    type: string
                    enum: 
                       - fullsuccess
                       - invalid_sort_field
                       - invalid_selection_field
                       - forbidden
                       - unauthorisedrequest
                       - internal_server_error
                       - unknownobject
                       - server_busy
                       - invaliduuid
            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 CASE 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
            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.
                    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
