1EdTech Final Release

1EdTech Logo

1EdTech Competencies and Academic Standards Exchange (CASE) Service REST/JSON Binding Version 1.1

1EdTech Final Release
Version 1.0

Date Issued: 24th January, 2025
Latest version: http://www.imsglobal.org/activity/case/

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

1EdTech takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on 1EdTech's procedures with respect to rights in 1EdTech specifications can be found at the 1EdTech Intellectual Property Rights web page: https://www.1edtech.org/ipr/1edtechipr_policyFinal.pdf.

Org Name Date Election Made Necessary Claims Type
Common Good Learning Tools 15th January 2025 No RF RAND (Required & Optional Elements)
Infinite Campus 23rd January 2025 No RF RAND (Required & Optional Elements)
UNICON INC. 14th January 2025 No RF RAND (Required & Optional Elements)

Copyright © 2025 1EdTech Consortium. All Rights Reserved.

Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: https://www.1edtech.org/speclicense.html.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S 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.

Public contributions, comments and questions can be posted here: www.1edtech.org/forums/1edtech-public-forums-and-resources.

Trademark information: http://www.1edtech.org/copyright.html

Document Name: 1EdTech Competencies and Academic Standards Exchange (CASE) Service REST/JSON Binding 1.1

Revision: 24th January, 2025

toc | top

Abstract

The Competencies and Academic Standards Exchange® (CASE®) Service standard facilitates the exchange of information about learning outcomes, competencies, and skills. By implementing CASE, it is possible to electronically exchange outcomes, skills, and competency definitions so applications, tools, and platforms can access the data so educators can act upon this data The key aim is to replace the current ways of documenting a learning standard and competency, typically a PDF or HTML document, by one which is machine readable both syntactically and semantically. Further, by using this new standard it will be possible to electronically exchange these definitions so that applications, systems and tools can readily access this data.

This document contains the specification of a new version of the CASE standard i.e. CASE 1.1. There has been no change to the set of service operations. The changes in CASE 1.1 are all related to the data model with the addition of several new properties and support for extensibility. In this document the binding implementation as a REST/JSON API is described for the associated service model. The corresponding machine readable OpenAPI files are supplied.

toc | top

Table of Contents

Abstract

1. Introduction

1.1 Scope and Context

1.2 Conventions

1.3 Changes Between Version 1.0 and Version 1.1

1.4 Structure of this Document

1.5 Nomenclature

2. The REST Endpoints

2.1 Mapping of the Service Operations to the REST Endpoints

2.2 API Root URL and Versioning

2.3 Predefined Endpoint Query Parameters

2.3.1 "getAllCFDocuments" Endpoint Query Parameters

2.3.2 "getCFAssociation" Endpoint Query Parameters

2.3.3 "getCFAssociationGrouping" Endpoint Query Parameters

2.3.4 "getCFConcept" Endpoint Query Parameters

2.3.5 "getCFDocument" Endpoint Query Parameters

2.3.6 "getCFItem" Endpoint Query Parameters

2.3.7 "getCFItemAssociations" Endpoint Query Parameters

2.3.8 "getCFItemType" Endpoint Query Parameters

2.3.9 "getCFLicense" Endpoint Query Parameters

2.3.10 "getCFPackage" Endpoint Query Parameters

2.3.11 "getCFRubric" Endpoint Query Parameters

2.3.12 "getCFSubject" Endpoint Query Parameters

2.4 HTTP Code Handling

2.5 Service Discovery

3. Using the Endpoint Parameters

3.1 Pagination

3.2 Sorting

3.3 Filtering

3.4 Field Selection

4. Security Framework

4.1 Transport Security

5. Data Privacy Implications

5.1 Endpoint Confidentiality Classification

5.2 Data Model Confidentiality Classifications

6. UML to JSON Mappings

6.1 Service Parameter Payload Properties UML/JSON Mapping

6.2 Service Parameter Payload Class UML/JSON Mapping

6.2.1 CFItem Service Parameter Payload Class Mapping

6.2.2 CFAssociationSet Service Parameter Payload Class Mapping

6.2.3 CFAssociation Service Parameter Payload Class Mapping

6.2.4 CFRubric Service Parameter Payload Class Mapping

6.2.5 CFDocumentSet Service Parameter Payload Class Mapping

6.2.6 CFDocument Service Parameter Payload Class Mapping

6.2.7 CFPackage Service Parameter Payload Class Mapping

6.2.8 CFConceptSet Service Parameter Payload Class Mapping

6.2.9 CFSubjectSet Service Parameter Payload Class Mapping

6.2.10 CFLicense Service Parameter Payload Class Mapping

6.2.11 CFItemTypeSet Service Parameter Payload Class Mapping

6.2.12 CFAssociationGrouping Service Parameter Payload Class Mapping

6.3 Payload Classes UML/JSON Mapping

6.3.1 CFAssociationExtension Payload Class Mapping

6.3.2 CFAssociationGroupingExtension Payload Class Mapping

6.3.3 CFConcept Payload Class Mapping

6.3.4 CFConceptExtension Payload Class Mapping

6.3.5 CFDefinition Payload Class Mapping

6.3.6 CFDefinitionExtension Payload Class Mapping

6.3.7 CFDocumentExtension Payload Class Mapping

6.3.8 CFItemExtension Payload Class Mapping

6.3.9 CFItemType Payload Class Mapping

6.3.10 CFItemTypeExtension Payload Class Mapping

6.3.11 CFLicenseExtension Payload Class Mapping

6.3.12 CFPackageExtension Payload Class Mapping

6.3.13 CFPckgAssociation Payload Class Mapping

6.3.14 CFPckgDocument Payload Class Mapping

6.3.15 CFPckgItem Payload Class Mapping

6.3.16 CFRubricCriterion Payload Class Mapping

6.3.17 CFRubricCriterionExtension Payload Class Mapping

6.3.18 CFRubricCriterionLevel Payload Class Mapping

6.3.19 CFRubricCriterionLevelExtension Payload Class Mapping

6.3.20 CFRubricExtension Payload Class Mapping

6.3.21 CFSubject Payload Class Mapping

6.3.22 CFSubjectExtension Payload Class Mapping

6.3.23 LinkGenURI Payload Class Mapping

6.3.24 LinkURI Payload Class Mapping

6.3.25 imsx_CodeMinor Payload Class Mapping

6.3.26 imsx_CodeMinorField Payload Class Mapping

6.3.27 imsx_StatusInfo Payload Class Mapping

6.4 Enumerated Class UML/JSON Mapping

6.5 Enumerated List Class UML/JSON Mapping

6.6 Union Class UML/JSON Mapping

6.7 Primitive Type UML/JSON Mapping

7. JSON Payloads

7.1 "getAllCFDocuments" Request Payload

7.2 "getAllCFDocuments" Response Payload

7.2.1 Response Payloads for the HTTP Codes (200)

7.2.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.3 "getCFAssociation" Request Payload

7.4 "getCFAssociation" Response Payload

7.4.1 Response Payloads for the HTTP Codes (200)

7.4.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.5 "getCFAssociationGrouping" Request Payload

7.6 "getCFAssociationGrouping" Response Payload

7.6.1 Response Payloads for the HTTP Codes (200)

7.6.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.7 "getCFConcept" Request Payload

7.8 "getCFConcept" Response Payload

7.8.1 Response Payloads for the HTTP Codes (200)

7.8.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.9 "getCFDocument" Request Payload

7.10 "getCFDocument" Response Payload

7.10.1 Response Payloads for the HTTP Codes (200)

7.10.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.11 "getCFItem" Request Payload

7.12 "getCFItem" Response Payload

7.12.1 Response Payloads for the HTTP Codes (200)

7.12.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.13 "getCFItemAssociations" Request Payload

7.14 "getCFItemAssociations" Response Payload

7.14.1 Response Payloads for the HTTP Codes (200)

7.14.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.15 "getCFItemType" Request Payload

7.16 "getCFItemType" Response Payload

7.16.1 Response Payloads for the HTTP Codes (200)

7.16.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.17 "getCFLicense" Request Payload

7.18 "getCFLicense" Response Payload

7.18.1 Response Payloads for the HTTP Codes (200)

7.18.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.19 "getCFPackage" Request Payload

7.20 "getCFPackage" Response Payload

7.20.1 Response Payloads for the HTTP Codes (200)

7.20.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.21 "getCFRubric" Request Payload

7.22 "getCFRubric" Response Payload

7.22.1 Response Payloads for the HTTP Codes (200)

7.22.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

7.23 "getCFSubject" Request Payload

7.24 "getCFSubject" Response Payload

7.24.1 Response Payloads for the HTTP Codes (200)

7.24.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

8. Service OpenAPI Description

8.1 General Information

8.2 Tags Information

8.3 Security Information

8.4 Paths Information

8.4.1 "/CFAssociationGroupings/{sourcedId}" Path

8.4.2 "/CFAssociations/{sourcedId}" Path

8.4.3 "/CFConcepts/{sourcedId}" Path

8.4.4 "/CFDocuments" Path

8.4.5 "/CFDocuments/{sourcedId}" Path

8.4.6 "/CFItemAssociations/{sourcedId}" Path

8.4.7 "/CFItemTypes/{sourcedId}" Path

8.4.8 "/CFItems/{sourcedId}" Path

8.4.9 "/CFLicenses/{sourcedId}" Path

8.4.10 "/CFPackages/{sourcedId}" Path

8.4.11 "/CFRubrics/{sourcedId}" Path

8.4.12 "/CFSubjects/{sourcedId}" Path

8.5 Definitions Information

8.5.1 "CFAssociationDType" Definition

8.5.2 "CFAssociationExtensionDType" Definition

8.5.3 "CFAssociationGroupingDType" Definition

8.5.4 "CFAssociationGroupingExtensionDType" Definition

8.5.5 "CFAssociationSetDType" Definition

8.5.6 "CFConceptDType" Definition

8.5.7 "CFConceptExtensionDType" Definition

8.5.8 "CFConceptSetDType" Definition

8.5.9 "CFDefinitionDType" Definition

8.5.10 "CFDefinitionExtensionDType" Definition

8.5.11 "CFDocumentDType" Definition

8.5.12 "CFDocumentExtensionDType" Definition

8.5.13 "CFDocumentSetDType" Definition

8.5.14 "CFItemDType" Definition

8.5.15 "CFItemExtensionDType" Definition

8.5.16 "CFItemTypeDType" Definition

8.5.17 "CFItemTypeExtensionDType" Definition

8.5.18 "CFItemTypeSetDType" Definition

8.5.19 "CFLicenseDType" Definition

8.5.20 "CFLicenseExtensionDType" Definition

8.5.21 "CFPackageDType" Definition

8.5.22 "CFPackageExtensionDType" Definition

8.5.23 "CFPckgAssociationDType" Definition

8.5.24 "CFPckgDocumentDType" Definition

8.5.25 "CFPckgItemDType" Definition

8.5.26 "CFRubricDType" Definition

8.5.27 "CFRubricCriterionDType" Definition

8.5.28 "CFRubricCriterionExtensionDType" Definition

8.5.29 "CFRubricCriterionLevelDType" Definition

8.5.30 "CFRubricCriterionLevelExtensionDType" Definition

8.5.31 "CFRubricExtensionDType" Definition

8.5.32 "CFSubjectDType" Definition

8.5.33 "CFSubjectExtensionDType" Definition

8.5.34 "CFSubjectSetDType" Definition

8.5.35 "LinkGenURIDType" Definition

8.5.36 "LinkURIDType" Definition

8.5.37 "imsx_CodeMinorDType" Definition

8.5.38 "imsx_CodeMinorFieldDType" Definition

8.5.39 "imsx_StatusInfoDType" Definition

9. Extending and Profiling the Service

9.1 Extending the Service

9.1.1 Proprietary Operations

9.1.2 Proprietary Data Elements

9.2 Profiling the Service

References

Appendix A REST/JSON Modelling Terms

A1 REST Endpoint Description Explanations

A1.1 REST Endpoint Mapping Table Explanation

A1.2 Query Parameter Table Explanation

A1.3 Error Codes and Handling for each Endpoint Table Explanation

A1.4 Endpoint Confidentiality Classification Table Explanation

A1.5 Data Model Confidentiality Classification Table Explanation

A2 UML to JSON Mapping Description Explanations

A2.1 Service Parameter Payload Properties UML/JSON Mapping Table Definition

A2.2 UML/JSON Payload Class Mapping Table Definition

A2.3 UML/JSON Enumerated and Enumerated List Class Mapping Table Definition

A2.4 UML/JSON Primitive Types Mapping Table Definition

A3 OpenAPI (v2 and v3) Descriptions Explanations

A3.1a OpenAPI(2) General Information Table Explanation

A3.1b OpenAPI(3) General Information Table Explanation

A3.2 OpenAPI Tags Table Explanation

A3.3 OpenAPI Security Table Explanation

A3.4 OpenAPI Paths Table Explanation

A3.5 OpenAPI Definitions Table Explanation

Appendix B OpenAPI Listings

B1 CASE Service OpenAPI JSON Definition Listing

B1.1 OpenAPI 2.0 JSON Listing

B1.2 OpenAPI 3.0 JSON Listing

B2 CASE Service OpenAPI YAML Definition Listing

B2.1 OpenAPI 2.0 YAML Listing

B2.2 OpenAPI 3.0 YAML Listing

Appendix C JSON Schema Listings

C1 JSON Schemas for Payload Validation

C1.1a JSON Schema for the "getAllCFDocuments" Operation Request Payload Validation

C1.1b JSON Schema for the "getAllCFDocuments" Operation Response Payload Validation for HTTP Codes [200]

C1.1c JSON Schema for the "getAllCFDocuments" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.2a JSON Schema for the "getCFAssociation" Operation Request Payload Validation

C1.2b JSON Schema for the "getCFAssociation" Operation Response Payload Validation for HTTP Codes [200]

C1.2c JSON Schema for the "getCFAssociation" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.3a JSON Schema for the "getCFAssociationGrouping" Operation Request Payload Validation

C1.3b JSON Schema for the "getCFAssociationGrouping" Operation Response Payload Validation for HTTP Codes [200]

C1.3c JSON Schema for the "getCFAssociationGrouping" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.4a JSON Schema for the "getCFConcept" Operation Request Payload Validation

C1.4b JSON Schema for the "getCFConcept" Operation Response Payload Validation for HTTP Codes [200]

C1.4c JSON Schema for the "getCFConcept" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.5a JSON Schema for the "getCFDocument" Operation Request Payload Validation

C1.5b JSON Schema for the "getCFDocument" Operation Response Payload Validation for HTTP Codes [200]

C1.5c JSON Schema for the "getCFDocument" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.6a JSON Schema for the "getCFItem" Operation Request Payload Validation

C1.6b JSON Schema for the "getCFItem" Operation Response Payload Validation for HTTP Codes [200]

C1.6c JSON Schema for the "getCFItem" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.7a JSON Schema for the "getCFItemAssociations" Operation Request Payload Validation

C1.7b JSON Schema for the "getCFItemAssociations" Operation Response Payload Validation for HTTP Codes [200]

C1.7c JSON Schema for the "getCFItemAssociations" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.8a JSON Schema for the "getCFItemType" Operation Request Payload Validation

C1.8b JSON Schema for the "getCFItemType" Operation Response Payload Validation for HTTP Codes [200]

C1.8c JSON Schema for the "getCFItemType" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.9a JSON Schema for the "getCFLicense" Operation Request Payload Validation

C1.9b JSON Schema for the "getCFLicense" Operation Response Payload Validation for HTTP Codes [200]

C1.9c JSON Schema for the "getCFLicense" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.10a JSON Schema for the "getCFPackage" Operation Request Payload Validation

C1.10b JSON Schema for the "getCFPackage" Operation Response Payload Validation for HTTP Codes [200]

C1.10c JSON Schema for the "getCFPackage" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.11a JSON Schema for the "getCFRubric" Operation Request Payload Validation

C1.11b JSON Schema for the "getCFRubric" Operation Response Payload Validation for HTTP Codes [200]

C1.11c JSON Schema for the "getCFRubric" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

C1.12a JSON Schema for the "getCFSubject" Operation Request Payload Validation

C1.12b JSON Schema for the "getCFSubject" Operation Response Payload Validation for HTTP Codes [200]

C1.12c JSON Schema for the "getCFSubject" Operation Response Payload Validation for HTTP Codes [400,401,403,404,429,500,default]

About this Document

List of Contributors

Revision History

toc | top

List of Figures

Figure 8.5.1 - OpenAPI JSON Schema description for the "CFAssociationDType" Complex Type.

Figure 8.5.2 - OpenAPI JSON Schema description for the "CFAssociationExtensionDType" Complex Type.

Figure 8.5.3 - OpenAPI JSON Schema description for the "CFAssociationGroupingDType" Complex Type.

Figure 8.5.4 - OpenAPI JSON Schema description for the "CFAssociationGroupingExtensionDType" Complex Type.

Figure 8.5.5 - OpenAPI JSON Schema description for the "CFAssociationSetDType" Complex Type.

Figure 8.5.6 - OpenAPI JSON Schema description for the "CFConceptDType" Complex Type.

Figure 8.5.7 - OpenAPI JSON Schema description for the "CFConceptExtensionDType" Complex Type.

Figure 8.5.8 - OpenAPI JSON Schema description for the "CFConceptSetDType" Complex Type.

Figure 8.5.9 - OpenAPI JSON Schema description for the "CFDefinitionDType" Complex Type.

Figure 8.5.10 - OpenAPI JSON Schema description for the "CFDefinitionExtensionDType" Complex Type.

Figure 8.5.11 - OpenAPI JSON Schema description for the "CFDocumentDType" Complex Type.

Figure 8.5.12 - OpenAPI JSON Schema description for the "CFDocumentExtensionDType" Complex Type.

Figure 8.5.13 - OpenAPI JSON Schema description for the "CFDocumentSetDType" Complex Type.

Figure 8.5.14 - OpenAPI JSON Schema description for the "CFItemDType" Complex Type.

Figure 8.5.15 - OpenAPI JSON Schema description for the "CFItemExtensionDType" Complex Type.

Figure 8.5.16 - OpenAPI JSON Schema description for the "CFItemTypeDType" Complex Type.

Figure 8.5.17 - OpenAPI JSON Schema description for the "CFItemTypeExtensionDType" Complex Type.

Figure 8.5.18 - OpenAPI JSON Schema description for the "CFItemTypeSetDType" Complex Type.

Figure 8.5.19 - OpenAPI JSON Schema description for the "CFLicenseDType" Complex Type.

Figure 8.5.20 - OpenAPI JSON Schema description for the "CFLicenseExtensionDType" Complex Type.

Figure 8.5.21 - OpenAPI JSON Schema description for the "CFPackageDType" Complex Type.

Figure 8.5.22 - OpenAPI JSON Schema description for the "CFPackageExtensionDType" Complex Type.

Figure 8.5.23 - OpenAPI JSON Schema description for the "CFPckgAssociationDType" Complex Type.

Figure 8.5.24 - OpenAPI JSON Schema description for the "CFPckgDocumentDType" Complex Type.

Figure 8.5.25 - OpenAPI JSON Schema description for the "CFPckgItemDType" Complex Type.

Figure 8.5.26 - OpenAPI JSON Schema description for the "CFRubricDType" Complex Type.

Figure 8.5.27 - OpenAPI JSON Schema description for the "CFRubricCriterionDType" Complex Type.

Figure 8.5.28 - OpenAPI JSON Schema description for the "CFRubricCriterionExtensionDType" Complex Type.

Figure 8.5.29 - OpenAPI JSON Schema description for the "CFRubricCriterionLevelDType" Complex Type.

Figure 8.5.30 - OpenAPI JSON Schema description for the "CFRubricCriterionLevelExtensionDType" Complex Type.

Figure 8.5.31 - OpenAPI JSON Schema description for the "CFRubricExtensionDType" Complex Type.

Figure 8.5.32 - OpenAPI JSON Schema description for the "CFSubjectDType" Complex Type.

Figure 8.5.33 - OpenAPI JSON Schema description for the "CFSubjectExtensionDType" Complex Type.

Figure 8.5.34 - OpenAPI JSON Schema description for the "CFSubjectSetDType" Complex Type.

Figure 8.5.35 - OpenAPI JSON Schema description for the "LinkGenURIDType" Complex Type.

Figure 8.5.36 - OpenAPI JSON Schema description for the "LinkURIDType" Complex Type.

Figure 8.5.37 - OpenAPI JSON Schema description for the "imsx_CodeMinorDType" Complex Type.

Figure 8.5.38 - OpenAPI JSON Schema description for the "imsx_CodeMinorFieldDType" Complex Type.

Figure 8.5.39 - OpenAPI JSON Schema description for the "imsx_StatusInfoDType" Complex Type.

toc | top

List of Tables

Table 2.1 - The Set of REST Endpoint URL-leaf Values.

Table 2.4 - The List of HTTP Codes and Handling for each Endpoint.

Table 5.1 - The Set of REST/JSON Payload Confidentiality Classifications

Table 5.2 - The Set of Data Model Confidentiality Classifications

Table 6.1 - UML/JSON Mapping for the Service Parameters

Table 6.2.1 - UML/JSON Mapping for the "CFItem" Service Parameter Payload Class

Table 6.2.2 - UML/JSON Mapping for the "CFAssociationSet" Service Parameter Payload Class

Table 6.2.3 - UML/JSON Mapping for the "CFAssociation" Service Parameter Payload Class

Table 6.2.4 - UML/JSON Mapping for the "CFRubric" Service Parameter Payload Class

Table 6.2.5 - UML/JSON Mapping for the "CFDocumentSet" Service Parameter Payload Class

Table 6.2.6 - UML/JSON Mapping for the "CFDocument" Service Parameter Payload Class

Table 6.2.7 - UML/JSON Mapping for the "CFPackage" Service Parameter Payload Class

Table 6.2.8 - UML/JSON Mapping for the "CFConceptSet" Service Parameter Payload Class

Table 6.2.9 - UML/JSON Mapping for the "CFSubjectSet" Service Parameter Payload Class

Table 6.2.10 - UML/JSON Mapping for the "CFLicense" Service Parameter Payload Class

Table 6.2.11 - UML/JSON Mapping for the "CFItemTypeSet" Service Parameter Payload Class

Table 6.2.12 - UML/JSON Mapping for the "CFAssociationGrouping" Service Parameter Payload Class

Table 6.3.1 - Payload UML/JSON Mapping for the "CFAssociationExtension" Class

Table 6.3.2 - Payload UML/JSON Mapping for the "CFAssociationGroupingExtension" Class

Table 6.3.3 - Payload UML/JSON Mapping for the "CFConcept" Class

Table 6.3.4 - Payload UML/JSON Mapping for the "CFConceptExtension" Class

Table 6.3.5 - Payload UML/JSON Mapping for the "CFDefinition" Class

Table 6.3.6 - Payload UML/JSON Mapping for the "CFDefinitionExtension" Class

Table 6.3.7 - Payload UML/JSON Mapping for the "CFDocumentExtension" Class

Table 6.3.8 - Payload UML/JSON Mapping for the "CFItemExtension" Class

Table 6.3.9 - Payload UML/JSON Mapping for the "CFItemType" Class

Table 6.3.10 - Payload UML/JSON Mapping for the "CFItemTypeExtension" Class

Table 6.3.11 - Payload UML/JSON Mapping for the "CFLicenseExtension" Class

Table 6.3.12 - Payload UML/JSON Mapping for the "CFPackageExtension" Class

Table 6.3.13 - Payload UML/JSON Mapping for the "CFPckgAssociation" Class

Table 6.3.14 - Payload UML/JSON Mapping for the "CFPckgDocument" Class

Table 6.3.15 - Payload UML/JSON Mapping for the "CFPckgItem" Class

Table 6.3.16 - Payload UML/JSON Mapping for the "CFRubricCriterion" Class

Table 6.3.17 - Payload UML/JSON Mapping for the "CFRubricCriterionExtension" Class

Table 6.3.18 - Payload UML/JSON Mapping for the "CFRubricCriterionLevel" Class

Table 6.3.19 - Payload UML/JSON Mapping for the "CFRubricCriterionLevelExtension" Class

Table 6.3.20 - Payload UML/JSON Mapping for the "CFRubricExtension" Class

Table 6.3.21 - Payload UML/JSON Mapping for the "CFSubject" Class

Table 6.3.22 - Payload UML/JSON Mapping for the "CFSubjectExtension" Class

Table 6.3.23 - Payload UML/JSON Mapping for the "LinkGenURI" Class

Table 6.3.24 - Payload UML/JSON Mapping for the "LinkURI" Class

Table 6.3.25 - Payload UML/JSON Mapping for the "imsx_CodeMinor" Class

Table 6.3.26 - Payload UML/JSON Mapping for the "imsx_CodeMinorField" Class

Table 6.3.27 - Payload UML/JSON Mapping for the "imsx_StatusInfo" Class

Table 6.4 - UML/JSON Mapping for the Enumerated Class Definitions

Table 6.6 - UML/JSON Mapping for the Primitive Type Definitions

Table 7.2.1 - Tabular representation of the JSON payload for "200" response messages for a "getAllCFDocuments" operation.

Table 7.2.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getAllCFDocuments" operation.

Table 7.4.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFAssociation" operation.

Table 7.4.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFAssociation" operation.

Table 7.6.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFAssociationGrouping" operation.

Table 7.6.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFAssociationGrouping" operation.

Table 7.8.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFConcept" operation.

Table 7.8.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFConcept" operation.

Table 7.10.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFDocument" operation.

Table 7.10.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFDocument" operation.

Table 7.12.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFItem" operation.

Table 7.12.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItem" operation.

Table 7.14.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFItemAssociations" operation.

Table 7.14.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItemAssociations" operation.

Table 7.16.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFItemType" operation.

Table 7.16.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItemType" operation.

Table 7.18.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFLicense" operation.

Table 7.18.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFLicense" operation.

Table 7.20.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFPackage" operation.

Table 7.20.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFPackage" operation.

Table 7.22.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFRubric" operation.

Table 7.22.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFRubric" operation.

Table 7.24.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFSubject" operation.

Table 7.24.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFSubject" operation.

Table 8.1a - The Set of General Information Defined in the OpenAPI(2) Description.

Table 8.1b - The Set of General Information Defined in the OpenAPI(3) Description.

Table 8.2 - The Set of Tags Defined in the OpenAPI Description.

Table 8.4.1 - The Set of HTTP Verbs Permitted on the "/CFAssociationGroupings/{sourcedId}" Path.

Table 8.4.2 - The Set of HTTP Verbs Permitted on the "/CFAssociations/{sourcedId}" Path.

Table 8.4.3 - The Set of HTTP Verbs Permitted on the "/CFConcepts/{sourcedId}" Path.

Table 8.4.4 - The Set of HTTP Verbs Permitted on the "/CFDocuments" Path.

Table 8.4.5 - The Set of HTTP Verbs Permitted on the "/CFDocuments/{sourcedId}" Path.

Table 8.4.6 - The Set of HTTP Verbs Permitted on the "/CFItemAssociations/{sourcedId}" Path.

Table 8.4.7 - The Set of HTTP Verbs Permitted on the "/CFItemTypes/{sourcedId}" Path.

Table 8.4.8 - The Set of HTTP Verbs Permitted on the "/CFItems/{sourcedId}" Path.

Table 8.4.9 - The Set of HTTP Verbs Permitted on the "/CFLicenses/{sourcedId}" Path.

Table 8.4.10 - The Set of HTTP Verbs Permitted on the "/CFPackages/{sourcedId}" Path.

Table 8.4.11 - The Set of HTTP Verbs Permitted on the "/CFRubrics/{sourcedId}" Path.

Table 8.4.12 - The Set of HTTP Verbs Permitted on the "/CFSubjects/{sourcedId}" Path.

Table 8.5.1 - OpenAPI JSON Schema description for the "CFAssociationDType" Complex Type.

Table 8.5.2 - OpenAPI JSON Schema description for the "CFAssociationExtensionDType" Complex Type.

Table 8.5.3 - OpenAPI JSON Schema description for the "CFAssociationGroupingDType" Complex Type.

Table 8.5.4 - OpenAPI JSON Schema description for the "CFAssociationGroupingExtensionDType" Complex Type.

Table 8.5.5 - OpenAPI JSON Schema description for the "CFAssociationSetDType" Complex Type.

Table 8.5.6 - OpenAPI JSON Schema description for the "CFConceptDType" Complex Type.

Table 8.5.7 - OpenAPI JSON Schema description for the "CFConceptExtensionDType" Complex Type.

Table 8.5.8 - OpenAPI JSON Schema description for the "CFConceptSetDType" Complex Type.

Table 8.5.9 - OpenAPI JSON Schema description for the "CFDefinitionDType" Complex Type.

Table 8.5.10 - OpenAPI JSON Schema description for the "CFDefinitionExtensionDType" Complex Type.

Table 8.5.11 - OpenAPI JSON Schema description for the "CFDocumentDType" Complex Type.

Table 8.5.12 - OpenAPI JSON Schema description for the "CFDocumentExtensionDType" Complex Type.

Table 8.5.13 - OpenAPI JSON Schema description for the "CFDocumentSetDType" Complex Type.

Table 8.5.14 - OpenAPI JSON Schema description for the "CFItemDType" Complex Type.

Table 8.5.15 - OpenAPI JSON Schema description for the "CFItemExtensionDType" Complex Type.

Table 8.5.16 - OpenAPI JSON Schema description for the "CFItemTypeDType" Complex Type.

Table 8.5.17 - OpenAPI JSON Schema description for the "CFItemTypeExtensionDType" Complex Type.

Table 8.5.18 - OpenAPI JSON Schema description for the "CFItemTypeSetDType" Complex Type.

Table 8.5.19 - OpenAPI JSON Schema description for the "CFLicenseDType" Complex Type.

Table 8.5.20 - OpenAPI JSON Schema description for the "CFLicenseExtensionDType" Complex Type.

Table 8.5.21 - OpenAPI JSON Schema description for the "CFPackageDType" Complex Type.

Table 8.5.22 - OpenAPI JSON Schema description for the "CFPackageExtensionDType" Complex Type.

Table 8.5.23 - OpenAPI JSON Schema description for the "CFPckgAssociationDType" Complex Type.

Table 8.5.24 - OpenAPI JSON Schema description for the "CFPckgDocumentDType" Complex Type.

Table 8.5.25 - OpenAPI JSON Schema description for the "CFPckgItemDType" Complex Type.

Table 8.5.26 - OpenAPI JSON Schema description for the "CFRubricDType" Complex Type.

Table 8.5.27 - OpenAPI JSON Schema description for the "CFRubricCriterionDType" Complex Type.

Table 8.5.28 - OpenAPI JSON Schema description for the "CFRubricCriterionExtensionDType" Complex Type.

Table 8.5.29 - OpenAPI JSON Schema description for the "CFRubricCriterionLevelDType" Complex Type.

Table 8.5.30 - OpenAPI JSON Schema description for the "CFRubricCriterionLevelExtensionDType" Complex Type.

Table 8.5.31 - OpenAPI JSON Schema description for the "CFRubricExtensionDType" Complex Type.

Table 8.5.32 - OpenAPI JSON Schema description for the "CFSubjectDType" Complex Type.

Table 8.5.33 - OpenAPI JSON Schema description for the "CFSubjectExtensionDType" Complex Type.

Table 8.5.34 - OpenAPI JSON Schema description for the "CFSubjectSetDType" Complex Type.

Table 8.5.35 - OpenAPI JSON Schema description for the "LinkGenURIDType" Complex Type.

Table 8.5.36 - OpenAPI JSON Schema description for the "LinkURIDType" Complex Type.

Table 8.5.37 - OpenAPI JSON Schema description for the "imsx_CodeMinorDType" Complex Type.

Table 8.5.38 - OpenAPI JSON Schema description for the "imsx_CodeMinorFieldDType" Complex Type.

Table 8.5.39 - OpenAPI JSON Schema description for the "imsx_StatusInfoDType" Complex Type.

Table A1.1 The key to the descriptions of the mapping between a service calls and its REST endpoint URL-leaf

Table A1.2 The key to the descriptions of the data attribute/characteristic tables

Table A1.3 The key to the descriptions of the list of error codes and handling for each endpoint

Table A1.4 The key to the descriptions of the privacy classification of the exchanged payloads

Table A1.5 The key to the descriptions of the privacy classification of the individual attributes for each data model class

Table A3.1a The key to the tabular description of the OpenAPI(2) general information

Table A3.1b The key to the tabular description of the OpenAPI(3) general information

Table A3.2 The key to the tabular description of the OpenAPI tags information

Table A3.3 The key to the tabular description of the OpenAPI security information.

Table A3.4 The key to the tabular description of the OpenAPI paths information for an HTTP Verb

Table A3.5 The key to the tabular description of the OpenAPI definitions information

toc | top

List of Code Blocks

Code 7.2.1 - JSON payload example for "200" response messages for a "getAllCFDocuments" operation.

Code 7.2.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getAllCFDocuments" operation.

Code 7.4.1 - JSON payload example for "200" response messages for a "getCFAssociation" operation.

Code 7.4.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFAssociation" operation.

Code 7.6.1 - JSON payload example for "200" response messages for a "getCFAssociationGrouping" operation.

Code 7.6.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFAssociationGrouping" operation.

Code 7.8.1 - JSON payload example for "200" response messages for a "getCFConcept" operation.

Code 7.8.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFConcept" operation.

Code 7.10.1 - JSON payload example for "200" response messages for a "getCFDocument" operation.

Code 7.10.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFDocument" operation.

Code 7.12.1 - JSON payload example for "200" response messages for a "getCFItem" operation.

Code 7.12.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItem" operation.

Code 7.14.1 - JSON payload example for "200" response messages for a "getCFItemAssociations" operation.

Code 7.14.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItemAssociations" operation.

Code 7.16.1 - JSON payload example for "200" response messages for a "getCFItemType" operation.

Code 7.16.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItemType" operation.

Code 7.18.1 - JSON payload example for "200" response messages for a "getCFLicense" operation.

Code 7.18.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFLicense" operation.

Code 7.20.1 - JSON payload example for "200" response messages for a "getCFPackage" operation.

Code 7.20.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFPackage" operation.

Code 7.22.1 - JSON payload example for "200" response messages for a "getCFRubric" operation.

Code 7.22.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFRubric" operation.

Code 7.24.1 - JSON payload example for "200" response messages for a "getCFSubject" operation.

Code 7.24.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFSubject" operation.

toc | top

1. Introduction

This Section is NOT NORMATIVE.

1.1. Scope and Context

This document is the Competencies and Academic Standards Exchange (CASE) REST/JSON Binding v1.0 and as such it is used as the basis for the implementing the CASE Service Model. The key related documents are:

This service model and this REST/JSON binding is described using the Unified Modeling Language (UML) based upon the 1EdTech Model Driven Specification approach and the associated modelling toolkit [I-BAT, 06]. This specification is based upon the concepts of:

Key artifacts produced as part of the REST/JSON binding description are the associated OpenAPI files based upon the OpenAPI Specifications version 2 [OAS, 14] and version 3 [OAS, 17].

1.2. Conventions

All sections marked as non-normative, all authoring guidelines, diagrams (with the exception of the UML diagrams), examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]. This means that from the perspective of conformance:

The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.

The SHOULD/SHOULD NOT/RECOMMENDED statements MUST NOT be used in any document, or section of a document, that is responsible for defining the information model and/or the associated bindings and/or conformance and certification.

1.3. Changes Between Version 1.0 and Version 1.1

The list of differences between versions 1.0 and 1.1 is:

1.4. Structure of this Document

The structure of the rest of this document is:

2. The REST Endpoints An explanation of the relationship between the logical service operations (as defined in the CASE Service Model [CASE, 19a]) and how these are realised as the corresponding set of REST endpoints (including the set of query parameters that are permitted);
3. Using the Endpoint Parameters A detailed explanation of how the permitted set of query parameters should be used to control the volume and type of information that will be supplied by the service provider;
4. Security Framework The underlying security framework within which this REST/JSON binding is designed to operate. This includes the details about authentication and how the payload integrity may be protected;
5. Data Privacy Implications Identification of the set of objects and their set of properties that MAY contain information that has privacy or privacy-related implications. Each property is identified in terms of the type of privacy. This has implication on the JSON payloads being exchanged;
6. UML to JSON Mappings The description of how the JSON payloads are derived from the equivalent UML data model definitions [CASE, 19a]. Each UML class and attribute is mapped to the equivalent JSON object and property;
7. JSON Payloads Examples of the set of JSON payloads that are sent by the consumer (the request) and returned by the service provider (response). These examples are focused on the expected structure of a request/response and do not include actual payloads;
8. Service OpenAPI Description A detailed explanation of the structure of the OpenAPI files that are produced as part of the specification documentation. The associated JSON and YAML files are supplied in Appendix B;
9. Extending and Profiling the Service An explanation of how the service can be extended, using the permitted points of extension and/or profiled. Profiling is the process by which the specification is tailored to a specific set of market/domain requirements;
References The set of cited documents, normative and informative, that are used to support the technical details in this document;
Appendix A REST/JSON Modelling Terms An overview of the model driven approach, the concepts and the terms used by IMS to create the service model REST/JSON binding definitions (based upon a profile of UML) and the accompanying documentation (including this binding);
Appendix B OpenAPI Listings The listings of the OpenAPI(JSON) and OpenAPI(YAML) files that have been created to define the REST/JSON binding in a machine-readable format i.e. conforming to the OpenAPI 2.0 and 3.0 specifications;
Appendix C JSON Schema Listings The listings of the set of JSON Schema files (based upon IETF JSON Schema Draft 7) that have been created for the validation of the set of JSON payloads that are exchanged as part of this service.

1.5. Nomenclature

API Application Programming Interface
CASE Competencies and Academic Standards Exchange
HTML Hypertext Markup Language
HTTP Hypertext Transport Protocol
JSON JavaScript Object Notation
REST Representation State Transfer
UML Unified Modelling Language
URI Uniform Resource Identifier
URL Uniform Resource Locator
UUID Universally Unique Identifier
YAML Yet Another Markup Language

toc | top

2. The REST Endpoints

This Section is NORMATIVE.

2.1 Mapping of the Service Operations to the REST Endpoints

The mapping between the service operations and the REST Endpoint URL-leaf values are listed in Table 2.1. The syntax and semantics for this mapping are described in Appendix A1.1.

Table 2.1 - The Set of REST Endpoint URL-leaf Values.
Service Call REST Endpoint HTTP Verb
getAllCFDocuments /CFDocuments GET
getCFAssociation /CFAssociations/{sourcedId} GET
getCFAssociationGrouping /CFAssociationGroupings/{sourcedId} GET
getCFConcept /CFConcepts/{sourcedId} GET
getCFDocument /CFDocuments/{sourcedId} GET
getCFItem /CFItems/{sourcedId} GET
getCFItemAssociations /CFItemAssociations/{sourcedId} GET
getCFItemType /CFItemTypes/{sourcedId} GET
getCFLicense /CFLicenses/{sourcedId} GET
getCFPackage /CFPackages/{sourcedId} GET
getCFRubric /CFRubrics/{sourcedId} GET
getCFSubject /CFSubjects/{sourcedId} GET

2.2 API Root URL and Versioning

All of the paths MUST also contain, as the base of the path, excluding the host name, the string: "/ims/case/v1p1".

2.3 Predefined Endpoint Query Parameters

The definition of the permitted set of query parameters are defined in the following Tables. The syntax and semantics for this Tables are described in Appendix A1.2.

2.3.1 "getAllCFDocuments" Endpoint Query Parameters

2.3.1.1 "limit" Query Parameter

The description of the "limit" query parameter is presented in Table 2.3.1.1

Table 2.3.1.1 - The definition of the "limit" query parameter for the "getAllCFDocuments" operation.
Descriptor Definition
Parameter Name limit
Data Type PositiveInteger (Primitive-type)
Value Space See Appendix A1.2.
Multiplicity [0..1]
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).

2.3.1.2 "offset" Query Parameter

The description of the "offset" query parameter is presented in Table 2.3.1.2

Table 2.3.1.2 - The definition of the "offset" query parameter for the "getAllCFDocuments" operation.
Descriptor Definition
Parameter Name offset
Data Type NonNegativeInteger (Primitive-type)
Value Space See Appendix A1.2.
Default = "0".
Multiplicity [0..1]
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).

2.3.1.3 "sort" Query Parameter

The description of the "sort" query parameter is presented in Table 2.3.1.3

Table 2.3.1.3 - The definition of the "sort" query parameter for the "getAllCFDocuments" operation.
Descriptor Definition
Parameter Name sort
Data Type String (Primitive-type)
Value Space See Appendix A1.2.
Multiplicity [0..1]
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).

2.3.1.4 "orderBy" Query Parameter

The description of the "orderBy" query parameter is presented in Table 2.3.1.4

Table 2.3.1.4 - The definition of the "orderBy" query parameter for the "getAllCFDocuments" operation.
Descriptor Definition
Parameter Name orderBy
Data Type Enumeration
Value Space Enumerated value set of: { asc | desc }
Multiplicity [0..1]
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).

2.3.1.5 "filter" Query Parameter

The description of the "filter" query parameter is presented in Table 2.3.1.5

Table 2.3.1.5 - The definition of the "filter" query parameter for the "getAllCFDocuments" operation.
Descriptor Definition
Parameter Name filter
Data Type String (Primitive-type)
Value Space See Appendix A1.2.
Multiplicity [0..1]
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).

2.3.1.6 "fields" Query Parameter

The description of the "fields" query parameter is presented in Table 2.3.1.6

Table 2.3.1.6 - The definition of the "fields" query parameter for the "getAllCFDocuments" operation.
Descriptor Definition
Parameter Name fields
Data Type String (Primitive-type)
Value Space See Appendix A1.2.
Multiplicity [0..*]
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).

2.3.2 "getCFAssociation" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.3 "getCFAssociationGrouping" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.4 "getCFConcept" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.5 "getCFDocument" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.6 "getCFItem" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.7 "getCFItemAssociations" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.8 "getCFItemType" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.9 "getCFLicense" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.10 "getCFPackage" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.11 "getCFRubric" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.3.12 "getCFSubject" Endpoint Query Parameters

There are no pre-defined query parameters for this endpoint.

2.4 HTTP Code Handling

A service provider will either return a data payload or a payload that indicates the cause of the failure. The list of HTTP Codes and handling for each endpoint is shown in Table 2.4. The syntax and semantics for this tabular description are described in Appendix A1.3.

Table 2.4 - The List of HTTP Codes and Handling for each Endpoint.
REST Endpoint HTTP Verb HTTP Codes and Handling
/CFItemAssociations/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFItem and set of CFAssociations from the service provider. The payload is defined by the structure CFAssociationSetDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFAssociations/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFAssociation from the service provider. The payload is defined by the structure CFAssociationDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFConcepts/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFConcept and child CFConcepts from the service provider. The payload is defined by the structure CFConceptSetDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFSubjects/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFSubject and child CFSubjects from the service provider. The payload is defined by the structure CFSubjectSetDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFLicenses/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFLicense from the service provider. The payload is defined by the structure CFLicenseDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFItemTypes/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFItemType and child CFItemTypes from the service provider. The payload is defined by the structure CFItemTypeSetDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFAssociationGroupings/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFAssociationGrouping from the service provider. The payload is defined by the structure CFAssociationGroupingDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFDocuments GET
  • 200 - this is the response when the request has been completed successfully. It is the set of CFDocuments from the service provider. The payload is defined by the structure CFDocumentSetDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFDocuments/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFDocument from the service provider. The payload is defined by the structure CFDocumentDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFItems/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFItem from the service provider. The payload is defined by the structure CFItemDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFPackages/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFPackage from the service provider. The payload is defined by the structure CFPackageDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
/CFRubrics/{sourcedId} GET
  • 200 - this is the response when the request has been completed successfully. It is the CFRubric from the service provider. The payload is defined by the structure CFRubricDType.
  • 400 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 401 - the request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'. The payload is defined by the structure imsx_StatusInfoDType.
  • 403 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 404 - 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. The payload is defined by the structure imsx_StatusInfoDType.
  • 429 - 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'. The payload is defined by the structure imsx_StatusInfoDType.
  • 500 - 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'. The payload is defined by the structure imsx_StatusInfoDType.

2.5 Service Discovery

A Service Provider MUST provide a localized version of the OpenAPI file (version 3 JSON file format) to enable service discovery [Security, 21].

This file MUST be located at: "...hostname.../ims/case/v1p1/discovery/".

The OpenAPI file MUST have the name: "imscasev1p1_openapi3_v1p0.json".

Therefore the full URL for this service discovery file is: ...hostname.../ims/case/v1p1/discovery/imscasev1p1_openapi3_v1p0.json

toc | top

3. Using the Endpoint Parameters

3.1. Pagination

For requests of collections i.e. the response for the 'getAllCFDocuments()' call, there is a danger of data overload. To avoid this, implementations should adopt a pagination mechanism. Pagination is controlled via two parameters that are appended to the request:

An example of a request to return the first 10 resources in a collection of documents:

    GET https://imsglobal.org/ims/case/v1p0/CFDocuments?limit=10

An example of a request to return the second 10 resources in a collection of documents:

    GET https://imsglobal.org/ims/case/v1p0/CFDocuments?limit=10&offset=10

It is RECOMMENDED that implementations pass the total resource count in collection back to the requester. This MUST be provided in the custom HTTP header: X-Total-Count.

It is RECOMMENDED that implementers pass back next, previous, first and last links in the HTTP Link Header.

Consider the requests for the example where 503 document resources exist in the collection. The pagination is in units of 10.

    Link:

    <https://imsglobal.org/ims/case/v1p0/CFDocuments?limit=10&offset=20>; rel="next",
    <https://imsglobal.org/ims/case/v1p0/CFDocuments?limit=3&offset=500>; rel="last",
    <https://imsglobal.org/ims/case/v1p0/CFDocuments?limit=10&offset=0>; rel="first",
    <https://imsglobal.org/ims/case/v1p0/CFDocuments?limit=10&offset=0>; rel="prev"

3.2. Sorting

It should be possible for collections, i.e. the response for the 'getAllCFDocuments()' call, to be returned in a sorted order. It should be possible to sort the collection based on any single data element in the core description of the resource. Sort requests MUST make use of the reserved word "sort" (?sort= data_field), and optionally the reserved word orderBy for which:

An example of a request to ask for a list of documents sorted into ascending 'subject' order:

    GET https://imsglobal.org/ims/case/v1p0/CFDocuments?sort=subject&orderBy=asc

Sorting should conform to the use of the Unicode Collation Algorithm [UNICODE, 16] when using the relevant comparisons.

If the consumer requests that the data is to be sorted by a non-existent field, the data is returned in the service provider's default sort order.

3.3. Filtering

For the 'getAllCFDocuments()' call, it should be possible to filter collections for elements matching a certain criteria. It should be possible to filter collections based on any data element in the core description of the resource.Filter requests MUST take the form:

    ?filter=<data_field><predicate><value>

or

    ?filter=<data_field><predicate><value><logical><data_field><predicate><value>

The data fields that can be used are those present in the class definition being filtered. So for example in 'CFDocuments', it MUST be possible to filter on: 'identifier', 'creator', title', 'subject', 'statusStartDate', etc.

Predicates MUST be chosen from those listed below:

Values MUST be enclosed within single quotes and they MUST be handled as case insensitive. When the response is returned it is the receiving system that should consider whether or not case-sensitivity is important.

The <logical> parameters allow more complex queries to be created. For version 1.0, it is RECOMMENDED that logical operations are limited to " AND " and " OR " (note the surrounding white space at each side) and that there is only one such operator used in any filter i.e. a single 'AND' or a single 'OR' in the filter. A single white space must occur before and after the parameter.

To query on the properties of nested objects, (for example, with metadata properties), a dot-notation approach MUST be used. The format for this is:

    ?filter=<Nested_Object>.<Property>

Note then when querying on metadata, the property is loosely typed. An example or a request to find CFDocuments with a 'version' of 1.0 is:

    GET https://imsglobal.org/ims/case/v1p0/CFDocuments?filter=version='1.0'

URL encoded as:

    GET https://imsglobal.org/ims/case/v1p0/CFDocuments?filter=version%3D%271.0%27

Filter queries MUST be URL encoded.

An example of a complex query for all CFDocuments with a version=1.0' AND lastChangeDateTime>'2016-12-12T00:00:00Z' is:

    GET https://imsglobal.org/ims/case/v1p0/CFDocuments?filter=version%3D%271.0%27%20AND%20lastChangeDateTime%3E%272016%3D12%3D12T00%3A00%3A00Z%27

When filtering on objects that are arrays the application of the filter depends on the nature of the comparison. So in the case of filtering on the 'subject' field when the value of the field is "subject1,subject2,subject3" the following filters would return:

This means filtering using the '=' has 'AND' semantics and for '~' has 'OR' semantics. Filtering rules should conform to the use of the Unicode Collation Algorithm [UNICODE, 16] when using the relevant comparisons.

If the consumer requests that data be filtered by a non-existent field, NO data is returned and the server must provide the associated transaction status code information of:

3.4. Field Selection

For the 'getAllCFDocuments()' call, it should be possible for requesters to select the range of fields to be returned. By default, all mandatory and optional fields from the core description of the resource MUST be returned. If any fields are specified in the request then the implementation should return those fields AND ONLY those fields i.e. the multiplicity rules for an element are overridden. Any field or fields from the Data Model MAY be requested.

Field selection request MUST make use of the reserved word 'fields'. The value of fields is a comma delimited list of the fields to return. An example of a request message to ask for a list of CFDocuments returning only the 'identifier' and 'subject':

    GET https://imsglobal.org/ims/case/v1p0/CFDocuments?fields=identifier,subject

If the consumer requests that data be selected using non-existent field, ALL data for the record is returned. If the consumer requests that data be selected using a blank field the request will be treated as an invalid request. The server must provide the associated transaction status code information of:

toc | top

4. Security Framework

Apart from requirements about securing the exchange of the payloads there is no security architecture support required by the specification. It is recommended that suitable security mechanisms are used as required by the particular deployment environment.

If further security issues are to be addressed, the solution patterns described in the 1EdTech Security Framework [Security, 21] SHOULD be used.

4.1. Transport Security

As the service will be exposing personal data related to students and their grades, it is important that only authorized users have access to that data. Further, data exchanges should be encrypted to ensure that packet sniffing cannot be used to read the data in transit.

All Requests and Responses MUST be sent using Transport Layer Security (TLS). Exchange of the signed certificates for endpoints between clients and servers is beyond the scope of this specification. Implementers of clients and servers are advised to look at the various 3rd party certificate signing services in order to obtain signed certificates.

Support for TLS 1.2 and/or TLS 1.3 is REQUIRED and SSL MUST NOT be used.

toc | top

5. Data Privacy Implications

This Section is NORMATIVE.

5.1 Endpoint Confidentiality Classification

There are no privacy implications when using this specification.

5.2 Data Model Confidentiality Classifications

There are no privacy implications when using this specification.

toc | top

6. UML to JSON Mappings

This Section is NOT NORMATIVE.

6.1 Service Parameter Payload Properties UML/JSON Mapping

The UML/JSON Mapping for the Service Parameters (excluding those service parameters passed as query parameters on the endpoint URL) to the JSON Payload Properties is given in Table 6.1. The syntax and semantics for this representation is described in Appendix A2.1.

Table 6.1 UML/JSON Mapping for the Service Parameters.
Operation Name Parameter Name UML Class JSON Name JSON Type JSON Schema Data Type
getAllCFDocuments CFDocuments CFDocumentSet CFDocuments Array of Objects CFDocumentSetDType
getCFAssociation N/A (Flat data structure) CFAssociation N/A (Flat data structure) Object CFAssociationDType
getCFAssociationGrouping N/A (Flat data structure) CFAssociationGrouping N/A (Flat data structure) Set of Properties CFAssociationGroupingDType
getCFConcept CFConcepts CFConceptSet CFConcepts Array of Objects CFConceptSetDType
getCFDocument N/A (Flat data structure) CFDocument N/A (Flat data structure) Object CFDocumentDType
getCFItem N/A (Flat data structure) CFItem N/A (Flat data structure) Object CFItemDType
getCFItemAssociations N/A (Flat data structure) CFAssociationSet N/A (Flat data structure) Set of Properties CFAssociationSetDType
getCFItemType CFItemTypes CFItemTypeSet CFItemTypes Array of Objects CFItemTypeSetDType
getCFLicense N/A (Flat data structure) CFLicense N/A (Flat data structure) Set of Properties CFLicenseDType
getCFPackage N/A (Flat data structure) CFPackage N/A (Flat data structure) Set of Properties CFPackageDType
getCFRubric N/A (Flat data structure) CFRubric N/A (Flat data structure) Set of Properties CFRubricDType
getCFSubject CFSubjects CFSubjectSet CFSubjects Array of Objects CFSubjectSetDType

6.2 Service Parameter Payload Class UML/JSON Mapping

The syntax and semantics for the Root Class UML/JSON mapping representations is described in Appendix A2.2.

6.2.1 CFItem Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFItem" Service Parameter Payload Class is given in Table 6.2.1.

Table 6.2.1 UML/JSON Mapping for the "CFItem" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFItem Payload Parameter Container [ Unordered ] AND Inherits [ CFPckgItem ] - N/A - CFItemDType Object
  • identifier
    [ INHERITED ]
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • fullStatement
    [ INHERITED ]
Attribute PT: String [1] fullStatement Property
  • alternativeLabel
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] alternativeLabel Property
  • CFItemType
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] CFItemType Property
  • uri
    [ INHERITED ]
Attribute PT: AnyURI [1] uri Property
  • humanCodingScheme
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] humanCodingScheme Property
  • listEnumeration
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] listEnumeration Property
  • abbreviatedStatement
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] abbreviatedStatement Property
  • conceptKeywords
    [ INHERITED ]
Attribute PT: NormalizedString [0.. *] conceptKeywords Array of Properties
  • conceptKeywordsURI
    [ INHERITED ]
Attribute LinkURI [0..1] conceptKeywordsURI Property
  • notes
    [ INHERITED ]
Attribute PT: String [0..1] notes Property
  • subject
    [ INHERITED ]
Attribute PT: NormalizedString [0.. *] subject Array of Properties
  • subjectURI
    [ INHERITED ]
Attribute LinkURI [0.. *] subjectURI Array of Properties
  • language
    [ INHERITED ]
Attribute PT: Language [0..1] language Property
  • educationLevel
    [ INHERITED ]
Attribute PT: NormalizedString [0.. *] educationLevel Array of Properties
  • CFItemTypeURI
    [ INHERITED ]
Attribute LinkURI [0..1] CFItemTypeURI Property
  • licenseURI
    [ INHERITED ]
Attribute LinkURI [0..1] licenseURI Property
  • statusStartDate
    [ INHERITED ]
Attribute PT: Date [0..1] statusStartDate Property
  • statusEndDate
    [ INHERITED ]
Attribute PT: Date [0..1] statusEndDate Property
  • lastChangeDateTime
    [ INHERITED ]
Attribute PT: DateTime [1] lastChangeDateTime Property
  • extensions
    [ INHERITED ]
Attribute CFItemExtension [0..1] extensions Property
  • CFDocumentURI
Attribute LinkURI [1] CFDocumentURI Property

6.2.2 CFAssociationSet Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFAssociationSet" Service Parameter Payload Class is given in Table 6.2.2.

Table 6.2.2 UML/JSON Mapping for the "CFAssociationSet" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFAssociationSet Payload Parameter Container [ Unordered ] - N/A - CFAssociationSetDType Object
  • CFItem
Attribute CFItem [1] CFItem Property
  • CFAssociations
Attribute CFPckgAssociation [1.. *] CFAssociations Array of Properties

6.2.3 CFAssociation Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFAssociation" Service Parameter Payload Class is given in Table 6.2.3.

Table 6.2.3 UML/JSON Mapping for the "CFAssociation" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFAssociation Payload Parameter Container [ Unordered ] AND Inherits [ CFPckgAssociation ] - N/A - CFAssociationDType Object
  • identifier
    [ INHERITED ]
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • associationType
    [ INHERITED ]
Attribute [ Union (CFAssociationTypeExtEnum) ] [1] associationType Property
  • sequenceNumber
    [ INHERITED ]
Attribute PT: Integer [0..1] sequenceNumber Property
  • uri
    [ INHERITED ]
Attribute PT: AnyURI [1] uri Property
  • originNodeURI
    [ INHERITED ]
Attribute LinkGenURI [1] originNodeURI Property
  • destinationNodeURI
    [ INHERITED ]
Attribute LinkGenURI [1] destinationNodeURI Property
  • CFAssociationGroupingURI
    [ INHERITED ]
Attribute LinkURI [0..1] CFAssociationGroupingURI Property
  • lastChangeDateTime
    [ INHERITED ]
Attribute PT: DateTime [1] lastChangeDateTime Property
  • notes
    [ INHERITED ]
Attribute PT: String [0..1] notes Property
  • extensions
    [ INHERITED ]
Attribute CFAssociationExtension [0..1] extensions Property
  • CFDocumentURI
Attribute LinkURI [0..1] CFDocumentURI Property

6.2.4 CFRubric Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFRubric" Service Parameter Payload Class is given in Table 6.2.4.

Table 6.2.4 UML/JSON Mapping for the "CFRubric" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFRubric Payload Parameter Container [ Unordered ] - N/A - CFRubricDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • title
Attribute PT: NormalizedString [0..1] title Property
  • description
Attribute PT: String [0..1] description Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • CFRubricCriteria
Attribute CFRubricCriterion [0.. *] CFRubricCriteria Array of Properties
  • extensions
Attribute CFRubricExtension [0..1] extensions Property

6.2.5 CFDocumentSet Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFDocumentSet" Service Parameter Payload Class is given in Table 6.2.5.

Table 6.2.5 UML/JSON Mapping for the "CFDocumentSet" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFDocumentSet Payload Parameter Container [ Unordered ] - N/A - CFDocumentSetDType Object
  • CFDocuments
Attribute CFDocument [1.. *] CFDocuments Array of Properties

6.2.6 CFDocument Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFDocument" Service Parameter Payload Class is given in Table 6.2.6.

Table 6.2.6 UML/JSON Mapping for the "CFDocument" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFDocument Payload Parameter Container [ Unordered ] AND Inherits [ CFPckgDocument ] - N/A - CFDocumentDType Object
  • identifier
    [ INHERITED ]
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
    [ INHERITED ]
Attribute PT: AnyURI [1] uri Property
  • frameworkType
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] frameworkType Property
  • caseVersion
    [ INHERITED ]
Attribute [ Enumeration (CaseVersionEnum) ] [0..1] caseVersion Property
  • creator
    [ INHERITED ]
Attribute PT: NormalizedString [1] creator Property
  • title
    [ INHERITED ]
Attribute PT: NormalizedString [1] title Property
  • lastChangeDateTime
    [ INHERITED ]
Attribute PT: DateTime [1] lastChangeDateTime Property
  • officialSourceURL
    [ INHERITED ]
Attribute DT: URL (PT: AnyURI) [0..1] officialSourceURL Property
  • publisher
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] publisher Property
  • description
    [ INHERITED ]
Attribute PT: String [0..1] description Property
  • subject
    [ INHERITED ]
Attribute PT: NormalizedString [0.. *] subject Array of Properties
  • subjectURI
    [ INHERITED ]
Attribute LinkURI [0.. *] subjectURI Array of Properties
  • language
    [ INHERITED ]
Attribute PT: Language [0..1] language Property
  • version
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] version Property
  • adoptionStatus
    [ INHERITED ]
Attribute PT: NormalizedString [0..1] adoptionStatus Property
  • statusStartDate
    [ INHERITED ]
Attribute PT: Date [0..1] statusStartDate Property
  • statusEndDate
    [ INHERITED ]
Attribute PT: Date [0..1] statusEndDate Property
  • licenseURI
    [ INHERITED ]
Attribute LinkURI [0..1] licenseURI Property
  • notes
    [ INHERITED ]
Attribute PT: String [0..1] notes Property
  • extensions
    [ INHERITED ]
Attribute CFDocumentExtension [0..1] extensions Property
  • CFPackageURI
Attribute LinkURI [1] CFPackageURI Property

6.2.7 CFPackage Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFPackage" Service Parameter Payload Class is given in Table 6.2.7.

Table 6.2.7 UML/JSON Mapping for the "CFPackage" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFPackage Payload Parameter Container [ Unordered ] - N/A - CFPackageDType Object
  • CFDocument
Attribute CFPckgDocument [1] CFDocument Property
  • CFItems
Attribute CFPckgItem [0.. *] CFItems Array of Properties
  • CFAssociations
Attribute CFPckgAssociation [0.. *] CFAssociations Array of Properties
  • CFDefinitions
Attribute CFDefinition [0..1] CFDefinitions Property
  • CFRubrics
Attribute CFRubric [0.. *] CFRubrics Array of Properties
  • extensions
Attribute CFPackageExtension [0..1] extensions Property

6.2.8 CFConceptSet Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFConceptSet" Service Parameter Payload Class is given in Table 6.2.8.

Table 6.2.8 UML/JSON Mapping for the "CFConceptSet" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFConceptSet Payload Parameter Container [ Unordered ] - N/A - CFConceptSetDType Object
  • CFConcepts
Attribute CFConcept [1.. *] CFConcepts Array of Properties

6.2.9 CFSubjectSet Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFSubjectSet" Service Parameter Payload Class is given in Table 6.2.9.

Table 6.2.9 UML/JSON Mapping for the "CFSubjectSet" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFSubjectSet Payload Parameter Container [ Unordered ] - N/A - CFSubjectSetDType Object
  • CFSubjects
Attribute CFSubject [1.. *] CFSubjects Array of Properties

6.2.10 CFLicense Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFLicense" Service Parameter Payload Class is given in Table 6.2.10.

Table 6.2.10 UML/JSON Mapping for the "CFLicense" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFLicense Payload Parameter Container [ Unordered ] - N/A - CFLicenseDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • title
Attribute PT: NormalizedString [1] title Property
  • description
Attribute PT: String [0..1] description Property
  • licenseText
Attribute PT: String [1] licenseText Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • extensions
Attribute CFLicenseExtension [0..1] extensions Property

6.2.11 CFItemTypeSet Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFItemTypeSet" Service Parameter Payload Class is given in Table 6.2.11.

Table 6.2.11 UML/JSON Mapping for the "CFItemTypeSet" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFItemTypeSet Payload Parameter Container [ Unordered ] - N/A - CFItemTypeSetDType Object
  • CFItemTypes
Attribute CFItemType [1.. *] CFItemTypes Array of Properties

6.2.12 CFAssociationGrouping Service Parameter Payload Class Mapping

The UML/JSON Mapping for the "CFAssociationGrouping" Service Parameter Payload Class is given in Table 6.2.12.

Table 6.2.12 UML/JSON Mapping for the "CFAssociationGrouping" Service Parameter Payload Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFAssociationGrouping Payload Parameter Container [ Unordered ] - N/A - CFAssociationGroupingDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • title
Attribute PT: NormalizedString [1] title Property
  • description
Attribute PT: String [0..1] description Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • extensions
Attribute CFAssociationGroupingExtension [0..1] extensions Property

6.3 Payload Classes UML/JSON Mapping

The syntax and semantics for the Data Class UML/JSON mapping representations is described in Appendix A2.2.

6.3.1 CFAssociationExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFAssociationExtension" Class is given in Table 6.3.1.

Table 6.3.1 Payload UML/JSON Mapping for the "CFAssociationExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFAssociationExtension Core Container [ Sequence ] - N/A - CFAssociationExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.2 CFAssociationGroupingExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFAssociationGroupingExtension" Class is given in Table 6.3.2.

Table 6.3.2 Payload UML/JSON Mapping for the "CFAssociationGroupingExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFAssociationGroupingExtension Core Container [ Sequence ] - N/A - CFAssociationGroupingExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.3 CFConcept Payload Class Mapping

The Payload UML/JSON Mapping for the "CFConcept" Class is given in Table 6.3.3.

Table 6.3.3 Payload UML/JSON Mapping for the "CFConcept" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFConcept Core Container [ Unordered ] - N/A - CFConceptDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • title
Attribute PT: NormalizedString [1] title Property
  • keywords
Attribute PT: NormalizedString [0..1] keywords Property
  • hierarchyCode
Attribute PT: NormalizedString [1] hierarchyCode Property
  • description
Attribute PT: String [0..1] description Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • extensions
Attribute CFConceptExtension [0..1] extensions Property

6.3.4 CFConceptExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFConceptExtension" Class is given in Table 6.3.4.

Table 6.3.4 Payload UML/JSON Mapping for the "CFConceptExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFConceptExtension Core Container [ Sequence ] - N/A - CFConceptExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.5 CFDefinition Payload Class Mapping

The Payload UML/JSON Mapping for the "CFDefinition" Class is given in Table 6.3.5.

Table 6.3.5 Payload UML/JSON Mapping for the "CFDefinition" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFDefinition Core Container [ Unordered ] - N/A - CFDefinitionDType Object
  • CFConcepts
Attribute CFConcept [0.. *] CFConcepts Array of Properties
  • CFSubjects
Attribute CFSubject [0.. *] CFSubjects Array of Properties
  • CFLicenses
Attribute CFLicense [0.. *] CFLicenses Array of Properties
  • CFItemTypes
Attribute CFItemType [0.. *] CFItemTypes Array of Properties
  • CFAssociationGroupings
Attribute CFAssociationGrouping [0.. *] CFAssociationGroupings Array of Properties
  • extensions
Attribute CFDefinitionExtension [0..1] extensions Property

6.3.6 CFDefinitionExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFDefinitionExtension" Class is given in Table 6.3.6.

Table 6.3.6 Payload UML/JSON Mapping for the "CFDefinitionExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFDefinitionExtension Core Container [ Sequence ] - N/A - CFDefinitionExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.7 CFDocumentExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFDocumentExtension" Class is given in Table 6.3.7.

Table 6.3.7 Payload UML/JSON Mapping for the "CFDocumentExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFDocumentExtension Core Container [ Sequence ] - N/A - CFDocumentExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.8 CFItemExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFItemExtension" Class is given in Table 6.3.8.

Table 6.3.8 Payload UML/JSON Mapping for the "CFItemExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFItemExtension Core Container [ Sequence ] - N/A - CFItemExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.9 CFItemType Payload Class Mapping

The Payload UML/JSON Mapping for the "CFItemType" Class is given in Table 6.3.9.

Table 6.3.9 Payload UML/JSON Mapping for the "CFItemType" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFItemType Core Container [ Unordered ] - N/A - CFItemTypeDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • title
Attribute PT: NormalizedString [1] title Property
  • description
Attribute PT: String [1] description Property
  • hierarchyCode
Attribute PT: NormalizedString [1] hierarchyCode Property
  • typeCode
Attribute PT: NormalizedString [0..1] typeCode Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • extensions
Attribute CFItemTypeExtension [0..1] extensions Property

6.3.10 CFItemTypeExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFItemTypeExtension" Class is given in Table 6.3.10.

Table 6.3.10 Payload UML/JSON Mapping for the "CFItemTypeExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFItemTypeExtension Core Container [ Sequence ] - N/A - CFItemTypeExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.11 CFLicenseExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFLicenseExtension" Class is given in Table 6.3.11.

Table 6.3.11 Payload UML/JSON Mapping for the "CFLicenseExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFLicenseExtension Core Container [ Sequence ] - N/A - CFLicenseExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.12 CFPackageExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFPackageExtension" Class is given in Table 6.3.12.

Table 6.3.12 Payload UML/JSON Mapping for the "CFPackageExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFPackageExtension Core Container [ Sequence ] - N/A - CFPackageExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.13 CFPckgAssociation Payload Class Mapping

The Payload UML/JSON Mapping for the "CFPckgAssociation" Class is given in Table 6.3.13.

Table 6.3.13 Payload UML/JSON Mapping for the "CFPckgAssociation" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFPckgAssociation Core Container [ Unordered ] - N/A - CFPckgAssociationDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • associationType
Attribute [ Union (CFAssociationTypeExtEnum) ] [1] associationType Property
  • sequenceNumber
Attribute PT: Integer [0..1] sequenceNumber Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • originNodeURI
Attribute LinkGenURI [1] originNodeURI Property
  • destinationNodeURI
Attribute LinkGenURI [1] destinationNodeURI Property
  • CFAssociationGroupingURI
Attribute LinkURI [0..1] CFAssociationGroupingURI Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • notes
Attribute PT: String [0..1] notes Property
  • extensions
Attribute CFAssociationExtension [0..1] extensions Property

6.3.14 CFPckgDocument Payload Class Mapping

The Payload UML/JSON Mapping for the "CFPckgDocument" Class is given in Table 6.3.14.

Table 6.3.14 Payload UML/JSON Mapping for the "CFPckgDocument" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFPckgDocument Core Container [ Unordered ] - N/A - CFPckgDocumentDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • frameworkType
Attribute PT: NormalizedString [0..1] frameworkType Property
  • caseVersion
Attribute [ Enumeration (CaseVersionEnum) ] [0..1] caseVersion Property
  • creator
Attribute PT: NormalizedString [1] creator Property
  • title
Attribute PT: NormalizedString [1] title Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • officialSourceURL
Attribute DT: URL (PT: AnyURI) [0..1] officialSourceURL Property
  • publisher
Attribute PT: NormalizedString [0..1] publisher Property
  • description
Attribute PT: String [0..1] description Property
  • subject
Attribute PT: NormalizedString [0.. *] subject Array of Properties
  • subjectURI
Attribute LinkURI [0.. *] subjectURI Array of Properties
  • language
Attribute PT: Language [0..1] language Property
  • version
Attribute PT: NormalizedString [0..1] version Property
  • adoptionStatus
Attribute PT: NormalizedString [0..1] adoptionStatus Property
  • statusStartDate
Attribute PT: Date [0..1] statusStartDate Property
  • statusEndDate
Attribute PT: Date [0..1] statusEndDate Property
  • licenseURI
Attribute LinkURI [0..1] licenseURI Property
  • notes
Attribute PT: String [0..1] notes Property
  • extensions
Attribute CFDocumentExtension [0..1] extensions Property

6.3.15 CFPckgItem Payload Class Mapping

The Payload UML/JSON Mapping for the "CFPckgItem" Class is given in Table 6.3.15.

Table 6.3.15 Payload UML/JSON Mapping for the "CFPckgItem" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFPckgItem Core Container [ Unordered ] - N/A - CFPckgItemDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • fullStatement
Attribute PT: String [1] fullStatement Property
  • alternativeLabel
Attribute PT: NormalizedString [0..1] alternativeLabel Property
  • CFItemType
Attribute PT: NormalizedString [0..1] CFItemType Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • humanCodingScheme
Attribute PT: NormalizedString [0..1] humanCodingScheme Property
  • listEnumeration
Attribute PT: NormalizedString [0..1] listEnumeration Property
  • abbreviatedStatement
Attribute PT: NormalizedString [0..1] abbreviatedStatement Property
  • conceptKeywords
Attribute PT: NormalizedString [0.. *] conceptKeywords Array of Properties
  • conceptKeywordsURI
Attribute LinkURI [0..1] conceptKeywordsURI Property
  • notes
Attribute PT: String [0..1] notes Property
  • subject
Attribute PT: NormalizedString [0.. *] subject Array of Properties
  • subjectURI
Attribute LinkURI [0.. *] subjectURI Array of Properties
  • language
Attribute PT: Language [0..1] language Property
  • educationLevel
Attribute PT: NormalizedString [0.. *] educationLevel Array of Properties
  • CFItemTypeURI
Attribute LinkURI [0..1] CFItemTypeURI Property
  • licenseURI
Attribute LinkURI [0..1] licenseURI Property
  • statusStartDate
Attribute PT: Date [0..1] statusStartDate Property
  • statusEndDate
Attribute PT: Date [0..1] statusEndDate Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • extensions
Attribute CFItemExtension [0..1] extensions Property

6.3.16 CFRubricCriterion Payload Class Mapping

The Payload UML/JSON Mapping for the "CFRubricCriterion" Class is given in Table 6.3.16.

Table 6.3.16 Payload UML/JSON Mapping for the "CFRubricCriterion" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFRubricCriterion Core Container [ Unordered ] - N/A - CFRubricCriterionDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • category
Attribute PT: NormalizedString [0..1] category Property
  • description
Attribute PT: String [0..1] description Property
  • CFItemURI
Attribute LinkURI [0..1] CFItemURI Property
  • weight
Attribute PT: Float [0..1] weight Property
  • position
Attribute PT: Integer [0..1] position Property
  • rubricId
Attribute DT: UUID (PT: NormalizedString) [0..1] rubricId Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • CFRubricCriterionLevels
Attribute CFRubricCriterionLevel [0.. *] CFRubricCriterionLevels Array of Properties
  • extensions
Attribute CFRubricCriterionExtension [0..1] extensions Property

6.3.17 CFRubricCriterionExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFRubricCriterionExtension" Class is given in Table 6.3.17.

Table 6.3.17 Payload UML/JSON Mapping for the "CFRubricCriterionExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFRubricCriterionExtension Core Container [ Sequence ] - N/A - CFRubricCriterionExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.18 CFRubricCriterionLevel Payload Class Mapping

The Payload UML/JSON Mapping for the "CFRubricCriterionLevel" Class is given in Table 6.3.18.

Table 6.3.18 Payload UML/JSON Mapping for the "CFRubricCriterionLevel" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFRubricCriterionLevel Core Container [ Unordered ] - N/A - CFRubricCriterionLevelDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • description
Attribute PT: String [0..1] description Property
  • quality
Attribute PT: NormalizedString [0..1] quality Property
  • score
Attribute PT: Float [0..1] score Property
  • feedback
Attribute PT: String [0..1] feedback Property
  • position
Attribute PT: Integer [0..1] position Property
  • rubricCriterionId
Attribute DT: UUID (PT: NormalizedString) [0..1] rubricCriterionId Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • extensions
Attribute CFRubricCriterionLevelExtension [0.. *] extensions Array of Properties

6.3.19 CFRubricCriterionLevelExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFRubricCriterionLevelExtension" Class is given in Table 6.3.19.

Table 6.3.19 Payload UML/JSON Mapping for the "CFRubricCriterionLevelExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFRubricCriterionLevelExtension Core Container [ Sequence ] - N/A - CFRubricCriterionLevelExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.20 CFRubricExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFRubricExtension" Class is given in Table 6.3.20.

Table 6.3.20 Payload UML/JSON Mapping for the "CFRubricExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFRubricExtension Core Container [ Sequence ] - N/A - CFRubricExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.21 CFSubject Payload Class Mapping

The Payload UML/JSON Mapping for the "CFSubject" Class is given in Table 6.3.21.

Table 6.3.21 Payload UML/JSON Mapping for the "CFSubject" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFSubject Core Container [ Unordered ] - N/A - CFSubjectDType Object
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • title
Attribute PT: NormalizedString [1] title Property
  • hierarchyCode
Attribute PT: NormalizedString [1] hierarchyCode Property
  • description
Attribute PT: String [0..1] description Property
  • lastChangeDateTime
Attribute PT: DateTime [1] lastChangeDateTime Property
  • extensions
Attribute CFSubjectExtension [0..1] extensions Property

6.3.22 CFSubjectExtension Payload Class Mapping

The Payload UML/JSON Mapping for the "CFSubjectExtension" Class is given in Table 6.3.22.

Table 6.3.22 Payload UML/JSON Mapping for the "CFSubjectExtension" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
CFSubjectExtension Core Container [ Sequence ] - N/A - CFSubjectExtensionDType Object
  • extensions
Attribute PT: Namespace [0.. *] Set of Proprietary Properties Set of Proprietary Properties

6.3.23 LinkGenURI Payload Class Mapping

The Payload UML/JSON Mapping for the "LinkGenURI" Class is given in Table 6.3.23.

Table 6.3.23 Payload UML/JSON Mapping for the "LinkGenURI" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
LinkGenURI Core Container [ Unordered ] - N/A - LinkGenURIDType Object
  • title
Attribute PT: NormalizedString [1] title Property
  • identifier
Attribute PT: NormalizedString [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property
  • targetType
Attribute [ Union (TargetTypeExtEnum) ] [0..1] targetType Property

6.3.24 LinkURI Payload Class Mapping

The Payload UML/JSON Mapping for the "LinkURI" Class is given in Table 6.3.24.

Table 6.3.24 Payload UML/JSON Mapping for the "LinkURI" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
LinkURI Core Container [ Unordered ] - N/A - LinkURIDType Object
  • title
Attribute PT: NormalizedString [1] title Property
  • identifier
Attribute DT: UUID (PT: NormalizedString) [1] identifier Property
  • uri
Attribute PT: AnyURI [1] uri Property

6.3.25 imsx_CodeMinor Payload Class Mapping

The Payload UML/JSON Mapping for the "imsx_CodeMinor" Class is given in Table 6.3.25.

Table 6.3.25 Payload UML/JSON Mapping for the "imsx_CodeMinor" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
imsx_CodeMinor Core Container [ Sequence ] - N/A - imsx_CodeMinorDType Object
  • imsx_codeMinorField
Attribute imsx_CodeMinorField [1.. *] imsx_codeMinorField Array of Properties

6.3.26 imsx_CodeMinorField Payload Class Mapping

The Payload UML/JSON Mapping for the "imsx_CodeMinorField" Class is given in Table 6.3.26.

Table 6.3.26 Payload UML/JSON Mapping for the "imsx_CodeMinorField" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
imsx_CodeMinorField Core Container [ Sequence ] - N/A - imsx_CodeMinorFieldDType Object
  • imsx_codeMinorFieldName
Attribute PT: NormalizedString [1] imsx_codeMinorFieldName Property
  • imsx_codeMinorFieldValue
Attribute [ Enumeration (imsx_CodeMinorValueEnum) ] [1] imsx_codeMinorFieldValue Property

6.3.27 imsx_StatusInfo Payload Class Mapping

The Payload UML/JSON Mapping for the "imsx_StatusInfo" Class is given in Table 6.3.27.

Table 6.3.27 Payload UML/JSON Mapping for the "imsx_StatusInfo" Class.
Information Model Details JSON Binding Details
Name UML Artefact Data Type Multiplicity Name Type
imsx_StatusInfo Core Container [ Sequence ] - N/A - imsx_StatusInfoDType Object
  • imsx_codeMajor
Attribute [ Enumeration (imsx_CodeMajorEnum) ] [1] imsx_codeMajor Property
  • imsx_severity
Attribute [ Enumeration (imsx_SeverityEnum) ] [1] imsx_severity Property
  • imsx_description
Attribute PT: String [0..1] imsx_description Property
  • imsx_codeMinor
Attribute imsx_CodeMinor [0..1] imsx_codeMinor Property

6.4 Enumerated Class UML/JSON Mapping

The definition of the set of enumerated data-types used in this specification is given in Table 6.4. The syntax and semantics for the Enumerated Class UML/JSON mapping representations is described in Appendix A2.3.

Table 6.4 The UML/JSON Map Enumerated Class Definitions.
Enumeration Class Name Description
CFAssociationTypeEnum Enumerated value set of: { isChildOf | isPeerOf | isPartOf | exactMatchOf | precedes | isRelatedTo | replacedBy | exemplar | hasSkillLevel | isTranslationOf }.
CaseVersionEnum Enumerated value set of: { 1.1 }.
TargetTypeEnum Enumerated value set of: { CASE }.
imsx_CodeMajorEnum Enumerated value set of: { success | processing | failure | unsupported }.
imsx_CodeMinorValueEnum Enumerated value set of: { fullsuccess | invalid_sort_field | invalid_selection_field | forbidden | unauthorised_request | internal_server_error | unknownobject | server_busy | invalid_uuid }.
imsx_SeverityEnum Enumerated value set of: { status | warning | error }.

6.5 Enumerated List Class UML/JSON Mapping

There are no enumerated list class definitions.

6.6 Union Class UML/JSON Mapping

The definition of the set of union data-types used in this specification is given in Table 6.6. The syntax and semantics for the Union Class UML/JSON mapping representations is described in Appendix A2.4.

Table 6.6 The UML/JSON Map Union Class Definitions.
Union Class Name Description
CFAssociationTypeExtEnum This is a value from one of the set of data-types: CFAssociationTypeEnum, EnumExtString
TargetTypeExtEnum This is a value from one of the set of data-types: TargetTypeEnum, EnumExtString

6.7 Primitive Type UML/JSON Mapping

The definition of the set of primitive data-types used in this specification is given in Table 6.7. The syntax and semantics for the Primitive Type UML/JSON mapping representations is described in Appendix A2.4.

Table 6.7 The UML/JSON Map Primitive Type Definitions.
Primitive Type Name Description
AnyURI This is mapped to the JSON "string" data-type with the format of "uri".
Date This is mapped to the JSON "string" data-type with the format of "date".
DateTime This is mapped to the JSON "string" data-type with the format of "dateTime".
Float This is mapped to the JSON "number" data-type with the format of "float".
Integer This is mapped to the JSON "integer" data-type with the format of "int32".
Language This is mapped to the JSON "string" data-type.
Namespace This denotes an extension facility. The class is permitted to have proprietary JSON properties i.e. "additionalProperties: true".
NormalizedString This is mapped to the JSON "string" data-type.
String This is mapped to the JSON "string" data-type.

toc | top

7. JSON Payloads

This Section is NOT NORMATIVE.

7.1 "getAllCFDocuments" Request Payload

There is no payload for this request.

7.2 "getAllCFDocuments" Response Payloads

7.2.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.2.1 - Tabular representation of the JSON payload for "200" response messages for a "getAllCFDocuments" operation.
Property Name Multiplicity JSON Data-type Description
    CFDocuments [1..*] Array [ Object ] This is the data for a single CFDocument within the CFDocumentSet container.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFDocument using a network-resolvable URI.
            frameworkType [0..1] String This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.
            caseVersion [0..1] Enumeration This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
            creator [1..1] String 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.
            title [1..1] String The title of the CFDocument.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            officialSourceURL [0..1] String (Format: uri) The URL link to the formal citation of the original achievement standards document created for humans.
            publisher [0..1] String The entity responsible for making the learning standards document available.
            description [0..1] String A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.
            subject [0..*] Array [ String ] The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).
            subjectURI [0..*] Array [ Object ] A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            language [0..1] String The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).
            version [0..1] String Defines the revision of the document (the nature of this versioning is an implementation issue).
            adoptionStatus [0..1] String The publication status of the document.
            statusStartDate [0..1] String (Format: date) The date the CFDocument status started.
            statusEndDate [0..1] String (Format: date) The date the CFDocument status ended or changed to another status.
            licenseURI [0..1] Object A link to a legal document controlling permission to do something with the standards document.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            notes [0..1] String Any text used to comment on the published CFDocument.
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            CFPackageURI [1..1] Object An unambiguous reference to the CFPackage that would be used to contain this CFDocument using a network-resolvable URI.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.1b.

Code 7.2.1 - JSON payload example for "200" response messages for a "getAllCFDocuments" operation.
    {
        "CFDocuments" : [
            {
                "identifier" : "..NormalizedString..",
                "uri" : "..URI..",
                "frameworkType" : "..NormalizedString..",
                "caseVersion" : "1.1",
                "creator" : "..NormalizedString..",
                "title" : "..NormalizedString..",
                "lastChangeDateTime" : "..Date/Time..",
                "officialSourceURL" : "..URI..",
                "publisher" : "..NormalizedString..",
                "description" : "..String..",
                "subject" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
                "subjectURI" : [
                    {
                        "title" : "..NormalizedString..",
                        "identifier" : "..NormalizedString..",
                        "uri" : "..URI.."
                    },
                    {...},
                    {...}
                ],
                "language" : "..String(Language Code)..",
                "version" : "..NormalizedString..",
                "adoptionStatus" : "..NormalizedString..",
                "statusStartDate" : "..String(Date)..",
                "statusEndDate" : "..String(Date)..",
                "licenseURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                "notes" : "..String..",
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                },
                "CFPackageURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                }
            },
            {...},
            {...}
        ]
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.2.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.2.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getAllCFDocuments" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.1c.

Code 7.2.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getAllCFDocuments" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.3 "getCFAssociation" Request Payload

There is no payload for this request.

7.4 "getCFAssociation" Response Payloads

7.4.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.4.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFAssociation" operation.
Property Name Multiplicity JSON Data-type Description
    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.
    associationType [1..1] Union(CFAssociationTypeExtEnum) The type of association. This uses an extensible enumerated vocabulary. Changed in CASE 1.1.
    sequenceNumber [0..1] Integer 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.
    uri [1..1] String (Format: uri) An unambiguous reference to the CFAssociation using a network-resolvable URI.
    originNodeURI [1..1] Object The resolvable URI for the origin node object.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            targetType [0..1] Union(TargetTypeExtEnum) This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
    destinationNodeURI [1..1] Object The resolvable URI for the destination node object.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            targetType [0..1] Union(TargetTypeExtEnum) This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
    CFAssociationGroupingURI [0..1] Object The network resolvable URI for the link data relationship to a CFAssociationGrouping.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
    notes [0..1] String A new attribute added in Version 1.1. Information about the CFAssociation.
    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    CFDocumentURI [0..1] Object An unambiguous reference to the CFDocument that would be used in the context of this CFAssociation using a network-resolvable URI.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.2b.

Code 7.4.1 - JSON payload example for "200" response messages for a "getCFAssociation" operation.
    {
        "identifier" : "..NormalizedString..",
        "sequenceNumber" : ..Number(Integer)..,
        "uri" : "..URI..",
        "originNodeURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI..",
            "targetType" : "..select from Union.."
        },
        "destinationNodeURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI..",
            "targetType" : "..select from Union.."
        },
        "CFAssociationGroupingURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI.."
        },
        "lastChangeDateTime" : "..Date/Time..",
        "notes" : "..String..",
        "extensions" : {
            "..permitted extension point.." : "..user defined value.."
        },
        "CFDocumentURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI.."
        }
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.4.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.4.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFAssociation" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.2c.

Code 7.4.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFAssociation" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.5 "getCFAssociationGrouping" Request Payload

There is no payload for this request.

7.6 "getCFAssociationGrouping" Response Payloads

7.6.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.6.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFAssociationGrouping" operation.
Property Name Multiplicity JSON Data-type Description
    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.
    uri [1..1] String (Format: uri) An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI.
    title [1..1] String The title of the CFAssociationGrouping.
    description [0..1] String A human readable description of the CFAssociationGrouping.
    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.3b.

Code 7.6.1 - JSON payload example for "200" response messages for a "getCFAssociationGrouping" operation.
    {
        "identifier" : "..NormalizedString..",
        "uri" : "..URI..",
        "title" : "..NormalizedString..",
        "description" : "..String..",
        "lastChangeDateTime" : "..Date/Time..",
        "extensions" : {
            "..permitted extension point.." : "..user defined value.."
        }
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.6.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.6.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFAssociationGrouping" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.3c.

Code 7.6.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFAssociationGrouping" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.7 "getCFConcept" Request Payload

There is no payload for this request.

7.8 "getCFConcept" Response Payloads

7.8.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.8.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFConcept" operation.
Property Name Multiplicity JSON Data-type Description
    CFConcepts [1..*] Array [ Object ] 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.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFConcept using a network-resolvable URI.
            title [1..1] String The title of the CFConcept.
            keywords [0..1] String Defined listing of keywords delimited by ']' that the concept encompasses.
            hierarchyCode [1..1] String A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.
            description [0..1] String A human readable description of the CFConcept.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.4b.

Code 7.8.1 - JSON payload example for "200" response messages for a "getCFConcept" operation.
    {
        "CFConcepts" : [
            {
                "identifier" : "..NormalizedString..",
                "uri" : "..URI..",
                "title" : "..NormalizedString..",
                "keywords" : "..NormalizedString..",
                "hierarchyCode" : "..NormalizedString..",
                "description" : "..String..",
                "lastChangeDateTime" : "..Date/Time..",
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                }
            },
            {...},
            {...}
        ]
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.8.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.8.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFConcept" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.4c.

Code 7.8.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFConcept" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.9 "getCFDocument" Request Payload

There is no payload for this request.

7.10 "getCFDocument" Response Payloads

7.10.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.10.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFDocument" operation.
Property Name Multiplicity JSON Data-type Description
    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.
    uri [1..1] String (Format: uri) An unambiguous reference to the CFDocument using a network-resolvable URI.
    frameworkType [0..1] String This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.
    caseVersion [0..1] Enumeration This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
    creator [1..1] String 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.
    title [1..1] String The title of the CFDocument.
    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
    officialSourceURL [0..1] String (Format: uri) The URL link to the formal citation of the original achievement standards document created for humans.
    publisher [0..1] String The entity responsible for making the learning standards document available.
    description [0..1] String A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.
    subject [0..*] Array [ String ] The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).
    subjectURI [0..*] Array [ Object ] A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
    language [0..1] String The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).
    version [0..1] String Defines the revision of the document (the nature of this versioning is an implementation issue).
    adoptionStatus [0..1] String The publication status of the document.
    statusStartDate [0..1] String (Format: date) The date the CFDocument status started.
    statusEndDate [0..1] String (Format: date) The date the CFDocument status ended or changed to another status.
    licenseURI [0..1] Object A link to a legal document controlling permission to do something with the standards document.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
    notes [0..1] String Any text used to comment on the published CFDocument.
    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    CFPackageURI [1..1] Object An unambiguous reference to the CFPackage that would be used to contain this CFDocument using a network-resolvable URI.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.5b.

Code 7.10.1 - JSON payload example for "200" response messages for a "getCFDocument" operation.
    {
        "identifier" : "..NormalizedString..",
        "uri" : "..URI..",
        "frameworkType" : "..NormalizedString..",
        "caseVersion" : "1.1",
        "creator" : "..NormalizedString..",
        "title" : "..NormalizedString..",
        "lastChangeDateTime" : "..Date/Time..",
        "officialSourceURL" : "..URI..",
        "publisher" : "..NormalizedString..",
        "description" : "..String..",
        "subject" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
        "subjectURI" : [
            {
                "title" : "..NormalizedString..",
                "identifier" : "..NormalizedString..",
                "uri" : "..URI.."
            },
            {...},
            {...}
        ],
        "language" : "..String(Language Code)..",
        "version" : "..NormalizedString..",
        "adoptionStatus" : "..NormalizedString..",
        "statusStartDate" : "..String(Date)..",
        "statusEndDate" : "..String(Date)..",
        "licenseURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI.."
        },
        "notes" : "..String..",
        "extensions" : {
            "..permitted extension point.." : "..user defined value.."
        },
        "CFPackageURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI.."
        }
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.10.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.10.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFDocument" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.5c.

Code 7.10.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFDocument" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.11 "getCFItem" Request Payload

There is no payload for this request.

7.12 "getCFItem" Response Payloads

7.12.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.12.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFItem" operation.
Property Name Multiplicity JSON Data-type Description
    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.
    fullStatement [1..1] String 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. In Version 1.1 the data-type was changed from NormalizedString.
    alternativeLabel [0..1] String 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.
    CFItemType [0..1] String The textual label identifying the class of the statement as designated by the promulgating body.
    uri [1..1] String (Format: uri) An unambiguous reference to the CFItem using a network-resolvable URI.
    humanCodingScheme [0..1] String A human-referenceable code designated by the publisher to identify the item among learning standard items.
    listEnumeration [0..1] String 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.
    abbreviatedStatement [0..1] String An abbreviated version of the Full Statement.
    conceptKeywords [0..*] Array [ String ] The significant topicality of the CFItem using free-text keywords and phrases.
    conceptKeywordsURI [0..1] Object The significant topicality of the CFItem using a controlled vocabulary maintained as linked data.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
    notes [0..1] String Information about the derivation of a CFItem statement.
    subject [0..*] Array [ String ] A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).
    subjectURI [0..*] Array [ Object ] A new attribute added in Version 1.1. A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
    language [0..1] String The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).
    educationLevel [0..*] Array [ String ] The education level, grade level or primary instructional level at which a CFItem is intended
    CFItemTypeURI [0..1] Object This is the linked data location for the CFItemType.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
    licenseURI [0..1] Object A link to a legal document controlling permission to do something with the CFItem.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
    statusStartDate [0..1] String (Format: date) The date the CFItem status started.
    statusEndDate [0..1] String (Format: date) The date the CFItem status ended or changed to another status.
    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    CFDocumentURI [1..1] Object An unambiguous reference to the CFDocument that would be used to contain this CFItem using a network-resolvable URI.
            title [1..1] String A human readable title for the associated object.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.6b.

Code 7.12.1 - JSON payload example for "200" response messages for a "getCFItem" operation.
    {
        "identifier" : "..NormalizedString..",
        "fullStatement" : "..String..",
        "alternativeLabel" : "..NormalizedString..",
        "CFItemType" : "..NormalizedString..",
        "uri" : "..URI..",
        "humanCodingScheme" : "..NormalizedString..",
        "listEnumeration" : "..NormalizedString..",
        "abbreviatedStatement" : "..NormalizedString..",
        "conceptKeywords" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
        "conceptKeywordsURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI.."
        },
        "notes" : "..String..",
        "subject" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
        "subjectURI" : [
            {
                "title" : "..NormalizedString..",
                "identifier" : "..NormalizedString..",
                "uri" : "..URI.."
            },
            {...},
            {...}
        ],
        "language" : "..String(Language Code)..",
        "educationLevel" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
        "CFItemTypeURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI.."
        },
        "licenseURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI.."
        },
        "statusStartDate" : "..String(Date)..",
        "statusEndDate" : "..String(Date)..",
        "lastChangeDateTime" : "..Date/Time..",
        "extensions" : {
            "..permitted extension point.." : "..user defined value.."
        },
        "CFDocumentURI" : {
            "title" : "..NormalizedString..",
            "identifier" : "..NormalizedString..",
            "uri" : "..URI.."
        }
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.12.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.12.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItem" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.6c.

Code 7.12.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItem" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.13 "getCFItemAssociations" Request Payload

There is no payload for this request.

7.14 "getCFItemAssociations" Response Payloads

7.14.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.14.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFItemAssociations" operation.
Property Name Multiplicity JSON Data-type Description
    CFItem [1..1] Object This is the container for the specified CFItem object. 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.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.
            fullStatement [1..1] String 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. In Version 1.1 the data-type was changed from NormalizedString.
            alternativeLabel [0..1] String 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.
            CFItemType [0..1] String The textual label identifying the class of the statement as designated by the promulgating body.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFItem using a network-resolvable URI.
            humanCodingScheme [0..1] String A human-referenceable code designated by the publisher to identify the item among learning standard items.
            listEnumeration [0..1] String 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.
            abbreviatedStatement [0..1] String An abbreviated version of the Full Statement.
            conceptKeywords [0..*] Array [ String ] The significant topicality of the CFItem using free-text keywords and phrases.
            conceptKeywordsURI [0..1] Object The significant topicality of the CFItem using a controlled vocabulary maintained as linked data.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            notes [0..1] String Information about the derivation of a CFItem statement.
            subject [0..*] Array [ String ] A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).
            subjectURI [0..*] Array [ Object ] A new attribute added in Version 1.1. A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            language [0..1] String The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).
            educationLevel [0..*] Array [ String ] The education level, grade level or primary instructional level at which a CFItem is intended
            CFItemTypeURI [0..1] Object This is the linked data location for the CFItemType.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            licenseURI [0..1] Object A link to a legal document controlling permission to do something with the CFItem.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            statusStartDate [0..1] String (Format: date) The date the CFItem status started.
            statusEndDate [0..1] String (Format: date) The date the CFItem status ended or changed to another status.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            CFDocumentURI [1..1] Object An unambiguous reference to the CFDocument that would be used to contain this CFItem using a network-resolvable URI.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
    CFAssociations [1..*] Array [ Object ] This is the data for a single CFAssociation within the CFAssociationSet container. The association can be between CFDocuments or between CFItems
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.
            associationType [1..1] Union(CFAssociationTypeExtEnum) The type of association. This uses an extensible enumerated vocabulary. Changed in CASE 1.1.
            sequenceNumber [0..1] Integer 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFAssociation using a network-resolvable URI.
            originNodeURI [1..1] Object The resolvable URI for the origin node object.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
                    targetType [0..1] Union(TargetTypeExtEnum) This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
            destinationNodeURI [1..1] Object The resolvable URI for the destination node object.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
                    targetType [0..1] Union(TargetTypeExtEnum) This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
            CFAssociationGroupingURI [0..1] Object The network resolvable URI for the link data relationship to a CFAssociationGrouping.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            notes [0..1] String A new attribute added in Version 1.1. Information about the CFAssociation.
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.7b.

Code 7.14.1 - JSON payload example for "200" response messages for a "getCFItemAssociations" operation.
    {
        "CFItem" : {
            "identifier" : "..NormalizedString..",
            "fullStatement" : "..String..",
            "alternativeLabel" : "..NormalizedString..",
            "CFItemType" : "..NormalizedString..",
            "uri" : "..URI..",
            "humanCodingScheme" : "..NormalizedString..",
            "listEnumeration" : "..NormalizedString..",
            "abbreviatedStatement" : "..NormalizedString..",
            "conceptKeywords" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
            "conceptKeywordsURI" : {
                "title" : "..NormalizedString..",
                "identifier" : "..NormalizedString..",
                "uri" : "..URI.."
            },
            "notes" : "..String..",
            "subject" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
            "subjectURI" : [
                {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                {...},
                {...}
            ],
            "language" : "..String(Language Code)..",
            "educationLevel" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
            "CFItemTypeURI" : {
                "title" : "..NormalizedString..",
                "identifier" : "..NormalizedString..",
                "uri" : "..URI.."
            },
            "licenseURI" : {
                "title" : "..NormalizedString..",
                "identifier" : "..NormalizedString..",
                "uri" : "..URI.."
            },
            "statusStartDate" : "..String(Date)..",
            "statusEndDate" : "..String(Date)..",
            "lastChangeDateTime" : "..Date/Time..",
            "extensions" : {
                "..permitted extension point.." : "..user defined value.."
            },
            "CFDocumentURI" : {
                "title" : "..NormalizedString..",
                "identifier" : "..NormalizedString..",
                "uri" : "..URI.."
            }
        },
        "CFAssociations" : [
            {
                "identifier" : "..NormalizedString..",
                "associationType" : "..select from Union..",
                "sequenceNumber" : ..Number(Integer)..,
                "uri" : "..URI..",
                "originNodeURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "targetType" : "..select from Union.."
                },
                "destinationNodeURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "targetType" : "..select from Union.."
                },
                "CFAssociationGroupingURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                "lastChangeDateTime" : "..Date/Time..",
                "notes" : "..String..",
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                }
            },
            {...},
            {...}
        ]
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.14.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.14.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItemAssociations" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.7c.

Code 7.14.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItemAssociations" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.15 "getCFItemType" Request Payload

There is no payload for this request.

7.16 "getCFItemType" Response Payloads

7.16.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.16.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFItemType" operation.
Property Name Multiplicity JSON Data-type Description
    CFItemTypes [1..*] Array [ Object ] 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.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFItemType using a network-resolvable URI.
            title [1..1] String The title of the CFItemType.
            description [1..1] String A human readable description of the CFItemType.
            hierarchyCode [1..1] String A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.
            typeCode [0..1] String Text code used for type identification.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.8b.

Code 7.16.1 - JSON payload example for "200" response messages for a "getCFItemType" operation.
    {
        "CFItemTypes" : [
            {
                "identifier" : "..NormalizedString..",
                "uri" : "..URI..",
                "title" : "..NormalizedString..",
                "description" : "..String..",
                "hierarchyCode" : "..NormalizedString..",
                "typeCode" : "..NormalizedString..",
                "lastChangeDateTime" : "..Date/Time..",
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                }
            },
            {...},
            {...}
        ]
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.16.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.16.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItemType" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.8c.

Code 7.16.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFItemType" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.17 "getCFLicense" Request Payload

There is no payload for this request.

7.18 "getCFLicense" Response Payloads

7.18.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.18.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFLicense" operation.
Property Name Multiplicity JSON Data-type Description
    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.
    uri [1..1] String (Format: uri) An unambiguous reference to the CFLicense using a network-resolvable URI.
    title [1..1] String The title of the CFLicense.
    description [0..1] String A human readable description of the CFLicense.
    licenseText [1..1] String 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.
    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.9b.

Code 7.18.1 - JSON payload example for "200" response messages for a "getCFLicense" operation.
    {
        "identifier" : "..NormalizedString..",
        "uri" : "..URI..",
        "title" : "..NormalizedString..",
        "description" : "..String..",
        "licenseText" : "..String..",
        "lastChangeDateTime" : "..Date/Time..",
        "extensions" : {
            "..permitted extension point.." : "..user defined value.."
        }
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.18.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.18.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFLicense" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.9c.

Code 7.18.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFLicense" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.19 "getCFPackage" Request Payload

There is no payload for this request.

7.20 "getCFPackage" Response Payloads

7.20.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.20.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFPackage" operation.
Property Name Multiplicity JSON Data-type Description
    CFDocument [1..1] Object The root Competency Framework Document. There must be only one CFDocument.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFDocument using a network-resolvable URI.
            frameworkType [0..1] String This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.
            caseVersion [0..1] Enumeration This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
            creator [1..1] String 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.
            title [1..1] String The title of the CFDocument.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            officialSourceURL [0..1] String (Format: uri) The URL link to the formal citation of the original achievement standards document created for humans.
            publisher [0..1] String The entity responsible for making the learning standards document available.
            description [0..1] String A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.
            subject [0..*] Array [ String ] The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).
            subjectURI [0..*] Array [ Object ] A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            language [0..1] String The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).
            version [0..1] String Defines the revision of the document (the nature of this versioning is an implementation issue).
            adoptionStatus [0..1] String The publication status of the document.
            statusStartDate [0..1] String (Format: date) The date the CFDocument status started.
            statusEndDate [0..1] String (Format: date) The date the CFDocument status ended or changed to another status.
            licenseURI [0..1] Object A link to a legal document controlling permission to do something with the standards document.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            notes [0..1] String Any text used to comment on the published CFDocument.
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    CFItems [0..*] Array [ Object ] 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.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.
            fullStatement [1..1] String 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. In Version 1.1 the data-type was changed from NormalizedString.
            alternativeLabel [0..1] String 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.
            CFItemType [0..1] String The textual label identifying the class of the statement as designated by the promulgating body.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFItem using a network-resolvable URI.
            humanCodingScheme [0..1] String A human-referenceable code designated by the publisher to identify the item among learning standard items.
            listEnumeration [0..1] String 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.
            abbreviatedStatement [0..1] String An abbreviated version of the Full Statement.
            conceptKeywords [0..*] Array [ String ] The significant topicality of the CFItem using free-text keywords and phrases.
            conceptKeywordsURI [0..1] Object The significant topicality of the CFItem using a controlled vocabulary maintained as linked data.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            notes [0..1] String Information about the derivation of a CFItem statement.
            subject [0..*] Array [ String ] A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).
            subjectURI [0..*] Array [ Object ] A new attribute added in Version 1.1. A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            language [0..1] String The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).
            educationLevel [0..*] Array [ String ] The education level, grade level or primary instructional level at which a CFItem is intended
            CFItemTypeURI [0..1] Object This is the linked data location for the CFItemType.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            licenseURI [0..1] Object A link to a legal document controlling permission to do something with the CFItem.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            statusStartDate [0..1] String (Format: date) The date the CFItem status started.
            statusEndDate [0..1] String (Format: date) The date the CFItem status ended or changed to another status.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    CFAssociations [0..*] Array [ Object ] 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.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.
            associationType [1..1] Union(CFAssociationTypeExtEnum) The type of association. This uses an extensible enumerated vocabulary. Changed in CASE 1.1.
            sequenceNumber [0..1] Integer 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFAssociation using a network-resolvable URI.
            originNodeURI [1..1] Object The resolvable URI for the origin node object.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
                    targetType [0..1] Union(TargetTypeExtEnum) This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
            destinationNodeURI [1..1] Object The resolvable URI for the destination node object.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
                    targetType [0..1] Union(TargetTypeExtEnum) This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
            CFAssociationGroupingURI [0..1] Object The network resolvable URI for the link data relationship to a CFAssociationGrouping.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            notes [0..1] String A new attribute added in Version 1.1. Information about the CFAssociation.
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    CFDefinitions [0..1] Object The Competency Framework Definitions for the CFDocument and the associated component CFItems. The definitions contains the corresponding set of: CFConcepts, CFSubjects, CFLicenses, CFItemTypes and CFAssociationGroupings.
            CFConcepts [0..*] Array [ Object ] The set of concept definitions.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.
                    uri [1..1] String (Format: uri) An unambiguous reference to the CFConcept using a network-resolvable URI.
                    title [1..1] String The title of the CFConcept.
                    keywords [0..1] String Defined listing of keywords delimited by ']' that the concept encompasses.
                    hierarchyCode [1..1] String A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.
                    description [0..1] String A human readable description of the CFConcept.
                    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
                    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            CFSubjects [0..*] Array [ Object ] The set of subject definitions.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.
                    uri [1..1] String (Format: uri) An unambiguous reference to the CFSubject using a network-resolvable URI.
                    title [1..1] String The title of the CFSubject.
                    hierarchyCode [1..1] String A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.
                    description [0..1] String A human readable description of the CFSubject.
                    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
                    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            CFLicenses [0..*] Array [ Object ] The set of license definitions.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.
                    uri [1..1] String (Format: uri) An unambiguous reference to the CFLicense using a network-resolvable URI.
                    title [1..1] String The title of the CFLicense.
                    description [0..1] String A human readable description of the CFLicense.
                    licenseText [1..1] String 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.
                    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
                    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            CFItemTypes [0..*] Array [ Object ] The set of item type definitions.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.
                    uri [1..1] String (Format: uri) An unambiguous reference to the CFItemType using a network-resolvable URI.
                    title [1..1] String The title of the CFItemType.
                    description [1..1] String A human readable description of the CFItemType.
                    hierarchyCode [1..1] String A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.
                    typeCode [0..1] String Text code used for type identification.
                    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
                    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            CFAssociationGroupings [0..*] Array [ Object ] The set of association grouping definitions.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.
                    uri [1..1] String (Format: uri) An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI.
                    title [1..1] String The title of the CFAssociationGrouping.
                    description [0..1] String A human readable description of the CFAssociationGrouping.
                    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
                    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    CFRubrics [0..*] Array [ Object ] 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.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFRubric using a network-resolvable URI.
            title [0..1] String The title of the CFRubric.
            description [0..1] String A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            CFRubricCriteria [0..*] Array [ Object ] The set of CFRubricCriterion that are required to complete the definition of the parent CFRubric.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.
                    uri [1..1] String (Format: uri) An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.
                    category [0..1] String A textual label for category by which CFRubricCriterion may be grouped.
                    description [0..1] String A human readable description of the CFRubricCriterion.
                    CFItemURI [0..1] Object An unambiguous reference to the CFItem to which this rubric criterion is associated using a network-resolvable URI and link data.
                            title [1..1] String A human readable title for the associated object.
                            identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                            uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
                    weight [0..1] Float A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.
                    position [0..1] Integer A numeric value representing this criterion's position in the criteria list for this CFRubric.
                    rubricId [0..1] String 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.
                    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
                    CFRubricCriterionLevels [0..*] Array [ Object ] The set of CFRubricCriterionLevels that are required to complete the definition of the parent CFRubricCriterion.
                            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.
                            uri [1..1] String (Format: uri) An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.
                            description [0..1] String A human readable description of the CFRubricCriterionLevel.
                            quality [0..1] String A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.
                            score [0..1] Float The points awarded for achieving this level.
                            feedback [0..1] String Pre-defined feedback text to be relayed to the person or organization being evaluated. This may include guidance and suggestions for improvement or development.
                            position [0..1] Integer A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.
                            rubricCriterionId [0..1] String 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.
                            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
                            extensions [0..*] Array [ Object ] This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
                    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.10b.

Code 7.20.1 - JSON payload example for "200" response messages for a "getCFPackage" operation.
    {
        "CFDocument" : {
            "identifier" : "..NormalizedString..",
            "uri" : "..URI..",
            "frameworkType" : "..NormalizedString..",
            "caseVersion" : "1.1",
            "creator" : "..NormalizedString..",
            "title" : "..NormalizedString..",
            "lastChangeDateTime" : "..Date/Time..",
            "officialSourceURL" : "..URI..",
            "publisher" : "..NormalizedString..",
            "description" : "..String..",
            "subject" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
            "subjectURI" : [
                {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                {...},
                {...}
            ],
            "language" : "..String(Language Code)..",
            "version" : "..NormalizedString..",
            "adoptionStatus" : "..NormalizedString..",
            "statusStartDate" : "..String(Date)..",
            "statusEndDate" : "..String(Date)..",
            "licenseURI" : {
                "title" : "..NormalizedString..",
                "identifier" : "..NormalizedString..",
                "uri" : "..URI.."
            },
            "notes" : "..String..",
            "extensions" : {
                "..permitted extension point.." : "..user defined value.."
            }
        },
        "CFItems" : [
            {
                "identifier" : "..NormalizedString..",
                "fullStatement" : "..String..",
                "alternativeLabel" : "..NormalizedString..",
                "CFItemType" : "..NormalizedString..",
                "uri" : "..URI..",
                "humanCodingScheme" : "..NormalizedString..",
                "listEnumeration" : "..NormalizedString..",
                "abbreviatedStatement" : "..NormalizedString..",
                "conceptKeywords" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
                "conceptKeywordsURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                "notes" : "..String..",
                "subject" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
                "subjectURI" : [
                    {
                        "title" : "..NormalizedString..",
                        "identifier" : "..NormalizedString..",
                        "uri" : "..URI.."
                    },
                    {...},
                    {...}
                ],
                "language" : "..String(Language Code)..",
                "educationLevel" : [ "..NormalizedString..", ..., "..NormalizedString.." ],
                "CFItemTypeURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                "licenseURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                "statusStartDate" : "..String(Date)..",
                "statusEndDate" : "..String(Date)..",
                "lastChangeDateTime" : "..Date/Time..",
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                }
            },
            {...},
            {...}
        ],
        "CFAssociations" : [
            {
                "identifier" : "..NormalizedString..",
                "associationType" : "..select from Union..",
                "sequenceNumber" : ..Number(Integer)..,
                "uri" : "..URI..",
                "originNodeURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "targetType" : "..select from Union.."
                },
                "destinationNodeURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "targetType" : "..select from Union.."
                },
                "CFAssociationGroupingURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                "lastChangeDateTime" : "..Date/Time..",
                "notes" : "..String..",
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                }
            },
            {...},
            {...}
        ],
        "CFDefinitions" : {
            "CFConcepts" : [
                {
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "title" : "..NormalizedString..",
                    "keywords" : "..NormalizedString..",
                    "hierarchyCode" : "..NormalizedString..",
                    "description" : "..String..",
                    "lastChangeDateTime" : "..Date/Time..",
                    "extensions" : {
                        "..permitted extension point.." : "..user defined value.."
                    }
                },
                {...},
                {...}
            ],
            "CFSubjects" : [
                {
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "title" : "..NormalizedString..",
                    "hierarchyCode" : "..NormalizedString..",
                    "description" : "..String..",
                    "lastChangeDateTime" : "..Date/Time..",
                    "extensions" : {
                        "..permitted extension point.." : "..user defined value.."
                    }
                },
                {...},
                {...}
            ],
            "CFLicenses" : [
                {
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "title" : "..NormalizedString..",
                    "description" : "..String..",
                    "licenseText" : "..String..",
                    "lastChangeDateTime" : "..Date/Time..",
                    "extensions" : {
                        "..permitted extension point.." : "..user defined value.."
                    }
                },
                {...},
                {...}
            ],
            "CFItemTypes" : [
                {
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "title" : "..NormalizedString..",
                    "description" : "..String..",
                    "hierarchyCode" : "..NormalizedString..",
                    "typeCode" : "..NormalizedString..",
                    "lastChangeDateTime" : "..Date/Time..",
                    "extensions" : {
                        "..permitted extension point.." : "..user defined value.."
                    }
                },
                {...},
                {...}
            ],
            "CFAssociationGroupings" : [
                {
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI..",
                    "title" : "..NormalizedString..",
                    "description" : "..String..",
                    "lastChangeDateTime" : "..Date/Time..",
                    "extensions" : {
                        "..permitted extension point.." : "..user defined value.."
                    }
                },
                {...},
                {...}
            ],
            "extensions" : {
                "..permitted extension point.." : "..user defined value.."
            }
        },
        "CFRubrics" : [
            {
                "identifier" : "..NormalizedString..",
                "uri" : "..URI..",
                "title" : "..NormalizedString..",
                "description" : "..String..",
                "lastChangeDateTime" : "..Date/Time..",
                "CFRubricCriteria" : [
                    {
                        "identifier" : "..NormalizedString..",
                        "uri" : "..URI..",
                        "category" : "..NormalizedString..",
                        "description" : "..String..",
                        "CFItemURI" : {
                            "title" : "..NormalizedString..",
                            "identifier" : "..NormalizedString..",
                            "uri" : "..URI.."
                        },
                        "weight" : ..Number(Float)..,
                        "position" : ..Number(Integer)..,
                        "rubricId" : "..NormalizedString..",
                        "lastChangeDateTime" : "..Date/Time..",
                        "CFRubricCriterionLevels" : [
                            {
                                "identifier" : "..NormalizedString..",
                                "uri" : "..URI..",
                                "description" : "..String..",
                                "quality" : "..NormalizedString..",
                                "score" : ..Number(Float)..,
                                "feedback" : "..String..",
                                "position" : ..Number(Integer)..,
                                "rubricCriterionId" : "..NormalizedString..",
                                "lastChangeDateTime" : "..Date/Time..",
                                "extensions" : [
                                    {
                                        "..permitted extension point.." : "..user defined value.."
                                    },
                                    {...},
                                    {...}
                                ]
                            },
                            {...},
                            {...}
                        ],
                        "extensions" : {
                            "..permitted extension point.." : "..user defined value.."
                        }
                    },
                    {...},
                    {...}
                ],
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                }
            },
            {...},
            {...}
        ],
        "extensions" : {
            "..permitted extension point.." : "..user defined value.."
        }
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.20.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.20.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFPackage" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.10c.

Code 7.20.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFPackage" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.21 "getCFRubric" Request Payload

There is no payload for this request.

7.22 "getCFRubric" Response Payloads

7.22.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.22.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFRubric" operation.
Property Name Multiplicity JSON Data-type Description
    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.
    uri [1..1] String (Format: uri) An unambiguous reference to the CFRubric using a network-resolvable URI.
    title [0..1] String The title of the CFRubric.
    description [0..1] String A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString.
    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
    CFRubricCriteria [0..*] Array [ Object ] The set of CFRubricCriterion that are required to complete the definition of the parent CFRubric.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.
            category [0..1] String A textual label for category by which CFRubricCriterion may be grouped.
            description [0..1] String A human readable description of the CFRubricCriterion.
            CFItemURI [0..1] Object An unambiguous reference to the CFItem to which this rubric criterion is associated using a network-resolvable URI and link data.
                    title [1..1] String A human readable title for the associated object.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.
                    uri [1..1] String (Format: uri) A network-resolvable URI pointing to the authoritative reference for the associated object.
            weight [0..1] Float A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.
            position [0..1] Integer A numeric value representing this criterion's position in the criteria list for this CFRubric.
            rubricId [0..1] String 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.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            CFRubricCriterionLevels [0..*] Array [ Object ] The set of CFRubricCriterionLevels that are required to complete the definition of the parent CFRubricCriterion.
                    identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.
                    uri [1..1] String (Format: uri) An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.
                    description [0..1] String A human readable description of the CFRubricCriterionLevel.
                    quality [0..1] String A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.
                    score [0..1] Float The points awarded for achieving this level.
                    feedback [0..1] String Pre-defined feedback text to be relayed to the person or organization being evaluated. This may include guidance and suggestions for improvement or development.
                    position [0..1] Integer A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.
                    rubricCriterionId [0..1] String 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.
                    lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
                    extensions [0..*] Array [ Object ] This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.
    extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
            extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.11b.

Code 7.22.1 - JSON payload example for "200" response messages for a "getCFRubric" operation.
    {
        "identifier" : "..NormalizedString..",
        "uri" : "..URI..",
        "title" : "..NormalizedString..",
        "description" : "..String..",
        "lastChangeDateTime" : "..Date/Time..",
        "CFRubricCriteria" : [
            {
                "identifier" : "..NormalizedString..",
                "uri" : "..URI..",
                "category" : "..NormalizedString..",
                "description" : "..String..",
                "CFItemURI" : {
                    "title" : "..NormalizedString..",
                    "identifier" : "..NormalizedString..",
                    "uri" : "..URI.."
                },
                "weight" : ..Number(Float)..,
                "position" : ..Number(Integer)..,
                "rubricId" : "..NormalizedString..",
                "lastChangeDateTime" : "..Date/Time..",
                "CFRubricCriterionLevels" : [
                    {
                        "identifier" : "..NormalizedString..",
                        "uri" : "..URI..",
                        "description" : "..String..",
                        "quality" : "..NormalizedString..",
                        "score" : ..Number(Float)..,
                        "feedback" : "..String..",
                        "position" : ..Number(Integer)..,
                        "rubricCriterionId" : "..NormalizedString..",
                        "lastChangeDateTime" : "..Date/Time..",
                        "extensions" : [
                            {
                                "..permitted extension point.." : "..user defined value.."
                            },
                            {...},
                            {...}
                        ]
                    },
                    {...},
                    {...}
                ],
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                }
            },
            {...},
            {...}
        ],
        "extensions" : {
            "..permitted extension point.." : "..user defined value.."
        }
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.22.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.22.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFRubric" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.11c.

Code 7.22.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFRubric" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

7.23 "getCFSubject" Request Payload

There is no payload for this request.

7.24 "getCFSubject" Response Payloads

7.24.1 Response Payloads for the HTTP Codes (200)

A tabular description of the response payload is shown in the Table below.

Table 7.24.1 - Tabular representation of the JSON payload for "200" response messages for a "getCFSubject" operation.
Property Name Multiplicity JSON Data-type Description
    CFSubjects [1..*] Array [ Object ] 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.
            identifier [1..1] String An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.
            uri [1..1] String (Format: uri) An unambiguous reference to the CFSubject using a network-resolvable URI.
            title [1..1] String The title of the CFSubject.
            hierarchyCode [1..1] String A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.
            description [0..1] String A human readable description of the CFSubject.
            lastChangeDateTime [1..1] String (Format: date-time) A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].
            extensions [0..1] Object This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    extensions [0..*] Set of Proprietary Properties The form of the extension is dependent on the binding technology being used. This specification is silent on what implementers may consider to be appropriate extensions.

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.12b.

Code 7.24.1 - JSON payload example for "200" response messages for a "getCFSubject" operation.
    {
        "CFSubjects" : [
            {
                "identifier" : "..NormalizedString..",
                "uri" : "..URI..",
                "title" : "..NormalizedString..",
                "hierarchyCode" : "..NormalizedString..",
                "description" : "..String..",
                "lastChangeDateTime" : "..Date/Time..",
                "extensions" : {
                    "..permitted extension point.." : "..user defined value.."
                }
            },
            {...},
            {...}
        ]
    }
                        

Privacy Implications for the Response Payload

There are no privacy issues with this payload.

7.24.2 Response Payloads for the HTTP Codes (400, 401, 403, 404, 429, 500, default)

A tabular description of the response payload is shown in the Table below.

Table 7.24.2 - Tabular representation of the JSON payload for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFSubject" operation.
Property Name Multiplicity JSON Data-type Description
    imsx_codeMajor [1..1] Enumeration The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_severity [1..1] Enumeration The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
    imsx_description [0..1] String A human readable description supplied by the entity creating the status code information.
    imsx_codeMinor [0..1] Object The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.
            imsx_codeMinorField [1..*] Array [ Object ] Each reported code minor status code.
                    imsx_codeMinorFieldName [1..1] String This should contain the identity of the system that has produced the code minor status code report.
                    imsx_codeMinorFieldValue [1..1] Enumeration The code minor status code (this is a value from the corresponding enumerated vocabulary).

An example of the response JSON payload is shown in the code block below. The JSON Schema file that can be used to validate this payload is given in Appendix C1.12c.

Code 7.24.2 - JSON payload example for "400, 401, 403, 404, 429, 500, default" response messages for a "getCFSubject" operation.
    {
        "imsx_codeMajor" : "success"|"processing"|"failure"|"unsupported",
        "imsx_severity" : "status"|"warning"|"error",
        "imsx_description" : "..String..",
        "imsx_codeMinor" : {
            "imsx_codeMinorField" : [
                {
                    "imsx_codeMinorFieldName" : "..NormalizedString..",
                    "imsx_codeMinorFieldValue" : "fullsuccess"|"invalid_sort_field"|"invalid_selection_field"|"forbidden"|"unauthorised_request"|"internal_server_error"|"unknownobject"|"server_busy"|"invalid_uuid"
                },
                {...},
                {...}
            ]
        }
    }
                        

toc | top

8. Service OpenAPI Description

This Section is NORMATIVE.

8.1 General Information

The set of General Information defined in the OpenAPI description, and realised in both the JSON and YAML instances, are listed in Tables 8.1a (version 2) and 8.1b (version 3). The syntax and semantics for this information are described in Appendix A3.1.

Table 8.1a - The Set of General Information Defined in the OpenAPI(2) Description.
Swagger Version 2.0
Specification Title Competencies and Academic Standards Exchange (CASE) Service
Specification Version 1.1
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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.
Terms of Service Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals. The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns. THIS API DEFINITION 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 API DEFINITION.
Contact Vice President of Operations, 1EdTech (https://www.1edtech.org). Email: operations@1edtech.org.
License 1EdTech - https://www.1edtech.org/license.html
Host www.imsglobal.org
Base Path /ims/case/v1p1
Schemes http, https
Consumes application/json
Produces application/json

Table 8.1b - The Set of General Information Defined in the OpenAPI(3) Description.
OpenAPI Version 3.0.0 or 3.1.0
Specification Title Competencies and Academic Standards Exchange (CASE) Service
Specification Version 1.1
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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.
Terms of Service https://www.1edtech.org/license.html
Contact Vice President of Operations, 1EdTech (http://www.1edtech.org). Email: operations@1edtech.org.
License 1EdTech - https://www.1edtech.org/license.html
Servers https://{hostName=www.imsglobal.org}{basePath=/ims/case/v1p1}
www.imsglobal.org/ims/case/v1p1

8.2 Tags Information

The set of Tags defined in the OpenAPI description, and realised in both the JSON and YAML instances, is listed in Table 8.2. The syntax and semantics for these Tags are described in Appendix A3.2.

Table 8.2 - The Set of Tags Defined in the OpenAPI Description.
Tag Name Description
AssociationsManager 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. The set of endpoints assigned to this tag are:
DefinitionsManager 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. The set of endpoints assigned to this tag are:
DocumentsManager 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. The set of endpoints assigned to this tag are:
ItemsManager 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. The set of endpoints assigned to this tag are:
PackagesManager 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. The set of endpoints assigned to this tag are:
RubricsManager 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). The set of endpoints assigned to this tag are:

8.3 Security Information

There is no security approach defined for this specification and so there are no Security Mode features included in the OpenAPI definition.

8.4 Paths Information

The following Tables describe the OpenAPI information for each of the Paths. The syntax and semantics for these Paths are described in Appendix A3.4.

8.4.1 "/CFAssociationGroupings/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFAssociationGroupings/{sourcedId}" Path.

Table 8.4.1a - The Path Details for the 'GET' verb with the '/CFAssociationGroupings/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFAssociationGrouping
Summary The REST "read" request message for the "getCFAssociationGrouping()" API call.
Tags DefinitionsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the Competency Framework AssociationGrouping that is to be read from the service provider.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFAssociationGroupingDType This is the response when the request has been completed successfully. It is the CFAssociationGrouping from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.2 "/CFAssociations/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFAssociations/{sourcedId}" Path.

Table 8.4.2a - The Path Details for the 'GET' verb with the '/CFAssociations/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFAssociation
Summary The REST "read" request message for the "getCFAssociation()" API call.
Tags AssociationsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the CFAssociation to be supplied.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFAssociationDType This is the response when the request has been completed successfully. It is the CFAssociation from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.3 "/CFConcepts/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFConcepts/{sourcedId}" Path.

Table 8.4.3a - The Path Details for the 'GET' verb with the '/CFConcepts/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFConcept
Summary The REST "read" request message for the "getCFConcept()" API call.
Tags DefinitionsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the Competency Framework Concept that is to be read from the service provider.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFConceptSetDType This is the response when the request has been completed successfully. It is the CFConcept and child CFConcepts from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.4 "/CFDocuments" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFDocuments" Path.

Table 8.4.4a - The Path Details for the 'GET' verb with the '/CFDocuments' Path.
HTTP Verb: GET
Operation ID getAllCFDocuments
Summary The REST "read" request message for the "getAllCFDocuments()" API call.
Tags DocumentsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
Description This is a request to the Service Provider to provide all of the Competency Framework Documents.
Path Placeholders Path placeholders are not permitted.
Query Parameters
Name Type Multiplicity Default
limit Positive Integer [0..1] -
offset Non-negative Integer [0..1] 0
sort String [0..1] -
orderBy [ Enumeration ] [0..1] -
filter String [0..1] -
fields String [0..*] -
Responses
Name Type Description
200 CFDocumentSetDType This is the response when the request has been completed successfully. It is the set of CFDocuments from the service provider.
Headers
* "X-Total-Count" - the total number of resources that are available to be returned
Links
* "next (limit | offset)" - get the next set of resources i.e. from offset to offset+limit
* "last (limit | offset)" - get the last set of resources i.e. from offset to end
* "first (limit | offset)" - get the first set of resources i.e. from first to limit
* "prev (limit | offset)" - get the previous set of resources i.e. from last_offset to last_offset+limit
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.5 "/CFDocuments/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFDocuments/{sourcedId}" Path.

Table 8.4.5a - The Path Details for the 'GET' verb with the '/CFDocuments/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFDocument
Summary The REST "read" request message for the "getCFDocument()" API call.
Tags DocumentsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the Competency Framework Document that is to be read from the service provider.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFDocumentDType This is the response when the request has been completed successfully. It is the CFDocument from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.6 "/CFItemAssociations/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFItemAssociations/{sourcedId}" Path.

Table 8.4.6a - The Path Details for the 'GET' verb with the '/CFItemAssociations/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFItemAssociations
Summary The REST "read" request message for the "getCFItemAssociations()" API call.
Tags AssociationsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the CFItem for which ALL associations are to be supplied.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFAssociationSetDType This is the response when the request has been completed successfully. It is the CFItem and set of CFAssociations from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.7 "/CFItemTypes/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFItemTypes/{sourcedId}" Path.

Table 8.4.7a - The Path Details for the 'GET' verb with the '/CFItemTypes/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFItemType
Summary The REST "read" request message for the "getCFItemType()" API call.
Tags DefinitionsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the Competency Framework ItemType that is to be read from the service provider.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFItemTypeSetDType This is the response when the request has been completed successfully. It is the CFItemType and child CFItemTypes from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.8 "/CFItems/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFItems/{sourcedId}" Path.

Table 8.4.8a - The Path Details for the 'GET' verb with the '/CFItems/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFItem
Summary The REST "read" request message for the "getCFItem()" API call.
Tags ItemsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the Competency Framework Item that is to be read from the service provider.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFItemDType This is the response when the request has been completed successfully. It is the CFItem from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.9 "/CFLicenses/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFLicenses/{sourcedId}" Path.

Table 8.4.9a - The Path Details for the 'GET' verb with the '/CFLicenses/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFLicense
Summary The REST "read" request message for the "getCFLicense()" API call.
Tags DefinitionsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the Competency Framework License that is to be read from the service provider.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFLicenseDType This is the response when the request has been completed successfully. It is the CFLicense from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.10 "/CFPackages/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFPackages/{sourcedId}" Path.

Table 8.4.10a - The Path Details for the 'GET' verb with the '/CFPackages/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFPackage
Summary The REST "read" request message for the "getCFPackage()" API call.
Tags PackagesManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - 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.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFPackageDType This is the response when the request has been completed successfully. It is the CFPackage from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.11 "/CFRubrics/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFRubrics/{sourcedId}" Path.

Table 8.4.11a - The Path Details for the 'GET' verb with the '/CFRubrics/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFRubric
Summary The REST "read" request message for the "getCFRubric()" API call.
Tags RubricsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the Competency Framework Rubric that is to be read from the service provider.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFRubricDType This is the response when the request has been completed successfully. It is the CFRubric from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.4.12 "/CFSubjects/{sourcedId}" Path

The following Table describes the OpenAPI information for the HTTP Verb "GET" on the "/CFSubjects/{sourcedId}" Path.

Table 8.4.12a - The Path Details for the 'GET' verb with the '/CFSubjects/{sourcedId}' Path.
HTTP Verb: GET
Operation ID getCFSubject
Summary The REST "read" request message for the "getCFSubject()" API call.
Tags DefinitionsManager
Security and Scopes The are no security modes and scopes covering access to this endpoint.
Privacy Classification "x-1edtech-confidentiality" : "unrestricted"
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.
Path Placeholders
  • {sourcedId} - the UUID that identifies the Competency Framework Subject that is to be read from the service provider.
Query Parameters Query parameters are not permitted.
Responses
Name Type Description
200 CFSubjectSetDType This is the response when the request has been completed successfully. It is the CFSubject and child CFSubjects from the service provider.
400 imsx_StatusInfoDType 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'.
401 imsx_StatusInfoDType The request was not correctly authorised i.e. 'unauthorisedrequest'. This would be accompanied by the 'codeMajor/severity' values of 'failure/error'.
403 imsx_StatusInfoDType 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'.
404 imsx_StatusInfoDType 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.
429 imsx_StatusInfoDType 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'.
500 imsx_StatusInfoDType 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'.
default imsx_StatusInfoDType 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.

8.5 Definitions Information

The following Tables describe the OpenAPI information for each of the JSON Schema Definitions. The syntax and semantics for these JSON Schema Definition descriptions are described in Appendix A3.5.

8.5.1 "CFAssociationDType" Definition

The OpenAPI JSON Schema description for the "CFAssociationDType" Complex Type is given in Table 8.5.1.

Table 8.5.1 - OpenAPI JSON Schema description for the "CFAssociationDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFAssociation object.
Model identifier{1..1} ! associationType{1..1} ! sequenceNumber{0..1} ! uri{1..1} ! originNodeURI{1..1} ! destinationNodeURI{1..1} ! CFAssociationGroupingURI{0..1} ! lastChangeDateTime{1..1} ! notes{0..1} ! extensions{0..1} ! CFDocumentURI{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFAssociationDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "...",
                "type" : "string"
            },
            "sequenceNumber" : {
                "description" : "Model Primitive Datatype = Integer. ",
                "type" : "integer",
                "format" : "int32"
            },
            "uri" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "originNodeURI" : {
                "$ref" : "#/definitions/LinkGenURIDType"
            },
            "destinationNodeURI" : {
                "$ref" : "#/definitions/LinkGenURIDType"
            },
            "CFAssociationGroupingURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFAssociationExtensionDType"
            },
            "CFDocumentURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
        },
        "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFAssociationDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "...",
                "anyOf" : [
                        {
                            "type" : "string",
                            "enum" : [ "isChildOf","isPeerOf","isPartOf","exactMatchOf","precedes","isRelatedTo","replacedBy","exemplar","hasSkillLevel","isTranslationOf" ]
                        },
                        {
                            "description" : "Model Primitive Datatype = NormalizedString.",
                            "type" : "string",
                            "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                        }
                ]
            },
            "sequenceNumber" : {
                "description" : "Model Primitive Datatype = Integer. ",
                "type" : "integer",
                "format" : "int32"
            },
            "uri" : {
                "description" : "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" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFAssociationExtensionDType"
            },
            "CFDocumentURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
        },
        "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.2 "CFAssociationExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFAssociationExtensionDType" Complex Type is given in Table 8.5.2.

Table 8.5.2 - OpenAPI JSON Schema description for the "CFAssociationExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFAssociation class.
Diagram JSON Schema diagram of the CFAssociationExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFAssociationExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFAssociationExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.3 "CFAssociationGroupingDType" Definition

The OpenAPI JSON Schema description for the "CFAssociationGroupingDType" Complex Type is given in Table 8.5.3.

Table 8.5.3 - OpenAPI JSON Schema description for the "CFAssociationGroupingDType" Complex Type.
Annotations 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).
Diagram JSON Schema diagram of the CFAssociationGrouping object.
Model identifier{1..1} ! uri{1..1} ! title{1..1} ! description{0..1} ! lastChangeDateTime{1..1} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFAssociationGroupingDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFAssociationGroupingExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFAssociationGroupingDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFAssociationGroupingExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.4 "CFAssociationGroupingExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFAssociationGroupingExtensionDType" Complex Type is given in Table 8.5.4.

Table 8.5.4 - OpenAPI JSON Schema description for the "CFAssociationGroupingExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFAssociationGrouping class.
Diagram JSON Schema diagram of the CFAssociationGroupingExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFAssociationGroupingExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFAssociationGroupingExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.5 "CFAssociationSetDType" Definition

The OpenAPI JSON Schema description for the "CFAssociationSetDType" Complex Type is given in Table 8.5.5.

Table 8.5.5 - OpenAPI JSON Schema description for the "CFAssociationSetDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFAssociationSet object.
Model CFItem{1..1} ! CFAssociations{1..*}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFAssociationSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFItem" : {
                "$ref" : "#/definitions/CFItemDType"
            },
            "CFAssociations" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/definitions/CFPckgAssociationDType"
                }
            },
        },
        "required" : [ "CFItem","CFAssociations" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFAssociationSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFItem" : {
                "$ref" : "#/components/schemas/CFItemDType"
            },
            "CFAssociations" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/components/schemas/CFPckgAssociationDType"
                }
            },
        },
        "required" : [ "CFItem","CFAssociations" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.6 "CFConceptDType" Definition

The OpenAPI JSON Schema description for the "CFConceptDType" Complex Type is given in Table 8.5.6.

Table 8.5.6 - OpenAPI JSON Schema description for the "CFConceptDType" Complex Type.
Annotations The container for the definition of a concept which is addressed by the competency framework.
Diagram JSON Schema diagram of the CFConcept object.
Model identifier{1..1} ! uri{1..1} ! title{1..1} ! keywords{0..1} ! hierarchyCode{1..1} ! description{0..1} ! lastChangeDateTime{1..1} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFConceptDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "keywords" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "hierarchyCode" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFConceptExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFConceptDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "keywords" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "hierarchyCode" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFConceptExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.7 "CFConceptExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFConceptExtensionDType" Complex Type is given in Table 8.5.7.

Table 8.5.7 - OpenAPI JSON Schema description for the "CFConceptExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFConcept class.
Diagram JSON Schema diagram of the CFConceptExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFConceptExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFConceptExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.8 "CFConceptSetDType" Definition

The OpenAPI JSON Schema description for the "CFConceptSetDType" Complex Type is given in Table 8.5.8.

Table 8.5.8 - OpenAPI JSON Schema description for the "CFConceptSetDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFConceptSet object.
Model CFConcepts{1..*}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFConceptSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFConcepts" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/definitions/CFConceptDType"
                }
            },
        },
        "required" : [ "CFConcepts" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFConceptSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFConcepts" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/components/schemas/CFConceptDType"
                }
            },
        },
        "required" : [ "CFConcepts" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.9 "CFDefinitionDType" Definition

The OpenAPI JSON Schema description for the "CFDefinitionDType" Complex Type is given in Table 8.5.9.

Table 8.5.9 - OpenAPI JSON Schema description for the "CFDefinitionDType" Complex Type.
Annotations The container for the set of definitions used for the competency framework i.e. the set of CFSubjects, CFConcepts, CFItemTypes, CFAssociationGroupings and CFLicenses.
Diagram JSON Schema diagram of the CFDefinition object.
Model CFConcepts{0..*} ! CFSubjects{0..*} ! CFLicenses{0..*} ! CFItemTypes{0..*} ! CFAssociationGroupings{0..*} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFDefinitionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFConcepts" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFConceptDType"
                }
            },
            "CFSubjects" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFSubjectDType"
                }
            },
            "CFLicenses" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFLicenseDType"
                }
            },
            "CFItemTypes" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFItemTypeDType"
                }
            },
            "CFAssociationGroupings" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFAssociationGroupingDType"
                }
            },
            "extensions" : {
                "$ref" : "#/definitions/CFDefinitionExtensionDType"
            },
        },
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFDefinitionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFConcepts" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFConceptDType"
                }
            },
            "CFSubjects" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFSubjectDType"
                }
            },
            "CFLicenses" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFLicenseDType"
                }
            },
            "CFItemTypes" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFItemTypeDType"
                }
            },
            "CFAssociationGroupings" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFAssociationGroupingDType"
                }
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFDefinitionExtensionDType"
            },
        },
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.10 "CFDefinitionExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFDefinitionExtensionDType" Complex Type is given in Table 8.5.10.

Table 8.5.10 - OpenAPI JSON Schema description for the "CFDefinitionExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFDefinition class.
Diagram JSON Schema diagram of the CFDefinitionExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFDefinitionExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFDefinitionExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.11 "CFDocumentDType" Definition

The OpenAPI JSON Schema description for the "CFDocumentDType" Complex Type is given in Table 8.5.11.

Table 8.5.11 - OpenAPI JSON Schema description for the "CFDocumentDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFDocument object.
Model identifier{1..1} ! uri{1..1} ! frameworkType{0..1} ! caseVersion{0..1} ! creator{1..1} ! title{1..1} ! lastChangeDateTime{1..1} ! officialSourceURL{0..1} ! publisher{0..1} ! description{0..1} ! subject{0..*} ! subjectURI{0..*} ! language{0..1} ! version{0..1} ! adoptionStatus{0..1} ! statusStartDate{0..1} ! statusEndDate{0..1} ! licenseURI{0..1} ! notes{0..1} ! extensions{0..1} ! CFPackageURI{1..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFDocumentDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "frameworkType" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "caseVersion" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "1.1" ]
            },
            "creator" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "officialSourceURL" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "publisher" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "subject" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "subjectURI" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/LinkURIDType"
                }
            },
            "language" : {
                "description" : "Model Primitive Datatype = Language. ",
                "type" : "string"
            },
            "version" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "adoptionStatus" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "statusStartDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "statusEndDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "licenseURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFDocumentExtensionDType"
            },
            "CFPackageURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
        },
        "required" : [ "identifier","uri","creator","title","lastChangeDateTime","CFPackageURI" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFDocumentDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "frameworkType" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "caseVersion" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "1.1" ]
            },
            "creator" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "officialSourceURL" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "publisher" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "subject" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "subjectURI" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/LinkURIDType"
                }
            },
            "language" : {
                "description" : "Model Primitive Datatype = Language. ",
                "type" : "string"
            },
            "version" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "adoptionStatus" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "statusStartDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "statusEndDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "licenseURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFDocumentExtensionDType"
            },
            "CFPackageURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
        },
        "required" : [ "identifier","uri","creator","title","lastChangeDateTime","CFPackageURI" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.12 "CFDocumentExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFDocumentExtensionDType" Complex Type is given in Table 8.5.12.

Table 8.5.12 - OpenAPI JSON Schema description for the "CFDocumentExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFDocument class.
Diagram JSON Schema diagram of the CFDocumentExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFDocumentExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFDocumentExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.13 "CFDocumentSetDType" Definition

The OpenAPI JSON Schema description for the "CFDocumentSetDType" Complex Type is given in Table 8.5.13.

Table 8.5.13 - OpenAPI JSON Schema description for the "CFDocumentSetDType" Complex Type.
Annotations This is the container for a collection of CFDocuments. There must be at least one CFDocument.
Diagram JSON Schema diagram of the CFDocumentSet object.
Model CFDocuments{1..*}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFDocumentSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFDocuments" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/definitions/CFDocumentDType"
                }
            },
        },
        "required" : [ "CFDocuments" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFDocumentSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFDocuments" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/components/schemas/CFDocumentDType"
                }
            },
        },
        "required" : [ "CFDocuments" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.14 "CFItemDType" Definition

The OpenAPI JSON Schema description for the "CFItemDType" Complex Type is given in Table 8.5.14.

Table 8.5.14 - OpenAPI JSON Schema description for the "CFItemDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFItem object.
Model identifier{1..1} ! fullStatement{1..1} ! alternativeLabel{0..1} ! CFItemType{0..1} ! uri{1..1} ! humanCodingScheme{0..1} ! listEnumeration{0..1} ! abbreviatedStatement{0..1} ! conceptKeywords{0..*} ! conceptKeywordsURI{0..1} ! notes{0..1} ! subject{0..*} ! subjectURI{0..*} ! language{0..1} ! educationLevel{0..*} ! CFItemTypeURI{0..1} ! licenseURI{0..1} ! statusStartDate{0..1} ! statusEndDate{0..1} ! lastChangeDateTime{1..1} ! extensions{0..1} ! CFDocumentURI{1..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFItemDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "alternativeLabel" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "CFItemType" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "uri" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "humanCodingScheme" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "listEnumeration" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "abbreviatedStatement" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "conceptKeywords" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "conceptKeywordsURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "subject" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "subjectURI" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/LinkURIDType"
                }
            },
            "language" : {
                "description" : "Model Primitive Datatype = Language. ",
                "type" : "string"
            },
            "educationLevel" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "CFItemTypeURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "licenseURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "statusStartDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "statusEndDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFItemExtensionDType"
            },
            "CFDocumentURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
        },
        "required" : [ "identifier","fullStatement","uri","lastChangeDateTime","CFDocumentURI" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFItemDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "alternativeLabel" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "CFItemType" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "uri" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "humanCodingScheme" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "listEnumeration" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "abbreviatedStatement" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "conceptKeywords" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "conceptKeywordsURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "subject" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "subjectURI" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/LinkURIDType"
                }
            },
            "language" : {
                "description" : "Model Primitive Datatype = Language. ",
                "type" : "string"
            },
            "educationLevel" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "CFItemTypeURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "licenseURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "statusStartDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "statusEndDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFItemExtensionDType"
            },
            "CFDocumentURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
        },
        "required" : [ "identifier","fullStatement","uri","lastChangeDateTime","CFDocumentURI" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.15 "CFItemExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFItemExtensionDType" Complex Type is given in Table 8.5.15.

Table 8.5.15 - OpenAPI JSON Schema description for the "CFItemExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFItem class.
Diagram JSON Schema diagram of the CFItemExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFItemExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFItemExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.16 "CFItemTypeDType" Definition

The OpenAPI JSON Schema description for the "CFItemTypeDType" Complex Type is given in Table 8.5.16.

Table 8.5.16 - OpenAPI JSON Schema description for the "CFItemTypeDType" Complex Type.
Annotations The container for the ItemType information use within the competency framework.
Diagram JSON Schema diagram of the CFItemType object.
Model identifier{1..1} ! uri{1..1} ! title{1..1} ! description{1..1} ! hierarchyCode{1..1} ! typeCode{0..1} ! lastChangeDateTime{1..1} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFItemTypeDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "hierarchyCode" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "typeCode" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFItemTypeExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","description","hierarchyCode","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFItemTypeDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "hierarchyCode" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "typeCode" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFItemTypeExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","description","hierarchyCode","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.17 "CFItemTypeExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFItemTypeExtensionDType" Complex Type is given in Table 8.5.17.

Table 8.5.17 - OpenAPI JSON Schema description for the "CFItemTypeExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFItemType class.
Diagram JSON Schema diagram of the CFItemTypeExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFItemTypeExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFItemTypeExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.18 "CFItemTypeSetDType" Definition

The OpenAPI JSON Schema description for the "CFItemTypeSetDType" Complex Type is given in Table 8.5.18.

Table 8.5.18 - OpenAPI JSON Schema description for the "CFItemTypeSetDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFItemTypeSet object.
Model CFItemTypes{1..*}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFItemTypeSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFItemTypes" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/definitions/CFItemTypeDType"
                }
            },
        },
        "required" : [ "CFItemTypes" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFItemTypeSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFItemTypes" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/components/schemas/CFItemTypeDType"
                }
            },
        },
        "required" : [ "CFItemTypes" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.19 "CFLicenseDType" Definition

The OpenAPI JSON Schema description for the "CFLicenseDType" Complex Type is given in Table 8.5.19.

Table 8.5.19 - OpenAPI JSON Schema description for the "CFLicenseDType" Complex Type.
Annotations The container for the information about a license used within the competency framework.
Diagram JSON Schema diagram of the CFLicense object.
Model identifier{1..1} ! uri{1..1} ! title{1..1} ! description{0..1} ! licenseText{1..1} ! lastChangeDateTime{1..1} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFLicenseDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "licenseText" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFLicenseExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","licenseText","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFLicenseDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "licenseText" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFLicenseExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","licenseText","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.20 "CFLicenseExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFLicenseExtensionDType" Complex Type is given in Table 8.5.20.

Table 8.5.20 - OpenAPI JSON Schema description for the "CFLicenseExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFLicense class.
Diagram JSON Schema diagram of the CFLicenseExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFLicenseExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFLicenseExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.21 "CFPackageDType" Definition

The OpenAPI JSON Schema description for the "CFPackageDType" Complex Type is given in Table 8.5.21.

Table 8.5.21 - OpenAPI JSON Schema description for the "CFPackageDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFPackage object.
Model CFDocument{1..1} ! CFItems{0..*} ! CFAssociations{0..*} ! CFDefinitions{0..1} ! CFRubrics{0..*} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFPackageDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFDocument" : {
                "$ref" : "#/definitions/CFPckgDocumentDType"
            },
            "CFItems" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFPckgItemDType"
                }
            },
            "CFAssociations" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFPckgAssociationDType"
                }
            },
            "CFDefinitions" : {
                "$ref" : "#/definitions/CFDefinitionDType"
            },
            "CFRubrics" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFRubricDType"
                }
            },
            "extensions" : {
                "$ref" : "#/definitions/CFPackageExtensionDType"
            },
        },
        "required" : [ "CFDocument" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFPackageDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFDocument" : {
                "$ref" : "#/components/schemas/CFPckgDocumentDType"
            },
            "CFItems" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFPckgItemDType"
                }
            },
            "CFAssociations" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFPckgAssociationDType"
                }
            },
            "CFDefinitions" : {
                "$ref" : "#/components/schemas/CFDefinitionDType"
            },
            "CFRubrics" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFRubricDType"
                }
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFPackageExtensionDType"
            },
        },
        "required" : [ "CFDocument" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.22 "CFPackageExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFPackageExtensionDType" Complex Type is given in Table 8.5.22.

Table 8.5.22 - OpenAPI JSON Schema description for the "CFPackageExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFPackage class.
Diagram JSON Schema diagram of the CFPackageExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFPackageExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFPackageExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.23 "CFPckgAssociationDType" Definition

The OpenAPI JSON Schema description for the "CFPckgAssociationDType" Complex Type is given in Table 8.5.23.

Table 8.5.23 - OpenAPI JSON Schema description for the "CFPckgAssociationDType" Complex Type.
Annotations This is the container for the data about the relationship between two CFDocuments or between two CFItems within the context of a CFPackage.
Diagram JSON Schema diagram of the CFPckgAssociation object.
Model identifier{1..1} ! associationType{1..1} ! sequenceNumber{0..1} ! uri{1..1} ! originNodeURI{1..1} ! destinationNodeURI{1..1} ! CFAssociationGroupingURI{0..1} ! lastChangeDateTime{1..1} ! notes{0..1} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFPckgAssociationDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "...",
                "type" : "string"
            },
            "sequenceNumber" : {
                "description" : "Model Primitive Datatype = Integer. ",
                "type" : "integer",
                "format" : "int32"
            },
            "uri" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "originNodeURI" : {
                "$ref" : "#/definitions/LinkGenURIDType"
            },
            "destinationNodeURI" : {
                "$ref" : "#/definitions/LinkGenURIDType"
            },
            "CFAssociationGroupingURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFAssociationExtensionDType"
            },
        },
        "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFPckgAssociationDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "...",
                "anyOf" : [
                        {
                            "type" : "string",
                            "enum" : [ "isChildOf","isPeerOf","isPartOf","exactMatchOf","precedes","isRelatedTo","replacedBy","exemplar","hasSkillLevel","isTranslationOf" ]
                        },
                        {
                            "description" : "Model Primitive Datatype = NormalizedString.",
                            "type" : "string",
                            "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                        }
                ]
            },
            "sequenceNumber" : {
                "description" : "Model Primitive Datatype = Integer. ",
                "type" : "integer",
                "format" : "int32"
            },
            "uri" : {
                "description" : "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" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFAssociationExtensionDType"
            },
        },
        "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.24 "CFPckgDocumentDType" Definition

The OpenAPI JSON Schema description for the "CFPckgDocumentDType" Complex Type is given in Table 8.5.24.

Table 8.5.24 - OpenAPI JSON Schema description for the "CFPckgDocumentDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFPckgDocument object.
Model identifier{1..1} ! uri{1..1} ! frameworkType{0..1} ! caseVersion{0..1} ! creator{1..1} ! title{1..1} ! lastChangeDateTime{1..1} ! officialSourceURL{0..1} ! publisher{0..1} ! description{0..1} ! subject{0..*} ! subjectURI{0..*} ! language{0..1} ! version{0..1} ! adoptionStatus{0..1} ! statusStartDate{0..1} ! statusEndDate{0..1} ! licenseURI{0..1} ! notes{0..1} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFPckgDocumentDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "frameworkType" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "caseVersion" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "1.1" ]
            },
            "creator" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "officialSourceURL" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "publisher" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "subject" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "subjectURI" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/LinkURIDType"
                }
            },
            "language" : {
                "description" : "Model Primitive Datatype = Language. ",
                "type" : "string"
            },
            "version" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "adoptionStatus" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "statusStartDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "statusEndDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "licenseURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFDocumentExtensionDType"
            },
        },
        "required" : [ "identifier","uri","creator","title","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFPckgDocumentDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "frameworkType" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "caseVersion" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "1.1" ]
            },
            "creator" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "officialSourceURL" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "publisher" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "subject" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "subjectURI" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/LinkURIDType"
                }
            },
            "language" : {
                "description" : "Model Primitive Datatype = Language. ",
                "type" : "string"
            },
            "version" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "adoptionStatus" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "statusStartDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "statusEndDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "licenseURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFDocumentExtensionDType"
            },
        },
        "required" : [ "identifier","uri","creator","title","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.25 "CFPckgItemDType" Definition

The OpenAPI JSON Schema description for the "CFPckgItemDType" Complex Type is given in Table 8.5.25.

Table 8.5.25 - OpenAPI JSON Schema description for the "CFPckgItemDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFPckgItem object.
Model identifier{1..1} ! fullStatement{1..1} ! alternativeLabel{0..1} ! CFItemType{0..1} ! uri{1..1} ! humanCodingScheme{0..1} ! listEnumeration{0..1} ! abbreviatedStatement{0..1} ! conceptKeywords{0..*} ! conceptKeywordsURI{0..1} ! notes{0..1} ! subject{0..*} ! subjectURI{0..*} ! language{0..1} ! educationLevel{0..*} ! CFItemTypeURI{0..1} ! licenseURI{0..1} ! statusStartDate{0..1} ! statusEndDate{0..1} ! lastChangeDateTime{1..1} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFPckgItemDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "alternativeLabel" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "CFItemType" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "uri" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "humanCodingScheme" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "listEnumeration" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "abbreviatedStatement" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "conceptKeywords" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "conceptKeywordsURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "subject" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "subjectURI" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/LinkURIDType"
                }
            },
            "language" : {
                "description" : "Model Primitive Datatype = Language. ",
                "type" : "string"
            },
            "educationLevel" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "CFItemTypeURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "licenseURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "statusStartDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "statusEndDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFItemExtensionDType"
            },
        },
        "required" : [ "identifier","fullStatement","uri","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFPckgItemDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "alternativeLabel" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "CFItemType" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "uri" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "humanCodingScheme" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "listEnumeration" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "abbreviatedStatement" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "conceptKeywords" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "conceptKeywordsURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "notes" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "subject" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "subjectURI" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/LinkURIDType"
                }
            },
            "language" : {
                "description" : "Model Primitive Datatype = Language. ",
                "type" : "string"
            },
            "educationLevel" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "type" : "string"
                }
            },
            "CFItemTypeURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "licenseURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "statusStartDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "statusEndDate" : {
                "description" : "Model Primitive Datatype = Date. ",
                "type" : "string",
                "format" : "date"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFItemExtensionDType"
            },
        },
        "required" : [ "identifier","fullStatement","uri","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.26 "CFRubricDType" Definition

The OpenAPI JSON Schema description for the "CFRubricDType" Complex Type is given in Table 8.5.26.

Table 8.5.26 - OpenAPI JSON Schema description for the "CFRubricDType" Complex Type.
Annotations The container for the definition of a rubric which is addressed by the competency framework. This includes the set of associated CFRubricCriteria and CFRubricCriterionLevels.
Diagram JSON Schema diagram of the CFRubric object.
Model identifier{1..1} ! uri{1..1} ! title{0..1} ! description{0..1} ! lastChangeDateTime{1..1} ! CFRubricCriteria{0..*} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFRubricDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "CFRubricCriteria" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFRubricCriterionDType"
                }
            },
            "extensions" : {
                "$ref" : "#/definitions/CFRubricExtensionDType"
            },
        },
        "required" : [ "identifier","uri","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFRubricDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "CFRubricCriteria" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFRubricCriterionDType"
                }
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFRubricExtensionDType"
            },
        },
        "required" : [ "identifier","uri","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.27 "CFRubricCriterionDType" Definition

The OpenAPI JSON Schema description for the "CFRubricCriterionDType" Complex Type is given in Table 8.5.27.

Table 8.5.27 - OpenAPI JSON Schema description for the "CFRubricCriterionDType" Complex Type.
Annotations The container for the definition of a rubric criterion which is addressed by the competency framework.
Diagram JSON Schema diagram of the CFRubricCriterion object.
Model identifier{1..1} ! uri{1..1} ! category{0..1} ! description{0..1} ! CFItemURI{0..1} ! weight{0..1} ! position{0..1} ! rubricId{0..1} ! lastChangeDateTime{1..1} ! CFRubricCriterionLevels{0..*} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFRubricCriterionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "category" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "CFItemURI" : {
                "$ref" : "#/definitions/LinkURIDType"
            },
            "weight" : {
                "description" : "Model Primitive Datatype = Float. ",
                "type" : "number",
                "format" : "float"
            },
            "position" : {
                "description" : "Model Primitive Datatype = Integer. ",
                "type" : "integer",
                "format" : "int32"
            },
            "rubricId" : {
                "description" : "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" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "CFRubricCriterionLevels" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFRubricCriterionLevelDType"
                }
            },
            "extensions" : {
                "$ref" : "#/definitions/CFRubricCriterionExtensionDType"
            },
        },
        "required" : [ "identifier","uri","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFRubricCriterionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "category" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "CFItemURI" : {
                "$ref" : "#/components/schemas/LinkURIDType"
            },
            "weight" : {
                "description" : "Model Primitive Datatype = Float. ",
                "type" : "number",
                "format" : "float"
            },
            "position" : {
                "description" : "Model Primitive Datatype = Integer. ",
                "type" : "integer",
                "format" : "int32"
            },
            "rubricId" : {
                "description" : "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" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "CFRubricCriterionLevels" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFRubricCriterionLevelDType"
                }
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFRubricCriterionExtensionDType"
            },
        },
        "required" : [ "identifier","uri","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.28 "CFRubricCriterionExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFRubricCriterionExtensionDType" Complex Type is given in Table 8.5.28.

Table 8.5.28 - OpenAPI JSON Schema description for the "CFRubricCriterionExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFRubricCriterionExtension class.
Diagram JSON Schema diagram of the CFRubricCriterionExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFRubricCriterionExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFRubricCriterionExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.29 "CFRubricCriterionLevelDType" Definition

The OpenAPI JSON Schema description for the "CFRubricCriterionLevelDType" Complex Type is given in Table 8.5.29.

Table 8.5.29 - OpenAPI JSON Schema description for the "CFRubricCriterionLevelDType" Complex Type.
Annotations The container for the definition of a criterion level which is addressed by the competency framework.
Diagram JSON Schema diagram of the CFRubricCriterionLevel object.
Model identifier{1..1} ! uri{1..1} ! description{0..1} ! quality{0..1} ! score{0..1} ! feedback{0..1} ! position{0..1} ! rubricCriterionId{0..1} ! lastChangeDateTime{1..1} ! extensions{0..*}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFRubricCriterionLevelDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "quality" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "score" : {
                "description" : "Model Primitive Datatype = Float. ",
                "type" : "number",
                "format" : "float"
            },
            "feedback" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "position" : {
                "description" : "Model Primitive Datatype = Integer. ",
                "type" : "integer",
                "format" : "int32"
            },
            "rubricCriterionId" : {
                "description" : "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" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/definitions/CFRubricCriterionLevelExtensionDType"
                }
            },
        },
        "required" : [ "identifier","uri","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFRubricCriterionLevelDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "quality" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "score" : {
                "description" : "Model Primitive Datatype = Float. ",
                "type" : "number",
                "format" : "float"
            },
            "feedback" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "position" : {
                "description" : "Model Primitive Datatype = Integer. ",
                "type" : "integer",
                "format" : "int32"
            },
            "rubricCriterionId" : {
                "description" : "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" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 0,
                "items" : {
                    "$ref" : "#/components/schemas/CFRubricCriterionLevelExtensionDType"
                }
            },
        },
        "required" : [ "identifier","uri","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.30 "CFRubricCriterionLevelExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFRubricCriterionLevelExtensionDType" Complex Type is given in Table 8.5.30.

Table 8.5.30 - OpenAPI JSON Schema description for the "CFRubricCriterionLevelExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFRubricCriterionLevel class.
Diagram JSON Schema diagram of the CFRubricCriterionLevelExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFRubricCriterionLevelExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFRubricCriterionLevelExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.31 "CFRubricExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFRubricExtensionDType" Complex Type is given in Table 8.5.31.

Table 8.5.31 - OpenAPI JSON Schema description for the "CFRubricExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFRubric class.
Diagram JSON Schema diagram of the CFRubricExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFRubricExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFRubricExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.32 "CFSubjectDType" Definition

The OpenAPI JSON Schema description for the "CFSubjectDType" Complex Type is given in Table 8.5.32.

Table 8.5.32 - OpenAPI JSON Schema description for the "CFSubjectDType" Complex Type.
Annotations The container for the definition of a topic or academic subject which is addressed by the competency framework.
Diagram JSON Schema diagram of the CFSubject object.
Model identifier{1..1} ! uri{1..1} ! title{1..1} ! hierarchyCode{1..1} ! description{0..1} ! lastChangeDateTime{1..1} ! extensions{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFSubjectDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "hierarchyCode" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/definitions/CFSubjectExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFSubjectDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "hierarchyCode" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "lastChangeDateTime" : {
                "description" : "Model Primitive Datatype = DateTime. ",
                "type" : "string",
                "format" : "date-time"
            },
            "extensions" : {
                "$ref" : "#/components/schemas/CFSubjectExtensionDType"
            },
        },
        "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.33 "CFSubjectExtensionDType" Definition

The OpenAPI JSON Schema description for the "CFSubjectExtensionDType" Complex Type is given in Table 8.5.33.

Table 8.5.33 - OpenAPI JSON Schema description for the "CFSubjectExtensionDType" Complex Type.
Annotations The container for the proprietary extensions to the CFSubject class.
Diagram JSON Schema diagram of the CFSubjectExtension object.
Model Namespace-based Extension
Privacy and Confidentiality Privacy Annotations
  • "x-1edtech-privacy" : [ "extensions" ]
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Confidentiality Assignments
  • "x-1edtech-confidentiality-normal" : [ "extensions" ]
Source (OAS2)
    "CFSubjectExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        
Source (OAS3)
    "CFSubjectExtensionDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
        },
        "x-1edtech-privacy" : [ "extensions" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : true
    },
                        

8.5.34 "CFSubjectSetDType" Definition

The OpenAPI JSON Schema description for the "CFSubjectSetDType" Complex Type is given in Table 8.5.34.

Table 8.5.34 - OpenAPI JSON Schema description for the "CFSubjectSetDType" Complex Type.
Annotations 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.
Diagram JSON Schema diagram of the CFSubjectSet object.
Model CFSubjects{1..*}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "CFSubjectSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFSubjects" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/definitions/CFSubjectDType"
                }
            },
        },
        "required" : [ "CFSubjects" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "CFSubjectSetDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "CFSubjects" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/components/schemas/CFSubjectDType"
                }
            },
        },
        "required" : [ "CFSubjects" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.35 "LinkGenURIDType" Definition

The OpenAPI JSON Schema description for the "LinkGenURIDType" Complex Type is given in Table 8.5.35.

Table 8.5.35 - OpenAPI JSON Schema description for the "LinkGenURIDType" Complex Type.
Annotations A container for the information that is used to achieve the link data reference.
Diagram JSON Schema diagram of the LinkGenURI object.
Model title{1..1} ! identifier{1..1} ! uri{1..1} ! targetType{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "LinkGenURIDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "identifier" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "uri" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "targetType" : {
                "description" : "...",
                "type" : "string"
            },
        },
        "required" : [ "title","identifier","uri" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "LinkGenURIDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "identifier" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "uri" : {
                "description" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
            "targetType" : {
                "description" : "...",
                "anyOf" : [
                        {
                            "type" : "string",
                            "enum" : [ "CASE" ]
                        },
                        {
                            "description" : "Model Primitive Datatype = NormalizedString.",
                            "type" : "string",
                            "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                        }
                ]
            },
        },
        "required" : [ "title","identifier","uri" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.36 "LinkURIDType" Definition

The OpenAPI JSON Schema description for the "LinkURIDType" Complex Type is given in Table 8.5.36.

Table 8.5.36 - OpenAPI JSON Schema description for the "LinkURIDType" Complex Type.
Annotations A container for the information that is used to achieve the link data reference.
Diagram JSON Schema diagram of the LinkURI object.
Model title{1..1} ! identifier{1..1} ! uri{1..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "LinkURIDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
        },
        "required" : [ "title","identifier","uri" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "LinkURIDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "title" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "identifier" : {
                "description" : "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" : "Model Primitive Datatype = AnyURI. ",
                "type" : "string",
                "format" : "uri"
            },
        },
        "required" : [ "title","identifier","uri" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.37 "imsx_CodeMinorDType" Definition

The OpenAPI JSON Schema description for the "imsx_CodeMinorDType" Complex Type is given in Table 8.5.37.

Table 8.5.37 - OpenAPI JSON Schema description for the "imsx_CodeMinorDType" Complex Type.
Annotations This is the container for the set of code minor status codes reported in the responses from the Service Provider.
Diagram JSON Schema diagram of the imsx_CodeMinor object.
Model imsx_codeMinorField{1..*}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "imsx_CodeMinorDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "imsx_codeMinorField" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/definitions/imsx_CodeMinorFieldDType"
                }
            },
        },
        "required" : [ "imsx_codeMinorField" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "imsx_CodeMinorDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "imsx_codeMinorField" : {
                "description" : "...",
                "type" : "array",
                "minItems" : 1,
                "items" : {
                    "$ref" : "#/components/schemas/imsx_CodeMinorFieldDType"
                }
            },
        },
        "required" : [ "imsx_codeMinorField" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.38 "imsx_CodeMinorFieldDType" Definition

The OpenAPI JSON Schema description for the "imsx_CodeMinorFieldDType" Complex Type is given in Table 8.5.38.

Table 8.5.38 - OpenAPI JSON Schema description for the "imsx_CodeMinorFieldDType" Complex Type.
Annotations This is the container for a single code minor status code.
Diagram JSON Schema diagram of the imsx_CodeMinorField object.
Model imsx_codeMinorFieldName{1..1}, imsx_codeMinorFieldValue{1..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "imsx_CodeMinorFieldDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "imsx_codeMinorFieldName" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "imsx_codeMinorFieldValue" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "fullsuccess","invalid_sort_field","invalid_selection_field","forbidden","unauthorised_request","internal_server_error",
                            "unknownobject","server_busy","invalid_uuid" ]
            },
        },
        "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "imsx_CodeMinorFieldDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "imsx_codeMinorFieldName" : {
                "description" : "Model Primitive Datatype = NormalizedString. ",
                "type" : "string"
            },
            "imsx_codeMinorFieldValue" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "fullsuccess","invalid_sort_field","invalid_selection_field","forbidden","unauthorised_request","internal_server_error",
                            "unknownobject","server_busy","invalid_uuid" ]
            },
        },
        "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

8.5.39 "imsx_StatusInfoDType" Definition

The OpenAPI JSON Schema description for the "imsx_StatusInfoDType" Complex Type is given in Table 8.5.39.

Table 8.5.39 - OpenAPI JSON Schema description for the "imsx_StatusInfoDType" Complex Type.
Annotations 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
Diagram JSON Schema diagram of the imsx_StatusInfo object.
Model imsx_codeMajor{1..1}, imsx_severity{1..1}, imsx_description{0..1}, imsx_codeMinor{0..1}
Privacy and Confidentiality Privacy Annotations
  • None.
Confidentiality Classification
  • "x-1edtech-confidentiality" : "unrestricted"
Source (OAS2)
    "imsx_StatusInfoDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "imsx_codeMajor" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "failure","processing","success","unsupported" ]
            },
            "imsx_severity" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "error","status","warning" ]
            },
            "imsx_description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "imsx_codeMinor" : {
                "$ref" : "#/definitions/imsx_CodeMinorDType"
            },
        },
        "required" : [ "imsx_codeMajor","imsx_severity" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        
Source (OAS3)
    "imsx_StatusInfoDType" : {
        "description" : "...",
        "type" : "object",
        "properties" : {
            "imsx_codeMajor" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "failure","processing","success","unsupported" ]
            },
            "imsx_severity" : {
                "description" : "...",
                "type" : "string",
                "enum" : [ "error","status","warning" ]
            },
            "imsx_description" : {
                "description" : "Model Primitive Datatype = String. ",
                "type" : "string"
            },
            "imsx_codeMinor" : {
                "$ref" : "#/components/schemas/imsx_CodeMinorDType"
            },
        },
        "required" : [ "imsx_codeMajor","imsx_severity" ],
        "x-1edtech-confidentiality" : "unrestricted",
        "additionalProperties" : false
    },
                        

toc | top

9. Extending and Profiling the Service

9.1. Extending the Service

Proprietary extensions of the service are based upon two approaches:

It is NOT permitted to change the behavior of the current set of operations. Such changes MUST be supported by the creation of new operations.

This Section is NOT NORMATIVE.

9.1.1. Proprietary Operations

The definition of new operations should follow the same format as adopted herein. The new operations should be defined using a new interface type. Every operation must result in the return of a status code that describes the final state of the request on the target end system. A new version of the OpenAPI files should also be generated with the new operation definitions.

An example of creating such an extension is given in the accompanying Best Practices document [CASE-IMPL-11].

9.1.2. Proprietary Data Elements

It is recognized that implementers may wish to extend the specification. The preferred mechanism for doing this is for implementers to use an extension space within the OneRoster data model, and then set their parsers to read those extension attributes. Extensions are ONLY permitted using the 'extensions' attribute within the primary classes of:

These extensions take the form of name/value pairs. The name is the label of the extension field, and the value is the value of the extension. For example, if wanting to show the extension of field "classification", with value "private" that was added/provided by "1EdTech", the name/value pair is: "1edtech.classification" : "private".

It is RECOMMENDED that where extensions are used, whenever possible the name/value pairs are based upon vocabulary controlled files. This eliminates a proliferation of free text equivalencies from entering the data e.g. "Florida" vs "FL", vs "Florida, USA". In such cases either the attribute, or the value (or both) MUST be a URI that references the attribute and/or value from an appropriate vocabulary file. For example

"http://www.1edtech.org.classification" : "FL"

Within the OpenAPI files, uncontrolled data extensions are explicitly prohibited by the JSON Schema definition.

9.2. Profiling the Service

This Service can be profiled. In general, Profiling is used to:

Valid Profiles must be restrictive i.e. optional features can be removed or constraints increased but new features must not be added. A Profile of this service is made by annotating the UML supplied with the documentation for the specification.

It is strongly recommended that a profile of this specification is undertaken either by, or with the close support, of 1EdTech. However, no matter who is responsible for creating the profile artifacts (documents, OpenAPI files, XSDs, etc.), it is strongly recommended that the 1EdTech specification tools are used. This will ensure that the artifacts are consistent with the base specifications and that useful support documentation is automatically produced e.g. creation of a document that summarises the differences between the base specification and the profile. Organizations wishing to produce a profile of this specification should contact 1EdTech VP of Operations at: operations@1edtech..org.

toc | top

References

[BCP 47] Matching of Language Tags (RFC 4647) and Tags for Identifying Languages (RFC 5646), A.Phillips and M.Davis, Internet Engineering Task Force, September 2009, https://www.rfc-editor.org/info/bcp47.
[CASE-CERT-11] 1EdTech Competencies and Academic Standards Exchange (CASE) 1.1 Conformance and Certification Final Release 1.0 Document, P.Williams, S.Haught and C.Smythe, 1EdTech Consortium Inc., September 2024, http://www.imsglobal.org/case/casev1p1/caseservicev1p1_conformancev1p0.html.
[CASE-IMPL-11] 1EdTech Competencies and Academic Standards Exchange (CASE) 1.1 Best Practices and Implementation Guide Final Release 1.0 Document, P.Williams, S.Haught and C.Smythe, 1EdTech Consortium Inc., September 2024, http://www.imsglobal.org/case/casev1p0/caseservicev1p0_bpigv1p0.html.
[CASE-INFO-11] 1EdTech Competencies and Academic Standards Exchange (CASE) 1.1 Information Model Final Release 1.0 Document, P.Williams, S.Haught and C.Smythe, 1EdTech Consortium Inc., September 2024, http://www.imsglobal.org/case/casev1p1/caseservicev1p1_infomodelv1p0.html.
[I-BAT, 06] 1EdTech Binding Auto-generation Toolkit (I-BAT), C.Smythe, 1EdTech Consortium Inc., July 2006.
[ISO 8601] ISO8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times, ISO, International Standards Organization (ISO), 2000.
[OAS, 14] OpenAPI Specification (version 2), D.Miller, J.Harmon, J.Whitlock, K.Hahn, M.Gardiner, M.Ralphson, R.Dolin, R.Ratovsky and T.Tam, OpenAPI Initiative (Linux Foundation), September 2014, https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md.
[OAS, 17] OpenAPI Specification (version 3), D.Miller, J.Whitlock, M.Gardiner, M.Ralphson, R.Ratovsky and U.Sarid, OpenAPI Initiative (Linux Foundation), July 2017, https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md.
[Privacy, 24] 1EdTech Privacy Framework 1.0 Candidate Final 1.0, C.Smythe and J.McGhee, 1EdTech Consortium Inc., September 2024, https://www.imsglobal.org/spec/privacy/v1p1/.
[RFC 2119] Key words for use in RFCs to Indicate Requirement Levels, S.Bradner, IETF (RFC 2119), March 1997, https://tools.ietf.org/html/rfc2119.txt.
[RFC 3066] Tags for the Identification of Languages, H.Alvestrand, IETF (RFC 3066), January 2001, https://tools.ietf.org/html/rfc3006.txt.
[Security, 21] 1EdTech Security Framework 1.1 Final Release 1.0, C.Smythe, N.Mills, C.Vervoort and M.Mckell, 1EdTech Consortium Inc., July 2021, https://www.imsglobal.org/spec/security/v1p1/.
[UNICODE, 16] UNICODE Collation Algorithm Version 9.0, M.Davis, K.Whistler and M.Scheer, Unicode Technical Standard #10, May 2016.
[VDEX, 04] 1EdTech Vocabulary Definition Exchange (VDEX) 1.0, A.Cooper, 1EdTech Consortium Inc., February 2004, https://www.imsglobal.org/vdex/vdexv1p0/imsvdex_infov1p0.html.

toc | top

Appendix A REST/JSON Modelling Terms

A1 REST Endpoint Description Explanations

A1.1 REST Endpoint Mapping Table Explanation

Table A1.1 provides the key to the descriptions of the mapping between a service calls and its REST endpoint URL-leaf.

Table A1.1 The key to the descriptions of the mapping between a service calls and its REST endpoint URL-leaf.
Category Definition and Usage
Service Call The name of the service call as defined in the associated Behavioral Model.
REST Endpoint The REST endpoint URL leaf that is used to complete the request URL. This value must be appended to the host server (defined by the implementation) and API Root URL and version (defined in the specification).
HTTP Verb The HTTP verb that must be used for the request message. This is enumerated as: GET, PUT, POST and DELETE. The rules of mapping are:
  • GET - request to read the identified resource from the service provider;
  • PUT - request to write the supplied resource on the service provider using the given resource identifier;
  • POST - request to write the supplied resource on the service provider and the service provider must assign the unique identifier;
  • DELETE - request to delete the identified resource.

toc | top

A1.2 Query Parameter Table Explanation

Table A1.2 provides the key to the descriptions of the query parameters that are permitted for an endpoint.

Table A1.2 The key to the descriptions of the data attribute/characteristic tables.
Category Definition and Usage
Parameter Name The name given to the query parameter being described.
Data Type This is the data-type of the parameter. The data-type can take many forms:
  • Enumeration - a list of the permitted values;
  • Primitive Data-types from:-
    • AnyTypeLax - the namespace data-type i.e. defining data from any context (this is used for allowing any form of extension);
    • AnyURI - the AnyURI data-type (absolute or relative URI);
    • Base - the base data-type for defining a base URI/URL link reference;
    • Boolean - the boolean data-type (with permitted values of "true" and "false");
    • Date - the date data-type (using the [ISO 8601] format);
    • DateTime - the date/time data-type (using the [ISO 8601] format);
    • Decimal - the decimal data-type (a variable precision number that is either positive or negative);
    • Double - the double data-type (double precision floating point number - 64bit);
    • Duration - the duration data-type (using the [ISO 8601] format)
    • Empty - the associated instance must be empty;
    • Float - the float data-type (single precision floating point number - 32bit);
    • ID - the unique identifier data-type;
    • IDREF - the reference to a previously defined unique identifier data-type (ID);
    • IDREFS - a list, whitespace separated, of references to a previously defined unique identifier data-type (ID);
    • Int - the int data-type (this is derived from the "decimal" data-type);
    • Integer - the integer data-type (using the);
    • Language - the language data-type as defined in [BCP 47];
    • Namespace - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models);
    • NamespaceLax - the namespace data-type i.e. defining data from a context other than that as the default for the data model (this is used for importing other data models but being lax on the validation);
    • NonNegativeInteger - the non-negative integer data-type (this is derived from the "integer" data-type) i.e. an integer that is zero or higher;
    • NCName - the NCName data-type (derived from the Name data-type);
    • NormalizedString - the normalized string data type (strings with line feeds, carriage returns and tab characters removed);
    • PositiveInteger - the positive integer data-type (this is derived from the "nonNegativeinteger" data-type) i.e. an integer that is one or higher;
    • String - the normalized string data type;
    • Time - the time data-type (using the [ISO 8601] format).
Value Space The range of valid values for this parameter (including any default value). If the value space is unspecified, it is not known or is not important. This value space must be defined in terms of the associated data-type.
Multiplicity A property of the parameter indicating the number of values that may be assigned to the parameter (this occurs as a comma separated list). The values of this property are expressed as a range or shorthand for a range using the notation:
  • "0..1" [optional; restricted]
  • "0..*" [optional; unrestricted]
  • "1" [mandatory; restricted]
  • "1..*" [mandatory; unrestricted]
Description Contains descriptions relating to the query parameter and its values space.

toc | top

A1.3 HTTP Codes and Handling for each Endpoint Table Explanation

Table A1.3 provides the key to the descriptions of the list of HTTP codes and handling for each endpoint.

Table A1.3 The key to the descriptions of the list of HTTP codes and handling for each endpoint.
Category Definition and Usage
REST Endpoint The REST endpoint URL leaf that is used to complete the request URL. This value must be appended to the host server (defined by the implementation) and API Root URL and version (defined in the specification).
HTTP Verb The HTTP verb that must be used for the request message. This is enumerated as: GET, PUT, POST and DELETE. The rules of mapping are:
  • GET - request to read the identified resource from the service provider;
  • PUT - request to write the supplied resource on the service provider using the given resource identifier;
  • POST - request to write the supplied resource on the service provider and the service provider must assign the unique identifier;
  • DELETE - request to delete the identified resource.
HTTP Codes and Handling The list of HTTP codes that may be returned by the service provider. A description of the cause of the HTTP code is supplied along with a link to the definition of the associated JSON payload structure that contains the detailed status information.

A1.4 Endpoint Confidentiality Classification Table Explanation

Table A1.4 provides the key to the descriptions of the privacy classification of the exchanged payloads.

Table A1.4 The key to the descriptions of the privacy classification of the exchanged payloads.
Category Definition and Usage
Service Call The logical name/identifier for the service i.e. this is NOT the endpoint URL-leaf.
HTTP Verb The HTTP Verb for the request message. This is enumerated as: GET, PUT, POST and DELETE.
Request Message Parameters The list of parameters that are used to construct the request body. The name and data-type for each parameter is supplied. Some parameters are mapped to the URL and others as part of the JSON encoded message body.
Request Message Classification The confidentiality classification of the request message payload as a whole. The set of possible values are:
  • "unrestricted" - there are no privacy concerns (this is the default value);
  • "normal" - denotes that privacy sensitive data could be included and so all best practices to secure this data should be used;
  • "restricted" - denotes that some of the data is more sensitive than usual or that many attributes information that when used together create increased vulnerability for identification of the associated individual or group;
  • "veryrestricted" - denotes that the request could contain very sensitive privacy data. Depending on the capabilities of the Consumer this very sensitive data may be obfuscated or may not even be present.
Response Message Parameters The list of parameters that are used to construct the response body. The name and data-type for each parameter is supplied. All of the data is returned in the JSON encoded message body.
Response Message Classification The confidentiality classification of the response message payload as a whole. The set of possible values are:
  • "unrestricted" - there are no privacy concerns (this is the default value);
  • "normal" - denotes that privacy sensitive data could be included and so all best practices to secure this data should be used;
  • "restricted" - denotes that some of the data is more sensitive than usual or that many attributes information that when used together create increased vulnerability for identification of the associated individual or group;
  • "veryrestricted" - denotes that the request could contain very sensitive privacy data. Depending on the capabilities of the Provider this very sensitive data may be obfuscated or may not even be present.

A1.5 Data Model Confidentiality Classification Table Explanation

Table A1.5 provides the key to the descriptions of the privacy classification of the individual attributes for each data model class.

Table A1.5 The key to the descriptions of the privacy classification of the individual attributes for each data model class.
Category Definition and Usage
Class Name The name of the class as defined in the accompanying binding files.
Class Privacy Attribute Set The full list of attributes in the class/data-type that have been annotated as containing privacy sensitive data. Only those attributes identified with a level of "normal" or "restricted" or "veryrestricted" are listed.
Class Confidentiality Classification The confidentiality classification of the class/data-type as a whole. The set of possible values are:
  • "unrestricted" - there are no privacy concerns (this is the default value);
  • "normal" - denotes that privacy sensitive data could be included;
  • "restricted" - denotes that some of the data is more sensitive than usual or that many attributes information that when used together create increased vulnerability for identification of the associated individual or group;
  • "veryrestricted" - denotes that the request could contain very sensitive privacy data. This data should either be obfuscated or perhaps not even sent.
Attributes (Confidentiality-Normal) The list of attributes that have been classified with a confidentiality level of "normal".
Attributes (Confidentiality-Restricted) The list of attributes that have been classified with a confidentiality level of "restricted".
Attributes (Confidentiality-VeryRestricted) The list of attributes that have been classified with a confidentiality level of "veryrestricted".

toc | top

A2 UML to JSON Mapping Description Explanations

A2.1 Service Parameter Payload Properties UML/JSON Mapping Table Definition

Table A2.1 provides the key to the descriptions of UML to JSON service parameter mapping tables.

Table A2.1 The key to the descriptions of UML to JSON service parameter mapping tables.
Feature Definition and Usage
Operation Name The name operation (this will be a list of all of the operations for the set of defined interfaces).
Parameter Name The name of the service parameter (these are the parameters listed for the operation that are not mapped to endpoint query parameters).
UML Class The name of the class, the type of the parameter, in the UML diagrams (each class will have an associated stereotype label to denote its modeling interpretation). If the information model description is contained within the same document, this value is hot-linked to that description.
JSON Name The equivalent name of the JSON parameter name in the JSON payload.
JSON Type The JSON type - this will be either "Object" or "Array of Objects".
JSON Schema Data Type The data-type in the context of the JSON Schema. This is hot-linked to the corresponding description table in the binding.

toc | top

A2.2 UML/JSON Payload Class Mapping Table Definition

Table A2.2 provides the key to the descriptions of UML to JSON payload class mapping tables. This table shows the relationship between the two modeling components:

Table A2.2 The key to the descriptions of UML to JSON payload class mapping tables.
Feature Definition and Usage
Name The name of the UML class and the associated set of attributes and characteristics. The first row is used to describe the UML class. Camel-case is used for the attribute and characteristic names.
UML Artifact The UML Class will be denoted as "Root" or "Core" depending on the nature of the class. The list of attributes (mapped to JSON properties) and characteristics (mapped to JSON properties) will be identified as either "Attributes" or "Characteristics".
Data Type The data-type has several permitted values:
  • PT:... - denotes a primitive type with "..." replaced by the actual primitiveType name
  • DT:... (PT:...) - denotes a derived type of name "..." derived from the primitive type "PT:..."
  • [Enumeration(...)] - denotes an enumeration of name "..."
  • [List(...)] - denotes a list of the name "..."
  • [Union(...)] - denotes a union of one or more data-types with the name "..."
  • [Imported(...)] - denotes a class with the name "..." has been imported from another specification
  • "Container[...]" - denotes a class of stereotype "..."
Multiplicity The multiplicity of the child attribute/characteristic. The value for the Class itself is "-N/A-". The multiplicity values are:
  • "0..1" [optional; restricted]
  • "0..*" [optional; unrestricted]
  • "1" [mandatory; restricted]
  • "1..*" [mandatory; unrestricted]
The multiplicity will also indicate when groups of elements have variable multiplicity. In the case when a selection between groups of elements is used then this is denoted by "XOR" being displayed above the multiplicity for each of the grouped elements. Alongside the XOR is the multiplicity of the group as a whole.
JSON Name This is the equivalent name of the UML artifact in the JSON.
JSON Type The JSON data-type. For the Class this will have the value "Object". For the attributes the value is either "Property" or "Array of Properties" depending on the multiplicity. For the characteristics the value is either "Properties" or "Array of Properties" depending on the multiplicity.

toc | top

A2.3 UML/JSON Enumerated and Enumerated List Class Mapping Table Definition

Table A2.3 provides the key to the descriptions of UML to JSON enumerated and enumerated list class mapping tables.

Table A2.3 The key to the descriptions of UML to JSON enumerated and enumerated list class mapping tables.
Feature Definition and Usage
Enumeration Class Name or Enumeration List Class Name The name of the enumeration class or the enumeration list class.
Description The list of permitted tokens for the enumeration or list. Each value is separated by the "|" character.

toc | top

A2.4 UML/JSON Primitive Types Mapping Table Definition

Table A2.4 provides the key to the descriptions of UML to JSON primitive-type mapping tables.

Table A2.4 The key to the descriptions of UML to JSON primitive-type mapping tables.
Feature Definition and Usage
Primitive Type Name The name of the primitive type used in the specification. Links to the definition of the primitive types, if provided elsewhere in the document, are supplied.
Description The equivalent base data type that is used in the JSON binding.

A3 OpenAPI (v2 and v3) Descriptions Explanations

These definitions are with respect to the OpenAPI version 2 [OAS, 14] and version 3 [OAS, 17] specifications.

A3.1 OpenAPI General Information Table Explanation

Tables A3.1a and A3.1b provide the key to the OpenAPI(2) and OpenAPI(3) general information respectively.

Table A3.1a The key to the tabular description of the OpenAPI(2) general information.
Category Definition and Usage
Swagger Version The version of the OpenAPI/Swagger specification for this OpenAPI description (this must be set as 2.0).
Specification Title The title of the specification being described.
Specification Version The version of the specification being described.
Description A short, human readable description of the specification being described using OpenAPI.
Terms of Service The Terms of Service for the API.
Contact The contact information for the API. For the IMS OpenAPI released files this will be set as "Lisa Mattson (IMS COO)". When used for an implementation this should be changed to the actual contact person.
License The URL for the associated IMS License for the use of this OpenAPI description.
Host The host (name or ip) serving the API. For the IMS OpenAPI(2) released files this will be set as "www.imsglobal.org". When used for an implementation this should be changed to the actual host.
Base Path The base path that MUST be used in the endpoint URLs (this is relative to the host).
Schemes The set of transfer protocols that are supported using this API. This is a comma separated list.
Consumes A list of MIME types the APIs can consume. This is a comma separated list.
Produces A list of MIME types the APIs can produce. This is a comma separated list.

Table A3.1b The key to the tabular description of the OpenAPI(3) general information.
Category Definition and Usage
OpenAPI Version The version of the OpenAPI specification for this OpenAPI description (this must be set as 3.0.0).
Specification Title The title of the specification being described.
Specification Version The version of the specification being described.
Description A short, human readable description of the specification being described using OpenAPI.
Terms of Service The URL for the associated Terms of Service for the use of this OpenAPI description.
Contact The contact information for the API. For the IMS OpenAPI released files this will be set as "Lisa Mattson (IMS COO)". When used for an implementation this should be changed to the actual contact person.
License The URL for the associated IMS License for the use of this OpenAPI description.
Servers The host (name or ip) serving the API. For the IMS OpenAPI(3) released files this will be set as "www.imsglobal.org/{base-path}". When used for an implementation this should be changed to the actual host.

toc | top

A3.2 OpenAPI Tags Table Explanation

Table A3.2 provides the key to the tabular description of the OpenAPI tags information (versions 2 and 3).

Table A3.2 The key to the tabular description of the OpenAPI tags information.
Category Definition and Usage
Tag Name The title of the tag (this must be unique). The tags are derived from the set of Interfaces defined in the Behavioral Model.
Description A human readable description of the tag. This is the comment associated with the Interface in the Behavioral Model. The list of associated endpoints assigned to this tag are listed with links to the OpenAPI description of those endpoints.

toc | top

A3.3 OpenAPI Security Table Explanation

Table A3.3 provides the key to the tabular description of the OpenAPI security information.

Table A3.3 The key to the tabular description of the OpenAPI security information.
Category Definition and Usage
Security Label The label by which this mode is identified within the OpenAPI file.
Type The security mode supported. The permitted values are:
  • "basic" - use of basic authentication
  • "apikey" - use of an API key (in the header or as a query parameter)
  • "oauth2" - use of OAuth 2.0
Description A human readable description of the usage of this security scheme.
Flow The flow used by the OAuth2 security scheme. The permitted values in OAS2 are:
  • "implicit" - implicit grant type is used to obtain access tokens (see [RFC 6749] sub-section 4.2)
  • "password" - resource owner password credentials grant type (see [RFC 6749] sub-section 4.3)
  • "application" - client credentials grant type (see [RFC 6749] sub-section 4.4)
  • "accessCode" - authorization code grant type (see [RFC 6749] sub-section 4.1)

The permitted values in OAS3 are:
  • "clientCredentials" - client credentials grant type (see [RFC 6749] sub-section 4.4)
  • "authorizationCode" - authorization code grant type (see [RFC 6749] sub-section 4.1)
Token URL The token URL to be used for this flow. A value MUST be supplied for the "password", "application" and "accessMode" flows in OAuth 2.
Authorization URL The authorization URL to be used for this flow. A value MUST be supplied for the "accessMode" flows in OAuth 2.
Refresh URL The refresh URL to be used for this flow. A value MAY be supplied for the "accessMode" flows in OAuth 2.
Scopes The set of labels by which the global scope will be identified.
Global Scope The default identification of the security mode to be applied to an endpoint.

toc | top

A3.4 OpenAPI Paths Table Explanation

Table A3.4 provides the key to the OpenAPI paths information for an HTTP Verb.

Table A3.4 The key to the tabular description of the OpenAPI paths information for an HTTP Verb.
Category Definition and Usage
Operation ID A unique identifier for the service operation. This is the name of the operation defined in the Behavioral Model.
Summary A human readable summary of the objective of the service operation.
Tags The tag which has been assigned to this operation. The tag is determined by the Interface under which the operation is defined in the Behavioral Model.
Security and Scopes The list of security modes and scopes that MUST be used enable access to this endpoint.
Privacy Classification This is the classification of the JSON Payload with respect to the nature of the confidentiality as defined in the 1EdTech Privacy framework. All privacy classifications are identified using the property name of "x-1edtech-confidentiality" for each endpoint definition under the "paths" part of the OpenAPI file. The available classifications are:
  • "unrestricted" - there are no privacy concerns in this payload (the default condition when no attributes have been annotated as privacy sensitive);
  • "normal" - the payload contains privacy sensitive information (the default condition when at least one attribute has been annotated as privacy sensitive);
  • "restricted" - the payload contains several attributes that have been annotated as privacy sensitive and/or which act to provide access to other sensitive information;
  • "very restricted" - the payload contains attributes that contain very sensitive information e.g. accessibility, demographics, medical, etc.
Description A human readable summary of the objective of the service operation. This is derived from the associated description of the operation supplied in the Behavioral Model.
Path Placeholders The set of placeholders, and their meaning, in the URL path that will be replaced by the appropriate values in the request calls.
Query Parameters The set of query parameters that are permitted on the request calls. For each query parameter the following information is supplied:
  • Name - the name of the parameter;
  • Type - the data type for the parameter;
  • Multiplicity - the permitted multiplicity of the parameter. This takes the form of:-
    • "0..1" [optional; restricted]
    • "0..*" [optional; unrestricted] - this will normally be achieved as a comma separated list
    • "1" [mandatory; restricted]
    • "1..*" [mandatory; unrestricted] - this will normally be achieved as a comma separated list
  • Default - the default value for the parameter.
Responses The set of query responses that are permitted for the request. For each response the following information is supplied:
  • Name - the name of the response (this is either a valid HTTP code or the value "default");
  • Type - the data type for the response payload (this is linked to the corresponding OpenAPI definition). If there is no payload then this will be denoted by "N/A";
  • Description - the description of the response including any specific status code values.

toc | top

A3.5 OpenAPI Definitions Table Explanation

Table A3.5 provides the key to the OpenAPI definitions information.

Table A3.5 The key to the tabular description of the OpenAPI definitions information.
Category Definition and Usage
Annotations The definition of the complex-type as supplied in the data model definition for the associated class.
Diagram This diagram consists of two types of linked blocks. Straight link lines denote the set of unordered JSON properties. The block forms are:
  • ComplexType Block - a purple and grey shaded rectangle containing the name of the complexType and whether or not the addition of proprietary properties is permitted;
  • Property Blocks - blue and grey shaded rounded rectangles containing the name of the property, its data-type, and the multiplicity (denoted by a circle containing either the symbol "?", "1", "*" or "+" representing optional, required, optionally many or at least). Anything with a multiplicity of more than one is identified as an ARRAY[].
Type Hierarchy The identification of the superclass upon which this type is based (the superclass is shown on the top line). This indicates the source of the inherited set of JSON properties (this line is only displayed when there is a type hierarchy).
Model The set of child properties. This is an ordered list of properties (as per the implied or actual sequence in the object) and accompanied by their multiplicity. In the case where the type is an enumeration or primitiveType then the value is "N/A". The value may also be "Empty" to indicate that no children are permitted. In some situations the value may be "None" denoting that there are no children defined e.g. for a base class from which other classes are derived and which may have children as part of the extension.
Privacy and Confidentiality The set of annotations for each class/data-type defined in the OpenAPI files. Each of these annotations are placed after the list of properties for the class/data-type definition. The annotations are:
  • Privacy Annotations - the list of attributes that have been annotated as containing privacy sensitive information. This list is identified by the property name "x-1edtech-privacy" in the OpenAPI files;
  • Confidentiality Classification - the classification of the class/data-type as a whole with respect to the nature of the confidentiality as defined in the 1EdTech Privacy framework. All privacy classifications are identified using the property name of "x-1edtech-confidentiality" with permitted values of "unrestricted" (the default value), "normal", "restricted" and "veryrestricted"
  • Confidentiality Assignments - the list of attributes that have been annotated under each of the available set of confidentiality classifications. The three set of lists are identified, but displayed only when at least one attribute as been annotated with this classification, by the property names "x-1edtech-confidentiality-normal", "x-1edtech-confidentiality-restrictedl" and "x-1edtech-confidentiality-veryrestrictedl".
Source (OAS2) The equivalent JSON Schema (OpenAPI dialect) code for the declaration of the complex-type. This is the full declaration. See the corresponding OpenAPI 2 documentation [OAS, 14] for the description of the permitted contents for this declaration.
Source (OAS3) The equivalent JSON Schema (OpenAPI dialect) code for the declaration of the complex-type. This is the full declaration. See the corresponding OpenAPI 3 documentation [OAS, 17] for the description of the permitted contents for this declaration.

toc | top

Appendix B OpenAPI Listings

B1 CASE Service OpenAPI JSON Definition Listing

B1.1 OpenAPI 2.0 JSON Listing

The OpenAPI 2 (JSON) listing (based upon [OAS, 14]) is shown below (the OpenAPI JSON is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/openapi/imscasev1p1_openapi2_v1p0.json).

{
    "swagger" : "2.0",
    "info" : {
        "version" : "1.1",
        "title" : "Competencies and Academic Standards Exchange (CASE) Service OpenAPI (JSON) 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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.",
        "termsOfService" : "Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals. The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns. THIS API DEFINITION 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 API DEFINITION.",
        "contact" : {
            "name" : "Vice President of Operations, 1EdTech",
            "url" : "https://www.1edtech.org",
            "email" : "operations@1edtech.org"
        },
        "license" : {
            "name" : "1EdTech",
            "url" : "https://www.1edtech.org/license.html"
        }
    },
    "host" : "www.imsglobal.org",
    "basePath" : "/ims/case/v1p1",
    "schemes" : [ "http","https" ],
    "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" : {
        "/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFAssociationGrouping from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFAssociation from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFConcept and child CFConcepts from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "integer",
                        "format" : "int32",
                        "minimum" : 1,
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "integer",
                        "format" : "int32",
                        "default" : 0,
                        "minimum" : 0,
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "string",
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "string",
                        "enum" : [ "asc","desc" ],
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "string",
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "array",
                        "items" : {
                            "type" : "string"
                        },
                        "collectionFormat" : "csv",
                        "allowEmptyValue" : false
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the set of CFDocuments from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/CFDocumentSetDType"
                        },
                        "headers" : {
                            "X-Total-Count" : {
                                "description" : "The total number of resources that are available to be returned",
                                "type" : "integer"
                            }
                        }
                    },
                    "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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFDocument from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFItem from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFLicense from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFPackage from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFRubric from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/imsx_StatusInfoDType"
                        }
                    }
                }
            }
        }
    },
    "definitions" : {
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
                    "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
                    "type" : "string"
                },
                "sequenceNumber" : {
                    "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
                    "type" : "integer",
                    "format" : "int32"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "originNodeURI" : {
                    "$ref" : "#/definitions/LinkGenURIDType"
                },
                "destinationNodeURI" : {
                    "$ref" : "#/definitions/LinkGenURIDType"
                },
                "CFAssociationGroupingURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
                    "type" : "string"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFAssociationExtensionDType"
                },
                "CFDocumentURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                }
            },
            "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFAssociationExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFAssociation class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFAssociationGrouping.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFAssociationGrouping.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFAssociationGroupingExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFAssociationGroupingExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFAssociationGrouping class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "CFItem" : {
                    "$ref" : "#/definitions/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" : "#/definitions/CFPckgAssociationDType"
                    }
                }
            },
            "required" : [ "CFItem","CFAssociations" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFConceptDType" : {
            "description" : "The container for the definition of a concept which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFConcept using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFConcept.",
                    "type" : "string"
                },
                "keywords" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Defined listing of keywords delimited by '|' that the concept encompasses.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFConcept.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFConceptExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFConceptExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFConcept class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "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",
            "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" : "#/definitions/CFConceptDType"
                    }
                }
            },
            "required" : [ "CFConcepts" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "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" : "#/definitions/CFConceptDType"
                    }
                },
                "CFSubjects" : {
                    "description" : "The set of subject definitions.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/definitions/CFSubjectDType"
                    }
                },
                "CFLicenses" : {
                    "description" : "The set of license definitions.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/definitions/CFLicenseDType"
                    }
                },
                "CFItemTypes" : {
                    "description" : "The set of item type definitions.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/definitions/CFItemTypeDType"
                    }
                },
                "CFAssociationGroupings" : {
                    "description" : "The set of association grouping definitions.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/definitions/CFAssociationGroupingDType"
                    }
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFDefinitionExtensionDType"
                }
            },
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFDefinitionExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFDefinition class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "frameworkType" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
                    "type" : "string"
                },
                "caseVersion" : {
                    "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
                    "type" : "string",
                    "enum" : [ "1.1" ]
                },
                "creator" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "type" : "string"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "officialSourceURL" : {
                    "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
                    "type" : "string",
                    "format" : "uri"
                },
                "publisher" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
                    "type" : "string"
                },
                "subject" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
                    "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" : "#/definitions/LinkURIDType"
                    }
                },
                "language" : {
                    "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                    "type" : "string"
                },
                "version" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
                    "type" : "string"
                },
                "adoptionStatus" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
                    "type" : "string"
                },
                "statusStartDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
                    "type" : "string",
                    "format" : "date"
                },
                "statusEndDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
                    "type" : "string",
                    "format" : "date"
                },
                "licenseURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
                    "type" : "string"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFDocumentExtensionDType"
                },
                "CFPackageURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                }
            },
            "required" : [ "identifier","uri","creator","title","lastChangeDateTime","CFPackageURI" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFDocumentExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFDocument class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "CFDocumentSetDType" : {
            "description" : "This is the container for a collection of CFDocuments. There must be at least one CFDocument.",
            "type" : "object",
            "properties" : {
                "CFDocuments" : {
                    "description" : "This is the data for a single CFDocument within the CFDocumentSet container.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/definitions/CFDocumentDType"
                    }
                }
            },
            "required" : [ "CFDocuments" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
                    "type" : "string"
                },
                "alternativeLabel" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
                    "type" : "string"
                },
                "CFItemType" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
                    "type" : "string"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "humanCodingScheme" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
                    "type" : "string"
                },
                "listEnumeration" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
                    "type" : "string"
                },
                "abbreviatedStatement" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
                    "type" : "string"
                },
                "conceptKeywords" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "conceptKeywordsURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
                    "type" : "string"
                },
                "subject" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "subjectURI" : {
                    "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    }
                },
                "language" : {
                    "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                    "type" : "string"
                },
                "educationLevel" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "CFItemTypeURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "licenseURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "statusStartDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
                    "type" : "string",
                    "format" : "date"
                },
                "statusEndDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
                    "type" : "string",
                    "format" : "date"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFItemExtensionDType"
                },
                "CFDocumentURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                }
            },
            "required" : [ "identifier","fullStatement","uri","lastChangeDateTime","CFDocumentURI" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFItemExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFItem class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "CFItemTypeDType" : {
            "description" : "The container for the ItemType information use within the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItemType using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFItemType.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFItemType.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
                    "type" : "string"
                },
                "typeCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Text code used for type identification.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFItemTypeExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","description","hierarchyCode","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFItemTypeExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFItemType class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "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",
            "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" : "#/definitions/CFItemTypeDType"
                    }
                }
            },
            "required" : [ "CFItemTypes" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFLicenseDType" : {
            "description" : "The container for the information about a license used within the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFLicense using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFLicense.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFLicense.",
                    "type" : "string"
                },
                "licenseText" : {
                    "description" : "Model Primitive Datatype = String. 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.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFLicenseExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","licenseText","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFLicenseExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFLicense class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "CFDocument" : {
                    "$ref" : "#/definitions/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" : "#/definitions/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" : "#/definitions/CFPckgAssociationDType"
                    }
                },
                "CFDefinitions" : {
                    "$ref" : "#/definitions/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" : "#/definitions/CFRubricDType"
                    }
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFPackageExtensionDType"
                }
            },
            "required" : [ "CFDocument" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFPackageExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFPackage class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
                    "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
                    "type" : "string"
                },
                "sequenceNumber" : {
                    "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
                    "type" : "integer",
                    "format" : "int32"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "originNodeURI" : {
                    "$ref" : "#/definitions/LinkGenURIDType"
                },
                "destinationNodeURI" : {
                    "$ref" : "#/definitions/LinkGenURIDType"
                },
                "CFAssociationGroupingURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
                    "type" : "string"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFAssociationExtensionDType"
                }
            },
            "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "frameworkType" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
                    "type" : "string"
                },
                "caseVersion" : {
                    "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
                    "type" : "string",
                    "enum" : [ "1.1" ]
                },
                "creator" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "type" : "string"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "officialSourceURL" : {
                    "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
                    "type" : "string",
                    "format" : "uri"
                },
                "publisher" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
                    "type" : "string"
                },
                "subject" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
                    "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" : "#/definitions/LinkURIDType"
                    }
                },
                "language" : {
                    "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                    "type" : "string"
                },
                "version" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
                    "type" : "string"
                },
                "adoptionStatus" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
                    "type" : "string"
                },
                "statusStartDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
                    "type" : "string",
                    "format" : "date"
                },
                "statusEndDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
                    "type" : "string",
                    "format" : "date"
                },
                "licenseURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
                    "type" : "string"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFDocumentExtensionDType"
                }
            },
            "required" : [ "identifier","uri","creator","title","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
                    "type" : "string"
                },
                "alternativeLabel" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
                    "type" : "string"
                },
                "CFItemType" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
                    "type" : "string"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "humanCodingScheme" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
                    "type" : "string"
                },
                "listEnumeration" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
                    "type" : "string"
                },
                "abbreviatedStatement" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
                    "type" : "string"
                },
                "conceptKeywords" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "conceptKeywordsURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
                    "type" : "string"
                },
                "subject" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "subjectURI" : {
                    "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    }
                },
                "language" : {
                    "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                    "type" : "string"
                },
                "educationLevel" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "CFItemTypeURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "licenseURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "statusStartDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
                    "type" : "string",
                    "format" : "date"
                },
                "statusEndDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
                    "type" : "string",
                    "format" : "date"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFItemExtensionDType"
                }
            },
            "required" : [ "identifier","fullStatement","uri","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubric using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFRubric.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString. ",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "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" : "#/definitions/CFRubricCriterionDType"
                    }
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFRubricExtensionDType"
                }
            },
            "required" : [ "identifier","uri","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFRubricCriterionDType" : {
            "description" : "The container for the definition of a rubric criterion which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "category" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A textual label for category by which CFRubricCriterion may be grouped.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterion.",
                    "type" : "string"
                },
                "CFItemURI" : {
                    "$ref" : "#/definitions/LinkURIDType"
                },
                "weight" : {
                    "description" : "Model Primitive Datatype = Float. A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.",
                    "type" : "number",
                    "format" : "float"
                },
                "position" : {
                    "description" : "Model Primitive Datatype = Integer. A numeric value representing this criterion's position in the criteria list for this CFRubric.",
                    "type" : "integer",
                    "format" : "int32"
                },
                "rubricId" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "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" : "#/definitions/CFRubricCriterionLevelDType"
                    }
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFRubricCriterionExtensionDType"
                }
            },
            "required" : [ "identifier","uri","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFRubricCriterionExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubricCriterionExtension class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "CFRubricCriterionLevelDType" : {
            "description" : "The container for the definition of a criterion level which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterionLevel.",
                    "type" : "string"
                },
                "quality" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.",
                    "type" : "string"
                },
                "score" : {
                    "description" : "Model Primitive Datatype = Float. The points awarded for achieving this level.",
                    "type" : "number",
                    "format" : "float"
                },
                "feedback" : {
                    "description" : "Model Primitive Datatype = String. Pre-defined feedback text to be relayed to the person or organization being evaluated. This may include guidance and suggestions for improvement or development.",
                    "type" : "string"
                },
                "position" : {
                    "description" : "Model Primitive Datatype = Integer. A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.",
                    "type" : "integer",
                    "format" : "int32"
                },
                "rubricCriterionId" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/definitions/CFRubricCriterionLevelExtensionDType"
                    }
                }
            },
            "required" : [ "identifier","uri","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFRubricCriterionLevelExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubricCriterionLevel class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "CFRubricExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubric class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "CFSubjectDType" : {
            "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFSubject using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFSubject.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFSubject.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "$ref" : "#/definitions/CFSubjectExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "CFSubjectExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFSubject class.",
            "type" : "object",
            "properties" : {

            },
            "x-1edtech-privacy" : [ "extensions" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : true
        },
        "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",
            "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" : "#/definitions/CFSubjectDType"
                    }
                }
            },
            "required" : [ "CFSubjects" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "LinkGenURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
                    "type" : "string"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                },
                "targetType" : {
                    "description" : "This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.",
                    "type" : "string"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "LinkURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                    "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/definitions/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "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",
            "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
                },
                "imsx_description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
                    "type" : "string"
                },
                "imsx_codeMinor" : {
                    "$ref" : "#/definitions/imsx_CodeMinorDType"
                }
            },
            "required" : [ "imsx_codeMajor","imsx_severity" ],
            "x-1edtech-confidentiality" : "unrestricted",
            "additionalProperties" : false
        }
    },
    "consumes" : [ "application/json" ],
    "produces" : [ "application/json" ]
}
        

B1.2 OpenAPI 3.0 JSON Listing

The OpenAPI 3 (JSON) listing (based upon [OAS, 17]) is shown below (the OpenAPI JSON is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/openapi/imscasev1p1_openapi3_v1p0.json).

{
    "openapi" : "3.0.0",
    "info" : {
        "version" : "1.1",
        "title" : "Competencies and Academic Standards Exchange (CASE) Service OpenAPI (JSON) 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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.",
        "termsOfService" : "https://www.imsglobal.org/license.html",
        "contact" : {
            "name" : "Vice President of Operations, 1EdTech",
            "url" : "https://www.1edtech.org",
            "email" : "operations@1edtech.org"
        },
        "license" : {
            "name" : "1EdTech",
            "url" : "https://www.1edtech.org/license.html"
        }
    },
    "servers" : [
        {
            "url" : "https://{hostName}{basePath}",
            "description" : "The pattern for the Server URL should be configured for the actual server location.",
            "variables" : {
                "hostName" : {
                    "description" : "This is the hostname for the server and MUST be set to the actual service provider (the 1EdTech URL is given as a default value).",
                    "default" : "www.imsglobal.org"
                },
                "basePath" : {
                    "description" : "This is the base-path for the full URL and MUST be a part of the service endpoints.",
                    "enum" : ["/ims/case/v1p1"],
                    "default" : "/ims/case/v1p1"
                }
            }
        }
    ],
    "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" : {
        "/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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFConcept and child CFConcepts 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",
                            "minimum" : 1
                        },
                        "style" : "form",
                        "allowEmptyValue" : false
                    },
                    {
                        "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
                        },
                        "style" : "form",
                        "allowEmptyValue" : false
                    },
                    {
                        "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"
                        },
                        "style" : "form",
                        "allowEmptyValue" : false
                    },
                    {
                        "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" ]
                        },
                        "style" : "form",
                        "allowEmptyValue" : false
                    },
                    {
                        "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"
                        },
                        "style" : "form",
                        "allowEmptyValue" : false
                    },
                    {
                        "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"
                            }
                        },
                        "style" : "form",
                        "allowEmptyValue" : false
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                                }
                            }
                        },
                        "headers" : {
                            "X-Total-Count" : {
                                "description" : "The total number of resources that are available to be returned",
                                "schema" : {
                                    "type" : "integer"
                                }
                            }
                        },
                        "links" : {
                            "next" : {
                                "description" : "Get the next set of resources i.e. from offset to offset+limit",
                                "operationId" : "getAllCFDocuments",
                                "parameters" : {
                                    "limit" : "$request.path.limit",
                                    "offset" : "$request.path.offset"
                                }
                            },
                            "last" : {
                                "description" : "Get the last set of resources i.e. from offset to end",
                                "operationId" : "getAllCFDocuments",
                                "parameters" : {
                                    "limit" : "$request.path.limit",
                                    "offset" : "$request.path.offset"
                                }
                            },
                            "first" : {
                                "description" : "Get the first set of resources i.e. from first to limit",
                                "operationId" : "getAllCFDocuments",
                                "parameters" : {
                                    "limit" : "$request.path.limit",
                                    "offset" : "$request.path.offset"
                                }
                            },
                            "prev" : {
                                "description" : "Get the previous set of resources i.e. from last_offset to last_offset+limit",
                                "operationId" : "getAllCFDocuments",
                                "parameters" : {
                                    "limit" : "$request.path.limit",
                                    "offset" : "$request.path.offset"
                                }
                            }
                        }
                    },
                    "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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" : {
        "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
                        "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
                        "anyOf" : [
                                {
                                    "type" : "string",
                                    "enum" : [ "isChildOf","isPeerOf","isPartOf","exactMatchOf","precedes","isRelatedTo","replacedBy","exemplar","hasSkillLevel","isTranslationOf" ]
                                },
                                {
                                    "description" : "Model Primitive Datatype = NormalizedString.",
                                    "type" : "string",
                                    "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                                }
                        ]
                    },
                    "sequenceNumber" : {
                        "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
                        "type" : "integer",
                        "format" : "int32"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "originNodeURI" : {
                        "$ref" : "#/components/schemas/LinkGenURIDType"
                    },
                    "destinationNodeURI" : {
                        "$ref" : "#/components/schemas/LinkGenURIDType"
                    },
                    "CFAssociationGroupingURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
                        "type" : "string"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFAssociationExtensionDType"
                    },
                    "CFDocumentURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    }
                },
                "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFAssociationExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFAssociation class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFAssociationGrouping.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFAssociationGrouping.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFAssociationGroupingExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFAssociationGroupingExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFAssociationGrouping class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "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"
                        }
                    }
                },
                "required" : [ "CFItem","CFAssociations" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFConceptDType" : {
                "description" : "The container for the definition of a concept which is addressed by the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFConcept using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFConcept.",
                        "type" : "string"
                    },
                    "keywords" : {
                        "description" : "Model Primitive Datatype = NormalizedString. Defined listing of keywords delimited by '|' that the concept encompasses.",
                        "type" : "string"
                    },
                    "hierarchyCode" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFConcept.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFConceptExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFConceptExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFConcept class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "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"
                        }
                    }
                },
                "required" : [ "CFConcepts" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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"
                        }
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFDefinitionExtensionDType"
                    }
                },
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFDefinitionExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFDefinition class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "frameworkType" : {
                        "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
                        "type" : "string"
                    },
                    "caseVersion" : {
                        "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
                        "type" : "string",
                        "enum" : [ "1.1" ]
                    },
                    "creator" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.",
                        "type" : "string"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "officialSourceURL" : {
                        "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "publisher" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
                        "type" : "string"
                    },
                    "subject" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
                        "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" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                        "type" : "string"
                    },
                    "version" : {
                        "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
                        "type" : "string"
                    },
                    "adoptionStatus" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
                        "type" : "string"
                    },
                    "statusStartDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "statusEndDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "licenseURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
                        "type" : "string"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFDocumentExtensionDType"
                    },
                    "CFPackageURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    }
                },
                "required" : [ "identifier","uri","creator","title","lastChangeDateTime","CFPackageURI" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFDocumentExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFDocument class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFDocumentSetDType" : {
                "description" : "This is the container for a collection of CFDocuments. There must be at least one CFDocument.",
                "type" : "object",
                "properties" : {
                    "CFDocuments" : {
                        "description" : "This is the data for a single CFDocument within the CFDocumentSet container.",
                        "type" : "array",
                        "minItems" : 1,
                        "items" : {
                            "$ref" : "#/components/schemas/CFDocumentDType"
                        }
                    }
                },
                "required" : [ "CFDocuments" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
                        "type" : "string"
                    },
                    "alternativeLabel" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
                        "type" : "string"
                    },
                    "CFItemType" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
                        "type" : "string"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "humanCodingScheme" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
                        "type" : "string"
                    },
                    "listEnumeration" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
                        "type" : "string"
                    },
                    "abbreviatedStatement" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
                        "type" : "string"
                    },
                    "conceptKeywords" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "conceptKeywordsURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
                        "type" : "string"
                    },
                    "subject" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "subjectURI" : {
                        "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/components/schemas/LinkURIDType"
                        }
                    },
                    "language" : {
                        "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                        "type" : "string"
                    },
                    "educationLevel" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "CFItemTypeURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "licenseURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "statusStartDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "statusEndDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFItemExtensionDType"
                    },
                    "CFDocumentURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    }
                },
                "required" : [ "identifier","fullStatement","uri","lastChangeDateTime","CFDocumentURI" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFItemExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFItem class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFItemTypeDType" : {
                "description" : "The container for the ItemType information use within the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItemType using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFItemType.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFItemType.",
                        "type" : "string"
                    },
                    "hierarchyCode" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
                        "type" : "string"
                    },
                    "typeCode" : {
                        "description" : "Model Primitive Datatype = NormalizedString. Text code used for type identification.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFItemTypeExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","description","hierarchyCode","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFItemTypeExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFItemType class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "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"
                        }
                    }
                },
                "required" : [ "CFItemTypes" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFLicenseDType" : {
                "description" : "The container for the information about a license used within the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFLicense using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFLicense.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFLicense.",
                        "type" : "string"
                    },
                    "licenseText" : {
                        "description" : "Model Primitive Datatype = String. 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.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFLicenseExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","licenseText","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFLicenseExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFLicense class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "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"
                        }
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFPackageExtensionDType"
                    }
                },
                "required" : [ "CFDocument" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFPackageExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFPackage class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
                        "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
                        "anyOf" : [
                                {
                                    "type" : "string",
                                    "enum" : [ "isChildOf","isPeerOf","isPartOf","exactMatchOf","precedes","isRelatedTo","replacedBy","exemplar","hasSkillLevel","isTranslationOf" ]
                                },
                                {
                                    "description" : "Model Primitive Datatype = NormalizedString.",
                                    "type" : "string",
                                    "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                                }
                        ]
                    },
                    "sequenceNumber" : {
                        "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
                        "type" : "integer",
                        "format" : "int32"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "originNodeURI" : {
                        "$ref" : "#/components/schemas/LinkGenURIDType"
                    },
                    "destinationNodeURI" : {
                        "$ref" : "#/components/schemas/LinkGenURIDType"
                    },
                    "CFAssociationGroupingURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
                        "type" : "string"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFAssociationExtensionDType"
                    }
                },
                "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "frameworkType" : {
                        "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
                        "type" : "string"
                    },
                    "caseVersion" : {
                        "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
                        "type" : "string",
                        "enum" : [ "1.1" ]
                    },
                    "creator" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.",
                        "type" : "string"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "officialSourceURL" : {
                        "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "publisher" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
                        "type" : "string"
                    },
                    "subject" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
                        "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" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                        "type" : "string"
                    },
                    "version" : {
                        "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
                        "type" : "string"
                    },
                    "adoptionStatus" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
                        "type" : "string"
                    },
                    "statusStartDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "statusEndDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "licenseURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
                        "type" : "string"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFDocumentExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","creator","title","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
                        "type" : "string"
                    },
                    "alternativeLabel" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
                        "type" : "string"
                    },
                    "CFItemType" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
                        "type" : "string"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "humanCodingScheme" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
                        "type" : "string"
                    },
                    "listEnumeration" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
                        "type" : "string"
                    },
                    "abbreviatedStatement" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
                        "type" : "string"
                    },
                    "conceptKeywords" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "conceptKeywordsURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
                        "type" : "string"
                    },
                    "subject" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "subjectURI" : {
                        "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/components/schemas/LinkURIDType"
                        }
                    },
                    "language" : {
                        "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                        "type" : "string"
                    },
                    "educationLevel" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "CFItemTypeURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "licenseURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "statusStartDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "statusEndDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFItemExtensionDType"
                    }
                },
                "required" : [ "identifier","fullStatement","uri","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubric using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFRubric.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString. ",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "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"
                        }
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFRubricExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFRubricCriterionDType" : {
                "description" : "The container for the definition of a rubric criterion which is addressed by the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "category" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A textual label for category by which CFRubricCriterion may be grouped.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterion.",
                        "type" : "string"
                    },
                    "CFItemURI" : {
                        "$ref" : "#/components/schemas/LinkURIDType"
                    },
                    "weight" : {
                        "description" : "Model Primitive Datatype = Float. A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.",
                        "type" : "number",
                        "format" : "float"
                    },
                    "position" : {
                        "description" : "Model Primitive Datatype = Integer. A numeric value representing this criterion's position in the criteria list for this CFRubric.",
                        "type" : "integer",
                        "format" : "int32"
                    },
                    "rubricId" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.",
                        "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "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"
                        }
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFRubricCriterionExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFRubricCriterionExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFRubricCriterionExtension class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFRubricCriterionLevelDType" : {
                "description" : "The container for the definition of a criterion level which is addressed by the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterionLevel.",
                        "type" : "string"
                    },
                    "quality" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.",
                        "type" : "string"
                    },
                    "score" : {
                        "description" : "Model Primitive Datatype = Float. The points awarded for achieving this level.",
                        "type" : "number",
                        "format" : "float"
                    },
                    "feedback" : {
                        "description" : "Model Primitive Datatype = String. Pre-defined feedback text to be relayed to the person or organization being evaluated. This may include guidance and suggestions for improvement or development.",
                        "type" : "string"
                    },
                    "position" : {
                        "description" : "Model Primitive Datatype = Integer. A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.",
                        "type" : "integer",
                        "format" : "int32"
                    },
                    "rubricCriterionId" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.",
                        "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/components/schemas/CFRubricCriterionLevelExtensionDType"
                        }
                    }
                },
                "required" : [ "identifier","uri","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFRubricCriterionLevelExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFRubricCriterionLevel class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFRubricExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFRubric class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFSubjectDType" : {
                "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFSubject using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFSubject.",
                        "type" : "string"
                    },
                    "hierarchyCode" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFSubject.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/components/schemas/CFSubjectExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFSubjectExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFSubject class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "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"
                        }
                    }
                },
                "required" : [ "CFSubjects" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "LinkGenURIDType" : {
                "description" : "A container for the information that is used to achieve the link data reference.",
                "type" : "object",
                "properties" : {
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                        "type" : "string"
                    },
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
                        "type" : "string"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "targetType" : {
                        "description" : "This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.",
                        "anyOf" : [
                                {
                                    "type" : "string",
                                    "enum" : [ "CASE" ]
                                },
                                {
                                    "description" : "Model Primitive Datatype = NormalizedString.",
                                    "type" : "string",
                                    "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                                }
                        ]
                    }
                },
                "required" : [ "title","identifier","uri" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "LinkURIDType" : {
                "description" : "A container for the information that is used to achieve the link data reference.",
                "type" : "object",
                "properties" : {
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                        "type" : "string"
                    },
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                        "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                        "type" : "string",
                        "format" : "uri"
                    }
                },
                "required" : [ "title","identifier","uri" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "imsx_codeMinorField" : {
                        "description" : "Each reported code minor status code.",
                        "type" : "array",
                        "minItems" : 1,
                        "items" : {
                            "$ref" : "#/components/schemas/imsx_CodeMinorFieldDType"
                        }
                    }
                },
                "required" : [ "imsx_codeMinorField" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "imsx_CodeMinorFieldDType" : {
                "description" : "This is the container for a single code minor status code.",
                "type" : "object",
                "properties" : {
                    "imsx_codeMinorFieldName" : {
                        "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                        "type" : "string"
                    },
                    "imsx_codeMinorFieldValue" : {
                        "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                        "type" : "string",
                        "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                    }
                },
                "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
                    },
                    "imsx_description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
                        "type" : "string"
                    },
                    "imsx_codeMinor" : {
                        "$ref" : "#/components/schemas/imsx_CodeMinorDType"
                    }
                },
                "required" : [ "imsx_codeMajor","imsx_severity" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            }
        }
    }
}
        

B1.3 OpenAPI 3.1 JSON Listing

The OpenAPI 3.1 (JSON) listing (based upon [OAS, 21]) is shown below (the OpenAPI JSON is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/openapi/imscasev1p1_openapi3p1_v1p0.json).

{
    "openapi" : "3.1.0",
    "info" : {
        "version" : "1.1",
        "title" : "Competencies and Academic Standards Exchange (CASE) Service OpenAPI (JSON) 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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.",
        "termsOfService" : "Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals. The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns. THIS API DEFINITION 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 API DEFINITION.",
        "contact" : {
            "name" : "Vice President of Operations, 1EdTech",
            "url" : "https://www.1edtech.org",
            "email" : "operations@1edtech.org"
        },
        "license" : {
            "name" : "1EdTech",
            "url" : "https://www.1edtech.org/license.html"
        }
    },
    "servers" : [
        {
            "url" : "https://{hostName}{basePath}",
            "description" : "The pattern for the Server URL should be configured for the actual server location.",
            "variables" : {
                "hostName" : {
                    "description" : "This is the hostname for the server and MUST be set to the actual service provider (the 1EdTech URL is given as a default value).",
                    "default" : "www.imsglobal.org"
                },
                "basePath" : {
                    "description" : "This is the base-path for the full URL and MUST be a part of the service endpoints.",
                    "enum" : ["/ims/case/v1p1"],
                    "default" : "/ims/case/v1p1"
                }
            }
        }
    ],
    "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" : {
        "/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFAssociationGrouping from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFAssociation from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFConcept and child CFConcepts from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "integer",
                        "format" : "int32",
                        "minimum" : 1,
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "integer",
                        "format" : "int32",
                        "default" : 0,
                        "minimum" : 0,
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "string",
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "string",
                        "enum" : [ "asc","desc" ],
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "string",
                        "allowEmptyValue" : false
                    },
                    {
                        "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,
                        "type" : "array",
                        "items" : {
                            "type" : "string"
                        },
                        "collectionFormat" : "csv",
                        "allowEmptyValue" : false
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the set of CFDocuments from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/CFDocumentSetDType"
                        },
                        "headers" : {
                            "X-Total-Count" : {
                                "description" : "The total number of resources that are available to be returned",
                                "type" : "integer"
                            }
                        }
                    },
                    "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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFDocument from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFItem from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFLicense from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFPackage from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "responses" : {
                    "200" : {
                        "description" : "This is the response when the request has been completed successfully. It is the CFRubric from the service provider.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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,
                        "type" : "string"
                    }
                ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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'.",
                        "schema" : {
                            "$ref" : "#/definitions/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.",
                        "schema" : {
                            "$ref" : "#/definitions/imsx_StatusInfoDType"
                        }
                    }
                }
            }
        }
    },
    "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
                        "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
                        "type" : "string"
                    },
                    "sequenceNumber" : {
                        "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
                        "type" : "integer",
                        "format" : "int32"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "originNodeURI" : {
                        "$ref" : "#/definitions/LinkGenURIDType"
                    },
                    "destinationNodeURI" : {
                        "$ref" : "#/definitions/LinkGenURIDType"
                    },
                    "CFAssociationGroupingURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
                        "type" : "string"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFAssociationExtensionDType"
                    },
                    "CFDocumentURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    }
                },
                "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFAssociationExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFAssociation class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFAssociationGrouping.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFAssociationGrouping.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFAssociationGroupingExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFAssociationGroupingExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFAssociationGrouping class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "properties" : {
                    "CFItem" : {
                        "$ref" : "#/definitions/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" : "#/definitions/CFPckgAssociationDType"
                        }
                    }
                },
                "required" : [ "CFItem","CFAssociations" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFConceptDType" : {
                "description" : "The container for the definition of a concept which is addressed by the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFConcept using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFConcept.",
                        "type" : "string"
                    },
                    "keywords" : {
                        "description" : "Model Primitive Datatype = NormalizedString. Defined listing of keywords delimited by '|' that the concept encompasses.",
                        "type" : "string"
                    },
                    "hierarchyCode" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFConcept.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFConceptExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFConceptExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFConcept class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "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" : "#/definitions/CFConceptDType"
                        }
                    }
                },
                "required" : [ "CFConcepts" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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" : "#/definitions/CFConceptDType"
                        }
                    },
                    "CFSubjects" : {
                        "description" : "The set of subject definitions.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/definitions/CFSubjectDType"
                        }
                    },
                    "CFLicenses" : {
                        "description" : "The set of license definitions.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/definitions/CFLicenseDType"
                        }
                    },
                    "CFItemTypes" : {
                        "description" : "The set of item type definitions.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/definitions/CFItemTypeDType"
                        }
                    },
                    "CFAssociationGroupings" : {
                        "description" : "The set of association grouping definitions.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/definitions/CFAssociationGroupingDType"
                        }
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFDefinitionExtensionDType"
                    }
                },
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFDefinitionExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFDefinition class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "frameworkType" : {
                        "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
                        "type" : "string"
                    },
                    "caseVersion" : {
                        "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
                        "type" : "string",
                        "enum" : [ "1.1" ]
                    },
                    "creator" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.",
                        "type" : "string"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "officialSourceURL" : {
                        "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "publisher" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
                        "type" : "string"
                    },
                    "subject" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
                        "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" : "#/definitions/LinkURIDType"
                        }
                    },
                    "language" : {
                        "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                        "type" : "string"
                    },
                    "version" : {
                        "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
                        "type" : "string"
                    },
                    "adoptionStatus" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
                        "type" : "string"
                    },
                    "statusStartDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "statusEndDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "licenseURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
                        "type" : "string"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFDocumentExtensionDType"
                    },
                    "CFPackageURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    }
                },
                "required" : [ "identifier","uri","creator","title","lastChangeDateTime","CFPackageURI" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFDocumentExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFDocument class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFDocumentSetDType" : {
                "description" : "This is the container for a collection of CFDocuments. There must be at least one CFDocument.",
                "type" : "object",
                "properties" : {
                    "CFDocuments" : {
                        "description" : "This is the data for a single CFDocument within the CFDocumentSet container.",
                        "type" : "array",
                        "minItems" : 1,
                        "items" : {
                            "$ref" : "#/definitions/CFDocumentDType"
                        }
                    }
                },
                "required" : [ "CFDocuments" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
                        "type" : "string"
                    },
                    "alternativeLabel" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
                        "type" : "string"
                    },
                    "CFItemType" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
                        "type" : "string"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "humanCodingScheme" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
                        "type" : "string"
                    },
                    "listEnumeration" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
                        "type" : "string"
                    },
                    "abbreviatedStatement" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
                        "type" : "string"
                    },
                    "conceptKeywords" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "conceptKeywordsURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
                        "type" : "string"
                    },
                    "subject" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "subjectURI" : {
                        "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/definitions/LinkURIDType"
                        }
                    },
                    "language" : {
                        "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                        "type" : "string"
                    },
                    "educationLevel" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "CFItemTypeURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "licenseURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "statusStartDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "statusEndDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFItemExtensionDType"
                    },
                    "CFDocumentURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    }
                },
                "required" : [ "identifier","fullStatement","uri","lastChangeDateTime","CFDocumentURI" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFItemExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFItem class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFItemTypeDType" : {
                "description" : "The container for the ItemType information use within the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItemType using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFItemType.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFItemType.",
                        "type" : "string"
                    },
                    "hierarchyCode" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
                        "type" : "string"
                    },
                    "typeCode" : {
                        "description" : "Model Primitive Datatype = NormalizedString. Text code used for type identification.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFItemTypeExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","description","hierarchyCode","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFItemTypeExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFItemType class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "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" : "#/definitions/CFItemTypeDType"
                        }
                    }
                },
                "required" : [ "CFItemTypes" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFLicenseDType" : {
                "description" : "The container for the information about a license used within the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFLicense using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFLicense.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFLicense.",
                        "type" : "string"
                    },
                    "licenseText" : {
                        "description" : "Model Primitive Datatype = String. 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.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFLicenseExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","licenseText","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFLicenseExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFLicense class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "properties" : {
                    "CFDocument" : {
                        "$ref" : "#/definitions/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" : "#/definitions/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" : "#/definitions/CFPckgAssociationDType"
                        }
                    },
                    "CFDefinitions" : {
                        "$ref" : "#/definitions/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" : "#/definitions/CFRubricDType"
                        }
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFPackageExtensionDType"
                    }
                },
                "required" : [ "CFDocument" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFPackageExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFPackage class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
                        "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
                        "type" : "string"
                    },
                    "sequenceNumber" : {
                        "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
                        "type" : "integer",
                        "format" : "int32"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "originNodeURI" : {
                        "$ref" : "#/definitions/LinkGenURIDType"
                    },
                    "destinationNodeURI" : {
                        "$ref" : "#/definitions/LinkGenURIDType"
                    },
                    "CFAssociationGroupingURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
                        "type" : "string"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFAssociationExtensionDType"
                    }
                },
                "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "frameworkType" : {
                        "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
                        "type" : "string"
                    },
                    "caseVersion" : {
                        "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
                        "type" : "string",
                        "enum" : [ "1.1" ]
                    },
                    "creator" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.",
                        "type" : "string"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "officialSourceURL" : {
                        "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "publisher" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
                        "type" : "string"
                    },
                    "subject" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
                        "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" : "#/definitions/LinkURIDType"
                        }
                    },
                    "language" : {
                        "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                        "type" : "string"
                    },
                    "version" : {
                        "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
                        "type" : "string"
                    },
                    "adoptionStatus" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
                        "type" : "string"
                    },
                    "statusStartDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "statusEndDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "licenseURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
                        "type" : "string"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFDocumentExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","creator","title","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
                        "type" : "string"
                    },
                    "alternativeLabel" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
                        "type" : "string"
                    },
                    "CFItemType" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
                        "type" : "string"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "humanCodingScheme" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
                        "type" : "string"
                    },
                    "listEnumeration" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
                        "type" : "string"
                    },
                    "abbreviatedStatement" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
                        "type" : "string"
                    },
                    "conceptKeywords" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "conceptKeywordsURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "notes" : {
                        "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
                        "type" : "string"
                    },
                    "subject" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "subjectURI" : {
                        "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/definitions/LinkURIDType"
                        }
                    },
                    "language" : {
                        "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                        "type" : "string"
                    },
                    "educationLevel" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "type" : "string"
                        }
                    },
                    "CFItemTypeURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "licenseURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "statusStartDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "statusEndDate" : {
                        "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
                        "type" : "string",
                        "format" : "date"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFItemExtensionDType"
                    }
                },
                "required" : [ "identifier","fullStatement","uri","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubric using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFRubric.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString. ",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "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" : "#/definitions/CFRubricCriterionDType"
                        }
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFRubricExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFRubricCriterionDType" : {
                "description" : "The container for the definition of a rubric criterion which is addressed by the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "category" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A textual label for category by which CFRubricCriterion may be grouped.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterion.",
                        "type" : "string"
                    },
                    "CFItemURI" : {
                        "$ref" : "#/definitions/LinkURIDType"
                    },
                    "weight" : {
                        "description" : "Model Primitive Datatype = Float. A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.",
                        "type" : "number",
                        "format" : "float"
                    },
                    "position" : {
                        "description" : "Model Primitive Datatype = Integer. A numeric value representing this criterion's position in the criteria list for this CFRubric.",
                        "type" : "integer",
                        "format" : "int32"
                    },
                    "rubricId" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.",
                        "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "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" : "#/definitions/CFRubricCriterionLevelDType"
                        }
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFRubricCriterionExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFRubricCriterionExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFRubricCriterionExtension class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFRubricCriterionLevelDType" : {
                "description" : "The container for the definition of a criterion level which is addressed by the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterionLevel.",
                        "type" : "string"
                    },
                    "quality" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.",
                        "type" : "string"
                    },
                    "score" : {
                        "description" : "Model Primitive Datatype = Float. The points awarded for achieving this level.",
                        "type" : "number",
                        "format" : "float"
                    },
                    "feedback" : {
                        "description" : "Model Primitive Datatype = String. Pre-defined feedback text to be relayed to the person or organization being evaluated. This may include guidance and suggestions for improvement or development.",
                        "type" : "string"
                    },
                    "position" : {
                        "description" : "Model Primitive Datatype = Integer. A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.",
                        "type" : "integer",
                        "format" : "int32"
                    },
                    "rubricCriterionId" : {
                        "description" : "Model Primitive Datatype = NormalizedString. 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.",
                        "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                        "type" : "array",
                        "minItems" : 0,
                        "items" : {
                            "$ref" : "#/definitions/CFRubricCriterionLevelExtensionDType"
                        }
                    }
                },
                "required" : [ "identifier","uri","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFRubricCriterionLevelExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFRubricCriterionLevel class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFRubricExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFRubric class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "CFSubjectDType" : {
                "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
                "type" : "object",
                "properties" : {
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
                        "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFSubject using a network-resolvable URI. ",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. The title of the CFSubject.",
                        "type" : "string"
                    },
                    "hierarchyCode" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
                        "type" : "string"
                    },
                    "description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description of the CFSubject.",
                        "type" : "string"
                    },
                    "lastChangeDateTime" : {
                        "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                        "type" : "string",
                        "format" : "date-time"
                    },
                    "extensions" : {
                        "$ref" : "#/definitions/CFSubjectExtensionDType"
                    }
                },
                "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "CFSubjectExtensionDType" : {
                "description" : "The container for the proprietary extensions to the CFSubject class.",
                "type" : "object",
                "properties" : {

                },
                "x-1edtech-privacy" : [ "extensions" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : true
            },
            "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",
                "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" : "#/definitions/CFSubjectDType"
                        }
                    }
                },
                "required" : [ "CFSubjects" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "LinkGenURIDType" : {
                "description" : "A container for the information that is used to achieve the link data reference.",
                "type" : "object",
                "properties" : {
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                        "type" : "string"
                    },
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
                        "type" : "string"
                    },
                    "uri" : {
                        "description" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                        "type" : "string",
                        "format" : "uri"
                    },
                    "targetType" : {
                        "description" : "This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.",
                        "type" : "string"
                    }
                },
                "required" : [ "title","identifier","uri" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "LinkURIDType" : {
                "description" : "A container for the information that is used to achieve the link data reference.",
                "type" : "object",
                "properties" : {
                    "title" : {
                        "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                        "type" : "string"
                    },
                    "identifier" : {
                        "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                        "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                        "type" : "string",
                        "format" : "uri"
                    }
                },
                "required" : [ "title","identifier","uri" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "properties" : {
                    "imsx_codeMinorField" : {
                        "description" : "Each reported code minor status code.",
                        "type" : "array",
                        "minItems" : 1,
                        "items" : {
                            "$ref" : "#/definitions/imsx_CodeMinorFieldDType"
                        }
                    }
                },
                "required" : [ "imsx_codeMinorField" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            },
            "imsx_CodeMinorFieldDType" : {
                "description" : "This is the container for a single code minor status code.",
                "type" : "object",
                "properties" : {
                    "imsx_codeMinorFieldName" : {
                        "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                        "type" : "string"
                    },
                    "imsx_codeMinorFieldValue" : {
                        "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                        "type" : "string",
                        "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                    }
                },
                "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "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",
                "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
                    },
                    "imsx_description" : {
                        "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
                        "type" : "string"
                    },
                    "imsx_codeMinor" : {
                        "$ref" : "#/definitions/imsx_CodeMinorDType"
                    }
                },
                "required" : [ "imsx_codeMajor","imsx_severity" ],
                "x-1edtech-confidentiality" : "unrestricted",
                "additionalProperties" : false
            }
        }
    }
}
        

B2 CASE Service OpenAPI YAML Definition Listing

B2.1 OpenAPI 2.0 YAML Listing

The OpenAPI 2 (YAML) listing (based upon [OAS, 14]) is shown below (the OpenAPI YAML is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/openapi/imscasev1p1_openapi2_v1p0.yaml).

# #####################################################################################
# YAML File Information
# #####################################################################################
# 
# Author:         Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA)
# Date:           24th January, 2025
# Version:        1.0
# Status:         1EdTech 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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.
# 
# History:        This is the second release of the Competencies and Academic Standards Exchange (CASE) Service definition.
# 
# License:        IPR and Distribution Notices
# 
#                 This machine readable file is derived from the 1EdTech Competencies and Academic Standards Exchange (CASE) Service Version 1.1
#                 found at https://www.1edtech.org/case and the original 1EdTech schema binding or code base at
#                 https://www.1edtech.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.
# 
#                 1EdTech takes no position regarding the validity or scope of any intellectual property or other rights that might
#                 be claimed to pertain to the implementation or use of the technology described in this document or the extent 
#                 to which any license under such rights might or might not be available; neither does it represent that it has 
#                 made any effort to identify any such rights. Information on 1EdTech procedures with respect to rights in 1EdTech 
#                 specifications can be found at the 1EdTech Intellectual Property Rights web page: https://www.1edtech.org/ipr/imsipr_policyFinal.pdf.
# 
#                 Copyright (c) 1EdTech Consortium 1999-2025. All Rights Reserved.
# 
#                 Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: http://www.1edtech.org/license.html.
# 
#                 Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.
# 
#                 The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns.
# 
#                 THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
#                 EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
#                 NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
#                 ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
# 
# Source UML File Information
# ===========================
# The source file information must be supplied as an XMI file (without diagram layout information).
# The supported UML authoring tools are:
# (a) Papyrus - v1.1.3 (and later)
# 
# Source XSLT File Information
# ============================
# XSL Generator:    Specificationv1p0_GenerationToolv1.xsl
# XSLT Processor:   Saxon
# Release:          1.0
# Date:             31st October, 2022
# Autogen Engineer: Colin Smythe (1EdTech)
# Autogen Date:     2025-02-05
# 
# 1EdTech Auto-generation Binding Tool-kit (E-BAT)
# ================================================
# This file was auto-generated using the 1EdTech Binding Auto-generation Tool-kit (E-BAT). While every
# attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
# that this is an experimental tool. Permission is given to make use of this tool. 1EdTech makes no
# claim on the materials created by third party users of this tool. Details on how to use this tool
# are contained in the 1EdTech "E-BAT" documentation available at the 1EdTech web-site:
# https://www.1edtech.org.
# 
# Tool Copyright:  2012-2025  (c) 1EdTech Consortium Inc. All Rights Reserved.
# 
# #####################################################################################

swagger: '2.0'

#####################################################################################
#                               API Information                                     #
#####################################################################################
info: 
    version: '1.1'
    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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.
    termsOfService: 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 API DEFINITION 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 API DEFINITION.
    contact: 
        name: Vice President of Operations, 1EdTech
        url: https://www.1edtech.org
        email: operations@1edtech.org
    license: 
        name: 1EdTech Consortium
        url: https://www.1edtech.org/license.html

#####################################################################################
#                   Host, Base Path, Schemes and Content Types                      #
#####################################################################################
host: www.imsglobal.org
basePath: /ims/case/v1p1
schemes: 
    - http
    - https
consumes: 
    - application/json
produces: 
    - application/json

#####################################################################################
#                                  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).

#####################################################################################
#                                 Security                                          #
#####################################################################################

#####################################################################################
#                                   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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFAssociationGrouping from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFAssociation from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFConcept and child CFConcepts from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: integer
                  format: int32
                  allowEmptyValue: false
                  minimum: 1
                - 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
                  type: integer
                  format: int32
                  allowEmptyValue: false
                  default: 0
                  minimum: 0
                - 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
                  type: string
                  allowEmptyValue: false
                - 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
                  type: string
                  enum: 
                    - asc
                    - desc
                  allowEmptyValue: false
                - 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
                  type: string
                  allowEmptyValue: false
                - 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
                  type: array
                  items: 
                      type: string
                  collectionFormat: csv
                  allowEmptyValue: false
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the set of CFDocuments from the service provider.
                    schema: 
                        $ref: "#/definitions/CFDocumentSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            type: integer
                "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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFDocument from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFItem from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFLicense from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFPackage from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFRubric from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/imsx_StatusInfoDType"


#####################################################################################
#                               Definitions                                         #
#####################################################################################
definitions: 
    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
        x-1edtech-confidentiality: unrestricted
        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 extensible enumerated vocabulary. Changed in CASE 1.1.
                type: string
            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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.  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: "#/definitions/LinkGenURIDType"
            destinationNodeURI: 
                $ref: "#/definitions/LinkGenURIDType"
            CFAssociationGroupingURI: 
                $ref: "#/definitions/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
            notes: 
                description: A new attribute added in Version 1.1. Information about the CFAssociation. Model Primitive Datatype = String.
                type: string
            extensions: 
                $ref: "#/definitions/CFAssociationExtensionDType"
            CFDocumentURI: 
                $ref: "#/definitions/LinkURIDType"
        additionalProperties: false
    CFAssociationExtensionDType:
        description: |
            The container for the proprietary extensions to the CFAssociation class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFAssociationGroupingExtensionDType"
        additionalProperties: false
    CFAssociationGroupingExtensionDType:
        description: |
            The container for the proprietary extensions to the CFAssociationGrouping class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        properties: 
            CFItem: 
                $ref: "#/definitions/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: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFConceptExtensionDType"
        additionalProperties: false
    CFConceptExtensionDType:
        description: |
            The container for the proprietary extensions to the CFConcept class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        properties: 
            CFConcepts: 
                description: |
                    The set of concept definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFConceptDType"
            CFSubjects: 
                description: |
                    The set of subject definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFSubjectDType"
            CFLicenses: 
                description: |
                    The set of license definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFLicenseDType"
            CFItemTypes: 
                description: |
                    The set of item type definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFItemTypeDType"
            CFAssociationGroupings: 
                description: |
                    The set of association grouping definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFAssociationGroupingDType"
            extensions: 
                $ref: "#/definitions/CFDefinitionExtensionDType"
        additionalProperties: false
    CFDefinitionExtensionDType:
        description: |
            The container for the proprietary extensions to the CFDefinition class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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
            frameworkType: 
                description: This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined. Model Primitive Datatype = NormalizedString.
                type: string
            caseVersion: 
                description: |
                    This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
                type: string
                enum: 
                   - 1.1
            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. In Version 1.1 the data-type has been changed from NormalizedString. Model Primitive Datatype = String.
                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: "#/definitions/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 versioning 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: "#/definitions/LinkURIDType"
            notes: 
                description: Any text used to comment on the published CFDocument. Model Primitive Datatype = String.
                type: string
            extensions: 
                $ref: "#/definitions/CFDocumentExtensionDType"
            CFPackageURI: 
                $ref: "#/definitions/LinkURIDType"
        additionalProperties: false
    CFDocumentExtensionDType:
        description: |
            The container for the proprietary extensions to the CFDocument class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    CFDocumentSetDType:
        description: |
            This is the container for a collection of CFDocuments. There must be at least one CFDocument.
        type: object
        required: 
            - CFDocuments
        x-1edtech-confidentiality: unrestricted
        properties: 
            CFDocuments: 
                description: |
                    This is the data for a single CFDocument within the CFDocumentSet container.
                type: array
                minItems: 1
                items: 
                    $ref: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        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. In Version 1.1 the data-type was changed from NormalizedString. Model Primitive Datatype = String.
                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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing. 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: "#/definitions/LinkURIDType"
            notes: 
                description: Information about the derivation of a CFItem statement. Model Primitive Datatype = String.
                type: string
            subject: 
                description: A new attribute added in Version 1.1. The topic or academic subject of the Item (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 new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/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
            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: "#/definitions/LinkURIDType"
            licenseURI: 
                $ref: "#/definitions/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
            extensions: 
                $ref: "#/definitions/CFItemExtensionDType"
            CFDocumentURI: 
                $ref: "#/definitions/LinkURIDType"
        additionalProperties: false
    CFItemExtensionDType:
        description: |
            The container for the proprietary extensions to the CFItem class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    CFItemTypeDType:
        description: |
            The container for the ItemType information use within the competency framework.
        type: object
        required: 
            - identifier
            - uri
            - title
            - description
            - hierarchyCode
            - lastChangeDateTime
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFItemTypeExtensionDType"
        additionalProperties: false
    CFItemTypeExtensionDType:
        description: |
            The container for the proprietary extensions to the CFItemType class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFLicenseExtensionDType"
        additionalProperties: false
    CFLicenseExtensionDType:
        description: |
            The container for the proprietary extensions to the CFLicense class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        properties: 
            CFDocument: 
                $ref: "#/definitions/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: "#/definitions/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: "#/definitions/CFPckgAssociationDType"
            CFDefinitions: 
                $ref: "#/definitions/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: "#/definitions/CFRubricDType"
            extensions: 
                $ref: "#/definitions/CFPackageExtensionDType"
        additionalProperties: false
    CFPackageExtensionDType:
        description: |
            The container for the proprietary extensions to the CFPackage class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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 extensible enumerated vocabulary. Changed in CASE 1.1.
                type: string
            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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.  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: "#/definitions/LinkGenURIDType"
            destinationNodeURI: 
                $ref: "#/definitions/LinkGenURIDType"
            CFAssociationGroupingURI: 
                $ref: "#/definitions/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
            notes: 
                description: A new attribute added in Version 1.1. Information about the CFAssociation. Model Primitive Datatype = String.
                type: string
            extensions: 
                $ref: "#/definitions/CFAssociationExtensionDType"
        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
        x-1edtech-confidentiality: unrestricted
        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
            frameworkType: 
                description: This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined. Model Primitive Datatype = NormalizedString.
                type: string
            caseVersion: 
                description: |
                    This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
                type: string
                enum: 
                   - 1.1
            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. In Version 1.1 the data-type has been changed from NormalizedString. Model Primitive Datatype = String.
                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: "#/definitions/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 versioning 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: "#/definitions/LinkURIDType"
            notes: 
                description: Any text used to comment on the published CFDocument. Model Primitive Datatype = String.
                type: string
            extensions: 
                $ref: "#/definitions/CFDocumentExtensionDType"
        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
        x-1edtech-confidentiality: unrestricted
        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. In Version 1.1 the data-type was changed from NormalizedString. Model Primitive Datatype = String.
                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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing. 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: "#/definitions/LinkURIDType"
            notes: 
                description: Information about the derivation of a CFItem statement. Model Primitive Datatype = String.
                type: string
            subject: 
                description: A new attribute added in Version 1.1. The topic or academic subject of the Item (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 new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/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
            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: "#/definitions/LinkURIDType"
            licenseURI: 
                $ref: "#/definitions/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
            extensions: 
                $ref: "#/definitions/CFItemExtensionDType"
        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
        x-1edtech-confidentiality: unrestricted
        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. In Version 1.1 the data-type for this attribute has been changed from NormalizedString.  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
            CFRubricCriteria: 
                description: |
                    The set of CFRubricCriterion that are required to complete the definition of the parent CFRubric.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFRubricCriterionDType"
            extensions: 
                $ref: "#/definitions/CFRubricExtensionDType"
        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
        x-1edtech-confidentiality: unrestricted
        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: "#/definitions/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: "#/definitions/CFRubricCriterionLevelDType"
            extensions: 
                $ref: "#/definitions/CFRubricCriterionExtensionDType"
        additionalProperties: false
    CFRubricCriterionExtensionDType:
        description: |
            The container for the proprietary extensions to the CFRubricCriterionExtension class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    CFRubricCriterionLevelDType:
        description: |
            The container for the definition of a criterion level which is addressed by the competency framework.
        type: object
        required: 
            - identifier
            - uri
            - lastChangeDateTime
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                description: |
                    This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFRubricCriterionLevelExtensionDType"
        additionalProperties: false
    CFRubricCriterionLevelExtensionDType:
        description: |
            The container for the proprietary extensions to the CFRubricCriterionLevel class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    CFRubricExtensionDType:
        description: |
            The container for the proprietary extensions to the CFRubric class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFSubjectExtensionDType"
        additionalProperties: false
    CFSubjectExtensionDType:
        description: |
            The container for the proprietary extensions to the CFSubject class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        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
            targetType: 
                description: |
                    This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
                type: string
        additionalProperties: false
    LinkURIDType:
        description: |
            A container for the information that is used to achieve the link data reference.
        type: object
        required: 
            - title
            - identifier
            - uri
        x-1edtech-confidentiality: unrestricted
        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
        x-1edtech-confidentiality: unrestricted
        properties: 
            imsx_codeMinorField: 
                description: |
                    Each reported code minor status code.
                type: array
                minItems: 1
                items: 
                    $ref: "#/definitions/imsx_CodeMinorFieldDType"
        additionalProperties: false
    imsx_CodeMinorFieldDType:
        description: |
            This is the container for a single code minor status code.
        type: object
        required: 
            - imsx_codeMinorFieldName
            - imsx_codeMinorFieldValue
        x-1edtech-confidentiality: unrestricted
        properties: 
            imsx_codeMinorFieldName: 
                description: This should contain the identity of the system that has produced the code minor status code report. 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: 
                   - forbidden
                   - fullsuccess
                   - internal_server_error
                   - invalid_selection_field
                   - invalid_sort_field
                   - invalid_uuid
                   - server_busy
                   - unauthorised_request
                   - unknownobject
        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
        x-1edtech-confidentiality: unrestricted
        properties: 
            imsx_codeMajor: 
                description: |
                    The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
                type: string
                enum: 
                   - failure
                   - processing
                   - success
                   - 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: 
                   - error
                   - status
                   - warning
            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: "#/definitions/imsx_CodeMinorDType"
        additionalProperties: false
        

B2.2 OpenAPI 3.0 YAML Listing

The OpenAPI 3 (YAML) listing (based upon [OAS, 17]) is shown below (the OpenAPI YAML is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/openapi/imscasev1p1_openapi3_v1p0.yaml).

# #####################################################################################
# YAML File Information
# #####################################################################################
# 
# Author:         Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA)
# Date:           24th January, 2025
# Version:        1.0
# Status:         1EdTech 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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.
# 
# History:        This is the second release of the Competencies and Academic Standards Exchange (CASE) Service definition.
# 
# License:        IPR and Distribution Notices
# 
#                 This machine readable file is derived from the 1EdTech Competencies and Academic Standards Exchange (CASE) Service Version 1.1
#                 found at https://www.1edtech.org/case and the original 1EdTech schema binding or code base at
#                 https://www.1edtech.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.
# 
#                 1EdTech takes no position regarding the validity or scope of any intellectual property or other rights that might
#                 be claimed to pertain to the implementation or use of the technology described in this document or the extent 
#                 to which any license under such rights might or might not be available; neither does it represent that it has 
#                 made any effort to identify any such rights. Information on 1EdTech procedures with respect to rights in 1EdTech 
#                 specifications can be found at the 1EdTech Intellectual Property Rights web page: https://www.1edtech.org/ipr/imsipr_policyFinal.pdf.
# 
#                 Copyright (c) 1EdTech Consortium 1999-2025. All Rights Reserved.
# 
#                 Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: http://www.1edtech.org/license.html.
# 
#                 Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.
# 
#                 The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns.
# 
#                 THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
#                 EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
#                 NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
#                 ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
# 
# Source UML File Information
# ===========================
# The source file information must be supplied as an XMI file (without diagram layout information).
# The supported UML authoring tools are:
# (a) Papyrus - v1.1.3 (and later)
# 
# Source XSLT File Information
# ============================
# XSL Generator:    Specificationv1p0_GenerationToolv1.xsl
# XSLT Processor:   Saxon
# Release:          1.0
# Date:             31st October, 2022
# Autogen Engineer: Colin Smythe (1EdTech)
# Autogen Date:     2025-02-05
# 
# 1EdTech Auto-generation Binding Tool-kit (E-BAT)
# ================================================
# This file was auto-generated using the 1EdTech Binding Auto-generation Tool-kit (E-BAT). While every
# attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
# that this is an experimental tool. Permission is given to make use of this tool. 1EdTech makes no
# claim on the materials created by third party users of this tool. Details on how to use this tool
# are contained in the 1EdTech "E-BAT" documentation available at the 1EdTech web-site:
# https://www.1edtech.org.
# 
# Tool Copyright:  2012-2025  (c) 1EdTech Consortium Inc. All Rights Reserved.
# 
# #####################################################################################

openapi: '3.0.0'

#####################################################################################
#                               API Information                                     #
#####################################################################################
info: 
    version: '1.1'
    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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.
    termsOfService: https://www.imsglobal.org/license.html
    contact: 
        name: Vice President of Operations, 1EdTech
        url: https://www.1edtech.org
        email: operations@1edtech.org
    license: 
        name: 1EdTech Consortium
        url: https://www.1edtech.org/license.html

#####################################################################################
#                                 Servers                                           #
#####################################################################################
servers: 
    - url: https://{hostName}{basePath}
      description: The pattern for the Server URL should be configured for the actual server location.
      variables: 
          "hostName": 
              description: This is the hostname for the server and MUST be set to the actual service provider (the 1EdTech url is given as a default value).
              default: www.imsglobal.org
          "basePath": 
              description: This is the base-path for the full URL and MUST be a part of the service endpoints.
              enum: 
                - /ims/case/v1p1
              default: /ims/case/v1p1

#####################################################################################
#                                  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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFConcept and child CFConcepts 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
                      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
            x-1edtech-confidentiality: unrestricted
            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"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            schema: 
                                type: integer
                    links: 
                        "next" :
                            description: |
                                Get the next set of resources i.e. from offset to offset+limit
                            operationId: getAllCFDocuments
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "last" :
                            description: |
                                Get the last set of resources i.e. from offset to end
                            operationId: getAllCFDocuments
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "first" :
                            description: |
                                Get the first set of resources i.e. from first to limit
                            operationId: getAllCFDocuments
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                        "prev" :
                            description: |
                                Get the previous set of resources i.e. from last_offset to last_offset+limit
                            operationId: getAllCFDocuments
                            parameters: 
                                "limit" : "$request.path.limit"
                                "offset" : "$request.path.offset"
                "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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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 extensible enumerated vocabulary. Changed in CASE 1.1.
                    anyOf: 
                        - enum: 
                            - isChildOf
                            - isPeerOf
                            - isPartOf
                            - exactMatchOf
                            - precedes
                            - isRelatedTo
                            - replacedBy
                            - exemplar
                            - hasSkillLevel
                            - isTranslationOf
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.  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
                notes: 
                    description: A new attribute added in Version 1.1. Information about the CFAssociation. Model Primitive Datatype = String.
                    type: string
                extensions: 
                    $ref: "#/components/schemas/CFAssociationExtensionDType"
                CFDocumentURI: 
                    $ref: "#/components/schemas/LinkURIDType"
            additionalProperties: false
        CFAssociationExtensionDType:
            description: |
                The container for the proprietary extensions to the CFAssociation class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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
                extensions: 
                    $ref: "#/components/schemas/CFAssociationGroupingExtensionDType"
            additionalProperties: false
        CFAssociationGroupingExtensionDType:
            description: |
                The container for the proprietary extensions to the CFAssociationGrouping class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
                extensions: 
                    $ref: "#/components/schemas/CFConceptExtensionDType"
            additionalProperties: false
        CFConceptExtensionDType:
            description: |
                The container for the proprietary extensions to the CFConcept class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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"
                extensions: 
                    $ref: "#/components/schemas/CFDefinitionExtensionDType"
            additionalProperties: false
        CFDefinitionExtensionDType:
            description: |
                The container for the proprietary extensions to the CFDefinition class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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
                frameworkType: 
                    description: This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined. Model Primitive Datatype = NormalizedString.
                    type: string
                caseVersion: 
                    description: |
                        This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
                    type: string
                    enum: 
                       - 1.1
                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. In Version 1.1 the data-type has been changed from NormalizedString. Model Primitive Datatype = String.
                    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 versioning 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
                extensions: 
                    $ref: "#/components/schemas/CFDocumentExtensionDType"
                CFPackageURI: 
                    $ref: "#/components/schemas/LinkURIDType"
            additionalProperties: false
        CFDocumentExtensionDType:
            description: |
                The container for the proprietary extensions to the CFDocument class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        CFDocumentSetDType:
            description: |
                This is the container for a collection of CFDocuments. There must be at least one CFDocument.
            type: object
            required: 
                - CFDocuments
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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. In Version 1.1 the data-type was changed from NormalizedString. Model Primitive Datatype = String.
                    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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing. 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
                subject: 
                    description: A new attribute added in Version 1.1. The topic or academic subject of the Item (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 new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item 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
                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
                extensions: 
                    $ref: "#/components/schemas/CFItemExtensionDType"
                CFDocumentURI: 
                    $ref: "#/components/schemas/LinkURIDType"
            additionalProperties: false
        CFItemExtensionDType:
            description: |
                The container for the proprietary extensions to the CFItem class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        CFItemTypeDType:
            description: |
                The container for the ItemType information use within the competency framework.
            type: object
            required: 
                - identifier
                - uri
                - title
                - description
                - hierarchyCode
                - lastChangeDateTime
            x-1edtech-confidentiality: unrestricted
            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
                extensions: 
                    $ref: "#/components/schemas/CFItemTypeExtensionDType"
            additionalProperties: false
        CFItemTypeExtensionDType:
            description: |
                The container for the proprietary extensions to the CFItemType class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
                extensions: 
                    $ref: "#/components/schemas/CFLicenseExtensionDType"
            additionalProperties: false
        CFLicenseExtensionDType:
            description: |
                The container for the proprietary extensions to the CFLicense class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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"
                extensions: 
                    $ref: "#/components/schemas/CFPackageExtensionDType"
            additionalProperties: false
        CFPackageExtensionDType:
            description: |
                The container for the proprietary extensions to the CFPackage class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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 extensible enumerated vocabulary. Changed in CASE 1.1.
                    anyOf: 
                        - enum: 
                            - isChildOf
                            - isPeerOf
                            - isPartOf
                            - exactMatchOf
                            - precedes
                            - isRelatedTo
                            - replacedBy
                            - exemplar
                            - hasSkillLevel
                            - isTranslationOf
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
                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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.  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
                notes: 
                    description: A new attribute added in Version 1.1. Information about the CFAssociation. Model Primitive Datatype = String.
                    type: string
                extensions: 
                    $ref: "#/components/schemas/CFAssociationExtensionDType"
            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
            x-1edtech-confidentiality: unrestricted
            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
                frameworkType: 
                    description: This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined. Model Primitive Datatype = NormalizedString.
                    type: string
                caseVersion: 
                    description: |
                        This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
                    type: string
                    enum: 
                       - 1.1
                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. In Version 1.1 the data-type has been changed from NormalizedString. Model Primitive Datatype = String.
                    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 versioning 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
                extensions: 
                    $ref: "#/components/schemas/CFDocumentExtensionDType"
            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
            x-1edtech-confidentiality: unrestricted
            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. In Version 1.1 the data-type was changed from NormalizedString. Model Primitive Datatype = String.
                    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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing. 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
                subject: 
                    description: A new attribute added in Version 1.1. The topic or academic subject of the Item (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 new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item 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
                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
                extensions: 
                    $ref: "#/components/schemas/CFItemExtensionDType"
            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
            x-1edtech-confidentiality: unrestricted
            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. In Version 1.1 the data-type for this attribute has been changed from NormalizedString.  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
                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"
                extensions: 
                    $ref: "#/components/schemas/CFRubricExtensionDType"
            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
            x-1edtech-confidentiality: unrestricted
            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"
                extensions: 
                    $ref: "#/components/schemas/CFRubricCriterionExtensionDType"
            additionalProperties: false
        CFRubricCriterionExtensionDType:
            description: |
                The container for the proprietary extensions to the CFRubricCriterionExtension class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        CFRubricCriterionLevelDType:
            description: |
                The container for the definition of a criterion level which is addressed by the competency framework.
            type: object
            required: 
                - identifier
                - uri
                - lastChangeDateTime
            x-1edtech-confidentiality: unrestricted
            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
                extensions: 
                    description: |
                        This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                    type: array
                    minItems: 0
                    items: 
                        $ref: "#/components/schemas/CFRubricCriterionLevelExtensionDType"
            additionalProperties: false
        CFRubricCriterionLevelExtensionDType:
            description: |
                The container for the proprietary extensions to the CFRubricCriterionLevel class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        CFRubricExtensionDType:
            description: |
                The container for the proprietary extensions to the CFRubric class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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
                extensions: 
                    $ref: "#/components/schemas/CFSubjectExtensionDType"
            additionalProperties: false
        CFSubjectExtensionDType:
            description: |
                The container for the proprietary extensions to the CFSubject class.
            type: object
            x-1edtech-privacy:
                - extensions
            x-1edtech-confidentiality: unrestricted
            x-1edtech-confidentiality-normal: 
                - extensions
            properties: {}
            additionalProperties: true
        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
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            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
                targetType: 
                    description: |
                        This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
                    anyOf: 
                        - enum: 
                            - CASE
                          type: string
                        - description: The data-type that enables an enumerated vocabulary to be extended. Model Primitive Datatype = NormalizedString.
                          type: string
                          pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
            additionalProperties: false
        LinkURIDType:
            description: |
                A container for the information that is used to achieve the link data reference.
            type: object
            required: 
                - title
                - identifier
                - uri
            x-1edtech-confidentiality: unrestricted
            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
            x-1edtech-confidentiality: unrestricted
            properties: 
                imsx_codeMinorField: 
                    description: |
                        Each reported code minor status code.
                    type: array
                    minItems: 1
                    items: 
                        $ref: "#/components/schemas/imsx_CodeMinorFieldDType"
            additionalProperties: false
        imsx_CodeMinorFieldDType:
            description: |
                This is the container for a single code minor status code.
            type: object
            required: 
                - imsx_codeMinorFieldName
                - imsx_codeMinorFieldValue
            x-1edtech-confidentiality: unrestricted
            properties: 
                imsx_codeMinorFieldName: 
                    description: This should contain the identity of the system that has produced the code minor status code report. 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: 
                       - forbidden
                       - fullsuccess
                       - internal_server_error
                       - invalid_selection_field
                       - invalid_sort_field
                       - invalid_uuid
                       - server_busy
                       - unauthorised_request
                       - unknownobject
            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
            x-1edtech-confidentiality: unrestricted
            properties: 
                imsx_codeMajor: 
                    description: |
                        The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
                    type: string
                    enum: 
                       - failure
                       - processing
                       - success
                       - 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: 
                       - error
                       - status
                       - warning
                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
        

B2.3 OpenAPI 3.1 YAML Listing

The OpenAPI 3.1 (YAML) listing (based upon [OAS, 21]) is shown below (the OpenAPI YAML is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/openapi/imscasev1p1_openapi3p1_v1p0.yaml).

# #####################################################################################
# YAML File Information
# #####################################################################################
# 
# Author:         Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA)
# Date:           24th January, 2025
# Version:        1.0
# Status:         1EdTech 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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.
# 
# History:        This is the second release of the Competencies and Academic Standards Exchange (CASE) Service definition.
# 
# License:        IPR and Distribution Notices
# 
#                 This machine readable file is derived from the 1EdTech Competencies and Academic Standards Exchange (CASE) Service Version 1.1
#                 found at https://www.1edtech.org/case and the original 1EdTech schema binding or code base at
#                 https://www.1edtech.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.
# 
#                 1EdTech takes no position regarding the validity or scope of any intellectual property or other rights that might
#                 be claimed to pertain to the implementation or use of the technology described in this document or the extent 
#                 to which any license under such rights might or might not be available; neither does it represent that it has 
#                 made any effort to identify any such rights. Information on 1EdTech procedures with respect to rights in 1EdTech 
#                 specifications can be found at the 1EdTech Intellectual Property Rights web page: https://www.1edtech.org/ipr/imsipr_policyFinal.pdf.
# 
#                 Copyright (c) 1EdTech Consortium 1999-2025. All Rights Reserved.
# 
#                 Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: http://www.1edtech.org/license.html.
# 
#                 Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.
# 
#                 The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns.
# 
#                 THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
#                 EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
#                 NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
#                 ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
# 
# Source UML File Information
# ===========================
# The source file information must be supplied as an XMI file (without diagram layout information).
# The supported UML authoring tools are:
# (a) Papyrus - v1.1.3 (and later)
# 
# Source XSLT File Information
# ============================
# XSL Generator:    Specificationv1p0_GenerationToolv1.xsl
# XSLT Processor:   Saxon
# Release:          1.0
# Date:             31st October, 2022
# Autogen Engineer: Colin Smythe (1EdTech)
# Autogen Date:     2025-02-05
# 
# 1EdTech Auto-generation Binding Tool-kit (E-BAT)
# ================================================
# This file was auto-generated using the 1EdTech Binding Auto-generation Tool-kit (E-BAT). While every
# attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
# that this is an experimental tool. Permission is given to make use of this tool. 1EdTech makes no
# claim on the materials created by third party users of this tool. Details on how to use this tool
# are contained in the 1EdTech "E-BAT" documentation available at the 1EdTech web-site:
# https://www.1edtech.org.
# 
# Tool Copyright:  2012-2025  (c) 1EdTech Consortium Inc. All Rights Reserved.
# 
# #####################################################################################

openapi: '3.1.0'

#####################################################################################
#                               API Information                                     #
#####################################################################################
info: 
    version: '1.1'
    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 1EdTech Model Driven Specification development approach - this being the Platform Specific Model (PSM) of the service.
    termsOfService: 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 API DEFINITION 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 API DEFINITION.
    contact: 
        name: Vice President of Operations, 1EdTech
        url: https://www.1edtech.org
        email: operations@1edtech.org
    license: 
        name: 1EdTech Consortium
        url: https://www.1edtech.org/license.html

#####################################################################################
#                                 Servers                                           #
#####################################################################################
servers: 
    - url: https://{hostName}{basePath}
      description: The pattern for the Server URL should be configured for the actual server location.
      variables: 
          "hostName": 
              description: This is the hostname for the server and MUST be set to the actual service provider (the 1EdTech url is given as a default value).
              default: www.imsglobal.org
          "basePath": 
              description: This is the base-path for the full URL and MUST be a part of the service endpoints.
              enum: 
                - /ims/case/v1p1
              default: /ims/case/v1p1

#####################################################################################
#                                  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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFAssociationGrouping from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFAssociation from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFConcept and child CFConcepts from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: integer
                  format: int32
                  allowEmptyValue: false
                  minimum: 1
                - 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
                  type: integer
                  format: int32
                  allowEmptyValue: false
                  default: 0
                  minimum: 0
                - 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
                  type: string
                  allowEmptyValue: false
                - 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
                  type: string
                  enum: 
                    - asc
                    - desc
                  allowEmptyValue: false
                - 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
                  type: string
                  allowEmptyValue: false
                - 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
                  type: array
                  items: 
                      type: string
                  collectionFormat: csv
                  allowEmptyValue: false
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the set of CFDocuments from the service provider.
                    schema: 
                        $ref: "#/definitions/CFDocumentSetDType"
                    headers: 
                        "X-Total-Count" :
                            description: |
                                The total number of resources that are available to be returned
                            type: integer
                "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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFDocument from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFItem from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFLicense from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFPackage from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            responses: 
                "200" : 
                    description: |
                        This is the response when the request has been completed successfully. It is the CFRubric from the service provider.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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
                  type: string
            x-1edtech-confidentiality: unrestricted
            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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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'.
                    schema: 
                        $ref: "#/definitions/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.
                    schema: 
                        $ref: "#/definitions/imsx_StatusInfoDType"


#####################################################################################
#                               Definitions                                         #
#####################################################################################
definitions: 
    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
        x-1edtech-confidentiality: unrestricted
        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 extensible enumerated vocabulary. Changed in CASE 1.1.
                type: string
            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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.  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: "#/definitions/LinkGenURIDType"
            destinationNodeURI: 
                $ref: "#/definitions/LinkGenURIDType"
            CFAssociationGroupingURI: 
                $ref: "#/definitions/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
            notes: 
                description: A new attribute added in Version 1.1. Information about the CFAssociation. Model Primitive Datatype = String.
                type: string
            extensions: 
                $ref: "#/definitions/CFAssociationExtensionDType"
            CFDocumentURI: 
                $ref: "#/definitions/LinkURIDType"
        additionalProperties: false
    CFAssociationExtensionDType:
        description: |
            The container for the proprietary extensions to the CFAssociation class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFAssociationGroupingExtensionDType"
        additionalProperties: false
    CFAssociationGroupingExtensionDType:
        description: |
            The container for the proprietary extensions to the CFAssociationGrouping class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        properties: 
            CFItem: 
                $ref: "#/definitions/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: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFConceptExtensionDType"
        additionalProperties: false
    CFConceptExtensionDType:
        description: |
            The container for the proprietary extensions to the CFConcept class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        properties: 
            CFConcepts: 
                description: |
                    The set of concept definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFConceptDType"
            CFSubjects: 
                description: |
                    The set of subject definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFSubjectDType"
            CFLicenses: 
                description: |
                    The set of license definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFLicenseDType"
            CFItemTypes: 
                description: |
                    The set of item type definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFItemTypeDType"
            CFAssociationGroupings: 
                description: |
                    The set of association grouping definitions.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFAssociationGroupingDType"
            extensions: 
                $ref: "#/definitions/CFDefinitionExtensionDType"
        additionalProperties: false
    CFDefinitionExtensionDType:
        description: |
            The container for the proprietary extensions to the CFDefinition class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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
            frameworkType: 
                description: This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined. Model Primitive Datatype = NormalizedString.
                type: string
            caseVersion: 
                description: |
                    This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
                type: string
                enum: 
                   - 1.1
            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. In Version 1.1 the data-type has been changed from NormalizedString. Model Primitive Datatype = String.
                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: "#/definitions/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 versioning 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: "#/definitions/LinkURIDType"
            notes: 
                description: Any text used to comment on the published CFDocument. Model Primitive Datatype = String.
                type: string
            extensions: 
                $ref: "#/definitions/CFDocumentExtensionDType"
            CFPackageURI: 
                $ref: "#/definitions/LinkURIDType"
        additionalProperties: false
    CFDocumentExtensionDType:
        description: |
            The container for the proprietary extensions to the CFDocument class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    CFDocumentSetDType:
        description: |
            This is the container for a collection of CFDocuments. There must be at least one CFDocument.
        type: object
        required: 
            - CFDocuments
        x-1edtech-confidentiality: unrestricted
        properties: 
            CFDocuments: 
                description: |
                    This is the data for a single CFDocument within the CFDocumentSet container.
                type: array
                minItems: 1
                items: 
                    $ref: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        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. In Version 1.1 the data-type was changed from NormalizedString. Model Primitive Datatype = String.
                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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing. 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: "#/definitions/LinkURIDType"
            notes: 
                description: Information about the derivation of a CFItem statement. Model Primitive Datatype = String.
                type: string
            subject: 
                description: A new attribute added in Version 1.1. The topic or academic subject of the Item (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 new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/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
            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: "#/definitions/LinkURIDType"
            licenseURI: 
                $ref: "#/definitions/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
            extensions: 
                $ref: "#/definitions/CFItemExtensionDType"
            CFDocumentURI: 
                $ref: "#/definitions/LinkURIDType"
        additionalProperties: false
    CFItemExtensionDType:
        description: |
            The container for the proprietary extensions to the CFItem class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    CFItemTypeDType:
        description: |
            The container for the ItemType information use within the competency framework.
        type: object
        required: 
            - identifier
            - uri
            - title
            - description
            - hierarchyCode
            - lastChangeDateTime
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFItemTypeExtensionDType"
        additionalProperties: false
    CFItemTypeExtensionDType:
        description: |
            The container for the proprietary extensions to the CFItemType class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFLicenseExtensionDType"
        additionalProperties: false
    CFLicenseExtensionDType:
        description: |
            The container for the proprietary extensions to the CFLicense class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        properties: 
            CFDocument: 
                $ref: "#/definitions/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: "#/definitions/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: "#/definitions/CFPckgAssociationDType"
            CFDefinitions: 
                $ref: "#/definitions/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: "#/definitions/CFRubricDType"
            extensions: 
                $ref: "#/definitions/CFPackageExtensionDType"
        additionalProperties: false
    CFPackageExtensionDType:
        description: |
            The container for the proprietary extensions to the CFPackage class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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 extensible enumerated vocabulary. Changed in CASE 1.1.
                type: string
            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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class.  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: "#/definitions/LinkGenURIDType"
            destinationNodeURI: 
                $ref: "#/definitions/LinkGenURIDType"
            CFAssociationGroupingURI: 
                $ref: "#/definitions/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
            notes: 
                description: A new attribute added in Version 1.1. Information about the CFAssociation. Model Primitive Datatype = String.
                type: string
            extensions: 
                $ref: "#/definitions/CFAssociationExtensionDType"
        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
        x-1edtech-confidentiality: unrestricted
        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
            frameworkType: 
                description: This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined. Model Primitive Datatype = NormalizedString.
                type: string
            caseVersion: 
                description: |
                    This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.
                type: string
                enum: 
                   - 1.1
            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. In Version 1.1 the data-type has been changed from NormalizedString. Model Primitive Datatype = String.
                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: "#/definitions/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 versioning 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: "#/definitions/LinkURIDType"
            notes: 
                description: Any text used to comment on the published CFDocument. Model Primitive Datatype = String.
                type: string
            extensions: 
                $ref: "#/definitions/CFDocumentExtensionDType"
        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
        x-1edtech-confidentiality: unrestricted
        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. In Version 1.1 the data-type was changed from NormalizedString. Model Primitive Datatype = String.
                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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing. 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: "#/definitions/LinkURIDType"
            notes: 
                description: Information about the derivation of a CFItem statement. Model Primitive Datatype = String.
                type: string
            subject: 
                description: A new attribute added in Version 1.1. The topic or academic subject of the Item (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 new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/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
            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: "#/definitions/LinkURIDType"
            licenseURI: 
                $ref: "#/definitions/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
            extensions: 
                $ref: "#/definitions/CFItemExtensionDType"
        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
        x-1edtech-confidentiality: unrestricted
        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. In Version 1.1 the data-type for this attribute has been changed from NormalizedString.  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
            CFRubricCriteria: 
                description: |
                    The set of CFRubricCriterion that are required to complete the definition of the parent CFRubric.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFRubricCriterionDType"
            extensions: 
                $ref: "#/definitions/CFRubricExtensionDType"
        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
        x-1edtech-confidentiality: unrestricted
        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: "#/definitions/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: "#/definitions/CFRubricCriterionLevelDType"
            extensions: 
                $ref: "#/definitions/CFRubricCriterionExtensionDType"
        additionalProperties: false
    CFRubricCriterionExtensionDType:
        description: |
            The container for the proprietary extensions to the CFRubricCriterionExtension class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    CFRubricCriterionLevelDType:
        description: |
            The container for the definition of a criterion level which is addressed by the competency framework.
        type: object
        required: 
            - identifier
            - uri
            - lastChangeDateTime
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                description: |
                    This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.
                type: array
                minItems: 0
                items: 
                    $ref: "#/definitions/CFRubricCriterionLevelExtensionDType"
        additionalProperties: false
    CFRubricCriterionLevelExtensionDType:
        description: |
            The container for the proprietary extensions to the CFRubricCriterionLevel class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    CFRubricExtensionDType:
        description: |
            The container for the proprietary extensions to the CFRubric class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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
            extensions: 
                $ref: "#/definitions/CFSubjectExtensionDType"
        additionalProperties: false
    CFSubjectExtensionDType:
        description: |
            The container for the proprietary extensions to the CFSubject class.
        type: object
        x-1edtech-privacy:
            - extensions
        x-1edtech-confidentiality: unrestricted
        x-1edtech-confidentiality-normal: 
            - extensions
        properties: {}
        additionalProperties: true
    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
        x-1edtech-confidentiality: unrestricted
        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: "#/definitions/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
        x-1edtech-confidentiality: unrestricted
        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
            targetType: 
                description: |
                    This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.
                type: string
        additionalProperties: false
    LinkURIDType:
        description: |
            A container for the information that is used to achieve the link data reference.
        type: object
        required: 
            - title
            - identifier
            - uri
        x-1edtech-confidentiality: unrestricted
        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
        x-1edtech-confidentiality: unrestricted
        properties: 
            imsx_codeMinorField: 
                description: |
                    Each reported code minor status code.
                type: array
                minItems: 1
                items: 
                    $ref: "#/definitions/imsx_CodeMinorFieldDType"
        additionalProperties: false
    imsx_CodeMinorFieldDType:
        description: |
            This is the container for a single code minor status code.
        type: object
        required: 
            - imsx_codeMinorFieldName
            - imsx_codeMinorFieldValue
        x-1edtech-confidentiality: unrestricted
        properties: 
            imsx_codeMinorFieldName: 
                description: This should contain the identity of the system that has produced the code minor status code report. 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: 
                   - forbidden
                   - fullsuccess
                   - internal_server_error
                   - invalid_selection_field
                   - invalid_sort_field
                   - invalid_uuid
                   - server_busy
                   - unauthorised_request
                   - unknownobject
        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
        x-1edtech-confidentiality: unrestricted
        properties: 
            imsx_codeMajor: 
                description: |
                    The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.
                type: string
                enum: 
                   - failure
                   - processing
                   - success
                   - 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: 
                   - error
                   - status
                   - warning
            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: "#/definitions/imsx_CodeMinorDType"
        additionalProperties: false
        

toc | top

Appendix C JSON Schema Listings

C1 JSON Schemas for Payload Validation

This is the set of JSON Schema listing that are used to validate the set of JSON payloads used by this service.

C1.1a JSON Schema for the "getAllCFDocuments" Operation Request Payload Validation.

No request parameters are sent for this request and so there is no JSON Schema listing.

C1.1b JSON Schema for the "getAllCFDocuments" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getallcfdocuments-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getAllCFDocuments-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getAllCFDocuments-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "CFDocuments" : {
            "description" : "This is the data for a single CFDocument within the CFDocumentSet container.",
            "type" : "array",
            "minItems" : 1,
            "items" : {
                "$ref" : "#/$defs/CFDocumentDType"
            }
        }
    },
    "required" : [ "CFDocuments" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "frameworkType" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
                    "type" : "string"
                },
                "caseVersion" : {
                    "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
                    "type" : "string",
                    "enum" : [ "1.1" ]
                },
                "creator" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "type" : "string"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "officialSourceURL" : {
                    "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
                    "type" : "string",
                    "format" : "uri"
                },
                "publisher" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
                    "type" : "string"
                },
                "subject" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
                    "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" : "#/$defs/LinkURIDType"
                    }
                },
                "language" : {
                    "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                    "type" : "string"
                },
                "version" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
                    "type" : "string"
                },
                "adoptionStatus" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
                    "type" : "string"
                },
                "statusStartDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
                    "type" : "string",
                    "format" : "date"
                },
                "statusEndDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
                    "type" : "string",
                    "format" : "date"
                },
                "licenseURI" : {
                    "description" : "A link to a legal document controlling permission to do something with the standards document.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
                    "type" : "string"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFDocumentExtensionDType"
                },
                "CFPackageURI" : {
                    "description" : "An unambiguous reference to the CFPackage that would be used to contain this CFDocument using a network-resolvable URI.",
                    "$ref" : "#/$defs/LinkURIDType"
                }
            },
            "required" : [ "identifier","uri","creator","title","lastChangeDateTime","CFPackageURI" ],
            "additionalProperties" : false
        },
        "CFDocumentExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFDocument class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "LinkURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                    "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        }
    }
}
        

C1.1c JSON Schema for the "getAllCFDocuments" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getallcfdocuments-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getAllCFDocuments-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getAllCFDocuments-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.2a JSON Schema for the "getCFAssociation" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.2b JSON Schema for the "getCFAssociation" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfassociation-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFAssociation-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFAssociation-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "identifier" : {
            "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
            "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
            "anyOf" : [
                    {
                        "type" : "string",
                        "enum" : [ "isChildOf","isPeerOf","isPartOf","exactMatchOf","precedes","isRelatedTo","replacedBy","exemplar","hasSkillLevel","isTranslationOf" ]
                    },
                    {
                        "description" : "Model Primitive Datatype = NormalizedString.",
                        "type" : "string",
                        "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                    }
            ]
        },
        "sequenceNumber" : {
            "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
            "type" : "integer",
            "format" : "int32"
        },
        "uri" : {
            "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
            "type" : "string",
            "format" : "uri"
        },
        "originNodeURI" : {
            "description" : "The resolvable URI for the origin node object.",
            "$ref" : "#/$defs/LinkGenURIDType"
        },
        "destinationNodeURI" : {
            "description" : "The resolvable URI for the destination node object.",
            "$ref" : "#/$defs/LinkGenURIDType"
        },
        "CFAssociationGroupingURI" : {
            "description" : "The network resolvable URI for the link data relationship to a CFAssociationGrouping.",
            "$ref" : "#/$defs/LinkURIDType"
        },
        "lastChangeDateTime" : {
            "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "type" : "string",
            "format" : "date-time"
        },
        "notes" : {
            "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
            "type" : "string"
        },
        "extensions" : {
            "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
            "$ref" : "#/$defs/CFAssociationExtensionDType"
        },
        "CFDocumentURI" : {
            "description" : "An unambiguous reference to the CFDocument that would be used in the context of this CFAssociation using a network-resolvable URI.",
            "$ref" : "#/$defs/LinkURIDType"
        }
    },
    "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFAssociationExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFAssociation class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "LinkGenURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
                    "type" : "string"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                },
                "targetType" : {
                    "description" : "This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.",
                    "anyOf" : [
                            {
                                "type" : "string",
                                "enum" : [ "CASE" ]
                            },
                            {
                                "description" : "Model Primitive Datatype = NormalizedString.",
                                "type" : "string",
                                "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                            }
                    ]
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        },
        "LinkURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                    "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        }
    }
}
        

C1.2c JSON Schema for the "getCFAssociation" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfassociation-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFAssociation-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFAssociation-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.3a JSON Schema for the "getCFAssociationGrouping" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.3b JSON Schema for the "getCFAssociationGrouping" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfassociationgrouping-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFAssociationGrouping-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFAssociationGrouping-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "identifier" : {
            "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.",
            "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. ",
            "type" : "string",
            "format" : "uri"
        },
        "title" : {
            "description" : "Model Primitive Datatype = NormalizedString. The title of the CFAssociationGrouping.",
            "type" : "string"
        },
        "description" : {
            "description" : "Model Primitive Datatype = String. A human readable description of the CFAssociationGrouping.",
            "type" : "string"
        },
        "lastChangeDateTime" : {
            "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "type" : "string",
            "format" : "date-time"
        },
        "extensions" : {
            "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
            "$ref" : "#/$defs/CFAssociationGroupingExtensionDType"
        }
    },
    "required" : [ "identifier","uri","title","lastChangeDateTime" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFAssociationGroupingExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFAssociationGrouping class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        }
    }
}
        

C1.3c JSON Schema for the "getCFAssociationGrouping" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfassociationgrouping-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFAssociationGrouping-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFAssociationGrouping-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.4a JSON Schema for the "getCFConcept" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.4b JSON Schema for the "getCFConcept" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfconcept-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFConcept-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFConcept-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : "#/$defs/CFConceptDType"
            }
        }
    },
    "required" : [ "CFConcepts" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFConceptDType" : {
            "description" : "The container for the definition of a concept which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFConcept using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFConcept.",
                    "type" : "string"
                },
                "keywords" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Defined listing of keywords delimited by '|' that the concept encompasses.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFConcept.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFConceptExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFConceptExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFConcept class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        }
    }
}
        

C1.4c JSON Schema for the "getCFConcept" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfconcept-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFConcept-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFConcept-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.5a JSON Schema for the "getCFDocument" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.5b JSON Schema for the "getCFDocument" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfdocument-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFDocument-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFDocument-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "identifier" : {
            "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
            "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
            "type" : "string",
            "format" : "uri"
        },
        "frameworkType" : {
            "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
            "type" : "string"
        },
        "caseVersion" : {
            "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
            "type" : "string",
            "enum" : [ "1.1" ]
        },
        "creator" : {
            "description" : "Model Primitive Datatype = NormalizedString. 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.",
            "type" : "string"
        },
        "title" : {
            "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
            "type" : "string"
        },
        "lastChangeDateTime" : {
            "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "type" : "string",
            "format" : "date-time"
        },
        "officialSourceURL" : {
            "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
            "type" : "string",
            "format" : "uri"
        },
        "publisher" : {
            "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
            "type" : "string"
        },
        "description" : {
            "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
            "type" : "string"
        },
        "subject" : {
            "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
            "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" : "#/$defs/LinkURIDType"
            }
        },
        "language" : {
            "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
            "type" : "string"
        },
        "version" : {
            "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
            "type" : "string"
        },
        "adoptionStatus" : {
            "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
            "type" : "string"
        },
        "statusStartDate" : {
            "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
            "type" : "string",
            "format" : "date"
        },
        "statusEndDate" : {
            "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
            "type" : "string",
            "format" : "date"
        },
        "licenseURI" : {
            "description" : "A link to a legal document controlling permission to do something with the standards document.",
            "$ref" : "#/$defs/LinkURIDType"
        },
        "notes" : {
            "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
            "type" : "string"
        },
        "extensions" : {
            "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
            "$ref" : "#/$defs/CFDocumentExtensionDType"
        },
        "CFPackageURI" : {
            "description" : "An unambiguous reference to the CFPackage that would be used to contain this CFDocument using a network-resolvable URI.",
            "$ref" : "#/$defs/LinkURIDType"
        }
    },
    "required" : [ "identifier","uri","creator","title","lastChangeDateTime","CFPackageURI" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFDocumentExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFDocument class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "LinkURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                    "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        }
    }
}
        

C1.5c JSON Schema for the "getCFDocument" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfdocument-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFDocument-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFDocument-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.6a JSON Schema for the "getCFItem" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.6b JSON Schema for the "getCFItem" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfitem-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFItem-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFItem-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "identifier" : {
            "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
            "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
            "type" : "string"
        },
        "alternativeLabel" : {
            "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
            "type" : "string"
        },
        "CFItemType" : {
            "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
            "type" : "string"
        },
        "uri" : {
            "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
            "type" : "string",
            "format" : "uri"
        },
        "humanCodingScheme" : {
            "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
            "type" : "string"
        },
        "listEnumeration" : {
            "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
            "type" : "string"
        },
        "abbreviatedStatement" : {
            "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
            "type" : "string"
        },
        "conceptKeywords" : {
            "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
            "type" : "array",
            "minItems" : 0,
            "items" : {
                "type" : "string"
            }
        },
        "conceptKeywordsURI" : {
            "description" : "The significant topicality of the CFItem using a controlled vocabulary maintained as linked data. ",
            "$ref" : "#/$defs/LinkURIDType"
        },
        "notes" : {
            "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
            "type" : "string"
        },
        "subject" : {
            "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
            "type" : "array",
            "minItems" : 0,
            "items" : {
                "type" : "string"
            }
        },
        "subjectURI" : {
            "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
            "type" : "array",
            "minItems" : 0,
            "items" : {
                "$ref" : "#/$defs/LinkURIDType"
            }
        },
        "language" : {
            "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
            "type" : "string"
        },
        "educationLevel" : {
            "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
            "type" : "array",
            "minItems" : 0,
            "items" : {
                "type" : "string"
            }
        },
        "CFItemTypeURI" : {
            "description" : "This is the linked data location for the CFItemType.",
            "$ref" : "#/$defs/LinkURIDType"
        },
        "licenseURI" : {
            "description" : "A link to a legal document controlling permission to do something with the CFItem.",
            "$ref" : "#/$defs/LinkURIDType"
        },
        "statusStartDate" : {
            "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
            "type" : "string",
            "format" : "date"
        },
        "statusEndDate" : {
            "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
            "type" : "string",
            "format" : "date"
        },
        "lastChangeDateTime" : {
            "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "type" : "string",
            "format" : "date-time"
        },
        "extensions" : {
            "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
            "$ref" : "#/$defs/CFItemExtensionDType"
        },
        "CFDocumentURI" : {
            "description" : "An unambiguous reference to the CFDocument that would be used to contain this CFItem using a network-resolvable URI.",
            "$ref" : "#/$defs/LinkURIDType"
        }
    },
    "required" : [ "identifier","fullStatement","uri","lastChangeDateTime","CFDocumentURI" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFItemExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFItem class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "LinkURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                    "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        }
    }
}
        

C1.6c JSON Schema for the "getCFItem" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfitem-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFItem-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFItem-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.7a JSON Schema for the "getCFItemAssociations" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.7b JSON Schema for the "getCFItemAssociations" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfitemassociations-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFItemAssociations-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFItemAssociations-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "CFItem" : {
            "description" : "This is the container for the specified CFItem object. 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. ",
            "$ref" : "#/$defs/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" : "#/$defs/CFPckgAssociationDType"
            }
        }
    },
    "required" : [ "CFItem","CFAssociations" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFAssociationExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFAssociation class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
                    "type" : "string"
                },
                "alternativeLabel" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
                    "type" : "string"
                },
                "CFItemType" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
                    "type" : "string"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "humanCodingScheme" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
                    "type" : "string"
                },
                "listEnumeration" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
                    "type" : "string"
                },
                "abbreviatedStatement" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
                    "type" : "string"
                },
                "conceptKeywords" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "conceptKeywordsURI" : {
                    "description" : "The significant topicality of the CFItem using a controlled vocabulary maintained as linked data. ",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
                    "type" : "string"
                },
                "subject" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "subjectURI" : {
                    "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/$defs/LinkURIDType"
                    }
                },
                "language" : {
                    "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                    "type" : "string"
                },
                "educationLevel" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "CFItemTypeURI" : {
                    "description" : "This is the linked data location for the CFItemType.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "licenseURI" : {
                    "description" : "A link to a legal document controlling permission to do something with the CFItem.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "statusStartDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
                    "type" : "string",
                    "format" : "date"
                },
                "statusEndDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
                    "type" : "string",
                    "format" : "date"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFItemExtensionDType"
                },
                "CFDocumentURI" : {
                    "description" : "An unambiguous reference to the CFDocument that would be used to contain this CFItem using a network-resolvable URI.",
                    "$ref" : "#/$defs/LinkURIDType"
                }
            },
            "required" : [ "identifier","fullStatement","uri","lastChangeDateTime","CFDocumentURI" ],
            "additionalProperties" : false
        },
        "CFItemExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFItem class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
                    "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
                    "anyOf" : [
                            {
                                "type" : "string",
                                "enum" : [ "isChildOf","isPeerOf","isPartOf","exactMatchOf","precedes","isRelatedTo","replacedBy","exemplar","hasSkillLevel","isTranslationOf" ]
                            },
                            {
                                "description" : "Model Primitive Datatype = NormalizedString.",
                                "type" : "string",
                                "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                            }
                    ]
                },
                "sequenceNumber" : {
                    "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
                    "type" : "integer",
                    "format" : "int32"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "originNodeURI" : {
                    "description" : "The resolvable URI for the origin node object.",
                    "$ref" : "#/$defs/LinkGenURIDType"
                },
                "destinationNodeURI" : {
                    "description" : "The resolvable URI for the destination node object.",
                    "$ref" : "#/$defs/LinkGenURIDType"
                },
                "CFAssociationGroupingURI" : {
                    "description" : "The network resolvable URI for the link data relationship to a CFAssociationGrouping.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
                    "type" : "string"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFAssociationExtensionDType"
                }
            },
            "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "LinkGenURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
                    "type" : "string"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                },
                "targetType" : {
                    "description" : "This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.",
                    "anyOf" : [
                            {
                                "type" : "string",
                                "enum" : [ "CASE" ]
                            },
                            {
                                "description" : "Model Primitive Datatype = NormalizedString.",
                                "type" : "string",
                                "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                            }
                    ]
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        },
        "LinkURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                    "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        }
    }
}
        

C1.7c JSON Schema for the "getCFItemAssociations" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfitemassociations-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFItemAssociations-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFItemAssociations-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.8a JSON Schema for the "getCFItemType" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.8b JSON Schema for the "getCFItemType" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfitemtype-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFItemType-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFItemType-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : "#/$defs/CFItemTypeDType"
            }
        }
    },
    "required" : [ "CFItemTypes" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFItemTypeDType" : {
            "description" : "The container for the ItemType information use within the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItemType using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFItemType.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFItemType.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
                    "type" : "string"
                },
                "typeCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Text code used for type identification.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFItemTypeExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","description","hierarchyCode","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFItemTypeExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFItemType class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        }
    }
}
        

C1.8c JSON Schema for the "getCFItemType" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfitemtype-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFItemType-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFItemType-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.9a JSON Schema for the "getCFLicense" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.9b JSON Schema for the "getCFLicense" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcflicense-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFLicense-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFLicense-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "identifier" : {
            "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.",
            "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFLicense using a network-resolvable URI. ",
            "type" : "string",
            "format" : "uri"
        },
        "title" : {
            "description" : "Model Primitive Datatype = NormalizedString. The title of the CFLicense.",
            "type" : "string"
        },
        "description" : {
            "description" : "Model Primitive Datatype = String. A human readable description of the CFLicense.",
            "type" : "string"
        },
        "licenseText" : {
            "description" : "Model Primitive Datatype = String. 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.",
            "type" : "string"
        },
        "lastChangeDateTime" : {
            "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "type" : "string",
            "format" : "date-time"
        },
        "extensions" : {
            "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
            "$ref" : "#/$defs/CFLicenseExtensionDType"
        }
    },
    "required" : [ "identifier","uri","title","licenseText","lastChangeDateTime" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFLicenseExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFLicense class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        }
    }
}
        

C1.9c JSON Schema for the "getCFLicense" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcflicense-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFLicense-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFLicense-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.10a JSON Schema for the "getCFPackage" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.10b JSON Schema for the "getCFPackage" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfpackage-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFPackage-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFPackage-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "CFDocument" : {
            "description" : "The root Competency Framework Document. There must be only one CFDocument.",
            "$ref" : "#/$defs/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" : "#/$defs/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" : "#/$defs/CFPckgAssociationDType"
            }
        },
        "CFDefinitions" : {
            "description" : "The Competency Framework Definitions for the CFDocument and the associated component CFItems. The definitions contains the corresponding set of: CFConcepts, CFSubjects, CFLicenses, CFItemTypes and CFAssociationGroupings.",
            "$ref" : "#/$defs/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" : "#/$defs/CFRubricDType"
            }
        },
        "extensions" : {
            "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
            "$ref" : "#/$defs/CFPackageExtensionDType"
        }
    },
    "required" : [ "CFDocument" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFAssociationExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFAssociation class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFAssociationGrouping.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFAssociationGrouping.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFAssociationGroupingExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFAssociationGroupingExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFAssociationGrouping class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFConceptDType" : {
            "description" : "The container for the definition of a concept which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFConcept using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFConcept.",
                    "type" : "string"
                },
                "keywords" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Defined listing of keywords delimited by '|' that the concept encompasses.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFConcept.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFConceptExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFConceptExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFConcept class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "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" : "#/$defs/CFConceptDType"
                    }
                },
                "CFSubjects" : {
                    "description" : "The set of subject definitions.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/$defs/CFSubjectDType"
                    }
                },
                "CFLicenses" : {
                    "description" : "The set of license definitions.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/$defs/CFLicenseDType"
                    }
                },
                "CFItemTypes" : {
                    "description" : "The set of item type definitions.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/$defs/CFItemTypeDType"
                    }
                },
                "CFAssociationGroupings" : {
                    "description" : "The set of association grouping definitions.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/$defs/CFAssociationGroupingDType"
                    }
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFDefinitionExtensionDType"
                }
            },
            "additionalProperties" : false
        },
        "CFDefinitionExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFDefinition class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFDocumentExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFDocument class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFItemExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFItem class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFItemTypeDType" : {
            "description" : "The container for the ItemType information use within the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItemType using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFItemType.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFItemType.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
                    "type" : "string"
                },
                "typeCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Text code used for type identification.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFItemTypeExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","description","hierarchyCode","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFItemTypeExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFItemType class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFLicenseDType" : {
            "description" : "The container for the information about a license used within the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFLicense using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFLicense.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFLicense.",
                    "type" : "string"
                },
                "licenseText" : {
                    "description" : "Model Primitive Datatype = String. 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.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFLicenseExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","licenseText","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFLicenseExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFLicense class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFPackageExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFPackage class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
                    "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 extensible enumerated vocabulary. Changed in CASE 1.1.",
                    "anyOf" : [
                            {
                                "type" : "string",
                                "enum" : [ "isChildOf","isPeerOf","isPartOf","exactMatchOf","precedes","isRelatedTo","replacedBy","exemplar","hasSkillLevel","isTranslationOf" ]
                            },
                            {
                                "description" : "Model Primitive Datatype = NormalizedString.",
                                "type" : "string",
                                "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                            }
                    ]
                },
                "sequenceNumber" : {
                    "description" : "Model Primitive Datatype = Integer. 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. Use of this property for sequencing is preferred over the use of the 'listEnumeration' property in the CFPckgItem class. ",
                    "type" : "integer",
                    "format" : "int32"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFAssociation using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "originNodeURI" : {
                    "description" : "The resolvable URI for the origin node object.",
                    "$ref" : "#/$defs/LinkGenURIDType"
                },
                "destinationNodeURI" : {
                    "description" : "The resolvable URI for the destination node object.",
                    "$ref" : "#/$defs/LinkGenURIDType"
                },
                "CFAssociationGroupingURI" : {
                    "description" : "The network resolvable URI for the link data relationship to a CFAssociationGrouping.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. A new attribute added in Version 1.1. Information about the CFAssociation.",
                    "type" : "string"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFAssociationExtensionDType"
                }
            },
            "required" : [ "identifier","associationType","uri","originNodeURI","destinationNodeURI","lastChangeDateTime" ],
            "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFDocument using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "frameworkType" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This is a new attribute added in version 1.1. This attribute allows framework creators to indicate what type of framework this is, for example course codes. In CASE 1.1. the only predefined type of framework is 'CourseCodes'. Other standardized framework types will be defined.",
                    "type" : "string"
                },
                "caseVersion" : {
                    "description" : "This is a new attribute added in version 1.1. Denotes the version of the CFDocument. If present it MUST have a value of '1.1'.",
                    "type" : "string",
                    "enum" : [ "1.1" ]
                },
                "creator" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "type" : "string"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFDocument.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "officialSourceURL" : {
                    "description" : "Model Primitive Datatype = AnyURI. The URL link to the formal citation of the original achievement standards document created for humans.",
                    "type" : "string",
                    "format" : "uri"
                },
                "publisher" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The entity responsible for making the learning standards document available.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
                    "type" : "string"
                },
                "subject" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
                    "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" : "#/$defs/LinkURIDType"
                    }
                },
                "language" : {
                    "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                    "type" : "string"
                },
                "version" : {
                    "description" : "Model Primitive Datatype = NormalizedString. Defines the revision of the document (the nature of this versioning is an implementation issue).",
                    "type" : "string"
                },
                "adoptionStatus" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The publication status of the document.",
                    "type" : "string"
                },
                "statusStartDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFDocument status started.",
                    "type" : "string",
                    "format" : "date"
                },
                "statusEndDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFDocument status ended or changed to another status.",
                    "type" : "string",
                    "format" : "date"
                },
                "licenseURI" : {
                    "description" : "A link to a legal document controlling permission to do something with the standards document.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. Any text used to comment on the published CFDocument.",
                    "type" : "string"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFDocumentExtensionDType"
                }
            },
            "required" : [ "identifier","uri","creator","title","lastChangeDateTime" ],
            "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = String. 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. In Version 1.1 the data-type was changed from NormalizedString.",
                    "type" : "string"
                },
                "alternativeLabel" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.  ",
                    "type" : "string"
                },
                "CFItemType" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The textual label identifying the class of the statement as designated by the promulgating body.",
                    "type" : "string"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFItem using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "humanCodingScheme" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item among learning standard items.",
                    "type" : "string"
                },
                "listEnumeration" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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. Use of the 'sequenceNumber' in the CFPckgAssociation class is preferred over the use of this property for sequencing.",
                    "type" : "string"
                },
                "abbreviatedStatement" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An abbreviated version of the Full Statement.",
                    "type" : "string"
                },
                "conceptKeywords" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The significant topicality of the CFItem using free-text keywords and phrases.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "conceptKeywordsURI" : {
                    "description" : "The significant topicality of the CFItem using a controlled vocabulary maintained as linked data. ",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "notes" : {
                    "description" : "Model Primitive Datatype = String. Information about the derivation of a CFItem statement.",
                    "type" : "string"
                },
                "subject" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A new attribute added in Version 1.1. The topic or academic subject of the Item (this should use some appropriate K-12, HE, etc. based vocabulary).",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "subjectURI" : {
                    "description" : "A new attribute added in Version 1.1.  A set of Link URIs denoting the set of subjects for the Item as designated by the promulgating agency.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/$defs/LinkURIDType"
                    }
                },
                "language" : {
                    "description" : "Model Primitive Datatype = Language. The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
                    "type" : "string"
                },
                "educationLevel" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The education level, grade level or primary instructional level at which a CFItem is intended",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "type" : "string"
                    }
                },
                "CFItemTypeURI" : {
                    "description" : "This is the linked data location for the CFItemType.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "licenseURI" : {
                    "description" : "A link to a legal document controlling permission to do something with the CFItem.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "statusStartDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFItem status started.",
                    "type" : "string",
                    "format" : "date"
                },
                "statusEndDate" : {
                    "description" : "Model Primitive Datatype = Date. The date the CFItem status ended or changed to another status.",
                    "type" : "string",
                    "format" : "date"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFItemExtensionDType"
                }
            },
            "required" : [ "identifier","fullStatement","uri","lastChangeDateTime" ],
            "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",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubric using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFRubric.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString. ",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "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" : "#/$defs/CFRubricCriterionDType"
                    }
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFRubricExtensionDType"
                }
            },
            "required" : [ "identifier","uri","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFRubricCriterionDType" : {
            "description" : "The container for the definition of a rubric criterion which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "category" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A textual label for category by which CFRubricCriterion may be grouped.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterion.",
                    "type" : "string"
                },
                "CFItemURI" : {
                    "description" : "An unambiguous reference to the CFItem to which this rubric criterion is associated using a network-resolvable URI and link data.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "weight" : {
                    "description" : "Model Primitive Datatype = Float. A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.",
                    "type" : "number",
                    "format" : "float"
                },
                "position" : {
                    "description" : "Model Primitive Datatype = Integer. A numeric value representing this criterion's position in the criteria list for this CFRubric.",
                    "type" : "integer",
                    "format" : "int32"
                },
                "rubricId" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "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" : "#/$defs/CFRubricCriterionLevelDType"
                    }
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFRubricCriterionExtensionDType"
                }
            },
            "required" : [ "identifier","uri","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFRubricCriterionExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubricCriterionExtension class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFRubricCriterionLevelDType" : {
            "description" : "The container for the definition of a criterion level which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterionLevel.",
                    "type" : "string"
                },
                "quality" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.",
                    "type" : "string"
                },
                "score" : {
                    "description" : "Model Primitive Datatype = Float. The points awarded for achieving this level.",
                    "type" : "number",
                    "format" : "float"
                },
                "feedback" : {
                    "description" : "Model Primitive Datatype = String. Pre-defined feedback text to be relayed to the person or organization being evaluated. This may include guidance and suggestions for improvement or development.",
                    "type" : "string"
                },
                "position" : {
                    "description" : "Model Primitive Datatype = Integer. A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.",
                    "type" : "integer",
                    "format" : "int32"
                },
                "rubricCriterionId" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/$defs/CFRubricCriterionLevelExtensionDType"
                    }
                }
            },
            "required" : [ "identifier","uri","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFRubricCriterionLevelExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubricCriterionLevel class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFRubricExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubric class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFSubjectDType" : {
            "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFSubject using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFSubject.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFSubject.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFSubjectExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFSubjectExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFSubject class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "LinkGenURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
                    "type" : "string"
                },
                "uri" : {
                    "description" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                },
                "targetType" : {
                    "description" : "This is a new attribute added in Version 1.1. It is used to identify the type of the referenced association i.e. this MAY NOT be a CASE Framework.",
                    "anyOf" : [
                            {
                                "type" : "string",
                                "enum" : [ "CASE" ]
                            },
                            {
                                "description" : "Model Primitive Datatype = NormalizedString.",
                                "type" : "string",
                                "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+"
                            }
                    ]
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        },
        "LinkURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                    "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        }
    }
}
        

C1.10c JSON Schema for the "getCFPackage" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfpackage-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFPackage-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFPackage-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.11a JSON Schema for the "getCFRubric" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.11b JSON Schema for the "getCFRubric" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfrubric-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFRubric-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFRubric-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "properties" : {
        "identifier" : {
            "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.",
            "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubric using a network-resolvable URI.",
            "type" : "string",
            "format" : "uri"
        },
        "title" : {
            "description" : "Model Primitive Datatype = NormalizedString. The title of the CFRubric.",
            "type" : "string"
        },
        "description" : {
            "description" : "Model Primitive Datatype = String. A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString. ",
            "type" : "string"
        },
        "lastChangeDateTime" : {
            "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "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" : "#/$defs/CFRubricCriterionDType"
            }
        },
        "extensions" : {
            "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
            "$ref" : "#/$defs/CFRubricExtensionDType"
        }
    },
    "required" : [ "identifier","uri","lastChangeDateTime" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFRubricCriterionDType" : {
            "description" : "The container for the definition of a rubric criterion which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "category" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A textual label for category by which CFRubricCriterion may be grouped.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterion.",
                    "type" : "string"
                },
                "CFItemURI" : {
                    "description" : "An unambiguous reference to the CFItem to which this rubric criterion is associated using a network-resolvable URI and link data.",
                    "$ref" : "#/$defs/LinkURIDType"
                },
                "weight" : {
                    "description" : "Model Primitive Datatype = Float. A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.",
                    "type" : "number",
                    "format" : "float"
                },
                "position" : {
                    "description" : "Model Primitive Datatype = Integer. A numeric value representing this criterion's position in the criteria list for this CFRubric.",
                    "type" : "integer",
                    "format" : "int32"
                },
                "rubricId" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "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" : "#/$defs/CFRubricCriterionLevelDType"
                    }
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFRubricCriterionExtensionDType"
                }
            },
            "required" : [ "identifier","uri","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFRubricCriterionExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubricCriterionExtension class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFRubricCriterionLevelDType" : {
            "description" : "The container for the definition of a criterion level which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.",
                    "type" : "string",
                    "format" : "uri"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFRubricCriterionLevel.",
                    "type" : "string"
                },
                "quality" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.",
                    "type" : "string"
                },
                "score" : {
                    "description" : "Model Primitive Datatype = Float. The points awarded for achieving this level.",
                    "type" : "number",
                    "format" : "float"
                },
                "feedback" : {
                    "description" : "Model Primitive Datatype = String. Pre-defined feedback text to be relayed to the person or organization being evaluated. This may include guidance and suggestions for improvement or development.",
                    "type" : "string"
                },
                "position" : {
                    "description" : "Model Primitive Datatype = Integer. A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.",
                    "type" : "integer",
                    "format" : "int32"
                },
                "rubricCriterionId" : {
                    "description" : "Model Primitive Datatype = NormalizedString. 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.",
                    "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" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "type" : "array",
                    "minItems" : 0,
                    "items" : {
                        "$ref" : "#/$defs/CFRubricCriterionLevelExtensionDType"
                    }
                }
            },
            "required" : [ "identifier","uri","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFRubricCriterionLevelExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubricCriterionLevel class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "CFRubricExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFRubric class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        },
        "LinkURIDType" : {
            "description" : "A container for the information that is used to achieve the link data reference.",
            "type" : "object",
            "properties" : {
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human readable title for the associated object.",
                    "type" : "string"
                },
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
                    "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" : "Model Primitive Datatype = AnyURI. A network-resolvable URI pointing to the authoritative reference for the associated object.",
                    "type" : "string",
                    "format" : "uri"
                }
            },
            "required" : [ "title","identifier","uri" ],
            "additionalProperties" : false
        }
    }
}
        

C1.11c JSON Schema for the "getCFRubric" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfrubric-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFRubric-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFRubric-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

C1.12a JSON Schema for the "getCFSubject" Operation Request Payload Validation.

No request payload is sent for this request, only a single path parameter is supplied, and so there is no JSON Schema listing.

C1.12b JSON Schema for the "getCFSubject" Operation Response Payload Validation for HTTP Codes (200)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfsubject-200-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFSubject-200-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFSubject-200-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : "#/$defs/CFSubjectDType"
            }
        }
    },
    "required" : [ "CFSubjects" ],
    "additionalProperties" : false,
    "$defs" : {
        "CFSubjectDType" : {
            "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
            "type" : "object",
            "properties" : {
                "identifier" : {
                    "description" : "Model Primitive Datatype = NormalizedString. An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
                    "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" : "Model Primitive Datatype = AnyURI. An unambiguous reference to the CFSubject using a network-resolvable URI. ",
                    "type" : "string",
                    "format" : "uri"
                },
                "title" : {
                    "description" : "Model Primitive Datatype = NormalizedString. The title of the CFSubject.",
                    "type" : "string"
                },
                "hierarchyCode" : {
                    "description" : "Model Primitive Datatype = NormalizedString. A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
                    "type" : "string"
                },
                "description" : {
                    "description" : "Model Primitive Datatype = String. A human readable description of the CFSubject.",
                    "type" : "string"
                },
                "lastChangeDateTime" : {
                    "description" : "Model Primitive Datatype = DateTime. A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
                    "type" : "string",
                    "format" : "date-time"
                },
                "extensions" : {
                    "description" : "This is a new attribute added in Version 1.1. This enables extension of this class. The actual extension mechanism is dependent upon the binding technology being used.",
                    "$ref" : "#/$defs/CFSubjectExtensionDType"
                }
            },
            "required" : [ "identifier","uri","title","hierarchyCode","lastChangeDateTime" ],
            "additionalProperties" : false
        },
        "CFSubjectExtensionDType" : {
            "description" : "The container for the proprietary extensions to the CFSubject class.",
            "type" : "object",
            "properties" : {

            },
            "patternProperties" : {
                "^[^:][^:]*:[^:][^:]*$" : {
                    "oneOf": [{ "type": "string" }, { "type": "array" }, { "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "object" }]
                }
            },
            "additionalProperties" : true
        }
    }
}
        

C1.12c JSON Schema for the "getCFSubject" Operation Response Payload Validation for HTTP Codes (400,401,403,404,429,500,default)

The JSON Schema listing is shown below (the JSON Schema is available at: https://purl.imsglobal.org/spec/case/v1p1/schema/jsd/caseservicegroupv1p1-getcfsubject-400-401-403-404-429-500-default-responsepayload-schemav1p0p0.json).

{
    "$schema": "http://json-schema.org/draft/2020-12/schema",
    "$id" : "getCFSubject-400-401-403-404-429-500-default-responsepayload-schema.json",
    "title" : "Competencies and Academic Standards Exchange (CASE) Service Version 1.1 1EdTech Final Release JSON Schema Binding (getCFSubject-400-401-403-404-429-500-default-responsepayload-schema)",
    "description" : "Author-Pepper Williams (Common Good Learning Tools, USA), Susan Haught (1EdTech, USA) and Colin Smythe (1EdTech, USA);  Version-1.0;  Release Date-24th January, 2025. ",
    "type" : "object",
    "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" : [ "failure","processing","success","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" : [ "error","status","warning" ]
        },
        "imsx_description" : {
            "description" : "Model Primitive Datatype = String. A human readable description supplied by the entity creating the status code information.",
            "type" : "string"
        },
        "imsx_codeMinor" : {
            "description" : "The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes.",
            "$ref" : "#/$defs/imsx_CodeMinorDType"
        }
    },
    "required" : [ "imsx_codeMajor","imsx_severity" ],
    "additionalProperties" : false,
    "$defs" : {
        "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",
            "properties" : {
                "imsx_codeMinorField" : {
                    "description" : "Each reported code minor status code.",
                    "type" : "array",
                    "minItems" : 1,
                    "items" : {
                        "$ref" : "#/$defs/imsx_CodeMinorFieldDType"
                    }
                }
            },
            "required" : [ "imsx_codeMinorField" ],
            "additionalProperties" : false
        },
        "imsx_CodeMinorFieldDType" : {
            "description" : "This is the container for a single code minor status code.",
            "type" : "object",
            "properties" : {
                "imsx_codeMinorFieldName" : {
                    "description" : "Model Primitive Datatype = NormalizedString. This should contain the identity of the system that has produced the code minor status code report.",
                    "type" : "string"
                },
                "imsx_codeMinorFieldValue" : {
                    "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
                    "type" : "string",
                    "enum" : [ "forbidden","fullsuccess","internal_server_error","invalid_selection_field","invalid_sort_field","invalid_uuid","server_busy","unauthorised_request","unknownobject" ]
                }
            },
            "required" : [ "imsx_codeMinorFieldName","imsx_codeMinorFieldValue" ],
            "additionalProperties" : false
        }
    }
}
        

toc | top

About this Document

Title: 1EdTech Competencies and Academic Standards Exchange (CASE) Service REST/JSON Binding 1.1
Editors: Colin Smythe, 1EdTech (USA)
Susan Haught, 1EdTech (USA)
Pepper Williams, Common Good Learning Tools (USA)

Co-chairs: Pepper Williams, Common Good Learning Tools (USA)

Version: 1.0
Version Date: 24th January, 2025
Status: 1EdTech Final Release
Summary: The 1EdTech Competencies and Academic Standards Exchange (CASE) Service is used to exchange information about the learning and education competencies. This standard defines a set of data models for competency frameworks, competency documents, competency definitions, competency associations, rubrics, rubric criterions and rubric criterion levels. It also describes how this data can be exchanged using a set of service calls. This document contains the REST/JSON Binding description for the CASE Service.

Revision Information: Version 1.1 - the second release of this specification. There are no changes to the set of endpoints. A small number of new properties have been added to the data model.

Purpose: For general adoption and implementation.
Document Location: https://www.imsglobal.org/activity/case

toc | top

List of Contributors

The following individuals contributed to the development of this document:

Raymond Baranoski Safari Montage (USA)
Radian Baskoro PowerSchool (USA)
Diana Bidulescu Houston ISD (USA)
Diego del Blanco Unicon, Inc. (USA)
Jared Booth HMH (USA)
Clyde Boyer Trinity Education Group (USA)
Steve Buettner Edina Public Schools (USA)
Heather Carle Territorium (USA)
Christine Case Trinity Education Group (USA)
Joseph Chapman D2L (Canada)
Christian Clark Southern New Hampshire University (USA)
Monica Dalvi Amplify (USA)
Davonne Eldridge North Dakota Information Technology Deparment (USA)
Deb Everhart Learning Objects (USA)
David Gappa Safari Montage (USA)
Jeramy Gatza Florida Virtual School (USA)
Joe Green Territoruim (USA)
Lori Griffin SAFARI Montage (USA)
Bob Grogan Elumen (USA)
Viktor Haag Desire2Learn (Canada)
Jeroen Hamers Kennisnet (Netherlands)
Susan Haught 1EdTech Consortium (USA)
Joel Hernandez Elumen (USA)
Ben Herndon PowerSchool (USA)
Joshua Heyman Southern New Hampshire Universtiy (USA)
Chris Houston 1EdTech Consortium (USA)
Jamey Hynds Katy ISD (USA)
Angela Ingram GaDOE (USA)
Paul Katula Maryland Department of Education (USA)
Lisa Keeter Kentucky Department of Education (USA
Christophe Konstantinos TAO Testing (USA)
Tracy Korsmo North Dakota Department of Public Instruction (USA)
Brian Kubota Pearson (USA)
Andy Kuritizky HMH (USA)
Emma Lee University of Montana (USA)
Mark Leuba 1EdTech Consortium (USA)
Catherine London Southern New Hampshire University (USA)
Lisa Mattson 1EdTech Consortium (USA)
David Mayes Gwinnett County Schools (USA)
Michael Moore Desire2Learn (Canada)
Kristen Morton PowerSchool (USA)
Scott Murray PowerSchool (USA)
Henk Nijstad Kennisnet (Netherlands)
Hugh Norwood Trinity Education Group (USA)
Keith Osburn Georgia Department of Education (USA)
Robert Pangborn IBM (USA)
Steve Polyak ACT (USA)
Shana Rafalaski SAFARI Montage (USA)
Brandt Redd Smarter Balance (USA)
Jennifer Reichlin Pearson (USA)
Bob Schloss IBM (USA)
McCall Smith Instructure (USA)
Colin Smythe 1EdTech Consortium (USA)
Wendy Stephens South Carolina Department of Education (USA)
Davant Stewart Houston ISD (USA)
Taryn Sullivan Google (USA)
Stewart Sutton Dublin Core (USA)
Carrie Vail PowerSchool (USA)
Marcia van Oplo Kennisnet (Netherlands)
Michele Wagner Baltimore County Public Schools (USA)
Brian Wales SAFARI Montage (USA)
Jennifer Whiting Florida Virtual School (USA)
Pepper Williams Common Good Learning Tools (USA)
Darcy Wither Desire2Learn (Canada)
Avi Yashchin IBM (USA)
Luke Zenger Infinite Campus (USA)

toc | top

Revision History

Version No. Release Date Comments
Final Release 1.0 7th July, 2017 The original Final Release. This declares the standard ready for public adoption.
Final Release 1.1 24th January, 2025 This is the second release of this specification. A number of data model changes have been made. There are no changes to the service model i.e. the set of endpoints.

toc | top

1EdTech Consortium, Inc. ("1EdTech") is publishing the information contained in this document ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

1EdTech makes no warranty or representation regarding the accuracy or completeness of the Specification.

This material is provided on an "As Is" and "As Available" basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

1EdTech would appreciate receiving your comments and suggestions.

Please contact 1EdTech through our website at https://www.1edtech.org.

Please refer to Document Name: 1EdTech Competencies and Academic Standards Exchange (CASE) Service REST/JSON Binding 1.1

Date: 24th January, 2025

toc | top