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.x 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)
.
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 |
---|
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": [ { "authStrategyName": "string", "isInheritedFromParent": true } ], "authStrategyOverridesForCRUD": [ { "authStrategyName": "string", "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, claimsetId are required fields.
parentResourceClaimId can be null.
Note: If resource claim is a child, then parentResourceClaimId is needed.
{
"resouceclaimId" : 0,
"parentresourceclaimId": 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).
resouceclaimId, claimsetId are required fields.
parentResourceClaimId can be null.
Note: If resource claim is a child, then parentResourceClaimId is needed.
{
"parentResourceClaimId": 0,
"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}/
resourceclaims/{resourceclaimid}
Deletes a resource claims association from a claim set
-
v2/claimsets/copy
POST
Copy the existing claimset and create new.
{
"originalId": 0,
"name": "string"
}
Profiles
title | Click to view /profiles endpoints |
---|
v2/profiles/
Retrieves all profiles
[
{
"id": 0,
"name":string
}
]
v2/profiles/{id}
Retrieves a specific profile by id
{
"id": 0,
"name":string,
"definition":string
}
v2/profiles/
Creates a new profile
{
"name": "string",
"definition": "string"
}
HTTP response as documented below
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/{id}
Retrieves a specific vendor by id
{
"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}
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 |
...