Introduction to the Admin API

Introduction 

This knowledge base article attempts to provide a detailed overview for the Ed-Fi Admin Application Programming Interface, commonly referred to as Admin API. 

This article assumes prerequisite knowledge from: 

If you have not already completed these courses, we recommend doing so before attempting to digest the information presented in this article. 

Overview of Admin API 

Admin API is an administrative application that manages Ed-Fi ODS/API admin and security (e.g. ClaimSets) metadata.  It has a programmatic interface, aligned with the Ed-Fi API, so it is meant for scripting, dev-ops or integration with portals and other administrative interfaces.  

What to Use Admin API For 

Admin API is used to administrate essential data for the Ed-Fi ODS/API.  It can manage applications, claim sets, ODS instance metadata, profiles, vendors and other system-level data to enable Ed-FI ODS/API operation. 

When to Use (and Not Use) Admin API 

Admin API is targeted for use by state agencies, collaboratives and managed service providers of multi-instance implementations. 

This product should not be confused with its predecessor, Admin App. Admin App was mostly targeted for use at the district-level operations for individual districts or implementations.  It offered a user interface designed for IT administrators at schools and/or districts. 

How to Use Admin API 

Deployment 

You can find detailed instructions for installation here: Admin API Installation

Registration  

After completing installation, complete the first-time configuration steps outlined here: First Time Configuration for Admin API 2.x  

Example Use Cases 

Admin API does not have a user interface therefore Postman, Swagger, scripts or other administrative applications must be used to leverage it. The following examples will include example Python scripts to demonstrate common tasks. 

Ed-Fi ODS Instances Management 

We’ll start with creating an Ed-Fi ODS instance since an instance is required for application creation. Instances can be created with "v2/odsInstances" POST endpoint. 

Example Python code here

Vendor Administration 

While vendor information is not ODS instance specific, the vendor is required for application creation too. Vendors can be created with "v2/vendors" POST endpoint. 

Example Python code here

Application Administration 

With an ODS instance id and vendor id, an application can now be created with "v2/applications" POST endpoint. 

Example Python code here

Claim Set Administration 

Custom claim sets can be created and managed using "ClaimSets" endpoints. 

Example Python code here

Common Response Codes 

The following API responses are common between endpoints. 

Response Code 

Description 

Valid for Verbs 

Notes 

200 SUCCESS 

Request was successful 

ALL 

 

201 CREATED 

Resource was created successfully 

POST 

Response will also include a location  header which directs to the new resource 

400 BAD REQUEST 

Invalid request payload - See errors for details 

POST, PUT 

 

401 UNAUTHORIZED 

Missing or invalid authentication token 

ALL 

 

403 FORBIDDEN 

Authentication token is valid, but resource is outside of authenticated scope 

ALL 

 

404 NOT FOUND 

Resource with given id not found 

ALL 

 

500 INTERNAL SERVER ERROR 

Unexpected error on the system - See error for details 

ALL 

 

Useful Links 

Here are a few other useful links to continue your learning: