NOTE: Dev protected to ODS Tools & Ed-Fi All Hands while in 2.x draft status
Below are the endpoints and their request and response objects for v2.0 of the Ed-Fi ODS / API Admin API.Admin API endpoints documentation is found on GitHub and available in links below:
Version | GitHub URL |
---|---|
Admin API 2.2.0 | https://github.com/Ed-Fi-Alliance-OSS/AdminAPI-2.x/tree/main/docs/api-specifications |
For the most accurate and detailed documentation of active endpoints in a version, configure and launch your application with SwaggerEnabled : true
(this is not recommended in production).
All functional endpoints require authentication to access. See Securing Admin API for details.
Endpoint URLs and Schemas
Table of Contents |
---|
Actions
title | Click to view /actions endpoints |
---|
v2/actions
GET
Retrieves all actions
[
{
"id": 0
"name": "string"
"uri": "string"
}
]
AuthStrategies
title | Click to view /auth strategies endpoints |
---|
v2/authStrategies
GET
Retrieves all auth strategies
[
{
"authStrategyId": 0
"authStrategyName": "string"
"displayName": "string"
}
]
title | Click to view /applications endpoints |
---|
v2/applications/
Retrieves all applications
[
{
"id": 0,
"applicationName": "string",
"vendorId": 0,
"claimSetName": "string",
"profileIds": [],
"educationOrganizationIds": [],
"odsInstanceId": 0
}
]
v2/applications/{id}
Retrieves a specific application by id
{
"id": 0,
"applicationName": "string",
"vendorId": 0,
"claimSetName": "string",
"profileIds": [],
"educationOrganizationIds": [],
"odsInstanceId": 0
}
v2/applications/
Creates a new application
{
"applicationName": "string",
"vendorId": 0,
"claimSetName": "string",
"profileIds": [ 0 ],
"educationOrganizationIds": [ 0 ],
"odsInstanceId": 0
}
{
"id": 0,
"key": "string",
"secret": "string"
}
v2/applications/{id}
Updates a specific application by id
{
"id": 0,
"applicationName": "string",
"vendorId": 0,
"claimSetName": "string",
"profileIds": [ 0 ],
"educationOrganizationIds": [ 0 ],
"odsInstanceId": 0
}
HTTP response as documented below
v2/applications/{id}
Deletes an application by id
HTTP response as documented below
v2/applications/{id}/reset-credential
id
{
"id": 0,
"key": "string",
"secret": "string"
}
ClaimSets
title | Click to view /claimsets endpoints |
---|
Note: Property names start with _ represents read-only properties.
Endpoint
HTTP Verb
Description
Request Schema
Response Schema (Success)
v2/claimSets
GET
Retrieves all claimsets
-
[
{
"id": 0,
"name": "string",
"_isSystemReserved": true,
"_applications": []
}
]
v2/claimSets
POST
Creates a new claimset.
{ "name": "string"}
"id": 0,
"name": "string",
"_isSystemReserved": false,
"_applications": []
}
v2/claimSets/{id}
GET
Retrieves a specific claimset by id
-
{ "id": 0, "name": "string", "_isSystemReserved": false, "_applications": [], "resourceClaims": [ {
"id": "string",
"name": "string", "read": true, "create": true, "update": true, "delete": true, "_defaultAuthStrategiesForCRUD": [ {
"actionName": string, "authStrategies": [], "isInheritedFromParent": true } ], "authStrategyOverridesForCRUD": [ {
"actionName": string,
"authStrategies": [],
"isInheritedFromParent": true } ], "children": [ "list of resource claims" ] } ] }
v2/claimSets/{id}
PUT
{
"id": 0,
"name": "string"
}
HTTP response as documented below
v2/claimSets/{id}
id
v2/claimSets/{claimSetId}/resourceClaimActions
resouceclaimId is required fields.
{
"resouceclaimId" : 0,
"resourceClaimActions":
{
"read": true,
"create": true,
"update": true,
"delete": true
}
}
HTTP response as documented below
resourceClaimActions/{resourceClaimid}
PUT
Updates the resourceclaimActions to a specific resource claim on a claimset. At least one action should be enabled (read, create, update, delete).
{
"resourceClaimActions":
{
"read": true,
"create": true,
"update": true,
"delete": true
}
}
HTTP response as documented below
{resourceClaimId}/overrideAuthStrategy
POST
Override the default authorization strategies on provided resource claim for a specific action.
ex: actionName = read, authstrategyName=Ownershipbased
{
"actionName": string,
"authstrategyName: string
}
HTTP response as documented below
{resourceClaimId}/resetAuthStrategies
POST
Reset to default authorization strategies on provided resource claim.
-
v2/claimSets/{claimSetId}/
resourceClaimActions/{resourceClaimId}
DELETE
Deletes a resource claims association from a claim set
-
v2/claimSets/copy
POST
Copy the existing claimset and create new.
{
"originalId": 0,
"name": "string"
}
v2/claimSets/import
Import new claimset
{ "name": "string", "resourceClaims": [ { "name": "string", "read": true, "create": true, "update": true, "delete": true, "authStrategyOverridesForCRUD": [ {
"actionName": string, "authStrategies": [] } ], "children": [ "list of resource claims" ] } ] }
OdsInstances
title | Click to view /odsInstances endpoints |
---|
v2/odsInstances
GET
Retrieves all ODS Instances
[
{
"id": 0
"name": "string"
"instanceType": "string"
}
]
Retrieves a specific ODS instance by id
{
"id": 0
"name": "string"
"instanceType": "string"
}
Creates a new ODS instance.
Note: Will validate the connection string to be proper format.
All the fields are required.
{
"name": "string"
"instanceType": "string",
"connectionString": "string"
}
Updates a specific ODS instance by id.
Note: Will validate the connection string to be proper format.
On update the connection string is optional.
If user is not intending to update the connection string value as part of update, then empty value will be passed. So that the existing connection string will be retained as plain text or encrypted value.
"name": "string"
"instanceType": "string",
"connectionString": "string"
}
Deletes an ODS instance by id
Retrieves list of applications assigned to a specific ODS instance.
{
"id": 0,
"applicationName": "string",
"vendorId": 0,
"claimSetName": "string",
"profileIds": [],
"educationOrganizationIds": [],
"odsInstanceId": 0
}
]
Profiles
title | Click to view /profiles endpoints |
---|
v2/profiles
Retrieves all profiles
[
{
"id": 0,
"name":string
}
]
v2/profiles
Creates a new profile
{
"name": "string",
"definition": "string"
}
HTTP response as documented below
v2/profiles/{id}
Retrieves a specific profile by id
{
"id": 0,
"name":string,
"definition":string
}
v2/profiles/{id}
Updates a specific profile by id
{
"name": "string",
"definition": "string"
}
HTTP response as documented below
v2/profiles/{id}
Deletes a profile by id
HTTP response as documented below
ResourceClaims
title | Click to view /resource claims endpoints |
---|
v2/resourceClaims
Retrieves all resourceclaims
[
{
"id": 0
"name": "string",
"parentId": null,
"parentName": "",
"children": [
{
"id": 0
"name": "string",
"parentId": 0,
"parentName": "",
"children": []
}
]
}
]
v2/resourceClaims/{id}
Retrieves a specific resource claim by id
{
"id": 0
"name": "string",
"parentId": null,
"parentName": "",
"children": [
{
"id": 0
"name": "string",
"parentId": 0,
"parentName": "",
"children": []
}
]
}
Vendors
title | Click to view /vendors endpoints |
---|
v2/vendors
Retrieves all vendors
[
{
"id": 0,
"company": "string",
"namespacePrefixes": "string",
"contactName": "string",
"contactEmailAddress": "string"
}
]
v2/vendors
Creates a new vendor
{
"company": "string",
"namespacePrefixes": "string",
"contactName": "string",
"contactEmailAddress": "string"
}
HTTP response as documented below
v2/vendors/{id}
Retrieves a specific vendor by id
{
"id": 0,
"company": "string",
"namespacePrefixes": "string",
"contactName": "string",
"contactEmailAddress": "string"
}
v2/vendors/{id}
Updates a specific vendor by id
{
"company": "string",
"namespacePrefixes": "string",
"contactName": "string",
"contactEmailAddress": "string"
}
HTTP response as documented below
v2/vendors/{id}
Deletes a vendor by id
HTTP response as documented below
v2/vendors/{id}/applications
id
{
"id": 0,
"applicationName": "string",
"vendorId": 0,
"claimSetName": "string",
"profileIds": [],
"educationOrganizationIds": [],
"odsInstanceId": 0
}
]
The documentation can be found at https://{mydomain}/swagger/v2/swagger.json and the UI found at https://{mydomain}/adminapi/swagger/index.html.
All functional endpoints require authentication to access. See Securing Admin API for details.
Common Responses
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 |
...