# Systems Interoperability Framework™
SIF Infrastructure Specification 3.5

## September 21, 2022

This version:
  http://specification.sifassociation.org/Implementation/Infrastructure/3.5/
Previous version:
  http://specification.sifassociation.org/Implementation/Infrastructure/3.4/
Latest version:
  http://specification.sifassociation.org/Implementation/Infrastructure/
API Documentation
  Infrastructure Services
XSD Schemas
  Schema_NoIncludes_Strict (single file, non-annotated) (ZIP archive)
  Schema_NoIncludes_Annotated_Strict (single file, annotated) (ZIP archive)
  Schema_Strict (includes, non-annotated) (ZIP archive)
  Schema_Annotated_Strict (includes, annotated) (ZIP archive)
JSON Support
  Conversion Scripts
  OpenAPI & JSON Schemas Files Archive
  PESC Compliant JSON

This document is also available in these non-normative formats: ZIP archive, PDF (for printing as a single file), Excel spreadsheet.

Copyright ©2022 Systems Interoperability Framework (SIF™) Association. All Rights Reserved.

# 1 Preamble

## 1.1 Abstract

### 1.1.1 What is SIF?

SIF is not a product, but a technical blueprint for enabling diverse applications to interact and share data related to entities in the pK-12 instructional and administrative environment. SIF is designed to:

- Facilitate data sharing and reporting between applications without incurring expensive customer development costs;
- Enhance product functionality efficiently; and
- Provide best-of-breed solutions to customers easily and seamlessly.

The SIF Implementation Specification defines common data formats and rules of interaction and architecture, and is made up of two parts:

- 1. The SIF Infrastructure Implementation Specification which defines the rules of interaction and messages framework, and;
- 2. The SIF Data Model Implementation Specification which is an XML-based data model, (with support for JSON translation), that models entities in the learning environment as SIF Data Objects to be shared between applications.

SIF Infrastructure defines;

- a secure REST-based transport protocol for defining both direct and brokered connections between software applications (which can act as REST servers or clients)
- a set of services to enable interactions between REST servers and clients, including creating environments, other administrative task, synchronous exchanges of data, and asynchronous message queues
- an abstract, platform-independent definition of the API between one software application and another or a broker.

- A SIF Environment is a distributed system that consists of one or more software applications with a SIF Adapter (a SIF-enabled application) sharing/reporting one or more SIF data objects over a network; it may also involve middleware (a message broker). A SIF Implementation consists of one or more SIF Environments deployed and configured to meet customer data sharing and reporting needs.
- The SIF Implementation Specification defines architecture requirements and communication protocols for software components and the interfaces between them; it makes no assumption of specific hardware or software products needed to develop SIF-enabled applications and/or middleware implementations, other than their ability to support technologies leveraged as the foundation for SIF, most prominently XML and HTTP(S) and including JSON and REST.

### 1.1.2 SIF Association

The Schools Interoperability Framework Association (SIF Association); also known as; the Systems Interoperability Framework Association outside North America, doing business as Access 4 Learning (A4L) Community, is an industry initiative to enable interoperability and data sharing between software applications in the pK-12 instructional and administrative environment, and the forum for companies and educators to participate in the development of SIF specifications in the SIF Association's working groups and task forces. The SIF Association is designed to:

- Join industry leaders in creating the next-generation framework for education technology; and
- Leverage co-marketing opportunities with partners and distributors.

## 1.2 Disclaimer

The information, software, products, and services included in the SIF Implementation Specification may include inaccuracies or typographical errors. Changes are periodically added to the information herein. The SIF Association may make improvements and/or changes in this document at any time without notification. Information contained in this document should not be relied upon for personal, medical, legal, or financial decisions. Appropriate professionals should be consulted for advice tailored to specific situations.

THE SIF ASSOCIATION, ITS PARTICIPANT(S), AND THIRD PARTY CONTENT PROVIDERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, TIMELINESS, AND ACCURACY OF THE INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS CONTAINED IN THIS DOCUMENT FOR ANY PURPOSE. ALL SUCH INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE SIF ASSOCIATION AND/OR ITS PARTICIPANT(S) HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.

IN NO EVENT SHALL THE SIF ASSOCIATION, ITS PARTICIPANT(S), OR THIRD PARTY CONTENT PROVIDERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA, OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OR PERFORMANCE OF THIS DOCUMENT, WITH THE DELAY OR INABILITY TO USE THE DOCUMENT, THE PROVISION OF OR FAILURE TO PROVIDE SERVICES, OR FOR ANY INFORMATION, SOFTWARE, PRODUCTS, SERVICES AND RELATED GRAPHICS OBTAINED THROUGH THIS DOCUMENT OR OTHERWISE ARISING OUT OF THE USE OF THIS DOCUMENT, WHETHER BASED ON CONTRACT, TORT, STRICT LIABILITY, OR OTHERWISE, EVEN IF THE SIF ASSOCIATION, ITS PARTICIPANT(S), OR THIRD PARTY CONTENT PROVIDERS HAVE BEEN ADVISED OF THE POSSIBILITY OF DAMAGES. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU. IF YOU ARE DISSATISFIED WITH ANY PORTION OF THIS DOCUMENT OR WITH ANY OF THESE TERMS OF USE, YOUR SOLE AND EXCLUSIVE REMEDY IS TO DISCONTINUE USING THIS DOCUMENT.

This specification is released with the following provisos to developers and educators.

## 1.3 Certification and Compliance Claims

Though a product may be demonstrated to comply with this specification, no product may be designated as SIF Certified™ by an organization or individual until the product has been tested against and passed established compliance criteria, published separately [SIFCertification]. Organizations and individuals that are currently paying annual membership dues to the SIF Association and dedicating resources to the initiative may also use the designation SIF Participant to describe their involvement with the SIF Association and SIF in marketing, public relations and other materials.

## 1.4 Permissions and Copyright

Copyright© SIF Association (2011-2022). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the SIF Association, or its committees, except as needed for the purpose of developing SIF standards using procedures approved by the SIF Association, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the SIF Association or its successors or assigns.

# Quick Table of Contents

## 1 Preamble

## 2 Introduction

## 3 Infrastructure

## A Common Types

## B Code Sets

## C External Code Sets

## D Background/Supplementary Documentation (non-normative)

## E Index of Tables

## F Index of Examples

## G Index of Figures

## H Index of Objects

## I Index of Common Types

## J Index of Elements

## K Index of Attributes

## L References

# Full Table of Contents

## 1 Preamble

### 1.1 Abstract

#### 1.1.1 What is SIF?

#### 1.1.2 SIF Association

### 1.2 Disclaimer

### 1.3 Certification and Compliance Claims

### 1.4 Permissions and Copyright

## 2 Introduction

### 2.1 Specification Organization

### 2.2 Document Conventions

#### 2.2.1 Definitions

#### 2.2.2 Structure and Values

#### 2.2.3 Examples

#### 2.2.4 References

#### 2.2.5 Terminology

#### 2.2.6 XML Diagrams

### 2.3 Version Numbers

### 2.4 Highlighted Additions/Changes

## 3 Infrastructure

### 3.1 Introduction

#### 3.1.1 Format

#### 3.1.2 Conventions

##### 3.1.2.1 Object Attributes/Primary Keys

##### 3.1.2.2 Externally-Defined XML

##### 3.1.2.3 Payload Validation

###### 3.1.2.3.1 Create

###### 3.1.2.3.2 Update

### 3.2 Privacy Services

#### 3.2.1 pod

### 3.3 Request

#### 3.3.1 deleteRequest

### 3.4 Response

#### 3.4.1 adminDirective

#### 3.4.2 createResponse

#### 3.4.3 deleteResponse

#### 3.4.4 error

#### 3.4.5 updateResponse

### 3.5 SIF Infrastructure Services

#### 3.5.1 environment

#### 3.5.2 job

#### 3.5.3 provisionRequest

#### 3.5.4 queue

#### 3.5.5 state

#### 3.5.6 subscription

### 3.6 Utility Services

#### 3.6.1 alert

#### 3.6.2 codeSet

#### 3.6.3 namespace

#### 3.6.4 provider

#### 3.6.5 xquery

#### 3.6.6 zone

## A Common Types

### A.1 adapterFingerprintListType

### A.2 aliasesType

### A.3 aliasType

### A.4 alternatePurposeListType

### A.5 appIDListType

### A.6 applicationInfoType

### A.7 benchmarkListType

### A.8 benchmarkType

### A.9 clauseListType

### A.10 clauseType

### A.11 codeItemsType

### A.12 codeItemType

### A.13 codeType

### A.14 conditionListType

### A.15 conditionType

### A.16 contractType

### A.17 countryImpactedListType

### A.18 countryImpactedType

### A.19 createsType

### A.20 createType

### A.21 dataAccessType

### A.22 dataControllerType

### A.23 dataDeletionType

### A.24 dataProcessorType

### A.25 dataSubjectType

### A.26 dataSubProcessorListType

### A.27 dataSubProcessorType

### A.28 defaultZoneType

### A.29 DefinedProtocolsType

### A.30 deidentifiedPurposeListType

### A.31 deleteIdCollectionType

### A.32 deleteIdType

### A.33 deleteStatusCollectionType

### A.34 deleteStatusType

### A.35 employeeTrainingListType

### A.36 employeeTrainingType

### A.37 endpointListType

### A.38 endpointType

### A.39 enumerationsType

### A.40 enumerationType

### A.41 environmentTypeType

### A.42 ExtendedContentType

### A.43 fieldListType

### A.44 fieldType

### A.45 gCoreAddressListType

### A.46 gCoreAddressType

### A.47 gCoreContactInfoType

### A.48 gCoreContactListType

### A.49 gCoreCountryType

### A.50 gCoreEmailListType

### A.51 gCoreEmailType

### A.52 gCoreGenderType

### A.53 gCoreLocalIdType

### A.54 gCoreNameType

### A.55 gCorePhoneNumberListType

### A.56 gCorePhoneNumberType

### A.57 gCoreStateProvinceIdType

### A.58 gCoreStateProvinceType

### A.59 infrastructureServiceNamesType

### A.60 infrastructureServicesType

### A.61 infrastructureServiceType

### A.62 initializationType

### A.63 jobStateType

### A.64 lawListType

### A.65 lawType

### A.66 legalRequirementsType

### A.67 mediaTypesType

### A.68 messageTypeType

### A.69 methodParametersType

### A.70 methodParameterType

### A.71 obligationListType

### A.72 obligationType

### A.73 operationsType

### A.74 operationType

### A.75 parametersType

### A.76 parameterType

### A.77 partyToDeleteDataType

### A.78 passwordEmployeeAccessStandardType

### A.79 phaseCollectionType

### A.80 phaseStateType

### A.81 phaseType

### A.82 privacyListType

### A.83 privacyObligationsDocumentType

### A.84 privacyType

### A.85 productIdentityType

### A.86 propertiesType

### A.87 propertyNVListType

### A.88 propertyNVType

### A.89 propertyType

### A.90 protocolType

### A.91 provisionedZonesType

### A.92 provisionedZoneType

### A.93 purposeListType

### A.94 querySupportType

### A.95 rangeType

### A.96 requestTypeValueType

### A.97 rightsType

### A.98 rightType

### A.99 rightValueType

### A.100 securityTechnologyListType

### A.101 securityTechnologyType

### A.102 securityTestRequiredListType

### A.103 securityTestRequiredType

### A.104 SelectedContentType

### A.105 servicesType

### A.106 serviceSubTypeType

### A.107 serviceType

### A.108 serviceTypeType

### A.109 supportedRequestsType

### A.110 supportedRequestType

### A.111 technicalRequirementsType

### A.112 updatesType

### A.113 updateType

### A.114 uriType

### A.115 uuidType

### A.116 versionType

### A.117 zoneContextListType

### A.118 zoneContextType

## B Code Sets

### IN Code Sets

## C External Code Sets

### International Standards Organization (ISO)

## D Background/Supplementary Documentation (non-normative)

## E Index of Tables

## F Index of Examples

## G Index of Figures

## H Index of Objects

## I Index of Common Types

## J Index of Elements

## K Index of Attributes

## L References