Versions Compared

Key

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

Below are the endpoints and their request and response objects for v1.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).

toc

All functional endpoints require authentication to access. See Securing Admin API for details.

Endpoint URLs and Schemas

Table of Contents


Response Wrapper Schema

Responses with a body have a common "wrapper" around their result object (which may be empty) or a collection of errors.

These wrappers are not reflected in the below documentation. Assume they are the contents of result when successful.

Expand
titleClick to view response wrappers


ResponseCodesSchema
Success200, 201
{
"status": 0,
"title": "string",
"result": object?
}
Error500401, 403, 404, 401,403500
{
"status": 0,
"title": "string",
"errors": [ "string" ]
}
Validation Error400
{
"status": 0,
"title": "string",
"errors": [
{ "string": [ "string" ] }
]
}


Vendors

Expand
titleClick to view /vendors endpoints


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

Retrieves all vendors

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

Retrieves a specific vendor by id 

-

v1/vendors/
POST

Creates a new vendor

{
"company": "string",
"namespacePrefixes": "string",
  "contactName": "string",
  "contactEmailAddress": "string"
}
{
  "vendorId": 0,
  "company": "string",
  "namespacePrefixes": "string",
  "contactName": "string",
  "contactEmailAddress": "string"
}
v1/vendors/{id}
PUT

Updates a specific vendor by id

{
  "company": "string",
  "namespacePrefixes": "string",
  "contactName": "string",
  "contactEmailAddress": "string"
}
{
  "vendorId": 0,
  "company": "string",
  "namespacePrefixes": "string",
  "contactName": "string",
  "contactEmailAddress": "string"
}
v1/vendors/{id}
DELETE

Deletes a vendor by id 

-
-
v1/vendors/{id}/applications
GETRetrieves all applications associated with vendor of id -
[
{
  "applicationId": 0,
  "applicationName": "string",
  "claimSetName": "string",
  "profileName": "string",
  "educationOrganizationId": 0,
  "odsInstanceName": "string"
}
]


Claimsets

Expand
titleClick to view /claimsets endpoints

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

Retrieves all claimsets

-
[
  {
    "id": 0,
    "name": "string",
    "isSystemReserved": true,
    
]

Applications

[
 {
"applicationId
Expand
titleClick to view /applications endpoints
EndpointHTTP VerbDescriptionRequest SchemaResponse Schema (Success)
v1/applications/
GET

Retrieves all applications

-|
"applicationsCount": 0
  }
]
v1/claimsets/{id}
GET

Retrieves a specific claimset by id 

-
{
  "id": 0,


 
 
 "
applicationName
name": "string",


 
 
 "
claimSetName
isSystemReserved": true,
  "
string
applicationsCount"
,
: 0,
  "resourceClaims": [
    {
      "
profileName
name": "string",


     
 
 "
educationOrganizationId
read": 
0
true,


      "
odsInstanceName
create": true,
      "
string"
}
]
v1/applications/{id}
GET

Retrieves a specific application by id 

-{
  "applicationId": 0,
  "applicationName
update": true,
      "delete": true,
      "defaultAuthStrategiesForCRUD": [
        {
          "authStrategyName": "string",

 

          "
claimSetName
isInheritedFromParent": true
        }
      ],
      "
string",
  "profileName
authStrategyOverridesForCRUD": [
        {
          "authStrategyName": "string",

 

          "
educationOrganizationId
isInheritedFromParent": 
0,
  "odsInstanceName": "string"
true
        }
      ],
      "children": [
        "list of resource claims"
      ]
    }
  ]
}
v1/
applications
claimsets/
POST

Creates a new

application{
  "applicationName

claimset

{
  "name": "string",
  "resourceClaims": [
    {
      "name": "string",
      "read": true,
      "create": true,
      "update": true,
      "delete": true,
      "defaultAuthStrategiesForCRUD": [
        {
          "authStrategyName": "string",

 

          "
vendorId
isInheritedFromParent":
0,
  "claimSetName
 true
        }
      ],
      "authStrategyOverridesForCRUD": [
        {
          "authStrategyName": "string",

 

          "
profileId
isInheritedFromParent":
0,
  "educationOrganizationIds
 true
        }
      ],
      "children": [


       
0
  ]
}
{
  "applicationId": 0,
  "key": "string",
  "secret": "string"
}
v1/applications
 "list of resource claims"
      ]
    }
  ]
}
{
  "id": 0,
  "name": "string",
  "isSystemReserved": true,
  "applicationsCount": 0,
  "resourceClaims": [
    {
      "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"
      ]
    }
  ]
}
v1/claimsets/{id}
PUT

Updates a specific

application

claimset by id

{


  "
applicationId
id": 0,

"applicationName

  "name": "string",
  "resourceClaims": [
    {
      "name": "string",
      "read": true,
      "create": true,
      "update": true,
      "delete": true,
      "defaultAuthStrategiesForCRUD": [
        {
          "authStrategyName": "string",


          "
vendorId
isInheritedFromParent":
0,
 true
        }
      ],
      "authStrategyOverridesForCRUD": [
        {
          "
claimSetName
authStrategyName": "string",


          "
profileId
isInheritedFromParent":
0,
 true
        }
      ],
      "
educationOrganizationIds
children": [ 
0 ]

         "list of resource claims"
]
}
]
}
{

 

  "
applicationId
id": 0,

 

  "
applicationName
name": "string",

 

  "
claimSetName
isSystemReserved": true,
  "
string
applicationsCount"
,
  "profileName
: 0,
  "resourceClaims": [
    {
      "name": "string",

 

      "
educationOrganizationId
read": 
0,
 
true,
      "
odsInstanceName
create": true,
      "
string"
}
v1/applications/{id}
DELETE

Deletes an application by id 

-
-
v1/applications/{id}/reset-credential
PUTResets an application credentials by id -{
  "applicationId": 0,
  "key
update": true,
      "delete": true,
      "defaultAuthStrategiesForCRUD": [
        {
          "authStrategyName": "string",

  "secret

          "isInheritedFromParent": true
        }
      ],
      "authStrategyOverridesForCRUD": [
        {
          "authStrategyName": "string"

}

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
,
          "isInheritedFromParent": true
        }
      ],
      "children": [
         "list of resource claims"
] } ] }
v1/claimsets/{id}
DELETEDeletes a claimset by id --

Applications

Expand
titleClick to view /

...

applications endpoints


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

Retrieves all applications

-|
[
 {
"applicationId": 0,
  "applicationName": "string",
  "claimSetName": "string",
"profileName": "string",
  "educationOrganizationId": 0,
"odsInstanceName": "string"
}
]
v1/applications/{id}
GET

Retrieves a specific application by id 

-
{
  "applicationId": 0,
  "applicationName": "string",
  "claimSetName": "string",
  "profileName": "string",
  "educationOrganizationId": 0,
  "odsInstanceName": "string"
}
v1/applications/
POST

Creates a new application

{
  "applicationName": "string",
  "vendorId": 0,
  "claimSetName": "string",
  "profileId": 0,
  "educationOrganizationIds": [
    0
  ]
}
{
  "applicationId": 0,
  "key": "string",
  "secret": "string"
}
v1/applications/{id}
PUT

Updates a specific application by id

{
"applicationId": 0,
"applicationName": "string",
"vendorId": 0,
"claimSetName": "string",
"profileId": 0,
"educationOrganizationIds": [ 0 ]
}
{
  "applicationId": 0,
  "applicationName": "string",
  "claimSetName": "string",
  "profileName": "string",
  "educationOrganizationId": 0,
  "odsInstanceName": "string"
}
v1/applications/{id}
DELETE

Deletes an application by id 

-
-
v1/applications/{id}/reset-credential
PUTResets an application credentials by id -
{
  "applicationId": 0,
  "key": "string",
  "secret": "string"
}


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