Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

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

Expand
titleClick to view /actions endpoints


EndpointHTTP VerbDescriptionRequest SchemaResponse Schema (Success)
v2/actions/
GET

Retrieves all actions

-
[
{
  "id": 0
  "name": "string"
  "uri": "string"
  }
]


AuthStrategies

Expand
titleClick to view /auth strategies endpoints


EndpointHTTP VerbDescriptionRequest SchemaResponse Schema (Success)
v2/authstrategies/authStrategies
GET

Retrieves all auth strategies

-
[
{
  "authStrategyId": 0
  "authStrategyName": "string"
  "displayName": "string"
  }
]



Applications

Expand
titleClick to view /applications endpoints


EndpointHTTP VerbDescriptionRequest SchemaResponse Schema (Success)
v2/applications/
GET

Retrieves all applications

-|
[
 {
"id": 0,
  "applicationName": "string",
   "vendorId": 0,
  "claimSetName": "string",
"profileIds": [],
  "educationOrganizationIds": [],
"odsInstanceId": 0
}
]
v2/applications/{id}
GET

Retrieves a specific application by id 

-
{
"id": 0,
  "applicationName": "string",
 "vendorId": 0,
  "claimSetName": "string",
 "profileIds": [],
"educationOrganizationIds": [],
"odsInstanceId": 0
}
v2/applications/
POST

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}
PUT

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}
DELETE

Deletes an application by id 

-
HTTP response as documented below
v2/applications/{id}/reset-credential
PUTResets an application credentials by id -
{
"id": 0,
  "key": "string",
  "secret": "string"
}
Claimsets


ClaimSets

Expand
titleClick to view /claimsets endpoints

Endpoint
HTTP Verb
Description
Request Schema
Response Schema (Success)
v2/claimsets/claimSets
GET

Retrieves all claimsets

-
[
  {
    "id": 0,
    "name": "string",
    "_isSystemReserved": true,
    "_applications": []
  }
]
v2/claimsets/claimSets
POST

Creates a new claimset.

{ "name": "string"}
{
  "id": 0,
  "name": "string",
"_isSystemReserved": false,
"_applications": []
}

v2/claimsetsclaimSets/{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/claimsetsclaimSets/{id}
PUT
Update the claim set name.
{ 
"id": 0,
"name": "string"
}
HTTP response as documented below
v2/claimsetsclaimSets/{id}
DELETEDeletes a claimset by id -HTTP response as documented below
v2/claimsetsclaimSets/{claimsetidclaimSetId}/resourceclaimActionsresourceClaimActions
POST

Add resourceclaimaction association to claim set. 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. 

{
"resouceclaimId" : 0,
"parentresourceclaimId": 0,
"resourceClaimActions":
 { 
  "read": true,
  "create": true,
  "update": true,
    "delete": true
  }   
}

HTTP response as documented below

v2/claimsetsclaimSets/{claimsetidclaimSetId}/
resourceclaimActionsresourceClaimActions/{resourceclaimidresourceClaimid}





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
v2/
claimsets
claimSets/{
claimsetid
claimSetId}/
resourceclaims
resourceClaimActions/
{
resourceclaimid
resourceClaimId}/
overrideauthstrategy
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

v2/
claimsets
claimSets/{
claimsetid
claimSetId}/
resourceclaims
resourceClaimActions/
{
resourceclaimid
resourceClaimId}/
resetauthstrategies
resetAuthStrategies

POST

Reset to default authorization strategies on provided resource claim.

-
HTTP response as documented below
v2/claimsetsclaimSets/{claimsetidclaimSetId}/
resourceclaimsresourceClaimActions/{resourceclaimidresourceClaimId}
DELETE

Deletes a resource claims association from a claim set

-
HTTP response as documented below
v2/claimsetsclaimSets/copy
POST

Copy the existing claimset and create new.

{
 "originalId": 0,
 "name": "string"
}
HTTP response as documented below



Profiles

Expand
titleClick to view /profiles endpoints


EndpointHTTP VerbDescriptionRequest SchemaResponse Schema (Success)
v2/profiles/
GET

Retrieves all profiles

-
[
  {
  "id": 0,
  "name":string
  }
]
v2/profiles/{id}
GETPOST

Retrieves Creates a specific new profile by id 

-

{
 
  "
id
name": 
0,
"
name
string"
:string
,
"definition": "string"
}
HTTP response as documented below
v2/profiles/{id}
POSTGET

Creates Retrieves a new specific profile by id 

-
{
  "id": 0,
"name":
"
string
"
,
"definition":
"
string
"

}
HTTP response as documented below
v2/profiles/{id}
PUT

Updates a specific profile by id

{
"name": "string",
"definition": "string"
}
HTTP response as documented below
v2/profiles/{id}
DELETE

Deletes a profile by id 

-
HTTP response as documented below
Resourceclaims


ResourceClaims

Expand
titleClick to view /resource claims endpoints


EndpointHTTP VerbDescriptionRequest SchemaResponse Schema (Success)
v2/resourceclaims/resourceClaims
GET

Retrieves all resourceclaims

-
[
{
  "id": 0
  "name": "string",
  "parentId": null,
  "parentName": "",
  "children": [
    {
  "id": 0
"name": "string",
"parentId": 0,
"parentName": "",
"children": []
}
  ]
}
]
v2/resourceclaimsresourceClaims/{id}
GET

Retrieves a specific resource claim by id 

-
 {
  "id": 0
  "name": "string",
"parentId": null,
  "parentName": "",
  "children": [
{
    "id": 0
"name": "string",
"parentId": 0,
"parentName": "",
"children": []
}
  ]
}


Vendors

Expand
titleClick to view /vendors endpoints


EndpointHTTP VerbDescriptionRequest SchemaResponse Schema (Success)
v2/vendors/
GET

Retrieves all vendors

-
[
  {
  "id": 0,
    "company": "string",
    "namespacePrefixes": "string",
    "contactName": "string",
    "contactEmailAddress": "string"
  }
]
v2/vendors/{id}
GET

Retrieves a specific vendor by id 

-
{
"id": 0,
  "company": "string",
  "namespacePrefixes": "string",
  "contactName": "string",
  "contactEmailAddress": "string"
}
v2/vendors/
POST

Creates a new vendor

{
"company": "string",
"namespacePrefixes": "string",
  "contactName": "string",
  "contactEmailAddress": "string"
}
HTTP response as documented below
v2/vendors/{id}
PUT

Updates a specific vendor by id

{
  "company": "string",
  "namespacePrefixes": "string",
  "contactName": "string",
  "contactEmailAddress": "string"
}
HTTP response as documented below
v2/vendors/{id}
DELETE

Deletes a vendor by id 

-
HTTP response as documented below
v2/vendors/{id}/applications
GETRetrieves all applications associated with vendor of id -
[
 {
"id": 0,
  "applicationName": "string",
"vendorId": 0,
  "claimSetName": "string",
"profileIds": [],
  "educationOrganizationIds": [],
"odsInstanceId": 0
}
]






Common Responses

Response Code

DescriptionValid for VerbsNotes
200 SUCCESS
Request was successfulALL
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 detailsPOST, PUT
401 UNAUTHORIZED
Missing or invalid authentication tokenALL
403 FORBIDDEN
Authentication token is valid but resource is outside of authenticated scopeALL
404 NOT FOUND
Resource with given id  not foundALL
500 INTERNAL SERVER ERROR
Unexpected error on the system - See error for detailsALL


...