Knowledge Management System REST APIs

In summer 2024, Indiana University will retire the Knowledge Management System (KMS) and move the IU Knowledge Base to the ServiceNow Knowledge platform. For more, see About the IU Knowledge Base transition to ServiceNow Knowledge. If you have questions or would like to have a conversation about the migration, contact the Knowledge Management team at

On this page:


The IU Knowledge Management System serves documents via two RESTful APIs, which let users search for and retrieve KMS documents.

The KMS standard API allows access to any authorized content, including restricted content; documents can also be customized for specific audiences by the KM team. The standard API uses Basic Authentication (BasicAuth) and requires a user account provisioned in the KMS.

The KMS public API allows access only to public KMS documents (that is, documents visible in the IU Knowledge Base to any unauthenticated user), without customization. It is an open API, and requires no authentication or coordination with the KM team.

Comparison of standard and public APIs

The standard API is intended for server-side applications, where BasicAuth credentials can be safely managed; the public API is ideal for client-side applications, but is useful wherever public KB content is needed.

Standard API Public API
Authorization BasicAuth none
Content All provisioned audiences Public content only
Document format JSON or XHTML JSON
Search type Full-text (Solr) Keyterms (semantic)
Caching via Document UUID ETag or Last-Modified
Other features Sitemap Document fragments
UITS Knowledge Management maintains all content in the KMS, and also manages the user accounts for the standard API. Because of this, the team can anticipate the needs and potential effects on these users when content changes.

However, if you use the public API, you may not be warned in advance when documents are modified, archived, or removed. This is especially true when applications access specific documents, rather than retrieve documents by semantic keyterms.

Standard API

Request an account

To request a KMSREST account for your service, contact; specify a group email address that will be responsible for the REST account. After reviewing your needs, KMS admins will create your account

For details, see About KMS REST user accounts.


See KMSREST standard API.

Code samples

Some sample code examples are available on the IU enterprise GitHub:

Public API

See KMSREST public API.

Related documents

This is document rest in the Knowledge Base.
Last modified on 2023-09-20 10:02:22.