Info | ||
---|---|---|
| ||
This Admin API design document is in draft status and evolving as informed by the Ed-Fi community. Please use the Comments section below for any feedback into the design of Admin API. |
...
API Endpoint | Supported Operations | Function | Request Payload | Response Content |
---|---|---|---|---|
/identity/oauth/token | POST | Login to retrieve a token for authorized Admin API usage. | { "client_id": "string", "client_secret": "string", "grant_type": "client_credentials", "scope": "string" } | POST: 201 (Created) { "access_token": "string", "expires_in": 3600, "token_type": "Bearer", "scope": "string" } ALL: 401 (Unauthorized), 500 (System Error) |
/identity/client | POST | Create a new identity for Admin API usage. | POST: 201 (Created) ALL: 401 (Unauthorized), 500 (System Error) | |
/admin/vendors | GET | Retrieve listing of existing vendors | N/A | GET: 200 (OK) |
POST | Add a new vendor. | { "company": "string", "namespacePrefixes": "string", "contactName": "string", "contactEmailAddress": "string" } | POST: 201 (Created) { "vendorId": 0 "company": "string", "namespacePrefixes": "string", "contactName": "string", "contactEmailAddress": "string" } Header: Location attribute: address to retrieve the created object | |
/admin/vendors/{id} | GET | Retrieve detail information for an existing vendor | N/A | GET: 204 (OK) |
PUT | Update vendor information | { "company": "string", "namespacePrefixes": "string", "contactName": "string", "contactEmailAddress": "string" } | PUT: 204 (No Content / Updated), 404 (Not Found) | |
DELETE | Delete a vendor | N/A | DELETE: 200 (OK), 404 (Not Found) | |
/admin/claimsets | GET | Returns list of valid claimsets available in the system (needed for defining applications) | N/A | GET: 200 (OK) |
/admin/applications | GET | Retrieve listing of existing applications | N/A | GET: 200 (OK) ALL: 401 (Unauthorized), 500 (System Error) |
POST | Create a new application. | { "applicationName": "string", "vendorId": 0, "claimSetName": "string", "profileId": 0, "educationOrganizationIds": [0,] } | POST: 201 (Created) { "applicationId": 0, "applicationName": "string", "vendorId": 0, "claimSetName": "string", "profileId": 0, "educationOrganizationIds": [0,] } Header: Location attribute: address to retrieve the created object | |
/admin/applications/{id} | GET | Retrieve detail information for an existing application. | N/A | GET: 200 (OK) |
PUT | Update application information. | { "applicationName": "string", "vendorId": 0, "claimSetName": "string", "profileId": 0, "educationOrganizationIds": [0,] } | PUT: 204 (No Content / Updated), 404 (Not Found) | |
DELETE | Delete an existing application. | N/A | DELETE: 200 (OK), 404 (Not Found) | |
/admin/applications/{id}/reset-credential | PUT | Reset application credential | N/A | 200 OK (Application ID, Key, Secret, API Url) |
...
API Endpoint | Supported Operations | Function | Request Payload | Response Content |
---|---|---|---|---|
/admin/instances | GET | List registered instances | N/A | |
POST | Register a new instance | |||
/admin/instances/{id} | GET | Details of an individual instance | N/A | |
PUT | Update info for an existing instance | |||
DELETE | Remove an existing instance | N/A | DELETE: 200 (OK), 404 (Not Found) |
...
Below is a listing of deliverable details, such as planned roadmap dates, summary of release functionality and links to releases in TechDocs. Release links will expand with tickets and information as design and development of the project continues.
Version | Roadmap Date | Summary of Functionality | Release Link |
---|---|---|---|
Admin App 1.0 |
|
| https://tracker.ed-fi.org/projects/AA/versions/14714 |
Admin App 1.1 |
|
| https://tracker.ed-fi.org/projects/AA/versions/14802 |
Admin App 1.2+ | TBD | TBD based on additional field requirements as identified |
Open Questions
Below are open questions as related to the design of the Admin API from the development team and Ed-Fi community. If you have additional needs, questions or other items not addressed in this document, please comment below add it to the list.
a.) What response data is needed back from the Admin API? Common patterns? Response codes?
b.) Does this cover MSP, State and Collaborative needs for automated management? What else is needed (into new tickets)?