Final

Competencies and Academic Standards Exchange (CASE) Service REST/JSON Binding

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.

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/ip.

Copyright © 1EdTech Consortium, Inc. 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/standards/specification-license.

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.

Trademark information: https://www.1edtech.org/about/legal/trademarks

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.

Introduction

This Section is NOT NORMATIVE.

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:

  • 1EdTech Competencies and Academic Standards Exchange (CASE) Service Model v1.0 [CASE-INFO-11] - the underlying service model upon which the REST/JSON binding is based;
  • 1EdTech Competencies and Academic Standards Exchange (CASE) Conformance and Certification v1.0 [CASE-CERT-11] - the conformance guidelines for achieving CASE certification;
  • 1EdTech Competencies and Academic Standards Exchange (CASE) Best Practices and Implementation Guide v1.0 [CASE-IMPL-11] - the set of best practice and implementation recommendations to further improve interoperability

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:

  • Interoperability - the CASE service focuses on the exchange of academic standards and competencies definitions. There are no definitions in the specification on how the data is managed within the end-systems;
  • Service-oriented - the CASE service specification defines the exchange of information in terms of the services being supplied by the collaboration of the systems and this binding explains how that is achieved using a REST-oriented transport with JSON payloads.

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].

Conventions

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words MAY, MUST, MUST NOT, NOT RECOMMENDED, NOT REQUIRED, OPTIONAL, RECOMMENDED, REQUIRED, SHALL, SHALL NOT, SHOULD, and SHOULD NOT in this document $are to be interpreted as described in $[object Object].

An implementation of this specification that fails to implement a MUST/REQUIRED/SHALL requirement or fails to abide by a MUST NOT/SHALL NOT prohibition is considered nonconformant. SHOULD/SHOULD NOT/RECOMMENDED statements constitute a best practice. Ignoring a best practice does not violate conformance but a decision to disregard such guidance should be carefully considered. MAY/OPTIONAL statements indicate that implementers are entirely free to choose whether or not to implement the option.

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

Changes Between Version 1.0 and Version 1.1

The list of differences between versions 1.0 and 1.1 is:

  • The leaf URL for the endpoints has been changed to 'ims/case/v1p1';
  • The attribute 'frameworkType' has been added to the 'CFDocument' class - it is used to enable the type of framework to be defined/identified;
  • The attribute 'caseVersion' has been added to the 'CFDocument' class - if present this MUST be set as '1.1';
  • The attribute 'subject' has been added to the 'CFItem' class - to annotate the CFItem with the associated subject coverage;
  • The attribute 'subjectURI' has been added to the 'CFItem' class - the set of URI links for the associated set of subjects;
  • The attribute 'notes' has been added to the 'CFAssociation' class - human readable notes describing the association;
  • The attribute 'targetType' has been added to 'LinkGenURI' class - allows the origin and destination nodes to be annotated with the type of association at the node. This is defined as an extensible enumerated vocabulary;
  • The token value 'isTranslationOf' has been added to the enumerated vocabulary for the 'associationType' attribute for the 'CFAssociation' class;
  • The data-type for the attribute 'fullStatement' in the 'CFItem' class has been changed from 'NormalizedString' to 'String' to enable the insertion of markup-based text;
  • The data-type for the attribute 'description' in the 'CFDocument' class has been changed from 'NormalizedString' to 'String' to enable the insertion of markup-based text;
  • The data-type for the attribute 'description' in the 'CFRubric' class has been changed from 'NormalizedString' to 'String' to enable the insertion of markup-based text;
  • Support for extensibility has been added to the following classes:-
    • CFAssociation
    • CFAssociationGrouping
    • CFConcept
    • CFDefinition
    • CFDocument
    • CFItem
    • CFItemType
    • CFLicense
    • CFPackage
    • CFRubric
    • CFRubricCriterion
    • CFRubricCriterionLevel
    • CFSubject.

Nomenclature

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

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);

Mapping of the Service Operations to the REST Endpoints

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

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".

getAllCFDocuments Operation

This is a request to the Service Provider to provide all of the Competency Framework Documents.

Request

GET /ims/case/v1p1/CFDocuments?limit={limit}&offset={offset}&sort={sort}&orderBy={orderBy}&filter={filter}&fields={fields}

Request header, path, and query parameters

Parameter Parameter Type Description Required
limit (parameter.type?lower_case) PositiveInteger 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). Optional
offset (parameter.type?lower_case) NonNegativeInteger 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). Optional
sort (parameter.type?lower_case) String 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). Optional
orderBy (parameter.type?lower_case) OrderByEnum 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). Optional
filter (parameter.type?lower_case) String 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). Optional
fields (parameter.type?lower_case) String 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). Optional

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFDocumentSet No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFAssociation Operation

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.

Request

GET /ims/case/v1p1/CFAssociations/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the CFAssociation to be supplied. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFAssociation No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFAssociationGrouping Operation

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.

Request

GET /ims/case/v1p1/CFAssociationGroupings/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the Competency Framework AssociationGrouping that is to be read from the service provider. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFAssociationGrouping No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFConcept Operation

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.

Request

GET /ims/case/v1p1/CFConcepts/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the Competency Framework Concept that is to be read from the service provider. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFConceptSet No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFDocument Operation

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.

Request

GET /ims/case/v1p1/CFDocuments/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the Competency Framework Document that is to be read from the service provider. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFDocument No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFItem Operation

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.

Request

GET /ims/case/v1p1/CFItems/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the Competency Framework Item that is to be read from the service provider. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFItem No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFItemAssociations Operation

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.

Request

GET /ims/case/v1p1/CFItemAssociations/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the CFItem for which ALL associations are to be supplied. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFAssociationSet No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFItemType Operation

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.

Request

GET /ims/case/v1p1/CFItemTypes/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the Competency Framework ItemType that is to be read from the service provider. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFItemTypeSet No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFLicense Operation

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.

Request

GET /ims/case/v1p1/CFLicenses/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the Competency Framework License that is to be read from the service provider. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFLicense No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFPackage Operation

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.

Request

GET /ims/case/v1p1/CFPackages/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID 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

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFPackage No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFRubric Operation

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.

Request

GET /ims/case/v1p1/CFRubrics/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the Competency Framework Rubric that is to be read from the service provider. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFRubric No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

getCFSubject Operation

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.

Request

GET /ims/case/v1p1/CFSubjects/{sourcedId}

Request header, path, and query parameters

Parameter Parameter Type Description Required
sourcedId (parameter.type?lower_case) UUID The UUID that identifies the Competency Framework Subject that is to be read from the service provider. Required

Responses

Allowed response codes and content types

Status Code Content-Type Header Content Type Content Description Content Required Confidentiality
200 application/json CFSubjectSet No Description Required N/A
400 application/json imsx_StatusInfo No Description Required N/A
401 application/json imsx_StatusInfo No Description Required N/A
403 application/json imsx_StatusInfo No Description Required N/A
404 application/json imsx_StatusInfo No Description Required N/A
429 application/json imsx_StatusInfo No Description Required N/A
500 application/json imsx_StatusInfo No Description Required N/A
DEFAULT application/json imsx_StatusInfo No Description Required N/A

Using the Endpoint Parameters

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:

  • 'limit' - the number of results to return (the default value is 100);
  • 'offset' - the index of the first record to return (zero index and so the default value is 0).

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"

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:

  • 'data_field' MUST be used in the request to ask for the collection to be sorted on data field. The form of ordering is implementation dependent if the 'orderBy' attribute is not used;
  • 'orderBy' MAY be used in the request to ask for the collection to be ordered ascending (asc) or descending (desc).

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.

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:

  • Equals is represented by '='
  • Not Equal is represented by '!='
  • Greater Than is represented by '>'
  • Greater Than or Equal is represented by '>='
  • Lesser Than is represented by '<'
  • Lesser Than or Equal is represented by '<='
  • Contains is represented by '~'

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:

  • ?filter="subject1" - record not returned;
  • ?filter="subject1,subject2" - record not returned;
  • ?filter="subject1,subject2,subject3" - record returned;
  • ?filter~"subject1" - record returned;
  • ?filter~"subject1,subject2" - record returned;
  • ?filter~"subject1,subject2,subject3" - record returned.

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:

  • CodeMajor value is 'failure';
  • Severity value is 'error';
  • CodeMinor value is 'invalid_filter_field'.

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:

  • CodeMajor value is 'failure';
  • Severity value is 'error';
  • CodeMinor value is 'invalid_selection_field'.

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.

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

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;

Data Classes

CFAssociation Class

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.

Attribute Type Description Multiplicity Privacy
CFDocumentURI LinkURI An unambiguous reference to the CFDocument that would be used in the context of this CFAssociation using a network-resolvable URI. [0..1] N/A
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved. [1] N/A
associationType CFAssociationTypeExtEnum The type of association. This uses an extensible enumerated vocabulary. Changed in CASE 1.1. [1] N/A
sequenceNumber 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. [0..1] N/A
uri AnyURI An unambiguous reference to the CFAssociation using a network-resolvable URI. [1] N/A
originNodeURI LinkGenURI The resolvable URI for the origin node object. [1] N/A
destinationNodeURI LinkGenURI The resolvable URI for the destination node object. [1] N/A
CFAssociationGroupingURI LinkURI The network resolvable URI for the link data relationship to a CFAssociationGrouping. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
notes String A new attribute added in Version 1.1. Information about the CFAssociation. [0..1] N/A
extensions CFAssociationExtension 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. [0..1] N/A

CFAssociationExtension Class

The container for the proprietary extensions to the CFAssociation class.

This class can be extended with additional properties.

CFAssociationGrouping Class

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

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. [1] N/A
title NormalizedString The title of the CFAssociationGrouping. [1] N/A
description String A human readable description of the CFAssociationGrouping. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
extensions CFAssociationGroupingExtension 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. [0..1] N/A

CFAssociationGroupingExtension Class

The container for the proprietary extensions to the CFAssociationGrouping class.

This class can be extended with additional properties.

CFAssociationSet Class

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.

Attribute Type Description Multiplicity Privacy
CFItem CFItem 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. [1] N/A
CFAssociations CFPckgAssociation This is the data for a single CFAssociation within the CFAssociationSet container. The association can be between CFDocuments or between CFItems [1..*] N/A

CFConcept Class

The container for the definition of a concept which is addressed by the competency framework.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFConcept using a network-resolvable URI. [1] N/A
title NormalizedString The title of the CFConcept. [1] N/A
keywords NormalizedString Defined listing of keywords delimited by ' ' that the concept encompasses. [0..1]
hierarchyCode NormalizedString A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts. [1] N/A
description String A human readable description of the CFConcept. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
extensions CFConceptExtension 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. [0..1] N/A

CFConceptExtension Class

The container for the proprietary extensions to the CFConcept class.

This class can be extended with additional properties.

CFConceptSet Class

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.

Attribute Type Description Multiplicity Privacy
CFConcepts CFConcept 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. [1..*] N/A

CFDefinition Class

The container for the set of definitions used for the competency framework i.e. the set of CFSubjects, CFConcepts, CFItemTypes, CFAssociationGroupings and CFLicenses.

Attribute Type Description Multiplicity Privacy
CFConcepts CFConcept The set of concept definitions. [0..*] N/A
CFSubjects CFSubject The set of subject definitions. [0..*] N/A
CFLicenses CFLicense The set of license definitions. [0..*] N/A
CFItemTypes CFItemType The set of item type definitions. [0..*] N/A
CFAssociationGroupings CFAssociationGrouping The set of association grouping definitions. [0..*] N/A
extensions CFDefinitionExtension 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. [0..1] N/A

CFDefinitionExtension Class

The container for the proprietary extensions to the CFDefinition class.

This class can be extended with additional properties.

CFDocument Class

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.

Attribute Type Description Multiplicity Privacy
CFPackageURI LinkURI An unambiguous reference to the CFPackage that would be used to contain this CFDocument using a network-resolvable URI. [1] N/A
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFDocument using a network-resolvable URI. [1] N/A
frameworkType 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. [0..1] N/A
caseVersion CaseVersionEnum 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'. [0..1] N/A
creator 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. [1] N/A
title NormalizedString The title of the CFDocument. [1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
officialSourceURL URL The URL link to the formal citation of the original achievement standards document created for humans. [0..1] N/A
publisher NormalizedString The entity responsible for making the learning standards document available. [0..1] N/A
description String A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString. [0..1] N/A
subject NormalizedString The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary). [0..*] N/A
subjectURI LinkURI A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency. [0..*] N/A
language Language The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]). [0..1] N/A
version NormalizedString Defines the revision of the document (the nature of this versioning is an implementation issue). [0..1] N/A
adoptionStatus NormalizedString The publication status of the document. [0..1] N/A
statusStartDate Date The date the CFDocument status started. [0..1] N/A
statusEndDate Date The date the CFDocument status ended or changed to another status. [0..1] N/A
licenseURI LinkURI A link to a legal document controlling permission to do something with the standards document. [0..1] N/A
notes String Any text used to comment on the published CFDocument. [0..1] N/A
extensions CFDocumentExtension 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. [0..1] N/A

CFDocumentExtension Class

The container for the proprietary extensions to the CFDocument class.

This class can be extended with additional properties.

CFDocumentSet Class

This is the container for a collection of CFDocuments. There must be at least one CFDocument.

Attribute Type Description Multiplicity Privacy
CFDocuments CFDocument This is the data for a single CFDocument within the CFDocumentSet container. [1..*] N/A

CFItem Class

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.

Attribute Type Description Multiplicity Privacy
CFDocumentURI LinkURI An unambiguous reference to the CFDocument that would be used to contain this CFItem using a network-resolvable URI. [1] N/A
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved. [1] N/A
fullStatement 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. [1] N/A
alternativeLabel 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. [0..1] N/A
CFItemType NormalizedString The textual label identifying the class of the statement as designated by the promulgating body. [0..1] N/A
uri AnyURI An unambiguous reference to the CFItem using a network-resolvable URI. [1] N/A
humanCodingScheme NormalizedString A human-referenceable code designated by the publisher to identify the item among learning standard items. [0..1] N/A
listEnumeration 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. [0..1] N/A
abbreviatedStatement NormalizedString An abbreviated version of the Full Statement. [0..1] N/A
conceptKeywords NormalizedString The significant topicality of the CFItem using free-text keywords and phrases. [0..*] N/A
conceptKeywordsURI LinkURI The significant topicality of the CFItem using a controlled vocabulary maintained as linked data. [0..1] N/A
notes String Information about the derivation of a CFItem statement. [0..1] N/A
subject 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). [0..*] N/A
subjectURI LinkURI 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. [0..*] N/A
language Language The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]). [0..1] N/A
educationLevel NormalizedString The education level, grade level or primary instructional level at which a CFItem is intended [0..*] N/A
CFItemTypeURI LinkURI This is the linked data location for the CFItemType. [0..1] N/A
licenseURI LinkURI A link to a legal document controlling permission to do something with the CFItem. [0..1] N/A
statusStartDate Date The date the CFItem status started. [0..1] N/A
statusEndDate Date The date the CFItem status ended or changed to another status. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
extensions CFItemExtension 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. [0..1] N/A

CFItemExtension Class

The container for the proprietary extensions to the CFItem class.

This class can be extended with additional properties.

CFItemType Class

The container for the ItemType information use within the competency framework.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFItemType using a network-resolvable URI. [1] N/A
title NormalizedString The title of the CFItemType. [1] N/A
description String A human readable description of the CFItemType. [1] N/A
hierarchyCode NormalizedString A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes. [1] N/A
typeCode NormalizedString Text code used for type identification. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
extensions CFItemTypeExtension 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. [0..1] N/A

CFItemTypeExtension Class

The container for the proprietary extensions to the CFItemType class.

This class can be extended with additional properties.

CFItemTypeSet Class

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.

Attribute Type Description Multiplicity Privacy
CFItemTypes CFItemType 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. [1..*] N/A

CFLicense Class

The container for the information about a license used within the competency framework.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFLicense using a network-resolvable URI. [1] N/A
title NormalizedString The title of the CFLicense. [1] N/A
description String A human readable description of the CFLicense. [0..1] N/A
licenseText 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. [1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
extensions CFLicenseExtension 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. [0..1] N/A

CFLicenseExtension Class

The container for the proprietary extensions to the CFLicense class.

This class can be extended with additional properties.

CFPackage Class

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.

Attribute Type Description Multiplicity Privacy
CFDocument CFPckgDocument The root Competency Framework Document. There must be only one CFDocument. [1] N/A
CFItems CFPckgItem 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. [0..*] N/A
CFAssociations CFPckgAssociation 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. [0..*] N/A
CFDefinitions CFDefinition 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. [0..1] N/A
CFRubrics CFRubric 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. [0..*] N/A
extensions CFPackageExtension 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. [0..1] N/A

CFPackageExtension Class

The container for the proprietary extensions to the CFPackage class.

This class can be extended with additional properties.

CFPckgAssociation Class

This is the container for the data about the relationship between two CFDocuments or between two CFItems within the context of a CFPackage.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved. [1] N/A
associationType CFAssociationTypeExtEnum The type of association. This uses an extensible enumerated vocabulary. Changed in CASE 1.1. [1] N/A
sequenceNumber 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. [0..1] N/A
uri AnyURI An unambiguous reference to the CFAssociation using a network-resolvable URI. [1] N/A
originNodeURI LinkGenURI The resolvable URI for the origin node object. [1] N/A
destinationNodeURI LinkGenURI The resolvable URI for the destination node object. [1] N/A
CFAssociationGroupingURI LinkURI The network resolvable URI for the link data relationship to a CFAssociationGrouping. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
notes String A new attribute added in Version 1.1. Information about the CFAssociation. [0..1] N/A
extensions CFAssociationExtension 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. [0..1] N/A

CFPckgDocument Class

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.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFDocument using a network-resolvable URI. [1] N/A
frameworkType 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. [0..1] N/A
caseVersion CaseVersionEnum 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'. [0..1] N/A
creator 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. [1] N/A
title NormalizedString The title of the CFDocument. [1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
officialSourceURL URL The URL link to the formal citation of the original achievement standards document created for humans. [0..1] N/A
publisher NormalizedString The entity responsible for making the learning standards document available. [0..1] N/A
description String A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString. [0..1] N/A
subject NormalizedString The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary). [0..*] N/A
subjectURI LinkURI A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency. [0..*] N/A
language Language The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]). [0..1] N/A
version NormalizedString Defines the revision of the document (the nature of this versioning is an implementation issue). [0..1] N/A
adoptionStatus NormalizedString The publication status of the document. [0..1] N/A
statusStartDate Date The date the CFDocument status started. [0..1] N/A
statusEndDate Date The date the CFDocument status ended or changed to another status. [0..1] N/A
licenseURI LinkURI A link to a legal document controlling permission to do something with the standards document. [0..1] N/A
notes String Any text used to comment on the published CFDocument. [0..1] N/A
extensions CFDocumentExtension 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. [0..1] N/A

CFPckgItem Class

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.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved. [1] N/A
fullStatement 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. [1] N/A
alternativeLabel 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. [0..1] N/A
CFItemType NormalizedString The textual label identifying the class of the statement as designated by the promulgating body. [0..1] N/A
uri AnyURI An unambiguous reference to the CFItem using a network-resolvable URI. [1] N/A
humanCodingScheme NormalizedString A human-referenceable code designated by the publisher to identify the item among learning standard items. [0..1] N/A
listEnumeration 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. [0..1] N/A
abbreviatedStatement NormalizedString An abbreviated version of the Full Statement. [0..1] N/A
conceptKeywords NormalizedString The significant topicality of the CFItem using free-text keywords and phrases. [0..*] N/A
conceptKeywordsURI LinkURI The significant topicality of the CFItem using a controlled vocabulary maintained as linked data. [0..1] N/A
notes String Information about the derivation of a CFItem statement. [0..1] N/A
subject 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). [0..*] N/A
subjectURI LinkURI 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. [0..*] N/A
language Language The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]). [0..1] N/A
educationLevel NormalizedString The education level, grade level or primary instructional level at which a CFItem is intended [0..*] N/A
CFItemTypeURI LinkURI This is the linked data location for the CFItemType. [0..1] N/A
licenseURI LinkURI A link to a legal document controlling permission to do something with the CFItem. [0..1] N/A
statusStartDate Date The date the CFItem status started. [0..1] N/A
statusEndDate Date The date the CFItem status ended or changed to another status. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
extensions CFItemExtension 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. [0..1] N/A

CFRubric Class

The container for the definition of a rubric which is addressed by the competency framework. This includes the set of associated CFRubricCriteria and CFRubricCriterionLevels.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFRubric using a network-resolvable URI. [1] N/A
title NormalizedString The title of the CFRubric. [0..1] N/A
description String A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
CFRubricCriteria CFRubricCriterion The set of CFRubricCriterion that are required to complete the definition of the parent CFRubric. [0..*] N/A
extensions CFRubricExtension 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. [0..1] N/A

CFRubricCriterion Class

The container for the definition of a rubric criterion which is addressed by the competency framework.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFRubricCriterion using a network-resolvable URI. [1] N/A
category NormalizedString A textual label for category by which CFRubricCriterion may be grouped. [0..1] N/A
description String A human readable description of the CFRubricCriterion. [0..1] N/A
CFItemURI LinkURI An unambiguous reference to the CFItem to which this rubric criterion is associated using a network-resolvable URI and link data. [0..1] N/A
weight Float A numeric weight assigned to this CFRubricCriterion, used for scored rubrics. [0..1] N/A
position Integer A numeric value representing this criterion's position in the criteria list for this CFRubric. [0..1] N/A
rubricId UUID 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. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
CFRubricCriterionLevels CFRubricCriterionLevel The set of CFRubricCriterionLevels that are required to complete the definition of the parent CFRubricCriterion. [0..*] N/A
extensions CFRubricCriterionExtension 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. [0..1] N/A

CFRubricCriterionExtension Class

The container for the proprietary extensions to the CFRubricCriterionExtension class.

This class can be extended with additional properties.

CFRubricCriterionLevel Class

The container for the definition of a criterion level which is addressed by the competency framework.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI. [1] N/A
description String A human readable description of the CFRubricCriterionLevel. [0..1] N/A
quality NormalizedString A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics. [0..1] N/A
score Float The points awarded for achieving this level. [0..1] N/A
feedback 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. [0..1] N/A
position Integer A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion. [0..1] N/A
rubricCriterionId UUID 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. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
extensions CFRubricCriterionLevelExtension 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. [0..*] N/A

CFRubricCriterionLevelExtension Class

The container for the proprietary extensions to the CFRubricCriterionLevel class.

This class can be extended with additional properties.

CFRubricExtension Class

The container for the proprietary extensions to the CFRubric class.

This class can be extended with additional properties.

CFSubject Class

The container for the definition of a topic or academic subject which is addressed by the competency framework.

Attribute Type Description Multiplicity Privacy
identifier UUID An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved. [1] N/A
uri AnyURI An unambiguous reference to the CFSubject using a network-resolvable URI. [1] N/A
title NormalizedString The title of the CFSubject. [1] N/A
hierarchyCode NormalizedString A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects. [1] N/A
description String A human readable description of the CFSubject. [0..1] N/A
lastChangeDateTime DateTime A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601]. [1] N/A
extensions CFSubjectExtension 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. [0..1] N/A

CFSubjectExtension Class

The container for the proprietary extensions to the CFSubject class.

This class can be extended with additional properties.

CFSubjectSet Class

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.

Attribute Type Description Multiplicity Privacy
CFSubjects CFSubject 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. [1..*] N/A

A container for the information that is used to achieve the link data reference.

Attribute Type Description Multiplicity Privacy
title NormalizedString A human readable title for the associated object. [1] N/A
identifier NormalizedString An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object. [1] N/A
uri AnyURI A network-resolvable URI pointing to the authoritative reference for the associated object. [1] N/A
targetType 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. [0..1] N/A

A container for the information that is used to achieve the link data reference.

Attribute Type Description Multiplicity Privacy
title NormalizedString A human readable title for the associated object. [1] N/A
identifier UUID An unambiguous, synthetic, globally unique identifier (UUID) for the associated object. [1] N/A
uri AnyURI A network-resolvable URI pointing to the authoritative reference for the associated object. [1] N/A

imsx_CodeMinor Class

This is the container for the set of code minor status codes reported in the responses from the Service Provider.

Attribute Type Description Multiplicity Privacy
imsx_codeMinorField imsx_CodeMinorField Each reported code minor status code. [1..*] N/A

imsx_CodeMinorField Class

This is the container for a single code minor status code.

Attribute Type Description Multiplicity Privacy
imsx_codeMinorFieldName NormalizedString This should contain the identity of the system that has produced the code minor status code report. [1] N/A
imsx_codeMinorFieldValue imsx_CodeMinorValueEnum The code minor status code (this is a value from the corresponding enumerated vocabulary). [1] N/A

imsx_StatusInfo Class

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

Attribute Type Description Multiplicity Privacy
imsx_codeMajor imsx_CodeMajorEnum The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. [1] N/A
imsx_severity imsx_SeverityEnum The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes. [1] N/A
imsx_description String A human readable description supplied by the entity creating the status code information. [0..1] N/A
imsx_codeMinor imsx_CodeMinor The set of reported code minor status codes. See Appendix B for further information on the interpretation of this set of codes. [0..1] N/A

Enumeration Classes

CFAssociationTypeEnum Enumeration

The enumerated set of values for the type of association between CFItems or between CFDocuments. Changed in CASE 1.1.

Attribute Type Description Multiplicity Privacy
isChildOf String To represent the structural relationship in a taxonomy between parent and child. The source/origin is a child of the target/destination. [1] N/A
isPeerOf String The source/origin is a peer of the target/destination. [1] N/A
isPartOf String The origin of the association is included either physically or logically in the item at the destination of the association. This classifies an item as being logically or semantically contained as a subset of the destination. [1] N/A
exactMatchOf String Equivalent to. Used to connect derived CFItem to CFItem in original source CFDocument. [1] N/A
precedes String The origin of the association comes before the destination of the association in time or order. [1] N/A
isRelatedTo String The origin of the association is related to the destination in some way that is not better described by another association type. [1] N/A
replacedBy String The origin of the association has been supplanted by, displaced by, or superseded by the destination of the association. [1] N/A
exemplar String The target/destination node is an example of best practice for the definition of the source/origin. [1] N/A
hasSkillLevel String The destination of this association is understood to define a given skill level i.e. Reading Lexile 100, Depth Knowledge 2, or Cognitive Level (Blooms Taxonomy) etc. [1] N/A
isTranslationOf String A new token added in version 1.1. The target/destination node is a translation of the source node. [1] N/A

CFAssociationTypeExtEnum Enumeration

The data-type for the 'associationType' attribute for the CFPckgAssociation. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention. Changed in CASE 1.1.

Attribute Type Description Multiplicity Privacy
isChildOf String To represent the structural relationship in a taxonomy between parent and child. The source/origin is a child of the target/destination. [1] N/A
isPeerOf String The source/origin is a peer of the target/destination. [1] N/A
isPartOf String The origin of the association is included either physically or logically in the item at the destination of the association. This classifies an item as being logically or semantically contained as a subset of the destination. [1] N/A
exactMatchOf String Equivalent to. Used to connect derived CFItem to CFItem in original source CFDocument. [1] N/A
precedes String The origin of the association comes before the destination of the association in time or order. [1] N/A
isRelatedTo String The origin of the association is related to the destination in some way that is not better described by another association type. [1] N/A
replacedBy String The origin of the association has been supplanted by, displaced by, or superseded by the destination of the association. [1] N/A
exemplar String The target/destination node is an example of best practice for the definition of the source/origin. [1] N/A
hasSkillLevel String The destination of this association is understood to define a given skill level i.e. Reading Lexile 100, Depth Knowledge 2, or Cognitive Level (Blooms Taxonomy) etc. [1] N/A
isTranslationOf String A new token added in version 1.1. The target/destination node is a translation of the source node. [1] N/A
pattern String The regular expression to constrain the structure of the string that MUST be used when creating a new, proprietary, vocabulary term. The term must start with the substring 'ext:'. [1] N/A

CaseVersionEnum Enumeration

The set of values permitted to denote which version of the CASE specification is used to validate the content.

Attribute Type Description Multiplicity Privacy
1.1 String Denotes that the CFDocument is a CASE 1.1 definition. [1] N/A

TargetTypeEnum Enumeration

The set of permitted values for the type of target.

Attribute Type Description Multiplicity Privacy
CASE String Denotes that the association link node points to a CASE-based framework. [1] N/A

TargetTypeExtEnum Enumeration

The data-type for the 'targetType' attribute for a generic Link URI. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.

Attribute Type Description Multiplicity Privacy
CASE String Denotes that the association link node points to a CASE-based framework. [1] N/A
pattern String The regular expression to constrain the structure of the string that MUST be used when creating a new, proprietary, vocabulary term. The term must start with the substring 'ext:'. [1] N/A

imsx_CodeMajorEnum Enumeration

This is the set of primary status report values i.e. the major code assigned to the status block. This is used in conjunction with the 'Severity' structure in the status object. See Appendix B for further information on the interpretation of this set of codes.

Attribute Type Description Multiplicity Privacy
success String Denotes that the request has been successfully completed. If the associated 'severity' value is 'warning' then the request has been partially successful i.e. best effort by the service provider. Other parts of the status information may provide more insight into a partial success response. [1] N/A
processing String Denotes that the request is being processed at the destination or there has been a local transmission failure. This value is used in asynchronous services. [1] N/A
failure String Denotes that the transaction request has failed. The detailed reason will be reported in the accompanying 'codeMinor' fields. [1] N/A
unsupported String Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation. [1] N/A

imsx_CodeMinorValueEnum Enumeration

This is the set of codeMinor status codes that are used to provide further insight into the completion status of the end-to-end transaction i.e. this should be used to provide more information than would be supplied be a HTTP code. See Appendix B for further information on the interpretation of this set of codes.

Attribute Type Description Multiplicity Privacy
fullsuccess String The request has been fully and successfully implemented by the Service Provider. For a REST binding this will have an HTTP code of '200' for a successful 'GET' request; '201' for a successful 'PUT' request; '204' for a successful 'DELETE' request. [1] N/A
invalid_sort_field String An invalid sort field was supplied and so the sorting was not possible. This would be accompanied by the 'codeMajor/severity' values of 'success/warning' and for a REST binding a HTTP code of '200'. [1] N/A
invalid_selection_field String An invalid selection field was supplied and data filtering on the selection criteria was not possible. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'. [1] N/A
forbidden String This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'. [1] N/A
unauthorised_request String The request was not correctly authorised. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '401'. [1] N/A
internal_server_error String This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'. [1] N/A
unknownobject String The supplied identifier is unknown in the Service Provider and so the object could not be changed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '404'. [1] N/A
server_busy String The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'. [1] N/A
invalid_uuid String The server has received an invalid UUID. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '404'. [1] N/A

imsx_SeverityEnum Enumeration

This is the context for the status report values. This is used in conjunction with the 'CodeMajor' structure in the status object. See Appendix B for further information on the interpretation of this set of codes.

Attribute Type Description Multiplicity Privacy
status String The request has been completed and a response was received from the Service Provider. [1] N/A
warning String The request has only been partially completed. For an asynchronous service a further response should be expected. [1] N/A
error String A catastrophic error has occurred in processing the request and so the request was not completed (the Service Provider may not even have received the request). [1] N/A

OrderByEnum Enumeration

The permitted set of values for the 'orderBy' query parameter.

Attribute Type Description Multiplicity Privacy
asc String No Description [0..1] N/A
desc String No Description [0..1] N/A

Derived Classes

EnumExtString Class

The data-type that enables an enumerated vocabulary to be extended.

Attribute Type Description Multiplicity Privacy
pattern String The regular expression to constrain the structure of the string that MUST be used when creating a new, proprietary, vocabulary term. The term must start with the substring 'ext:'. [1] N/A

URL Class

The data-type for establishing a Uniform Resource Locator (URL) as defined by W3C.

UUID Class

The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.

Attribute Type Description Multiplicity Privacy
pattern String Defines the regular expression that imposes the form of UUID. [1] N/A

AnyURI Class

No Description

Date Class

No Description

DateTime Class

No Description

Float Class

No Description

Integer Class

No Description

Language Class

No Description

Namespace Class

No Description

This class can be extended with additional properties.

NonNegativeInteger Class

No Description

NormalizedString Class

No Description

PositiveInteger Class

No Description

String Class

No Description

Void Class

No Description

Union Classes

CFAssociationTypeExtEnum Class

The data-type for the 'associationType' attribute for the CFPckgAssociation. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention. Changed in CASE 1.1.

Attribute Type Description Multiplicity Privacy
isChildOf String To represent the structural relationship in a taxonomy between parent and child. The source/origin is a child of the target/destination. [1] N/A
isPeerOf String The source/origin is a peer of the target/destination. [1] N/A
isPartOf String The origin of the association is included either physically or logically in the item at the destination of the association. This classifies an item as being logically or semantically contained as a subset of the destination. [1] N/A
exactMatchOf String Equivalent to. Used to connect derived CFItem to CFItem in original source CFDocument. [1] N/A
precedes String The origin of the association comes before the destination of the association in time or order. [1] N/A
isRelatedTo String The origin of the association is related to the destination in some way that is not better described by another association type. [1] N/A
replacedBy String The origin of the association has been supplanted by, displaced by, or superseded by the destination of the association. [1] N/A
exemplar String The target/destination node is an example of best practice for the definition of the source/origin. [1] N/A
hasSkillLevel String The destination of this association is understood to define a given skill level i.e. Reading Lexile 100, Depth Knowledge 2, or Cognitive Level (Blooms Taxonomy) etc. [1] N/A
isTranslationOf String A new token added in version 1.1. The target/destination node is a translation of the source node. [1] N/A
pattern String The regular expression to constrain the structure of the string that MUST be used when creating a new, proprietary, vocabulary term. The term must start with the substring 'ext:'. [1] N/A

TargetTypeExtEnum Class

The data-type for the 'targetType' attribute for a generic Link URI. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.

Attribute Type Description Multiplicity Privacy
CASE String Denotes that the association link node points to a CASE-based framework. [1] N/A
pattern String The regular expression to constrain the structure of the string that MUST be used when creating a new, proprietary, vocabulary term. The term must start with the substring 'ext:'. [1] N/A

Primitive Types

AnyURI Primitive Type

No Description

Date Primitive Type

No Description

DateTime Primitive Type

No Description

Float Primitive Type

No Description

Integer Primitive Type

No Description

Language Primitive Type

No Description

Namespace Primitive Type

No Description

This class can be extended with additional properties.

NonNegativeInteger Primitive Type

No Description

NormalizedString Primitive Type

No Description

PositiveInteger Primitive Type

No Description

String Primitive Type

No Description

Void Primitive Type

No Description

Extending and Profiling the Service

Extending the Service

Proprietary extensions of the service are based upon two approaches:

  • The extension of the data models being manipulated by the current set of operations;
  • The inclusion of new operations to support new proprietary functionality.

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.

Profiling the Service

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

  • Refine which Interfaces are used and which operations are supported for each Interface;
  • Refine the data models by increasing the constraints on the base definitions.

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.

References

The set of cited documents, normative and informative, that are used to support the technical details in this document;

[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, 1EdTech Consortium Inc., http://www.imsglobal.org/case/casev1p1/caseservicev1p1_infomodelv1p0.html.
[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, 1EdTech Consortium Inc., 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, 1EdTech Consortium Inc., http://www.imsglobal.org/case/casev1p0/caseservicev1p0_bpigv1p0.html.
[I-BAT, 06]
1EdTech Binding Auto-generation Toolkit (I-BAT), C.Smythe, 1EdTech Consortium Inc., July 2006, 1EdTech Consortium Inc..
[UNICODE, 16]
UNICODE Collation Algorithm Version 9.0, M.Davis, K.Whistler and M.Scheer, Unicode Technical Standard #10, May 2016, Unicode Technical Standard #10.
[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, OpenAPI Initiative (Linux Foundation), 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, OpenAPI Initiative (Linux Foundation), https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md.
[ISO 8601]
ISO8601:2004 Data elements and interchange formats - Information interchange - Representation of dates and times, ISO, International Standards Organization (ISO), 2000, International Standards Organization (ISO).
[RFC 3066]
Tags for the Identification of Languages, H.Alvestrand, IETF (RFC 3066), January 2001, IETF (RFC 3066), https://tools.ietf.org/html/rfc3006.txt.
[VDEX, 04]
1EdTech Vocabulary Definition Exchange (VDEX) 1.0, A.Cooper, 1EdTech Consortium Inc., February 2004, 1EdTech Consortium Inc., https://www.imsglobal.org/vdex/vdexv1p0/imsvdex_infov1p0.html.
[RFC 2119]
Key words for use in RFCs to Indicate Requirement Levels, S.Bradner, IETF (RFC 2119), March 1997, IETF (RFC 2119), https://tools.ietf.org/html/rfc2119.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, 1EdTech Consortium Inc., https://www.imsglobal.org/spec/security/v1p1/.
[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, Internet Engineering Task Force, https://www.rfc-editor.org/info/bcp47.
[Privacy, 24]
1EdTech Privacy Framework 1.0 Candidate Final 1.0, C.Smythe and J.McGhee, 1EdTech Consortium Inc., September 2024, 1EdTech Consortium Inc., https://www.imsglobal.org/spec/privacy/v1p1/.

OpenAPI Listings

CASE Service OpenAPI JSON Definition Listing

{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "OpenAPI schema for Competencies and Academic Standards Exchange (CASE) Service",
    "description" : "The Competencies and Academic Standards Exchange (CASE) Service specification enables the exchange of data between a Competency Records Service Provider and the consumers of the associated data. This service provides endpoints that enable the exchange of data about Competency Frameworks, Competency Documents, Competency Definitions, Competency Relationships and Rubrics.",
    "termsOfService" : "https://www.imsglobal.org/license.html",
    "contact" : {
      "name" : "IMS Global",
      "url" : "https://www.imsglobal.org",
      "email" : "support@imsglobal.org"
    },
    "license" : {
      "name" : "IMS Global Specification Document License",
      "url" : "https://www.imsglobal.org/license.html"
    },
    "version" : "1.1",
    "x-status" : "Final",
    "x-model-pid" : "org.1edtech.case.v1p1.model",
    "x-service-pid" : "org.1edtech.case.v1p1.rest.servicemodel",
    "x-src-operation-count" : 12,
    "x-oas-operation-count" : 12
  },
  "servers" : [ {
    "url" : "https://example.org/ims/case/v1p1",
    "description" : "The above Server URL should be changed to the actual server location."
  } ],
  "tags" : [ {
    "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" : "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" : "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)."
  }, {
    "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" : "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" : "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."
  } ],
  "paths" : {
    "/CFItems/{sourcedId}" : {
      "get" : {
        "tags" : [ "ItemsManager" ],
        "summary" : "The REST GET operation for the getCFItem() API call.",
        "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.",
        "operationId" : "getCFItem",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFItem() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFItem"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFItem() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFItem() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFItem() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFItem() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFItem() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFItem() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFItem() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfitem.operation"
      }
    },
    "/CFItemAssociations/{sourcedId}" : {
      "get" : {
        "tags" : [ "AssociationsManager" ],
        "summary" : "The REST GET operation for the getCFItemAssociations() API call.",
        "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.",
        "operationId" : "getCFItemAssociations",
        "parameters" : [ {
          "name" : "sourcedId",
          "in" : "path",
          "description" : "The UUID that identifies the CFItem for which ALL associations are to be supplied.",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFItemAssociations() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFAssociationSet"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFItemAssociations() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFItemAssociations() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFItemAssociations() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFItemAssociations() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFItemAssociations() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFItemAssociations() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFItemAssociations() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfitemassociations.operation"
      }
    },
    "/CFAssociations/{sourcedId}" : {
      "get" : {
        "tags" : [ "AssociationsManager" ],
        "summary" : "The REST GET operation for the getCFAssociation() API call.",
        "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.",
        "operationId" : "getCFAssociation",
        "parameters" : [ {
          "name" : "sourcedId",
          "in" : "path",
          "description" : "The UUID that identifies the CFAssociation to be supplied.",
          "required" : true,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFAssociation() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFAssociation"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFAssociation() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFAssociation() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFAssociation() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFAssociation() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFAssociation() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFAssociation() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFAssociation() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfassociation.operation"
      }
    },
    "/CFRubrics/{sourcedId}" : {
      "get" : {
        "tags" : [ "RubricsManager" ],
        "summary" : "The REST GET operation for the getCFRubric() API call.",
        "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.",
        "operationId" : "getCFRubric",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFRubric() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFRubric"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFRubric() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFRubric() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFRubric() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFRubric() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFRubric() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFRubric() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFRubric() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfrubric.operation"
      }
    },
    "/CFDocuments" : {
      "get" : {
        "tags" : [ "DocumentsManager" ],
        "summary" : "The REST GET operation for the getAllCFDocuments() API call.",
        "description" : "This is a request to the Service Provider to provide all of the Competency Framework Documents. ",
        "operationId" : "getAllCFDocuments",
        "parameters" : [ {
          "$ref" : "#/components/parameters/limit"
        }, {
          "$ref" : "#/components/parameters/offset"
        }, {
          "$ref" : "#/components/parameters/sort"
        }, {
          "$ref" : "#/components/parameters/orderBy"
        }, {
          "$ref" : "#/components/parameters/filter"
        }, {
          "$ref" : "#/components/parameters/fields"
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getAllCFDocuments() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFDocumentSet"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getAllCFDocuments() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getAllCFDocuments() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getAllCFDocuments() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getAllCFDocuments() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getAllCFDocuments() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getAllCFDocuments() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getAllCFDocuments() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getallcfdocuments.operation"
      }
    },
    "/CFDocuments/{sourcedId}" : {
      "get" : {
        "tags" : [ "DocumentsManager" ],
        "summary" : "The REST GET operation for the getCFDocument() API call.",
        "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.",
        "operationId" : "getCFDocument",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFDocument() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFDocument"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFDocument() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFDocument() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFDocument() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFDocument() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFDocument() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFDocument() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFDocument() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfdocument.operation"
      }
    },
    "/CFPackages/{sourcedId}" : {
      "get" : {
        "tags" : [ "PackagesManager" ],
        "summary" : "The REST GET operation for the getCFPackage() API call.",
        "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.",
        "operationId" : "getCFPackage",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFPackage() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFPackage"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFPackage() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFPackage() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFPackage() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFPackage() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFPackage() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFPackage() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFPackage() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfpackage.operation"
      }
    },
    "/CFConcepts/{sourcedId}" : {
      "get" : {
        "tags" : [ "DefinitionsManager" ],
        "summary" : "The REST GET operation for the getCFConcept() API call.",
        "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.",
        "operationId" : "getCFConcept",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFConcept() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFConceptSet"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFConcept() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFConcept() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFConcept() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFConcept() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFConcept() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFConcept() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFConcept() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfconcept.operation"
      }
    },
    "/CFSubjects/{sourcedId}" : {
      "get" : {
        "tags" : [ "DefinitionsManager" ],
        "summary" : "The REST GET operation for the getCFSubject() API call.",
        "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.",
        "operationId" : "getCFSubject",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFSubject() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFSubjectSet"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFSubject() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFSubject() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFSubject() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFSubject() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFSubject() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFSubject() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFSubject() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfsubject.operation"
      }
    },
    "/CFLicenses/{sourcedId}" : {
      "get" : {
        "tags" : [ "DefinitionsManager" ],
        "summary" : "The REST GET operation for the getCFLicense() API call.",
        "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.",
        "operationId" : "getCFLicense",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFLicense() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFLicense"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFLicense() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFLicense() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFLicense() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFLicense() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFLicense() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFLicense() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFLicense() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcflicense.operation"
      }
    },
    "/CFItemTypes/{sourcedId}" : {
      "get" : {
        "tags" : [ "DefinitionsManager" ],
        "summary" : "The REST GET operation for the getCFItemType() API call.",
        "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.",
        "operationId" : "getCFItemType",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFItemType() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFItemTypeSet"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFItemType() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFItemType() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFItemType() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFItemType() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFItemType() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFItemType() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFItemType() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfitemtype.operation"
      }
    },
    "/CFAssociationGroupings/{sourcedId}" : {
      "get" : {
        "tags" : [ "DefinitionsManager" ],
        "summary" : "The REST GET operation for the getCFAssociationGrouping() API call.",
        "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.",
        "operationId" : "getCFAssociationGrouping",
        "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,
          "allowEmptyValue" : false,
          "style" : "simple",
          "schema" : {
            "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}",
            "type" : "string",
            "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The 200 (OK) response to the getCFAssociationGrouping() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CFAssociationGrouping"
                }
              }
            }
          },
          "400" : {
            "description" : "The 400 (BAD_REQUEST) response to the getCFAssociationGrouping() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "The 401 (UNAUTHORIZED) response to the getCFAssociationGrouping() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "403" : {
            "description" : "The 403 (FORBIDDEN) response to the getCFAssociationGrouping() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The 404 (NOT_FOUND) response to the getCFAssociationGrouping() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "429" : {
            "description" : "The 429 (TOO_MANY_REQUESTS) response to the getCFAssociationGrouping() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "The 500 (INTERNAL_SERVER_ERROR) response to the getCFAssociationGrouping() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          },
          "default" : {
            "description" : "The default response to the getCFAssociationGrouping() API call.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/imsx_StatusInfo"
                }
              }
            }
          }
        },
        "x-operation-pid" : "org.1edtech.case.v1p1.rest.getcfassociationgrouping.operation"
      }
    }
  },
  "components" : {
    "schemas" : {
      "CFPackageExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFPackage class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfpackageextension.class"
      },
      "CFItem" : {
        "required" : [ "CFDocumentURI", "identifier", "fullStatement", "uri", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "listEnumeration" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "notes" : {
            "type" : "string",
            "description" : "Information about the derivation of a CFItem statement.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "licenseURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "fullStatement" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "conceptKeywordsURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "subject" : {
            "minItems" : 0,
            "type" : "array",
            "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).",
            "items" : {
              "type" : "string"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "statusStartDate" : {
            "type" : "string",
            "description" : "The date the CFItem status started.",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.date.class"
          },
          "CFItemTypeURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "alternativeLabel" : {
            "type" : "string",
            "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.  ",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "CFItemType" : {
            "type" : "string",
            "description" : "The textual label identifying the class of the statement as designated by the promulgating body.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "language" : {
            "type" : "string",
            "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.language.class"
          },
          "statusEndDate" : {
            "type" : "string",
            "description" : "The date the CFItem status ended or changed to another status.",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.date.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFItem using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          },
          "subjectURI" : {
            "minItems" : 0,
            "type" : "array",
            "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.",
            "items" : {
              "$ref" : "#/components/schemas/LinkURI"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.linkuri.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFItemExtension"
          },
          "CFDocumentURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "educationLevel" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The education level, grade level or primary instructional level at which a CFItem is intended",
            "items" : {
              "type" : "string"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "conceptKeywords" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The significant topicality of the CFItem using free-text keywords and phrases.",
            "items" : {
              "type" : "string"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "humanCodingScheme" : {
            "type" : "string",
            "description" : "A human-referenceable code designated by the publisher to identify the item among learning standard items.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "abbreviatedStatement" : {
            "type" : "string",
            "description" : "An abbreviated version of the Full Statement.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "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. ",
        "x-class-pid" : "org.1edtech.case.v1p1.cfitem.class"
      },
      "CFRubricCriterionLevelExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFRubricCriterionLevel class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfrubriccriterionlevelextension.class"
      },
      "CFAssociationGroupingExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFAssociationGrouping class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfassociationgroupingextension.class"
      },
      "CFItemTypeSet" : {
        "required" : [ "CFItemTypes" ],
        "type" : "object",
        "properties" : {
          "CFItemTypes" : {
            "minItems" : 1,
            "type" : "array",
            "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.",
            "items" : {
              "$ref" : "#/components/schemas/CFItemType"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfitemtype.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfitemtypeset.class"
      },
      "CFItemType" : {
        "required" : [ "identifier", "uri", "title", "description", "hierarchyCode", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFItemTypeExtension"
          },
          "hierarchyCode" : {
            "type" : "string",
            "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFItemType.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "title" : {
            "type" : "string",
            "description" : "The title of the CFItemType.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFItemType using a network-resolvable URI. ",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          },
          "typeCode" : {
            "type" : "string",
            "description" : "Text code used for type identification.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "description" : "The container for the ItemType information use within the competency framework.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfitemtype.class"
      },
      "CFPckgDocument" : {
        "required" : [ "identifier", "uri", "creator", "title", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "creator" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "officialSourceURL" : {
            "type" : "string",
            "description" : "The URL link to the formal citation of the original achievement standards document created for humans.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.url.class"
          },
          "adoptionStatus" : {
            "type" : "string",
            "description" : "The publication status of the document.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "notes" : {
            "type" : "string",
            "description" : "Any text used to comment on the published CFDocument.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "licenseURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "subject" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
            "items" : {
              "type" : "string"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "statusStartDate" : {
            "type" : "string",
            "description" : "The date the CFDocument status started.",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.date.class"
          },
          "frameworkType" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "language" : {
            "type" : "string",
            "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.language.class"
          },
          "statusEndDate" : {
            "type" : "string",
            "description" : "The date the CFDocument status ended or changed to another status.",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.date.class"
          },
          "title" : {
            "type" : "string",
            "description" : "The title of the CFDocument.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFDocument using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          },
          "version" : {
            "type" : "string",
            "description" : "Defines the revision of the document (the nature of this versioning is an implementation issue).",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "subjectURI" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency. ",
            "items" : {
              "$ref" : "#/components/schemas/LinkURI"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.linkuri.class"
          },
          "caseVersion" : {
            "type" : "string",
            "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'.",
            "enum" : [ "1.1" ],
            "x-srcprop-pid" : "org.1edtech.case.v1p1.caseversionenum.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFDocumentExtension"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "publisher" : {
            "type" : "string",
            "description" : "The entity responsible for making the learning standards document available.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfpckgdocument.class"
      },
      "CFRubricExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFRubric class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfrubricextension.class"
      },
      "CFAssociationSet" : {
        "required" : [ "CFItem", "CFAssociations" ],
        "type" : "object",
        "properties" : {
          "CFItem" : {
            "$ref" : "#/components/schemas/CFItem"
          },
          "CFAssociations" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "This is the data for a single CFAssociation within the CFAssociationSet container. The association can be between CFDocuments or between CFItems",
            "items" : {
              "$ref" : "#/components/schemas/CFPckgAssociation"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfpckgassociation.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfassociationset.class"
      },
      "CFAssociation" : {
        "required" : [ "identifier", "associationType", "uri", "originNodeURI", "destinationNodeURI", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "sequenceNumber" : {
            "type" : "integer",
            "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. ",
            "format" : "int32",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.integer.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFAssociationExtension"
          },
          "notes" : {
            "type" : "string",
            "description" : "A new attribute added in Version 1.1. Information about the CFAssociation.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "CFDocumentURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "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" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfassociationtypeextenum.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "destinationNodeURI" : {
            "$ref" : "#/components/schemas/LinkGenURI"
          },
          "originNodeURI" : {
            "$ref" : "#/components/schemas/LinkGenURI"
          },
          "CFAssociationGroupingURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFAssociation using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfassociation.class"
      },
      "imsx_CodeMinorField" : {
        "required" : [ "imsx_codeMinorFieldName", "imsx_codeMinorFieldValue" ],
        "type" : "object",
        "properties" : {
          "imsx_codeMinorFieldName" : {
            "type" : "string",
            "description" : "This should contain the identity of the system that has produced the code minor status code report.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "imsx_codeMinorFieldValue" : {
            "type" : "string",
            "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
            "enum" : [ "fullsuccess", "invalid_sort_field", "invalid_selection_field", "forbidden", "unauthorised_request", "internal_server_error", "unknownobject", "server_busy", "invalid_uuid" ],
            "x-srcprop-pid" : "org.1edtech.case.v1p1.imsx_codeminorvalueenum.class"
          }
        },
        "additionalProperties" : false,
        "description" : "This is the container for a single code minor status code.",
        "x-class-pid" : "org.1edtech.case.v1p1.imsx_codeminorfield.class"
      },
      "CFPckgAssociation" : {
        "required" : [ "identifier", "associationType", "uri", "originNodeURI", "destinationNodeURI", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "sequenceNumber" : {
            "type" : "integer",
            "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. ",
            "format" : "int32",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.integer.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFAssociationExtension"
          },
          "notes" : {
            "type" : "string",
            "description" : "A new attribute added in Version 1.1. Information about the CFAssociation.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "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" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfassociationtypeextenum.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "destinationNodeURI" : {
            "$ref" : "#/components/schemas/LinkGenURI"
          },
          "originNodeURI" : {
            "$ref" : "#/components/schemas/LinkGenURI"
          },
          "CFAssociationGroupingURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFAssociation using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "description" : "This is the container for the data about the relationship between two CFDocuments or between two CFItems within the context of a CFPackage.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfpckgassociation.class"
      },
      "imsx_StatusInfo" : {
        "required" : [ "imsx_codeMajor", "imsx_severity" ],
        "type" : "object",
        "properties" : {
          "imsx_codeMinor" : {
            "$ref" : "#/components/schemas/imsx_CodeMinor"
          },
          "imsx_codeMajor" : {
            "type" : "string",
            "description" : "The code major value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.",
            "enum" : [ "success", "processing", "failure", "unsupported" ],
            "x-srcprop-pid" : "org.1edtech.case.v1p1.imsx_codemajorenum.class"
          },
          "imsx_description" : {
            "type" : "string",
            "description" : "A human readable description supplied by the entity creating the status code information.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "imsx_severity" : {
            "type" : "string",
            "description" : "The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.",
            "enum" : [ "status", "warning", "error" ],
            "x-srcprop-pid" : "org.1edtech.case.v1p1.imsx_severityenum.class"
          }
        },
        "additionalProperties" : false,
        "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",
        "x-class-pid" : "org.1edtech.case.v1p1.imsx_statusinfo.class"
      },
      "CFItemExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFItem class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfitemextension.class"
      },
      "CFSubject" : {
        "required" : [ "identifier", "uri", "title", "hierarchyCode", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFSubjectExtension"
          },
          "hierarchyCode" : {
            "type" : "string",
            "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFSubject.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "title" : {
            "type" : "string",
            "description" : "The title of the CFSubject.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFSubject using a network-resolvable URI. ",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfsubject.class"
      },
      "CFRubricCriterion" : {
        "required" : [ "identifier", "uri", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "CFItemURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFRubricCriterionExtension"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFRubricCriterion.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "weight" : {
            "type" : "number",
            "description" : "A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.float.class"
          },
          "rubricId" : {
            "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}",
            "type" : "string",
            "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.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "position" : {
            "type" : "integer",
            "description" : "A numeric value representing this criterion's position in the criteria list for this CFRubric.",
            "format" : "int32",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.integer.class"
          },
          "CFRubricCriterionLevels" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The set of CFRubricCriterionLevels that are required to complete the definition of the parent CFRubricCriterion.",
            "items" : {
              "$ref" : "#/components/schemas/CFRubricCriterionLevel"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfrubriccriterionlevel.class"
          },
          "category" : {
            "type" : "string",
            "description" : "A textual label for category by which CFRubricCriterion may be grouped.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "description" : "The container for the definition of a rubric criterion which is addressed by the competency framework.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfrubriccriterion.class"
      },
      "CFDocumentSet" : {
        "required" : [ "CFDocuments" ],
        "type" : "object",
        "properties" : {
          "CFDocuments" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "This is the data for a single CFDocument within the CFDocumentSet container.",
            "items" : {
              "$ref" : "#/components/schemas/CFDocument"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfdocument.class"
          }
        },
        "additionalProperties" : false,
        "description" : "This is the container for a collection of CFDocuments. There must be at least one CFDocument.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfdocumentset.class"
      },
      "CFItemTypeExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFItemType class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfitemtypeextension.class"
      },
      "CFLicenseExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFLicense class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cflicenseextension.class"
      },
      "CFRubric" : {
        "required" : [ "identifier", "uri", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFRubricExtension"
          },
          "CFRubricCriteria" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The set of CFRubricCriterion that are required to complete the definition of the parent CFRubric.",
            "items" : {
              "$ref" : "#/components/schemas/CFRubricCriterion"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfrubriccriterion.class"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFRubric. In Version 1.1 the data-type for this attribute has been changed from NormalizedString. ",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "title" : {
            "type" : "string",
            "description" : "The title of the CFRubric.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFRubric using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfrubric.class"
      },
      "CFConcept" : {
        "required" : [ "identifier", "uri", "title", "hierarchyCode", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFConceptExtension"
          },
          "keywords" : {
            "type" : "string",
            "description" : "Defined listing of keywords delimited by '|' that the concept encompasses.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "hierarchyCode" : {
            "type" : "string",
            "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFConcept.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "title" : {
            "type" : "string",
            "description" : "The title of the CFConcept.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFConcept using a network-resolvable URI. ",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "description" : "The container for the definition of a concept which is addressed by the competency framework.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfconcept.class"
      },
      "CFRubricCriterionExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFRubricCriterionExtension class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfrubriccriterionextension.class"
      },
      "CFDocumentExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFDocument class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfdocumentextension.class"
      },
      "CFAssociationGrouping" : {
        "required" : [ "identifier", "uri", "title", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFAssociationGroupingExtension"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFAssociationGrouping.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "title" : {
            "type" : "string",
            "description" : "The title of the CFAssociationGrouping.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. ",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "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).",
        "x-class-pid" : "org.1edtech.case.v1p1.cfassociationgrouping.class"
      },
      "CFSubjectExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFSubject class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfsubjectextension.class"
      },
      "CFConceptSet" : {
        "required" : [ "CFConcepts" ],
        "type" : "object",
        "properties" : {
          "CFConcepts" : {
            "minItems" : 1,
            "type" : "array",
            "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.",
            "items" : {
              "$ref" : "#/components/schemas/CFConcept"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfconcept.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfconceptset.class"
      },
      "LinkGenURI" : {
        "required" : [ "title", "identifier", "uri" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "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" ]
            }, {
              "pattern" : "(ext:)[a-zA-Z0-9\\.\\-_]+",
              "type" : "string"
            } ],
            "x-srcprop-pid" : "org.1edtech.case.v1p1.targettypeextenum.class"
          },
          "title" : {
            "type" : "string",
            "description" : "A human readable title for the associated object.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "description" : "A container for the information that is used to achieve the link data reference.",
        "x-class-pid" : "org.1edtech.case.v1p1.linkgenuri.class"
      },
      "CFDefinition" : {
        "type" : "object",
        "properties" : {
          "extensions" : {
            "$ref" : "#/components/schemas/CFDefinitionExtension"
          },
          "CFSubjects" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The set of subject definitions.",
            "items" : {
              "$ref" : "#/components/schemas/CFSubject"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfsubject.class"
          },
          "CFConcepts" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The set of concept definitions.",
            "items" : {
              "$ref" : "#/components/schemas/CFConcept"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfconcept.class"
          },
          "CFItemTypes" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The set of item type definitions.",
            "items" : {
              "$ref" : "#/components/schemas/CFItemType"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfitemtype.class"
          },
          "CFLicenses" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The set of license definitions.",
            "items" : {
              "$ref" : "#/components/schemas/CFLicense"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cflicense.class"
          },
          "CFAssociationGroupings" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The set of association grouping definitions.",
            "items" : {
              "$ref" : "#/components/schemas/CFAssociationGrouping"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfassociationgrouping.class"
          }
        },
        "additionalProperties" : false,
        "description" : "The container for the set of definitions used for the competency framework i.e. the set of CFSubjects, CFConcepts, CFItemTypes, CFAssociationGroupings and CFLicenses.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfdefinition.class"
      },
      "CFDefinitionExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFDefinition class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfdefinitionextension.class"
      },
      "LinkURI" : {
        "required" : [ "title", "identifier", "uri" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "title" : {
            "type" : "string",
            "description" : "A human readable title for the associated object.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "description" : "A container for the information that is used to achieve the link data reference.",
        "x-class-pid" : "org.1edtech.case.v1p1.linkuri.class"
      },
      "imsx_CodeMinor" : {
        "required" : [ "imsx_codeMinorField" ],
        "type" : "object",
        "properties" : {
          "imsx_codeMinorField" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Each reported code minor status code.",
            "items" : {
              "$ref" : "#/components/schemas/imsx_CodeMinorField"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.imsx_codeminorfield.class"
          }
        },
        "additionalProperties" : false,
        "description" : "This is the container for the set of code minor status codes reported in the responses from the Service Provider.",
        "x-class-pid" : "org.1edtech.case.v1p1.imsx_codeminor.class"
      },
      "CFDocument" : {
        "required" : [ "CFPackageURI", "identifier", "uri", "creator", "title", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "creator" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "officialSourceURL" : {
            "type" : "string",
            "description" : "The URL link to the formal citation of the original achievement standards document created for humans.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.url.class"
          },
          "adoptionStatus" : {
            "type" : "string",
            "description" : "The publication status of the document.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "notes" : {
            "type" : "string",
            "description" : "Any text used to comment on the published CFDocument.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "licenseURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "subject" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
            "items" : {
              "type" : "string"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "statusStartDate" : {
            "type" : "string",
            "description" : "The date the CFDocument status started.",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.date.class"
          },
          "frameworkType" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "language" : {
            "type" : "string",
            "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.language.class"
          },
          "statusEndDate" : {
            "type" : "string",
            "description" : "The date the CFDocument status ended or changed to another status.",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.date.class"
          },
          "title" : {
            "type" : "string",
            "description" : "The title of the CFDocument.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFDocument using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          },
          "version" : {
            "type" : "string",
            "description" : "Defines the revision of the document (the nature of this versioning is an implementation issue).",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "subjectURI" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "A set of Link URIs denoting the set of subjects for the document as designated by the promulgating agency. ",
            "items" : {
              "$ref" : "#/components/schemas/LinkURI"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.linkuri.class"
          },
          "caseVersion" : {
            "type" : "string",
            "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'.",
            "enum" : [ "1.1" ],
            "x-srcprop-pid" : "org.1edtech.case.v1p1.caseversionenum.class"
          },
          "CFPackageURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFDocumentExtension"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "publisher" : {
            "type" : "string",
            "description" : "The entity responsible for making the learning standards document available.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfdocument.class"
      },
      "CFAssociationExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFAssociation class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfassociationextension.class"
      },
      "CFLicense" : {
        "required" : [ "identifier", "uri", "title", "licenseText", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFLicenseExtension"
          },
          "licenseText" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFLicense.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "title" : {
            "type" : "string",
            "description" : "The title of the CFLicense.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFLicense using a network-resolvable URI. ",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          }
        },
        "additionalProperties" : false,
        "description" : "The container for the information about a license used within the competency framework.",
        "x-class-pid" : "org.1edtech.case.v1p1.cflicense.class"
      },
      "CFPackage" : {
        "required" : [ "CFDocument" ],
        "type" : "object",
        "properties" : {
          "CFItems" : {
            "minItems" : 0,
            "type" : "array",
            "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.",
            "items" : {
              "$ref" : "#/components/schemas/CFPckgItem"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfpckgitem.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFPackageExtension"
          },
          "CFDocument" : {
            "$ref" : "#/components/schemas/CFPckgDocument"
          },
          "CFAssociations" : {
            "minItems" : 0,
            "type" : "array",
            "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.",
            "items" : {
              "$ref" : "#/components/schemas/CFPckgAssociation"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfpckgassociation.class"
          },
          "CFDefinitions" : {
            "$ref" : "#/components/schemas/CFDefinition"
          },
          "CFRubrics" : {
            "minItems" : 0,
            "type" : "array",
            "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. ",
            "items" : {
              "$ref" : "#/components/schemas/CFRubric"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfrubric.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfpackage.class"
      },
      "CFSubjectSet" : {
        "required" : [ "CFSubjects" ],
        "type" : "object",
        "properties" : {
          "CFSubjects" : {
            "minItems" : 1,
            "type" : "array",
            "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.",
            "items" : {
              "$ref" : "#/components/schemas/CFSubject"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfsubject.class"
          }
        },
        "additionalProperties" : false,
        "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.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfsubjectset.class"
      },
      "CFConceptExtension" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : true,
        "description" : "The container for the proprietary extensions to the CFConcept class.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfconceptextension.class"
      },
      "CFPckgItem" : {
        "required" : [ "identifier", "fullStatement", "uri", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "listEnumeration" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "notes" : {
            "type" : "string",
            "description" : "Information about the derivation of a CFItem statement.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "licenseURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "fullStatement" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "conceptKeywordsURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "subject" : {
            "minItems" : 0,
            "type" : "array",
            "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).",
            "items" : {
              "type" : "string"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "statusStartDate" : {
            "type" : "string",
            "description" : "The date the CFItem status started.",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.date.class"
          },
          "CFItemTypeURI" : {
            "$ref" : "#/components/schemas/LinkURI"
          },
          "alternativeLabel" : {
            "type" : "string",
            "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.  ",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "CFItemType" : {
            "type" : "string",
            "description" : "The textual label identifying the class of the statement as designated by the promulgating body.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "language" : {
            "type" : "string",
            "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.language.class"
          },
          "statusEndDate" : {
            "type" : "string",
            "description" : "The date the CFItem status ended or changed to another status.",
            "format" : "date",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.date.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFItem using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          },
          "subjectURI" : {
            "minItems" : 0,
            "type" : "array",
            "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.",
            "items" : {
              "$ref" : "#/components/schemas/LinkURI"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.linkuri.class"
          },
          "extensions" : {
            "$ref" : "#/components/schemas/CFItemExtension"
          },
          "educationLevel" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The education level, grade level or primary instructional level at which a CFItem is intended",
            "items" : {
              "type" : "string"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "conceptKeywords" : {
            "minItems" : 0,
            "type" : "array",
            "description" : "The significant topicality of the CFItem using free-text keywords and phrases.",
            "items" : {
              "type" : "string"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "humanCodingScheme" : {
            "type" : "string",
            "description" : "A human-referenceable code designated by the publisher to identify the item among learning standard items.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          },
          "abbreviatedStatement" : {
            "type" : "string",
            "description" : "An abbreviated version of the Full Statement.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "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. ",
        "x-class-pid" : "org.1edtech.case.v1p1.cfpckgitem.class"
      },
      "CFRubricCriterionLevel" : {
        "required" : [ "identifier", "uri", "lastChangeDateTime" ],
        "type" : "object",
        "properties" : {
          "feedback" : {
            "type" : "string",
            "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.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "identifier" : {
            "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}",
            "type" : "string",
            "description" : "An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "score" : {
            "type" : "number",
            "description" : "The points awarded for achieving this level.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.float.class"
          },
          "extensions" : {
            "minItems" : 0,
            "type" : "array",
            "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.",
            "items" : {
              "$ref" : "#/components/schemas/CFRubricCriterionLevelExtension"
            },
            "x-srcprop-pid" : "org.1edtech.case.v1p1.cfrubriccriterionlevelextension.class"
          },
          "description" : {
            "type" : "string",
            "description" : "A human readable description of the CFRubricCriterionLevel.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.string.class"
          },
          "lastChangeDateTime" : {
            "type" : "string",
            "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
            "format" : "date-time",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.datetime.class"
          },
          "position" : {
            "type" : "integer",
            "description" : "A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.",
            "format" : "int32",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.integer.class"
          },
          "rubricCriterionId" : {
            "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}",
            "type" : "string",
            "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.",
            "format" : "uuid",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.derived.uuid.class"
          },
          "uri" : {
            "type" : "string",
            "description" : "An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.anyuri.class"
          },
          "quality" : {
            "type" : "string",
            "description" : "A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.",
            "x-srcprop-pid" : "org.1edtech.case.v1p1.primitive.normalizedstring.class"
          }
        },
        "additionalProperties" : false,
        "description" : "The container for the definition of a criterion level which is addressed by the competency framework.",
        "x-class-pid" : "org.1edtech.case.v1p1.cfrubriccriterionlevel.class"
      }
    },
    "parameters" : {
      "filter" : {
        "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,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "type" : "string"
        }
      },
      "offset" : {
        "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,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "minimum" : 0,
          "type" : "integer",
          "format" : "int32"
        }
      },
      "limit" : {
        "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,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "minimum" : 1,
          "type" : "integer",
          "format" : "int32"
        }
      },
      "orderBy" : {
        "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,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "type" : "string",
          "description" : "The permitted set of values for the 'orderBy' query parameter.",
          "enum" : [ "asc", "desc" ]
        }
      },
      "sort" : {
        "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,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "type" : "string"
        }
      },
      "fields" : {
        "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,
        "allowEmptyValue" : false,
        "style" : "form",
        "schema" : {
          "type" : "string"
        }
      }
    }
  }
}

CASE Service OpenAPI YAML Definition Listing

openapi: 3.0.1
info:
  title: OpenAPI schema for Competencies and Academic Standards Exchange (CASE) Service
  description: "The Competencies and Academic Standards Exchange (CASE) Service specification\
    \ enables the exchange of data between a Competency Records Service Provider and\
    \ the consumers of the associated data. This service provides endpoints that enable\
    \ the exchange of data about Competency Frameworks, Competency Documents, Competency\
    \ Definitions, Competency Relationships and Rubrics."
  termsOfService: https://www.imsglobal.org/license.html
  contact:
    name: IMS Global
    url: https://www.imsglobal.org
    email: support@imsglobal.org
  license:
    name: IMS Global Specification Document License
    url: https://www.imsglobal.org/license.html
  version: "1.1"
  x-status: Final
  x-model-pid: org.1edtech.case.v1p1.model
  x-service-pid: org.1edtech.case.v1p1.rest.servicemodel
  x-src-operation-count: 12
  x-oas-operation-count: 12
servers:
- url: https://example.org/ims/case/v1p1
  description: The above Server URL should be changed to the actual server location.
tags:
- 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: 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: 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).
- 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: 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: 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."
paths:
  /CFItems/{sourcedId}:
    get:
      tags:
      - ItemsManager
      summary: The REST GET operation for the getCFItem() API call.
      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.
      operationId: getCFItem
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFItem() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFItem"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFItem() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFItem() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFItem() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFItem() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFItem() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFItem()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFItem() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfitem.operation
  /CFItemAssociations/{sourcedId}:
    get:
      tags:
      - AssociationsManager
      summary: The REST GET operation for the getCFItemAssociations() API call.
      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.
      operationId: getCFItemAssociations
      parameters:
      - name: sourcedId
        in: path
        description: The UUID that identifies the CFItem for which ALL associations
          are to be supplied.
        required: true
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFItemAssociations() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFAssociationSet"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFItemAssociations()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFItemAssociations()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFItemAssociations()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFItemAssociations()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFItemAssociations()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFItemAssociations()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFItemAssociations() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfitemassociations.operation
  /CFAssociations/{sourcedId}:
    get:
      tags:
      - AssociationsManager
      summary: The REST GET operation for the getCFAssociation() API call.
      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.
      operationId: getCFAssociation
      parameters:
      - name: sourcedId
        in: path
        description: The UUID that identifies the CFAssociation to be supplied.
        required: true
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFAssociation() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFAssociation"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFAssociation() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFAssociation() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFAssociation() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFAssociation() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFAssociation()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFAssociation()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFAssociation() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfassociation.operation
  /CFRubrics/{sourcedId}:
    get:
      tags:
      - RubricsManager
      summary: The REST GET operation for the getCFRubric() API call.
      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.
      operationId: getCFRubric
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFRubric() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFRubric"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFRubric() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFRubric() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFRubric() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFRubric() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFRubric() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFRubric()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFRubric() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfrubric.operation
  /CFDocuments:
    get:
      tags:
      - DocumentsManager
      summary: The REST GET operation for the getAllCFDocuments() API call.
      description: 'This is a request to the Service Provider to provide all of the
        Competency Framework Documents. '
      operationId: getAllCFDocuments
      parameters:
      - $ref: "#/components/parameters/limit"
      - $ref: "#/components/parameters/offset"
      - $ref: "#/components/parameters/sort"
      - $ref: "#/components/parameters/orderBy"
      - $ref: "#/components/parameters/filter"
      - $ref: "#/components/parameters/fields"
      responses:
        "200":
          description: The 200 (OK) response to the getAllCFDocuments() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFDocumentSet"
        "400":
          description: The 400 (BAD_REQUEST) response to the getAllCFDocuments() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getAllCFDocuments()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getAllCFDocuments() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getAllCFDocuments() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getAllCFDocuments()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getAllCFDocuments()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getAllCFDocuments() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getallcfdocuments.operation
  /CFDocuments/{sourcedId}:
    get:
      tags:
      - DocumentsManager
      summary: The REST GET operation for the getCFDocument() API call.
      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.
      operationId: getCFDocument
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFDocument() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFDocument"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFDocument() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFDocument() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFDocument() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFDocument() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFDocument()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFDocument()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFDocument() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfdocument.operation
  /CFPackages/{sourcedId}:
    get:
      tags:
      - PackagesManager
      summary: The REST GET operation for the getCFPackage() API call.
      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.
      operationId: getCFPackage
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFPackage() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFPackage"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFPackage() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFPackage() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFPackage() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFPackage() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFPackage()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFPackage()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFPackage() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfpackage.operation
  /CFConcepts/{sourcedId}:
    get:
      tags:
      - DefinitionsManager
      summary: The REST GET operation for the getCFConcept() API call.
      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.
      operationId: getCFConcept
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFConcept() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFConceptSet"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFConcept() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFConcept() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFConcept() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFConcept() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFConcept()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFConcept()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFConcept() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfconcept.operation
  /CFSubjects/{sourcedId}:
    get:
      tags:
      - DefinitionsManager
      summary: The REST GET operation for the getCFSubject() API call.
      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.
      operationId: getCFSubject
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFSubject() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFSubjectSet"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFSubject() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFSubject() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFSubject() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFSubject() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFSubject()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFSubject()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFSubject() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfsubject.operation
  /CFLicenses/{sourcedId}:
    get:
      tags:
      - DefinitionsManager
      summary: The REST GET operation for the getCFLicense() API call.
      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.
      operationId: getCFLicense
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFLicense() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFLicense"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFLicense() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFLicense() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFLicense() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFLicense() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFLicense()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFLicense()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFLicense() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcflicense.operation
  /CFItemTypes/{sourcedId}:
    get:
      tags:
      - DefinitionsManager
      summary: The REST GET operation for the getCFItemType() API call.
      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.
      operationId: getCFItemType
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFItemType() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFItemTypeSet"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFItemType() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFItemType() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFItemType() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFItemType() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFItemType()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFItemType()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFItemType() API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfitemtype.operation
  /CFAssociationGroupings/{sourcedId}:
    get:
      tags:
      - DefinitionsManager
      summary: The REST GET operation for the getCFAssociationGrouping() API call.
      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.
      operationId: getCFAssociationGrouping
      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
        allowEmptyValue: false
        style: simple
        schema:
          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}"
          type: string
          description: The data-type for establishing a Globally Unique Identifier
            (GUID). The form of the GUID is a Universally Unique Identifier (UUID)
            of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All
            permitted versions (1-5) and variants (1-2) are supported.
          format: uuid
      responses:
        "200":
          description: The 200 (OK) response to the getCFAssociationGrouping() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CFAssociationGrouping"
        "400":
          description: The 400 (BAD_REQUEST) response to the getCFAssociationGrouping()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "401":
          description: The 401 (UNAUTHORIZED) response to the getCFAssociationGrouping()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "403":
          description: The 403 (FORBIDDEN) response to the getCFAssociationGrouping()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "404":
          description: The 404 (NOT_FOUND) response to the getCFAssociationGrouping()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "429":
          description: The 429 (TOO_MANY_REQUESTS) response to the getCFAssociationGrouping()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        "500":
          description: The 500 (INTERNAL_SERVER_ERROR) response to the getCFAssociationGrouping()
            API call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
        default:
          description: The default response to the getCFAssociationGrouping() API
            call.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/imsx_StatusInfo"
      x-operation-pid: org.1edtech.case.v1p1.rest.getcfassociationgrouping.operation
components:
  schemas:
    CFPackageExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFPackage class.
      x-class-pid: org.1edtech.case.v1p1.cfpackageextension.class
    CFItem:
      required:
      - CFDocumentURI
      - identifier
      - fullStatement
      - uri
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFItem. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        listEnumeration:
          type: string
          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.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        notes:
          type: string
          description: Information about the derivation of a CFItem statement.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        licenseURI:
          $ref: "#/components/schemas/LinkURI"
        fullStatement:
          type: string
          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.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        conceptKeywordsURI:
          $ref: "#/components/schemas/LinkURI"
        subject:
          minItems: 0
          type: array
          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)."
          items:
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        statusStartDate:
          type: string
          description: The date the CFItem status started.
          format: date
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.date.class
        CFItemTypeURI:
          $ref: "#/components/schemas/LinkURI"
        alternativeLabel:
          type: string
          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.  "
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        CFItemType:
          type: string
          description: The textual label identifying the class of the statement as
            designated by the promulgating body.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        language:
          type: string
          description: "The default language of the text used for the content in the\
            \ learning standard document (use ISO 639-2 [ISO 639])."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.language.class
        statusEndDate:
          type: string
          description: The date the CFItem status ended or changed to another status.
          format: date
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.date.class
        uri:
          type: string
          description: An unambiguous reference to the CFItem using a network-resolvable
            URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
        subjectURI:
          minItems: 0
          type: array
          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.
          items:
            $ref: "#/components/schemas/LinkURI"
          x-srcprop-pid: org.1edtech.case.v1p1.linkuri.class
        extensions:
          $ref: "#/components/schemas/CFItemExtension"
        CFDocumentURI:
          $ref: "#/components/schemas/LinkURI"
        educationLevel:
          minItems: 0
          type: array
          description: "The education level, grade level or primary instructional\
            \ level at which a CFItem is intended"
          items:
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        conceptKeywords:
          minItems: 0
          type: array
          description: The significant topicality of the CFItem using free-text keywords
            and phrases.
          items:
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        humanCodingScheme:
          type: string
          description: A human-referenceable code designated by the publisher to identify
            the item among learning standard items.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        abbreviatedStatement:
          type: string
          description: An abbreviated version of the Full Statement.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
      additionalProperties: false
      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. '
      x-class-pid: org.1edtech.case.v1p1.cfitem.class
    CFRubricCriterionLevelExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFRubricCriterionLevel
        class.
      x-class-pid: org.1edtech.case.v1p1.cfrubriccriterionlevelextension.class
    CFAssociationGroupingExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFAssociationGrouping
        class.
      x-class-pid: org.1edtech.case.v1p1.cfassociationgroupingextension.class
    CFItemTypeSet:
      required:
      - CFItemTypes
      type: object
      properties:
        CFItemTypes:
          minItems: 1
          type: array
          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.
          items:
            $ref: "#/components/schemas/CFItemType"
          x-srcprop-pid: org.1edtech.case.v1p1.cfitemtype.class
      additionalProperties: false
      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.
      x-class-pid: org.1edtech.case.v1p1.cfitemtypeset.class
    CFItemType:
      required:
      - identifier
      - uri
      - title
      - description
      - hierarchyCode
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFItemType. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        extensions:
          $ref: "#/components/schemas/CFItemTypeExtension"
        hierarchyCode:
          type: string
          description: A human-referenceable code designated by the publisher to identify
            the item in the hierarchy of ItemTypes.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        description:
          type: string
          description: A human readable description of the CFItemType.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        title:
          type: string
          description: The title of the CFItemType.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: 'An unambiguous reference to the CFItemType using a network-resolvable
            URI. '
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
        typeCode:
          type: string
          description: Text code used for type identification.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
      additionalProperties: false
      description: The container for the ItemType information use within the competency
        framework.
      x-class-pid: org.1edtech.case.v1p1.cfitemtype.class
    CFPckgDocument:
      required:
      - identifier
      - uri
      - creator
      - title
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFDocument. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        creator:
          type: string
          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."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        officialSourceURL:
          type: string
          description: The URL link to the formal citation of the original achievement
            standards document created for humans.
          x-srcprop-pid: org.1edtech.case.v1p1.derived.url.class
        adoptionStatus:
          type: string
          description: The publication status of the document.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        notes:
          type: string
          description: Any text used to comment on the published CFDocument.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        licenseURI:
          $ref: "#/components/schemas/LinkURI"
        subject:
          minItems: 0
          type: array
          description: "The topic or academic subject of the Document (this should\
            \ use some appropriate K-12, HE, etc. based vocabulary)."
          items:
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        statusStartDate:
          type: string
          description: The date the CFDocument status started.
          format: date
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.date.class
        frameworkType:
          type: string
          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."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        description:
          type: string
          description: A human readable description of the CFDocument. In Version
            1.1 the data-type has been changed from NormalizedString.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        language:
          type: string
          description: "The default language of the text used for the content in the\
            \ learning standard document (use ISO 639-2 [ISO 639])."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.language.class
        statusEndDate:
          type: string
          description: The date the CFDocument status ended or changed to another
            status.
          format: date
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.date.class
        title:
          type: string
          description: The title of the CFDocument.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: An unambiguous reference to the CFDocument using a network-resolvable
            URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
        version:
          type: string
          description: Defines the revision of the document (the nature of this versioning
            is an implementation issue).
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        subjectURI:
          minItems: 0
          type: array
          description: 'A set of Link URIs denoting the set of subjects for the document
            as designated by the promulgating agency. '
          items:
            $ref: "#/components/schemas/LinkURI"
          x-srcprop-pid: org.1edtech.case.v1p1.linkuri.class
        caseVersion:
          type: string
          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'.
          enum:
          - "1.1"
          x-srcprop-pid: org.1edtech.case.v1p1.caseversionenum.class
        extensions:
          $ref: "#/components/schemas/CFDocumentExtension"
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        publisher:
          type: string
          description: The entity responsible for making the learning standards document
            available.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
      additionalProperties: false
      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.
      x-class-pid: org.1edtech.case.v1p1.cfpckgdocument.class
    CFRubricExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFRubric class.
      x-class-pid: org.1edtech.case.v1p1.cfrubricextension.class
    CFAssociationSet:
      required:
      - CFItem
      - CFAssociations
      type: object
      properties:
        CFItem:
          $ref: "#/components/schemas/CFItem"
        CFAssociations:
          minItems: 1
          type: array
          description: This is the data for a single CFAssociation within the CFAssociationSet
            container. The association can be between CFDocuments or between CFItems
          items:
            $ref: "#/components/schemas/CFPckgAssociation"
          x-srcprop-pid: org.1edtech.case.v1p1.cfpckgassociation.class
      additionalProperties: false
      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.
      x-class-pid: org.1edtech.case.v1p1.cfassociationset.class
    CFAssociation:
      required:
      - identifier
      - associationType
      - uri
      - originNodeURI
      - destinationNodeURI
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFAssociation. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        sequenceNumber:
          type: integer
          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. '
          format: int32
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.integer.class
        extensions:
          $ref: "#/components/schemas/CFAssociationExtension"
        notes:
          type: string
          description: A new attribute added in Version 1.1. Information about the
            CFAssociation.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        CFDocumentURI:
          $ref: "#/components/schemas/LinkURI"
        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
          - pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.cfassociationtypeextenum.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        destinationNodeURI:
          $ref: "#/components/schemas/LinkGenURI"
        originNodeURI:
          $ref: "#/components/schemas/LinkGenURI"
        CFAssociationGroupingURI:
          $ref: "#/components/schemas/LinkURI"
        uri:
          type: string
          description: An unambiguous reference to the CFAssociation using a network-resolvable
            URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      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.
      x-class-pid: org.1edtech.case.v1p1.cfassociation.class
    imsx_CodeMinorField:
      required:
      - imsx_codeMinorFieldName
      - imsx_codeMinorFieldValue
      type: object
      properties:
        imsx_codeMinorFieldName:
          type: string
          description: This should contain the identity of the system that has produced
            the code minor status code report.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        imsx_codeMinorFieldValue:
          type: string
          description: The code minor status code (this is a value from the corresponding
            enumerated vocabulary).
          enum:
          - fullsuccess
          - invalid_sort_field
          - invalid_selection_field
          - forbidden
          - unauthorised_request
          - internal_server_error
          - unknownobject
          - server_busy
          - invalid_uuid
          x-srcprop-pid: org.1edtech.case.v1p1.imsx_codeminorvalueenum.class
      additionalProperties: false
      description: This is the container for a single code minor status code.
      x-class-pid: org.1edtech.case.v1p1.imsx_codeminorfield.class
    CFPckgAssociation:
      required:
      - identifier
      - associationType
      - uri
      - originNodeURI
      - destinationNodeURI
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFAssociation. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        sequenceNumber:
          type: integer
          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. '
          format: int32
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.integer.class
        extensions:
          $ref: "#/components/schemas/CFAssociationExtension"
        notes:
          type: string
          description: A new attribute added in Version 1.1. Information about the
            CFAssociation.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        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
          - pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.cfassociationtypeextenum.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        destinationNodeURI:
          $ref: "#/components/schemas/LinkGenURI"
        originNodeURI:
          $ref: "#/components/schemas/LinkGenURI"
        CFAssociationGroupingURI:
          $ref: "#/components/schemas/LinkURI"
        uri:
          type: string
          description: An unambiguous reference to the CFAssociation using a network-resolvable
            URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      description: This is the container for the data about the relationship between
        two CFDocuments or between two CFItems within the context of a CFPackage.
      x-class-pid: org.1edtech.case.v1p1.cfpckgassociation.class
    imsx_StatusInfo:
      required:
      - imsx_codeMajor
      - imsx_severity
      type: object
      properties:
        imsx_codeMinor:
          $ref: "#/components/schemas/imsx_CodeMinor"
        imsx_codeMajor:
          type: string
          description: The code major value (from the corresponding enumerated vocabulary).
            See Appendix B for further information on the interpretation of this set
            of codes.
          enum:
          - success
          - processing
          - failure
          - unsupported
          x-srcprop-pid: org.1edtech.case.v1p1.imsx_codemajorenum.class
        imsx_description:
          type: string
          description: A human readable description supplied by the entity creating
            the status code information.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        imsx_severity:
          type: string
          description: The severity value (from the corresponding enumerated vocabulary).
            See Appendix B for further information on the interpretation of this set
            of codes.
          enum:
          - status
          - warning
          - error
          x-srcprop-pid: org.1edtech.case.v1p1.imsx_severityenum.class
      additionalProperties: false
      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
      x-class-pid: org.1edtech.case.v1p1.imsx_statusinfo.class
    CFItemExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFItem class.
      x-class-pid: org.1edtech.case.v1p1.cfitemextension.class
    CFSubject:
      required:
      - identifier
      - uri
      - title
      - hierarchyCode
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFSubject. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        extensions:
          $ref: "#/components/schemas/CFSubjectExtension"
        hierarchyCode:
          type: string
          description: A human-referenceable code designated by the publisher to identify
            the item in the hierarchy of the subjects.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        description:
          type: string
          description: A human readable description of the CFSubject.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        title:
          type: string
          description: The title of the CFSubject.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: 'An unambiguous reference to the CFSubject using a network-resolvable
            URI. '
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      description: The container for the definition of a topic or academic subject
        which is addressed by the competency framework.
      x-class-pid: org.1edtech.case.v1p1.cfsubject.class
    CFRubricCriterion:
      required:
      - identifier
      - uri
      - lastChangeDateTime
      type: object
      properties:
        CFItemURI:
          $ref: "#/components/schemas/LinkURI"
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFRubricCriterion. This is the primary way in which the exchange\
            \ identification is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        extensions:
          $ref: "#/components/schemas/CFRubricCriterionExtension"
        description:
          type: string
          description: A human readable description of the CFRubricCriterion.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        weight:
          type: number
          description: "A numeric weight assigned to this CFRubricCriterion, used\
            \ for scored rubrics."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.float.class
        rubricId:
          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}"
          type: string
          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.
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        position:
          type: integer
          description: A numeric value representing this criterion's position in the
            criteria list for this CFRubric.
          format: int32
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.integer.class
        CFRubricCriterionLevels:
          minItems: 0
          type: array
          description: The set of CFRubricCriterionLevels that are required to complete
            the definition of the parent CFRubricCriterion.
          items:
            $ref: "#/components/schemas/CFRubricCriterionLevel"
          x-srcprop-pid: org.1edtech.case.v1p1.cfrubriccriterionlevel.class
        category:
          type: string
          description: A textual label for category by which CFRubricCriterion may
            be grouped.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: An unambiguous reference to the CFRubricCriterion using a network-resolvable
            URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      description: The container for the definition of a rubric criterion which is
        addressed by the competency framework.
      x-class-pid: org.1edtech.case.v1p1.cfrubriccriterion.class
    CFDocumentSet:
      required:
      - CFDocuments
      type: object
      properties:
        CFDocuments:
          minItems: 1
          type: array
          description: This is the data for a single CFDocument within the CFDocumentSet
            container.
          items:
            $ref: "#/components/schemas/CFDocument"
          x-srcprop-pid: org.1edtech.case.v1p1.cfdocument.class
      additionalProperties: false
      description: This is the container for a collection of CFDocuments. There must
        be at least one CFDocument.
      x-class-pid: org.1edtech.case.v1p1.cfdocumentset.class
    CFItemTypeExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFItemType
        class.
      x-class-pid: org.1edtech.case.v1p1.cfitemtypeextension.class
    CFLicenseExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFLicense class.
      x-class-pid: org.1edtech.case.v1p1.cflicenseextension.class
    CFRubric:
      required:
      - identifier
      - uri
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFRubric. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        extensions:
          $ref: "#/components/schemas/CFRubricExtension"
        CFRubricCriteria:
          minItems: 0
          type: array
          description: The set of CFRubricCriterion that are required to complete
            the definition of the parent CFRubric.
          items:
            $ref: "#/components/schemas/CFRubricCriterion"
          x-srcprop-pid: org.1edtech.case.v1p1.cfrubriccriterion.class
        description:
          type: string
          description: 'A human readable description of the CFRubric. In Version 1.1
            the data-type for this attribute has been changed from NormalizedString. '
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        title:
          type: string
          description: The title of the CFRubric.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: An unambiguous reference to the CFRubric using a network-resolvable
            URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      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.
      x-class-pid: org.1edtech.case.v1p1.cfrubric.class
    CFConcept:
      required:
      - identifier
      - uri
      - title
      - hierarchyCode
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFConcept. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        extensions:
          $ref: "#/components/schemas/CFConceptExtension"
        keywords:
          type: string
          description: Defined listing of keywords delimited by '|' that the concept
            encompasses.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        hierarchyCode:
          type: string
          description: A human-referenceable code designated by the publisher to identify
            the item in the hierarchy of the Concepts.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        description:
          type: string
          description: A human readable description of the CFConcept.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        title:
          type: string
          description: The title of the CFConcept.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: 'An unambiguous reference to the CFConcept using a network-resolvable
            URI. '
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      description: The container for the definition of a concept which is addressed
        by the competency framework.
      x-class-pid: org.1edtech.case.v1p1.cfconcept.class
    CFRubricCriterionExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFRubricCriterionExtension
        class.
      x-class-pid: org.1edtech.case.v1p1.cfrubriccriterionextension.class
    CFDocumentExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFDocument
        class.
      x-class-pid: org.1edtech.case.v1p1.cfdocumentextension.class
    CFAssociationGrouping:
      required:
      - identifier
      - uri
      - title
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFAssociationGrouping. This is the primary way in which the exchange\
            \ identification is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        extensions:
          $ref: "#/components/schemas/CFAssociationGroupingExtension"
        description:
          type: string
          description: A human readable description of the CFAssociationGrouping.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        title:
          type: string
          description: The title of the CFAssociationGrouping.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: 'An unambiguous reference to the CFAssociationGrouping using
            a network-resolvable URI. '
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      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).
      x-class-pid: org.1edtech.case.v1p1.cfassociationgrouping.class
    CFSubjectExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFSubject class.
      x-class-pid: org.1edtech.case.v1p1.cfsubjectextension.class
    CFConceptSet:
      required:
      - CFConcepts
      type: object
      properties:
        CFConcepts:
          minItems: 1
          type: array
          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.
          items:
            $ref: "#/components/schemas/CFConcept"
          x-srcprop-pid: org.1edtech.case.v1p1.cfconcept.class
      additionalProperties: false
      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.
      x-class-pid: org.1edtech.case.v1p1.cfconceptset.class
    LinkGenURI:
      required:
      - title
      - identifier
      - uri
      type: object
      properties:
        identifier:
          type: string
          description: "An unambiguous, synthetic, globally unique identifier (this\
            \ may or may not be a UUID) for the associated object."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        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
          - pattern: "(ext:)[a-zA-Z0-9\\.\\-_]+"
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.targettypeextenum.class
        title:
          type: string
          description: A human readable title for the associated object.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: A network-resolvable URI pointing to the authoritative reference
            for the associated object.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      description: A container for the information that is used to achieve the link
        data reference.
      x-class-pid: org.1edtech.case.v1p1.linkgenuri.class
    CFDefinition:
      type: object
      properties:
        extensions:
          $ref: "#/components/schemas/CFDefinitionExtension"
        CFSubjects:
          minItems: 0
          type: array
          description: The set of subject definitions.
          items:
            $ref: "#/components/schemas/CFSubject"
          x-srcprop-pid: org.1edtech.case.v1p1.cfsubject.class
        CFConcepts:
          minItems: 0
          type: array
          description: The set of concept definitions.
          items:
            $ref: "#/components/schemas/CFConcept"
          x-srcprop-pid: org.1edtech.case.v1p1.cfconcept.class
        CFItemTypes:
          minItems: 0
          type: array
          description: The set of item type definitions.
          items:
            $ref: "#/components/schemas/CFItemType"
          x-srcprop-pid: org.1edtech.case.v1p1.cfitemtype.class
        CFLicenses:
          minItems: 0
          type: array
          description: The set of license definitions.
          items:
            $ref: "#/components/schemas/CFLicense"
          x-srcprop-pid: org.1edtech.case.v1p1.cflicense.class
        CFAssociationGroupings:
          minItems: 0
          type: array
          description: The set of association grouping definitions.
          items:
            $ref: "#/components/schemas/CFAssociationGrouping"
          x-srcprop-pid: org.1edtech.case.v1p1.cfassociationgrouping.class
      additionalProperties: false
      description: "The container for the set of definitions used for the competency\
        \ framework i.e. the set of CFSubjects, CFConcepts, CFItemTypes, CFAssociationGroupings\
        \ and CFLicenses."
      x-class-pid: org.1edtech.case.v1p1.cfdefinition.class
    CFDefinitionExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFDefinition
        class.
      x-class-pid: org.1edtech.case.v1p1.cfdefinitionextension.class
    LinkURI:
      required:
      - title
      - identifier
      - uri
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier (UUID)\
            \ for the associated object."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        title:
          type: string
          description: A human readable title for the associated object.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: A network-resolvable URI pointing to the authoritative reference
            for the associated object.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      description: A container for the information that is used to achieve the link
        data reference.
      x-class-pid: org.1edtech.case.v1p1.linkuri.class
    imsx_CodeMinor:
      required:
      - imsx_codeMinorField
      type: object
      properties:
        imsx_codeMinorField:
          minItems: 1
          type: array
          description: Each reported code minor status code.
          items:
            $ref: "#/components/schemas/imsx_CodeMinorField"
          x-srcprop-pid: org.1edtech.case.v1p1.imsx_codeminorfield.class
      additionalProperties: false
      description: This is the container for the set of code minor status codes reported
        in the responses from the Service Provider.
      x-class-pid: org.1edtech.case.v1p1.imsx_codeminor.class
    CFDocument:
      required:
      - CFPackageURI
      - identifier
      - uri
      - creator
      - title
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFDocument. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        creator:
          type: string
          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."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        officialSourceURL:
          type: string
          description: The URL link to the formal citation of the original achievement
            standards document created for humans.
          x-srcprop-pid: org.1edtech.case.v1p1.derived.url.class
        adoptionStatus:
          type: string
          description: The publication status of the document.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        notes:
          type: string
          description: Any text used to comment on the published CFDocument.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        licenseURI:
          $ref: "#/components/schemas/LinkURI"
        subject:
          minItems: 0
          type: array
          description: "The topic or academic subject of the Document (this should\
            \ use some appropriate K-12, HE, etc. based vocabulary)."
          items:
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        statusStartDate:
          type: string
          description: The date the CFDocument status started.
          format: date
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.date.class
        frameworkType:
          type: string
          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."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        description:
          type: string
          description: A human readable description of the CFDocument. In Version
            1.1 the data-type has been changed from NormalizedString.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        language:
          type: string
          description: "The default language of the text used for the content in the\
            \ learning standard document (use ISO 639-2 [ISO 639])."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.language.class
        statusEndDate:
          type: string
          description: The date the CFDocument status ended or changed to another
            status.
          format: date
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.date.class
        title:
          type: string
          description: The title of the CFDocument.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: An unambiguous reference to the CFDocument using a network-resolvable
            URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
        version:
          type: string
          description: Defines the revision of the document (the nature of this versioning
            is an implementation issue).
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        subjectURI:
          minItems: 0
          type: array
          description: 'A set of Link URIs denoting the set of subjects for the document
            as designated by the promulgating agency. '
          items:
            $ref: "#/components/schemas/LinkURI"
          x-srcprop-pid: org.1edtech.case.v1p1.linkuri.class
        caseVersion:
          type: string
          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'.
          enum:
          - "1.1"
          x-srcprop-pid: org.1edtech.case.v1p1.caseversionenum.class
        CFPackageURI:
          $ref: "#/components/schemas/LinkURI"
        extensions:
          $ref: "#/components/schemas/CFDocumentExtension"
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        publisher:
          type: string
          description: The entity responsible for making the learning standards document
            available.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
      additionalProperties: false
      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.
      x-class-pid: org.1edtech.case.v1p1.cfdocument.class
    CFAssociationExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFAssociation
        class.
      x-class-pid: org.1edtech.case.v1p1.cfassociationextension.class
    CFLicense:
      required:
      - identifier
      - uri
      - title
      - licenseText
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFLicense. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        extensions:
          $ref: "#/components/schemas/CFLicenseExtension"
        licenseText:
          type: string
          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."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        description:
          type: string
          description: A human readable description of the CFLicense.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        title:
          type: string
          description: The title of the CFLicense.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        uri:
          type: string
          description: 'An unambiguous reference to the CFLicense using a network-resolvable
            URI. '
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
      additionalProperties: false
      description: The container for the information about a license used within the
        competency framework.
      x-class-pid: org.1edtech.case.v1p1.cflicense.class
    CFPackage:
      required:
      - CFDocument
      type: object
      properties:
        CFItems:
          minItems: 0
          type: array
          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.
          items:
            $ref: "#/components/schemas/CFPckgItem"
          x-srcprop-pid: org.1edtech.case.v1p1.cfpckgitem.class
        extensions:
          $ref: "#/components/schemas/CFPackageExtension"
        CFDocument:
          $ref: "#/components/schemas/CFPckgDocument"
        CFAssociations:
          minItems: 0
          type: array
          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."
          items:
            $ref: "#/components/schemas/CFPckgAssociation"
          x-srcprop-pid: org.1edtech.case.v1p1.cfpckgassociation.class
        CFDefinitions:
          $ref: "#/components/schemas/CFDefinition"
        CFRubrics:
          minItems: 0
          type: array
          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. '
          items:
            $ref: "#/components/schemas/CFRubric"
          x-srcprop-pid: org.1edtech.case.v1p1.cfrubric.class
      additionalProperties: false
      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."
      x-class-pid: org.1edtech.case.v1p1.cfpackage.class
    CFSubjectSet:
      required:
      - CFSubjects
      type: object
      properties:
        CFSubjects:
          minItems: 1
          type: array
          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.
          items:
            $ref: "#/components/schemas/CFSubject"
          x-srcprop-pid: org.1edtech.case.v1p1.cfsubject.class
      additionalProperties: false
      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.
      x-class-pid: org.1edtech.case.v1p1.cfsubjectset.class
    CFConceptExtension:
      type: object
      properties: {}
      additionalProperties: true
      description: The container for the proprietary extensions to the CFConcept class.
      x-class-pid: org.1edtech.case.v1p1.cfconceptextension.class
    CFPckgItem:
      required:
      - identifier
      - fullStatement
      - uri
      - lastChangeDateTime
      type: object
      properties:
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFItem. This is the primary way in which the exchange identification\
            \ is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        listEnumeration:
          type: string
          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.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        notes:
          type: string
          description: Information about the derivation of a CFItem statement.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        licenseURI:
          $ref: "#/components/schemas/LinkURI"
        fullStatement:
          type: string
          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.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        conceptKeywordsURI:
          $ref: "#/components/schemas/LinkURI"
        subject:
          minItems: 0
          type: array
          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)."
          items:
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        statusStartDate:
          type: string
          description: The date the CFItem status started.
          format: date
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.date.class
        CFItemTypeURI:
          $ref: "#/components/schemas/LinkURI"
        alternativeLabel:
          type: string
          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.  "
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        CFItemType:
          type: string
          description: The textual label identifying the class of the statement as
            designated by the promulgating body.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        language:
          type: string
          description: "The default language of the text used for the content in the\
            \ learning standard document (use ISO 639-2 [ISO 639])."
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.language.class
        statusEndDate:
          type: string
          description: The date the CFItem status ended or changed to another status.
          format: date
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.date.class
        uri:
          type: string
          description: An unambiguous reference to the CFItem using a network-resolvable
            URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
        subjectURI:
          minItems: 0
          type: array
          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.
          items:
            $ref: "#/components/schemas/LinkURI"
          x-srcprop-pid: org.1edtech.case.v1p1.linkuri.class
        extensions:
          $ref: "#/components/schemas/CFItemExtension"
        educationLevel:
          minItems: 0
          type: array
          description: "The education level, grade level or primary instructional\
            \ level at which a CFItem is intended"
          items:
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        conceptKeywords:
          minItems: 0
          type: array
          description: The significant topicality of the CFItem using free-text keywords
            and phrases.
          items:
            type: string
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        humanCodingScheme:
          type: string
          description: A human-referenceable code designated by the publisher to identify
            the item among learning standard items.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
        abbreviatedStatement:
          type: string
          description: An abbreviated version of the Full Statement.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
      additionalProperties: false
      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. '
      x-class-pid: org.1edtech.case.v1p1.cfpckgitem.class
    CFRubricCriterionLevel:
      required:
      - identifier
      - uri
      - lastChangeDateTime
      type: object
      properties:
        feedback:
          type: string
          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.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        identifier:
          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}"
          type: string
          description: "An unambiguous, synthetic, globally unique identifier for\
            \ the CFRubricCriterionLevel. This is the primary way in which the exchange\
            \ identification is achieved."
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        score:
          type: number
          description: The points awarded for achieving this level.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.float.class
        extensions:
          minItems: 0
          type: array
          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.
          items:
            $ref: "#/components/schemas/CFRubricCriterionLevelExtension"
          x-srcprop-pid: org.1edtech.case.v1p1.cfrubriccriterionlevelextension.class
        description:
          type: string
          description: A human readable description of the CFRubricCriterionLevel.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.string.class
        lastChangeDateTime:
          type: string
          description: "A system generated timestamp of the most recent change to\
            \ this record. This conforms to ISO 8601 dateTime definition [ISO 8601]."
          format: date-time
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.datetime.class
        position:
          type: integer
          description: A numeric value representing the level's position in the list
            of levels defined for the CFRubricCriterion.
          format: int32
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.integer.class
        rubricCriterionId:
          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}"
          type: string
          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.
          format: uuid
          x-srcprop-pid: org.1edtech.case.v1p1.derived.uuid.class
        uri:
          type: string
          description: An unambiguous reference to the CFRubricCriterionLevel using
            a network-resolvable URI.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.anyuri.class
        quality:
          type: string
          description: A qualitative description of this degree of achievement used
            for column headers or row labels in tabular rubrics.
          x-srcprop-pid: org.1edtech.case.v1p1.primitive.normalizedstring.class
      additionalProperties: false
      description: The container for the definition of a criterion level which is
        addressed by the competency framework.
      x-class-pid: org.1edtech.case.v1p1.cfrubriccriterionlevel.class
  parameters:
    filter:
      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
      allowEmptyValue: false
      style: form
      schema:
        type: string
    offset:
      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
      allowEmptyValue: false
      style: form
      schema:
        minimum: 0
        type: integer
        format: int32
    limit:
      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
      allowEmptyValue: false
      style: form
      schema:
        minimum: 1
        type: integer
        format: int32
    orderBy:
      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
      allowEmptyValue: false
      style: form
      schema:
        type: string
        description: The permitted set of values for the 'orderBy' query parameter.
        enum:
        - asc
        - desc
    sort:
      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
      allowEmptyValue: false
      style: form
      schema:
        type: string
    fields:
      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
      allowEmptyValue: false
      style: form
      schema:
        type: string

JSON Schema Listings

JSON Schemas for Payload Validation

CFAssociation

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFAssociation",
  "title" : "JSON Schema for the CFAssociation class.",
  "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" : {
    "CFDocumentURI" : {
      "$ref" : "#/$defs/LinkURI"
    },
    "identifier" : {
      "description" : "An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
      "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
      "type" : "string",
      "format" : "uuid"
    },
    "associationType" : {
      "description" : "The type of association. This uses an extensible enumerated vocabulary. Changed in CASE 1.1.",
      "$comment" : "Origin: CFAssociationTypeExtEnum (Union); The data-type for the 'associationType' attribute for the CFPckgAssociation. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention. Changed in CASE 1.1.",
      "oneOf" : [ {
        "type" : "string",
        "enum" : [ "isChildOf", "isPeerOf", "isPartOf", "exactMatchOf", "precedes", "isRelatedTo", "replacedBy", "exemplar", "hasSkillLevel", "isTranslationOf" ]
      }, {
        "type" : "string",
        "pattern" : "(ext:)[a-z|A-Z|0-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. ",
      "$comment" : "Origin: Integer (PrimitiveType)",
      "type" : "integer"
    },
    "uri" : {
      "description" : "An unambiguous reference to the CFAssociation using a network-resolvable URI.",
      "$comment" : "Origin: AnyURI (PrimitiveType)",
      "type" : "string"
    },
    "originNodeURI" : {
      "$ref" : "#/$defs/LinkGenURI"
    },
    "destinationNodeURI" : {
      "$ref" : "#/$defs/LinkGenURI"
    },
    "CFAssociationGroupingURI" : {
      "$ref" : "#/$defs/LinkURI"
    },
    "lastChangeDateTime" : {
      "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
      "$comment" : "Origin: DateTime (PrimitiveType)",
      "type" : "string",
      "format" : "date-time"
    },
    "notes" : {
      "description" : "A new attribute added in Version 1.1. Information about the CFAssociation.",
      "$comment" : "Origin: String (PrimitiveType)",
      "type" : "string"
    },
    "extensions" : {
      "$ref" : "#/$defs/CFAssociationExtension"
    }
  },
  "required" : [ "identifier", "associationType", "uri", "originNodeURI", "destinationNodeURI", "lastChangeDateTime" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFAssociationExtension" : {
      "description" : "The container for the proprietary extensions to the CFAssociation class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "LinkURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "LinkGenURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "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.",
          "$comment" : "Origin: TargetTypeExtEnum (Union); The data-type for the 'targetType' attribute for a generic Link URI. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.",
          "oneOf" : [ {
            "type" : "string",
            "enum" : [ "CASE" ]
          }, {
            "type" : "string",
            "pattern" : "(ext:)[a-z|A-Z|0-9|.|-|_]+"
          } ]
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    }
  }
}

CFAssociationGrouping

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFAssociationGrouping",
  "title" : "JSON Schema for the CFAssociationGrouping class.",
  "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" : "An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.",
      "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
      "type" : "string",
      "format" : "uuid"
    },
    "uri" : {
      "description" : "An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. ",
      "$comment" : "Origin: AnyURI (PrimitiveType)",
      "type" : "string"
    },
    "title" : {
      "description" : "The title of the CFAssociationGrouping.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "description" : {
      "description" : "A human readable description of the CFAssociationGrouping.",
      "$comment" : "Origin: String (PrimitiveType)",
      "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].",
      "$comment" : "Origin: DateTime (PrimitiveType)",
      "type" : "string",
      "format" : "date-time"
    },
    "extensions" : {
      "$ref" : "#/$defs/CFAssociationGroupingExtension"
    }
  },
  "required" : [ "identifier", "uri", "title", "lastChangeDateTime" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFAssociationGroupingExtension" : {
      "description" : "The container for the proprietary extensions to the CFAssociationGrouping class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFAssociationSet

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFAssociationSet",
  "title" : "JSON Schema for the CFAssociationSet class.",
  "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" : "#/$defs/CFItem"
    },
    "CFAssociations" : {
      "type" : "array",
      "minItems" : 1,
      "items" : {
        "$ref" : "#/$defs/CFPckgAssociation"
      }
    }
  },
  "required" : [ "CFItem", "CFAssociations" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFPckgAssociation" : {
      "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" : "An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "associationType" : {
          "description" : "The type of association. This uses an extensible enumerated vocabulary. Changed in CASE 1.1.",
          "$comment" : "Origin: CFAssociationTypeExtEnum (Union); The data-type for the 'associationType' attribute for the CFPckgAssociation. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention. Changed in CASE 1.1.",
          "oneOf" : [ {
            "type" : "string",
            "enum" : [ "isChildOf", "isPeerOf", "isPartOf", "exactMatchOf", "precedes", "isRelatedTo", "replacedBy", "exemplar", "hasSkillLevel", "isTranslationOf" ]
          }, {
            "type" : "string",
            "pattern" : "(ext:)[a-z|A-Z|0-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. ",
          "$comment" : "Origin: Integer (PrimitiveType)",
          "type" : "integer"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFAssociation using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "originNodeURI" : {
          "$ref" : "#/$defs/LinkGenURI"
        },
        "destinationNodeURI" : {
          "$ref" : "#/$defs/LinkGenURI"
        },
        "CFAssociationGroupingURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "lastChangeDateTime" : {
          "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "notes" : {
          "description" : "A new attribute added in Version 1.1. Information about the CFAssociation.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFAssociationExtension"
        }
      },
      "required" : [ "identifier", "associationType", "uri", "originNodeURI", "destinationNodeURI", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFAssociationExtension" : {
      "description" : "The container for the proprietary extensions to the CFAssociation class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "LinkURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "CFItem" : {
      "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" : {
        "CFDocumentURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "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.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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.  ",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "CFItemType" : {
          "description" : "The textual label identifying the class of the statement as designated by the promulgating body.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFItem using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "humanCodingScheme" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item among learning standard items.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "abbreviatedStatement" : {
          "description" : "An abbreviated version of the Full Statement.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "conceptKeywords" : {
          "type" : "array",
          "items" : {
            "description" : "The significant topicality of the CFItem using free-text keywords and phrases.",
            "$comment" : "Origin: NormalizedString (PrimitiveType)",
            "type" : "string"
          }
        },
        "conceptKeywordsURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "notes" : {
          "description" : "Information about the derivation of a CFItem statement.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "subject" : {
          "type" : "array",
          "items" : {
            "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).",
            "$comment" : "Origin: NormalizedString (PrimitiveType)",
            "type" : "string"
          }
        },
        "subjectURI" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/LinkURI"
          }
        },
        "language" : {
          "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
          "$comment" : "Origin: Language (PrimitiveType)",
          "type" : "string"
        },
        "educationLevel" : {
          "type" : "array",
          "items" : {
            "description" : "The education level, grade level or primary instructional level at which a CFItem is intended",
            "$comment" : "Origin: NormalizedString (PrimitiveType)",
            "type" : "string"
          }
        },
        "CFItemTypeURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "licenseURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "statusStartDate" : {
          "description" : "The date the CFItem status started.",
          "$comment" : "Origin: Date (PrimitiveType)",
          "type" : "string",
          "format" : "date"
        },
        "statusEndDate" : {
          "description" : "The date the CFItem status ended or changed to another status.",
          "$comment" : "Origin: Date (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFItemExtension"
        }
      },
      "required" : [ "CFDocumentURI", "identifier", "fullStatement", "uri", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "LinkGenURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "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.",
          "$comment" : "Origin: TargetTypeExtEnum (Union); The data-type for the 'targetType' attribute for a generic Link URI. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.",
          "oneOf" : [ {
            "type" : "string",
            "enum" : [ "CASE" ]
          }, {
            "type" : "string",
            "pattern" : "(ext:)[a-z|A-Z|0-9|.|-|_]+"
          } ]
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "CFItemExtension" : {
      "description" : "The container for the proprietary extensions to the CFItem class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFConceptSet

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFConceptSet",
  "title" : "JSON Schema for the CFConceptSet class.",
  "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" : {
      "type" : "array",
      "minItems" : 1,
      "items" : {
        "$ref" : "#/$defs/CFConcept"
      }
    }
  },
  "required" : [ "CFConcepts" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFConcept" : {
      "description" : "The container for the definition of a concept which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFConcept using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFConcept.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "keywords" : {
          "description" : "Defined listing of keywords delimited by '|' that the concept encompasses.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "hierarchyCode" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFConcept.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFConceptExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "hierarchyCode", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFConceptExtension" : {
      "description" : "The container for the proprietary extensions to the CFConcept class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFDocument

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFDocument",
  "title" : "JSON Schema for the CFDocument class.",
  "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" : {
    "CFPackageURI" : {
      "$ref" : "#/$defs/LinkURI"
    },
    "identifier" : {
      "description" : "An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
      "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
      "type" : "string",
      "format" : "uuid"
    },
    "uri" : {
      "description" : "An unambiguous reference to the CFDocument using a network-resolvable URI.",
      "$comment" : "Origin: AnyURI (PrimitiveType)",
      "type" : "string"
    },
    "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.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "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'.",
      "$comment" : "Origin: CaseVersionEnum (Enumeration); The set of values permitted to denote which version of the CASE specification is used to validate the content. ",
      "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.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "title" : {
      "description" : "The title of the CFDocument.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "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].",
      "$comment" : "Origin: DateTime (PrimitiveType)",
      "type" : "string",
      "format" : "date-time"
    },
    "officialSourceURL" : {
      "description" : "The URL link to the formal citation of the original achievement standards document created for humans.",
      "$comment" : "Origin: URL (DerivedType); The data-type for establishing a Uniform Resource Locator (URL) as defined by W3C.",
      "type" : "string"
    },
    "publisher" : {
      "description" : "The entity responsible for making the learning standards document available.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "description" : {
      "description" : "A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
      "$comment" : "Origin: String (PrimitiveType)",
      "type" : "string"
    },
    "subject" : {
      "type" : "array",
      "items" : {
        "description" : "The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
        "$comment" : "Origin: NormalizedString (PrimitiveType)",
        "type" : "string"
      }
    },
    "subjectURI" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/LinkURI"
      }
    },
    "language" : {
      "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
      "$comment" : "Origin: Language (PrimitiveType)",
      "type" : "string"
    },
    "version" : {
      "description" : "Defines the revision of the document (the nature of this versioning is an implementation issue).",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "adoptionStatus" : {
      "description" : "The publication status of the document.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "statusStartDate" : {
      "description" : "The date the CFDocument status started.",
      "$comment" : "Origin: Date (PrimitiveType)",
      "type" : "string",
      "format" : "date"
    },
    "statusEndDate" : {
      "description" : "The date the CFDocument status ended or changed to another status.",
      "$comment" : "Origin: Date (PrimitiveType)",
      "type" : "string",
      "format" : "date"
    },
    "licenseURI" : {
      "$ref" : "#/$defs/LinkURI"
    },
    "notes" : {
      "description" : "Any text used to comment on the published CFDocument.",
      "$comment" : "Origin: String (PrimitiveType)",
      "type" : "string"
    },
    "extensions" : {
      "$ref" : "#/$defs/CFDocumentExtension"
    }
  },
  "required" : [ "CFPackageURI", "identifier", "uri", "creator", "title", "lastChangeDateTime" ],
  "additionalProperties" : false,
  "$defs" : {
    "LinkURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "CFDocumentExtension" : {
      "description" : "The container for the proprietary extensions to the CFDocument class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFDocumentSet

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFDocumentSet",
  "title" : "JSON Schema for the CFDocumentSet class.",
  "description" : "This is the container for a collection of CFDocuments. There must be at least one CFDocument.",
  "type" : "object",
  "properties" : {
    "CFDocuments" : {
      "type" : "array",
      "minItems" : 1,
      "items" : {
        "$ref" : "#/$defs/CFDocument"
      }
    }
  },
  "required" : [ "CFDocuments" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFDocument" : {
      "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" : {
        "CFPackageURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFDocument using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "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.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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'.",
          "$comment" : "Origin: CaseVersionEnum (Enumeration); The set of values permitted to denote which version of the CASE specification is used to validate the content. ",
          "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.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFDocument.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "officialSourceURL" : {
          "description" : "The URL link to the formal citation of the original achievement standards document created for humans.",
          "$comment" : "Origin: URL (DerivedType); The data-type for establishing a Uniform Resource Locator (URL) as defined by W3C.",
          "type" : "string"
        },
        "publisher" : {
          "description" : "The entity responsible for making the learning standards document available.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "subject" : {
          "type" : "array",
          "items" : {
            "description" : "The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
            "$comment" : "Origin: NormalizedString (PrimitiveType)",
            "type" : "string"
          }
        },
        "subjectURI" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/LinkURI"
          }
        },
        "language" : {
          "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
          "$comment" : "Origin: Language (PrimitiveType)",
          "type" : "string"
        },
        "version" : {
          "description" : "Defines the revision of the document (the nature of this versioning is an implementation issue).",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "adoptionStatus" : {
          "description" : "The publication status of the document.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "statusStartDate" : {
          "description" : "The date the CFDocument status started.",
          "$comment" : "Origin: Date (PrimitiveType)",
          "type" : "string",
          "format" : "date"
        },
        "statusEndDate" : {
          "description" : "The date the CFDocument status ended or changed to another status.",
          "$comment" : "Origin: Date (PrimitiveType)",
          "type" : "string",
          "format" : "date"
        },
        "licenseURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "notes" : {
          "description" : "Any text used to comment on the published CFDocument.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFDocumentExtension"
        }
      },
      "required" : [ "CFPackageURI", "identifier", "uri", "creator", "title", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "LinkURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "CFDocumentExtension" : {
      "description" : "The container for the proprietary extensions to the CFDocument class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFItem

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFItem",
  "title" : "JSON Schema for the CFItem class.",
  "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" : {
    "CFDocumentURI" : {
      "$ref" : "#/$defs/LinkURI"
    },
    "identifier" : {
      "description" : "An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
      "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
      "type" : "string",
      "format" : "uuid"
    },
    "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.",
      "$comment" : "Origin: String (PrimitiveType)",
      "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.  ",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "CFItemType" : {
      "description" : "The textual label identifying the class of the statement as designated by the promulgating body.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "uri" : {
      "description" : "An unambiguous reference to the CFItem using a network-resolvable URI.",
      "$comment" : "Origin: AnyURI (PrimitiveType)",
      "type" : "string"
    },
    "humanCodingScheme" : {
      "description" : "A human-referenceable code designated by the publisher to identify the item among learning standard items.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "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.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "abbreviatedStatement" : {
      "description" : "An abbreviated version of the Full Statement.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "conceptKeywords" : {
      "type" : "array",
      "items" : {
        "description" : "The significant topicality of the CFItem using free-text keywords and phrases.",
        "$comment" : "Origin: NormalizedString (PrimitiveType)",
        "type" : "string"
      }
    },
    "conceptKeywordsURI" : {
      "$ref" : "#/$defs/LinkURI"
    },
    "notes" : {
      "description" : "Information about the derivation of a CFItem statement.",
      "$comment" : "Origin: String (PrimitiveType)",
      "type" : "string"
    },
    "subject" : {
      "type" : "array",
      "items" : {
        "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).",
        "$comment" : "Origin: NormalizedString (PrimitiveType)",
        "type" : "string"
      }
    },
    "subjectURI" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/LinkURI"
      }
    },
    "language" : {
      "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
      "$comment" : "Origin: Language (PrimitiveType)",
      "type" : "string"
    },
    "educationLevel" : {
      "type" : "array",
      "items" : {
        "description" : "The education level, grade level or primary instructional level at which a CFItem is intended",
        "$comment" : "Origin: NormalizedString (PrimitiveType)",
        "type" : "string"
      }
    },
    "CFItemTypeURI" : {
      "$ref" : "#/$defs/LinkURI"
    },
    "licenseURI" : {
      "$ref" : "#/$defs/LinkURI"
    },
    "statusStartDate" : {
      "description" : "The date the CFItem status started.",
      "$comment" : "Origin: Date (PrimitiveType)",
      "type" : "string",
      "format" : "date"
    },
    "statusEndDate" : {
      "description" : "The date the CFItem status ended or changed to another status.",
      "$comment" : "Origin: Date (PrimitiveType)",
      "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].",
      "$comment" : "Origin: DateTime (PrimitiveType)",
      "type" : "string",
      "format" : "date-time"
    },
    "extensions" : {
      "$ref" : "#/$defs/CFItemExtension"
    }
  },
  "required" : [ "CFDocumentURI", "identifier", "fullStatement", "uri", "lastChangeDateTime" ],
  "additionalProperties" : false,
  "$defs" : {
    "LinkURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "CFItemExtension" : {
      "description" : "The container for the proprietary extensions to the CFItem class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFItemTypeSet

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFItemTypeSet",
  "title" : "JSON Schema for the CFItemTypeSet class.",
  "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" : {
      "type" : "array",
      "minItems" : 1,
      "items" : {
        "$ref" : "#/$defs/CFItemType"
      }
    }
  },
  "required" : [ "CFItemTypes" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFItemType" : {
      "description" : "The container for the ItemType information use within the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFItemType using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFItemType.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFItemType.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "hierarchyCode" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "typeCode" : {
          "description" : "Text code used for type identification.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFItemTypeExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "description", "hierarchyCode", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFItemTypeExtension" : {
      "description" : "The container for the proprietary extensions to the CFItemType class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFLicense

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFLicense",
  "title" : "JSON Schema for the CFLicense class.",
  "description" : "The container for the information about a license used within the competency framework.",
  "type" : "object",
  "properties" : {
    "identifier" : {
      "description" : "An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.",
      "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
      "type" : "string",
      "format" : "uuid"
    },
    "uri" : {
      "description" : "An unambiguous reference to the CFLicense using a network-resolvable URI. ",
      "$comment" : "Origin: AnyURI (PrimitiveType)",
      "type" : "string"
    },
    "title" : {
      "description" : "The title of the CFLicense.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "type" : "string"
    },
    "description" : {
      "description" : "A human readable description of the CFLicense.",
      "$comment" : "Origin: String (PrimitiveType)",
      "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.",
      "$comment" : "Origin: String (PrimitiveType)",
      "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].",
      "$comment" : "Origin: DateTime (PrimitiveType)",
      "type" : "string",
      "format" : "date-time"
    },
    "extensions" : {
      "$ref" : "#/$defs/CFLicenseExtension"
    }
  },
  "required" : [ "identifier", "uri", "title", "licenseText", "lastChangeDateTime" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFLicenseExtension" : {
      "description" : "The container for the proprietary extensions to the CFLicense class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFPackage

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFPackage",
  "title" : "JSON Schema for the CFPackage class.",
  "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" : "#/$defs/CFPckgDocument"
    },
    "CFItems" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/CFPckgItem"
      }
    },
    "CFAssociations" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/CFPckgAssociation"
      }
    },
    "CFDefinitions" : {
      "$ref" : "#/$defs/CFDefinition"
    },
    "CFRubrics" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/CFRubric"
      }
    },
    "extensions" : {
      "$ref" : "#/$defs/CFPackageExtension"
    }
  },
  "required" : [ "CFDocument" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFRubric" : {
      "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" : "An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFRubric using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFRubric.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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. ",
          "$comment" : "Origin: String (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "CFRubricCriteria" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFRubricCriterion"
          }
        },
        "extensions" : {
          "$ref" : "#/$defs/CFRubricExtension"
        }
      },
      "required" : [ "identifier", "uri", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFPckgItem" : {
      "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" : "An unambiguous, synthetic, globally unique identifier for the CFItem. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "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.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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.  ",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "CFItemType" : {
          "description" : "The textual label identifying the class of the statement as designated by the promulgating body.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFItem using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "humanCodingScheme" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item among learning standard items.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "abbreviatedStatement" : {
          "description" : "An abbreviated version of the Full Statement.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "conceptKeywords" : {
          "type" : "array",
          "items" : {
            "description" : "The significant topicality of the CFItem using free-text keywords and phrases.",
            "$comment" : "Origin: NormalizedString (PrimitiveType)",
            "type" : "string"
          }
        },
        "conceptKeywordsURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "notes" : {
          "description" : "Information about the derivation of a CFItem statement.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "subject" : {
          "type" : "array",
          "items" : {
            "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).",
            "$comment" : "Origin: NormalizedString (PrimitiveType)",
            "type" : "string"
          }
        },
        "subjectURI" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/LinkURI"
          }
        },
        "language" : {
          "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
          "$comment" : "Origin: Language (PrimitiveType)",
          "type" : "string"
        },
        "educationLevel" : {
          "type" : "array",
          "items" : {
            "description" : "The education level, grade level or primary instructional level at which a CFItem is intended",
            "$comment" : "Origin: NormalizedString (PrimitiveType)",
            "type" : "string"
          }
        },
        "CFItemTypeURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "licenseURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "statusStartDate" : {
          "description" : "The date the CFItem status started.",
          "$comment" : "Origin: Date (PrimitiveType)",
          "type" : "string",
          "format" : "date"
        },
        "statusEndDate" : {
          "description" : "The date the CFItem status ended or changed to another status.",
          "$comment" : "Origin: Date (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFItemExtension"
        }
      },
      "required" : [ "identifier", "fullStatement", "uri", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFRubricExtension" : {
      "description" : "The container for the proprietary extensions to the CFRubric class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFRubricCriterion" : {
      "description" : "The container for the definition of a rubric criterion which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "category" : {
          "description" : "A textual label for category by which CFRubricCriterion may be grouped.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFRubricCriterion.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "CFItemURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "weight" : {
          "description" : "A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.",
          "$comment" : "Origin: Float (PrimitiveType)",
          "type" : "number"
        },
        "position" : {
          "description" : "A numeric value representing this criterion's position in the criteria list for this CFRubric.",
          "$comment" : "Origin: Integer (PrimitiveType)",
          "type" : "integer"
        },
        "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.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "lastChangeDateTime" : {
          "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "CFRubricCriterionLevels" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFRubricCriterionLevel"
          }
        },
        "extensions" : {
          "$ref" : "#/$defs/CFRubricCriterionExtension"
        }
      },
      "required" : [ "identifier", "uri", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFRubricCriterionLevel" : {
      "description" : "The container for the definition of a criterion level which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFRubricCriterionLevel.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "quality" : {
          "description" : "A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "score" : {
          "description" : "The points awarded for achieving this level.",
          "$comment" : "Origin: Float (PrimitiveType)",
          "type" : "number"
        },
        "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.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "position" : {
          "description" : "A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.",
          "$comment" : "Origin: Integer (PrimitiveType)",
          "type" : "integer"
        },
        "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.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "lastChangeDateTime" : {
          "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFRubricCriterionLevelExtension"
          }
        }
      },
      "required" : [ "identifier", "uri", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFPackageExtension" : {
      "description" : "The container for the proprietary extensions to the CFPackage class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFRubricCriterionExtension" : {
      "description" : "The container for the proprietary extensions to the CFRubricCriterionExtension class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFPckgDocument" : {
      "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" : "An unambiguous, synthetic, globally unique identifier for the CFDocument. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFDocument using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "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.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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'.",
          "$comment" : "Origin: CaseVersionEnum (Enumeration); The set of values permitted to denote which version of the CASE specification is used to validate the content. ",
          "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.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFDocument.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "officialSourceURL" : {
          "description" : "The URL link to the formal citation of the original achievement standards document created for humans.",
          "$comment" : "Origin: URL (DerivedType); The data-type for establishing a Uniform Resource Locator (URL) as defined by W3C.",
          "type" : "string"
        },
        "publisher" : {
          "description" : "The entity responsible for making the learning standards document available.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFDocument. In Version 1.1 the data-type has been changed from NormalizedString.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "subject" : {
          "type" : "array",
          "items" : {
            "description" : "The topic or academic subject of the Document (this should use some appropriate K-12, HE, etc. based vocabulary).",
            "$comment" : "Origin: NormalizedString (PrimitiveType)",
            "type" : "string"
          }
        },
        "subjectURI" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/LinkURI"
          }
        },
        "language" : {
          "description" : "The default language of the text used for the content in the learning standard document (use ISO 639-2 [ISO 639]).",
          "$comment" : "Origin: Language (PrimitiveType)",
          "type" : "string"
        },
        "version" : {
          "description" : "Defines the revision of the document (the nature of this versioning is an implementation issue).",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "adoptionStatus" : {
          "description" : "The publication status of the document.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "statusStartDate" : {
          "description" : "The date the CFDocument status started.",
          "$comment" : "Origin: Date (PrimitiveType)",
          "type" : "string",
          "format" : "date"
        },
        "statusEndDate" : {
          "description" : "The date the CFDocument status ended or changed to another status.",
          "$comment" : "Origin: Date (PrimitiveType)",
          "type" : "string",
          "format" : "date"
        },
        "licenseURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "notes" : {
          "description" : "Any text used to comment on the published CFDocument.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFDocumentExtension"
        }
      },
      "required" : [ "identifier", "uri", "creator", "title", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFPckgAssociation" : {
      "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" : "An unambiguous, synthetic, globally unique identifier for the CFAssociation. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "associationType" : {
          "description" : "The type of association. This uses an extensible enumerated vocabulary. Changed in CASE 1.1.",
          "$comment" : "Origin: CFAssociationTypeExtEnum (Union); The data-type for the 'associationType' attribute for the CFPckgAssociation. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention. Changed in CASE 1.1.",
          "oneOf" : [ {
            "type" : "string",
            "enum" : [ "isChildOf", "isPeerOf", "isPartOf", "exactMatchOf", "precedes", "isRelatedTo", "replacedBy", "exemplar", "hasSkillLevel", "isTranslationOf" ]
          }, {
            "type" : "string",
            "pattern" : "(ext:)[a-z|A-Z|0-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. ",
          "$comment" : "Origin: Integer (PrimitiveType)",
          "type" : "integer"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFAssociation using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "originNodeURI" : {
          "$ref" : "#/$defs/LinkGenURI"
        },
        "destinationNodeURI" : {
          "$ref" : "#/$defs/LinkGenURI"
        },
        "CFAssociationGroupingURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "lastChangeDateTime" : {
          "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "notes" : {
          "description" : "A new attribute added in Version 1.1. Information about the CFAssociation.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFAssociationExtension"
        }
      },
      "required" : [ "identifier", "associationType", "uri", "originNodeURI", "destinationNodeURI", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFDefinition" : {
      "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" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFConcept"
          }
        },
        "CFSubjects" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFSubject"
          }
        },
        "CFLicenses" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFLicense"
          }
        },
        "CFItemTypes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFItemType"
          }
        },
        "CFAssociationGroupings" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFAssociationGrouping"
          }
        },
        "extensions" : {
          "$ref" : "#/$defs/CFDefinitionExtension"
        }
      },
      "required" : [ ],
      "additionalProperties" : false
    },
    "CFDefinitionExtension" : {
      "description" : "The container for the proprietary extensions to the CFDefinition class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFLicense" : {
      "description" : "The container for the information about a license used within the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFLicense. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFLicense using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFLicense.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFLicense.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFLicenseExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "licenseText", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFLicenseExtension" : {
      "description" : "The container for the proprietary extensions to the CFLicense class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "LinkURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "LinkGenURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (this may or may not be a UUID) for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "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.",
          "$comment" : "Origin: TargetTypeExtEnum (Union); The data-type for the 'targetType' attribute for a generic Link URI. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.",
          "oneOf" : [ {
            "type" : "string",
            "enum" : [ "CASE" ]
          }, {
            "type" : "string",
            "pattern" : "(ext:)[a-z|A-Z|0-9|.|-|_]+"
          } ]
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "CFDocumentExtension" : {
      "description" : "The container for the proprietary extensions to the CFDocument class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFItemType" : {
      "description" : "The container for the ItemType information use within the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFItemType. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFItemType using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFItemType.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFItemType.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "hierarchyCode" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "typeCode" : {
          "description" : "Text code used for type identification.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFItemTypeExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "description", "hierarchyCode", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFItemExtension" : {
      "description" : "The container for the proprietary extensions to the CFItem class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFRubricCriterionLevelExtension" : {
      "description" : "The container for the proprietary extensions to the CFRubricCriterionLevel class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFAssociationGrouping" : {
      "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" : "An unambiguous, synthetic, globally unique identifier for the CFAssociationGrouping. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFAssociationGrouping using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFAssociationGrouping.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFAssociationGrouping.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFAssociationGroupingExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFAssociationGroupingExtension" : {
      "description" : "The container for the proprietary extensions to the CFAssociationGrouping class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFSubject" : {
      "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFSubject using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFSubject.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "hierarchyCode" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFSubject.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFSubjectExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "hierarchyCode", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFSubjectExtension" : {
      "description" : "The container for the proprietary extensions to the CFSubject class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFAssociationExtension" : {
      "description" : "The container for the proprietary extensions to the CFAssociation class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFConcept" : {
      "description" : "The container for the definition of a concept which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFConcept. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFConcept using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFConcept.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "keywords" : {
          "description" : "Defined listing of keywords delimited by '|' that the concept encompasses.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "hierarchyCode" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of the Concepts.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFConcept.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFConceptExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "hierarchyCode", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFItemTypeExtension" : {
      "description" : "The container for the proprietary extensions to the CFItemType class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFConceptExtension" : {
      "description" : "The container for the proprietary extensions to the CFConcept class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFRubric

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFRubric",
  "title" : "JSON Schema for the CFRubric class.",
  "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" : "An unambiguous, synthetic, globally unique identifier for the CFRubric. This is the primary way in which the exchange identification is achieved.",
      "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
      "type" : "string",
      "format" : "uuid"
    },
    "uri" : {
      "description" : "An unambiguous reference to the CFRubric using a network-resolvable URI.",
      "$comment" : "Origin: AnyURI (PrimitiveType)",
      "type" : "string"
    },
    "title" : {
      "description" : "The title of the CFRubric.",
      "$comment" : "Origin: NormalizedString (PrimitiveType)",
      "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. ",
      "$comment" : "Origin: String (PrimitiveType)",
      "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].",
      "$comment" : "Origin: DateTime (PrimitiveType)",
      "type" : "string",
      "format" : "date-time"
    },
    "CFRubricCriteria" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/CFRubricCriterion"
      }
    },
    "extensions" : {
      "$ref" : "#/$defs/CFRubricExtension"
    }
  },
  "required" : [ "identifier", "uri", "lastChangeDateTime" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFRubricExtension" : {
      "description" : "The container for the proprietary extensions to the CFRubric class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "CFRubricCriterion" : {
      "description" : "The container for the definition of a rubric criterion which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFRubricCriterion. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFRubricCriterion using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "category" : {
          "description" : "A textual label for category by which CFRubricCriterion may be grouped.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFRubricCriterion.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "CFItemURI" : {
          "$ref" : "#/$defs/LinkURI"
        },
        "weight" : {
          "description" : "A numeric weight assigned to this CFRubricCriterion, used for scored rubrics.",
          "$comment" : "Origin: Float (PrimitiveType)",
          "type" : "number"
        },
        "position" : {
          "description" : "A numeric value representing this criterion's position in the criteria list for this CFRubric.",
          "$comment" : "Origin: Integer (PrimitiveType)",
          "type" : "integer"
        },
        "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.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "lastChangeDateTime" : {
          "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "CFRubricCriterionLevels" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFRubricCriterionLevel"
          }
        },
        "extensions" : {
          "$ref" : "#/$defs/CFRubricCriterionExtension"
        }
      },
      "required" : [ "identifier", "uri", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFRubricCriterionLevel" : {
      "description" : "The container for the definition of a criterion level which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFRubricCriterionLevel. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFRubricCriterionLevel using a network-resolvable URI.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFRubricCriterionLevel.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "quality" : {
          "description" : "A qualitative description of this degree of achievement used for column headers or row labels in tabular rubrics.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "score" : {
          "description" : "The points awarded for achieving this level.",
          "$comment" : "Origin: Float (PrimitiveType)",
          "type" : "number"
        },
        "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.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "position" : {
          "description" : "A numeric value representing the level's position in the list of levels defined for the CFRubricCriterion.",
          "$comment" : "Origin: Integer (PrimitiveType)",
          "type" : "integer"
        },
        "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.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "lastChangeDateTime" : {
          "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/CFRubricCriterionLevelExtension"
          }
        }
      },
      "required" : [ "identifier", "uri", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFRubricCriterionExtension" : {
      "description" : "The container for the proprietary extensions to the CFRubricCriterionExtension class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    },
    "LinkURI" : {
      "description" : "A container for the information that is used to achieve the link data reference.",
      "type" : "object",
      "properties" : {
        "title" : {
          "description" : "A human readable title for the associated object.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier (UUID) for the associated object.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "A network-resolvable URI pointing to the authoritative reference for the associated object.",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        }
      },
      "required" : [ "title", "identifier", "uri" ],
      "additionalProperties" : false
    },
    "CFRubricCriterionLevelExtension" : {
      "description" : "The container for the proprietary extensions to the CFRubricCriterionLevel class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

CFSubjectSet

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "CFSubjectSet",
  "title" : "JSON Schema for the CFSubjectSet class.",
  "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" : {
      "type" : "array",
      "minItems" : 1,
      "items" : {
        "$ref" : "#/$defs/CFSubject"
      }
    }
  },
  "required" : [ "CFSubjects" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFSubject" : {
      "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFSubject using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFSubject.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "hierarchyCode" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFSubject.",
          "$comment" : "Origin: String (PrimitiveType)",
          "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].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFSubjectExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "hierarchyCode", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFSubjectExtension" : {
      "description" : "The container for the proprietary extensions to the CFSubject class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}

NonNegativeInteger

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "NonNegativeInteger",
  "title" : "JSON Schema for the NonNegativeInteger class.",
  "description" : "No description supplied.",
  "type" : "object",
  "properties" : { },
  "required" : [ ],
  "additionalProperties" : false
}

OrderByEnum

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "OrderByEnum",
  "title" : "JSON Schema for the OrderByEnum class.",
  "description" : "The permitted set of values for the 'orderBy' query parameter.",
  "type" : "object",
  "properties" : {
    "asc" : {
      "description" : "No description supplied.",
      "$comment" : "Origin: String (PrimitiveType)",
      "type" : "string"
    },
    "desc" : {
      "description" : "No description supplied.",
      "$comment" : "Origin: String (PrimitiveType)",
      "type" : "string"
    }
  },
  "required" : [ ],
  "additionalProperties" : false
}

PositiveInteger

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "PositiveInteger",
  "title" : "JSON Schema for the PositiveInteger class.",
  "description" : "No description supplied.",
  "type" : "object",
  "properties" : { },
  "required" : [ ],
  "additionalProperties" : false
}

String

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "String",
  "title" : "JSON Schema for the String class.",
  "description" : "No description supplied.",
  "type" : "object",
  "properties" : { },
  "required" : [ ],
  "additionalProperties" : false
}

UUID

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "UUID",
  "title" : "JSON Schema for the UUID class.",
  "description" : "The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
  "type" : "object",
  "properties" : {
    "pattern" : {
      "description" : "Defines the regular expression that imposes the form of  UUID.",
      "$comment" : "Origin: String (PrimitiveType)",
      "type" : "string"
    }
  },
  "required" : [ "pattern" ],
  "additionalProperties" : false
}

imsx_StatusInfo

{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "imsx_StatusInfo",
  "title" : "JSON Schema for the imsx_StatusInfo class.",
  "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.",
      "$comment" : "Origin: imsx_CodeMajorEnum (Enumeration); This is the set of primary status report values i.e. the major code assigned to the status block. This is used in conjunction with the 'Severity' structure in the status object. See <a href=\"#AppB\">Appendix B</a> for further information on the interpretation of this set of codes.",
      "type" : "string",
      "enum" : [ "success", "processing", "failure", "unsupported" ]
    },
    "imsx_severity" : {
      "description" : "The severity value (from the corresponding enumerated vocabulary). See Appendix B for further information on the interpretation of this set of codes.",
      "$comment" : "Origin: imsx_SeverityEnum (Enumeration); This is the context for the status report values. This is used in conjunction with the 'CodeMajor' structure in the status object. See <a href=\"#AppB\">Appendix B</a> for further information on the interpretation of this set of codes.",
      "type" : "string",
      "enum" : [ "status", "warning", "error" ]
    },
    "imsx_description" : {
      "description" : "A human readable description supplied by the entity creating the status code information.",
      "$comment" : "Origin: String (PrimitiveType)",
      "type" : "string"
    },
    "imsx_codeMinor" : {
      "$ref" : "#/$defs/imsx_CodeMinor"
    }
  },
  "required" : [ "imsx_codeMajor", "imsx_severity" ],
  "additionalProperties" : false,
  "$defs" : {
    "imsx_CodeMinor" : {
      "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" : {
          "type" : "array",
          "minItems" : 1,
          "items" : {
            "$ref" : "#/$defs/imsx_CodeMinorField"
          }
        }
      },
      "required" : [ "imsx_codeMinorField" ],
      "additionalProperties" : false
    },
    "imsx_CodeMinorField" : {
      "description" : "This is the container for a single code minor status code.",
      "type" : "object",
      "properties" : {
        "imsx_codeMinorFieldName" : {
          "description" : "This should contain the identity of the system that has produced the code minor status code report.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "imsx_codeMinorFieldValue" : {
          "description" : "The code minor status code (this is a value from the corresponding enumerated vocabulary).",
          "$comment" : "Origin: imsx_CodeMinorValueEnum (Enumeration); This is the set of codeMinor status codes that are used to provide further insight into the completion status of the end-to-end transaction i.e. this should be used to provide more information than would be supplied be a HTTP code. See <a href=\"#AppB\">Appendix B</a> for further information on the interpretation of this set of codes.",
          "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" ],
      "additionalProperties" : false
    }
  }
}

IP Disclosures

The following participating organizations have made explicit license commitments to this specification:

Organization 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)

List of Contributors

The following individuals contributed to the development of this document:

Name Affiliation Role
Colin Smythe 1EdTech Consortium (USA)
Bob Grogan Elumen (USA)
Jared Booth HMH (USA)
Robert Pangborn IBM (USA)
Chris Houston 1EdTech Consortium (USA)
Jamey Hynds Katy ISD (USA)
Joseph Chapman D2L (Canada)
Joel Hernandez Elumen (USA)
Raymond Baranoski Safari Montage (USA)
Mark Leuba 1EdTech Consortium (USA)
Bob Schloss IBM (USA)
Davant Stewart Houston ISD (USA)
Diana Bidulescu Houston ISD (USA)
Clyde Boyer Trinity Education Group (USA)
Christine Case Trinity Education Group (USA)
Stewart Sutton Dublin Core (USA)
Marcia van Oplo Kennisnet (Netherlands)
Michele Wagner Baltimore County Public Schools (USA)
Jennifer Whiting Florida Virtual School (USA)
Avi Yashchin IBM (USA)
McCall Smith Instructure (USA)
Jennifer Reichlin Pearson (USA)
Deb Everhart Learning Objects (USA)
David Gappa Safari Montage (USA)
Jeramy Gatza Florida Virtual School (USA)
Jeroen Hamers Kennisnet (Netherlands)
Brian Kubota Pearson (USA)
Lisa Mattson 1EdTech Consortium (USA)
David Mayes Gwinnett County Schools (USA)
Andy Kuritizky HMH (USA)
Henk Nijstad Kennisnet (Netherlands)
Hugh Norwood Trinity Education Group (USA)
Steve Polyak ACT (USA)
Brandt Redd Smarter Balance (USA)
Pepper Williams Common Good Learning Tools (USA)
Susan Haught 1EdTech Consortium (USA)
Viktor Haag Desire2Learn (Canada)
Angela Ingram GaDOE (USA)
Heather Carle Territorium (USA)
Brian Wales SAFARI Montage (USA)
Luke Zenger Infinite Campus (USA)
Scott Murray PowerSchool (USA)
Ben Herndon PowerSchool (USA)
Christian Clark Southern New Hampshire University (USA)
Catherine London Southern New Hampshire University (USA)
Carrie Vail PowerSchool (USA)
Kristen Morton PowerSchool (USA)
Darcy Wither Desire2Learn (Canada)
Diego del Blanco Unicon, Inc. (USA)
Davonne Eldridge North Dakota Information Technology Deparment (USA)
Emma Lee University of Montana (USA)
Joshua Heyman Southern New Hampshire Universtiy (USA)
Joe Green Territoruim (USA)
Christophe Konstantinos TAO Testing (USA)
Keith Osburn Georgia Department of Education (USA)
Lori Griffin SAFARI Montage (USA)
Lisa Keeter Kentucky Department of Education (USA
Monica Dalvi Amplify (USA)
Michael Moore Desire2Learn (Canada)
Paul Katula Maryland Department of Education (USA)
Radian Baskoro PowerSchool (USA)
Shana Rafalaski SAFARI Montage (USA)
Steve Buettner Edina Public Schools (USA)
Tracy Korsmo North Dakota Department of Public Instruction (USA)
Wendy Stephens South Carolina Department of Education (USA)
Taryn Sullivan Google (USA)

Changelog

Changelog entries are not listed yet.

Revision History

VersionDoc VersionDateComments
Final Release2017-07-07The original Final Release. This declares the standard ready for public adoption.
Final Release2025-01-24This 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.