- Created by Jason Hoekstra, last modified by Suganya Rajendran on Aug 18, 2023
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 69 Next »
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.
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
Actions
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/actions | GET | Retrieves all actions | - | [ } |
Applications
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/applications/ | GET | Retrieves all applications | -| | [ |
v2/applications/{id} | GET | Retrieves a specific application by | - | { |
v2/applications/ | POST | Creates a new application | { | { |
v2/applications/{id} | PUT | Updates a specific application by | { | HTTP response as documented below |
v2/applications/{id} | DELETE | Deletes an application by | - | HTTP response as documented below |
v2/applications/{id}/reset-credential | PUT | Resets an application credentials by id | - | { |
AuthStrategies
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/authStrategies | GET | Retrieves all auth strategies | - | [ } |
ClaimSets
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"} | { |
v2/claimSets/{id} | GET | Retrieves a specific claimset by id | - | { "id": 0, "name": "string", "_isSystemReserved": false, "_applications": [], "resourceClaims": [ { |
v2/claimSets/{id} | PUT | Update the claim set name. | { | HTTP response as documented below |
v2/claimSets/{id} | DELETE | Deletes a claimset by id | - | HTTP response as documented below |
v2/claimSets/{claimSetId}/resourceClaimActions | POST | Add resourceclaimaction association to claim set. At least one action should be enabled (read, create, update, delete). | { | HTTP response as documented below |
v2/claimSets/{claimSetId}/ | PUT | Updates the resourceclaimActions to a specific resource claim on a claimset. At least one action should be enabled (read, create, update, delete). | { | HTTP response as documented below |
v2/claimSets/{claimSetId}/resourceClaimActions/ | POST | Override the default authorization strategies on provided resource claim for a specific action. ex: actionName = read, authStrategies= [ "Ownershipbased" ] | { | HTTP response as documented below |
v2/claimSets/{claimSetId}/resourceClaimActions/ | POST | Reset to default authorization strategies on provided resource claim. | - | HTTP response as documented below |
v2/claimSets/{claimSetId}/ | DELETE | Deletes a resource claims association from a claim set | - | HTTP response as documented below |
v2/claimSets/copy | POST | Copy the existing claimset and create new. | { | HTTP response as documented below |
v2/claimSets/import | POST | Import new claimset | { "name": "string", "resourceClaims": [ { "name": "string", "read": true, "create": true, "update": true, "delete": true, "authStrategyOverridesForCRUD": [ { | HTTP response as documented below |
v2/claimSets/{id}/export | 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" ] } ] } |
OdsInstances
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/odsInstances | GET | Retrieves all ODS Instances | - | [ } |
v2/odsInstances/{id} | GET | Retrieves a specific ODS instance by | - | { } |
v2/odsInstances | POST | Creates a new ODS instance. Note: Will validate the connection string to be proper format. All the fields are required. | { | HTTP response as documented below |
v2/odsInstances/{id} | PUT | 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" } | HTTP response as documented below |
v2/odsInstances/{id} | DELETE | Deletes an ODS instance by id | - | HTTP response as documented below |
v2/odsInstances/{id}/applications | GET | Retrieves list of applications assigned to a specific ODS instance. | - | [ { "id": 0, "applicationName": "string", "vendorId": 0, "claimSetName": "string", "profileIds": [], "educationOrganizationIds": [], "odsInstanceId": 0 } ] |
OdsInstanceContexts
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/odsInstanceContexts | GET | Retrieves all ODS Instance contexts | - | [ } |
v2/odsInstanceContexts/{id} | GET | Retrieves a specific ODS instance context by | - | { } |
v2/odsInstanceContexts | POST | Creates a new ODS instance context All the fields are required. ex: contextKey = "SchoolYear" contextValue = "2023" | { | HTTP response as documented below |
v2/odsInstanceContexts/{id} | PUT | Updates a specific ODS instance context by id. | { | HTTP response as documented below |
v2/odsInstanceContexts/{id} | DELETE | Deletes an ODS instance context by id | - | HTTP response as documented below |
OdsInstanceDerivatives
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/odsInstanceDerivatives | GET | Retrieves all ODS Instance derivatives | - | [ } |
v2/odsInstanceDerivatives /{id} | GET | Retrieves a specific ODS instance derivative by | - | { } |
v2/odsInstanceDerivatives | POST | Creates a new ODS instance derivative All the fields are required. Note: Will validate the connection string to be proper format. Derivative types would be "ReadReplica" or "Snapshot" | { | HTTP response as documented below |
v2/odsInstanceDerivatives/{id} | PUT | Updates a specific ODS instance derivative 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. Derivative types would be "ReadReplica" or "Snapshot" | { | HTTP response as documented below |
v2/odsInstanceDerivatives/{id} | DELETE | Deletes an ODS instance derivative by id | - | HTTP response as documented below |
Profiles
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/profiles | GET | Retrieves all profiles | - | [ |
v2/profiles | POST | Creates a new profile |
| HTTP response as documented below |
v2/profiles/{id} | GET | Retrieves a specific profile by | - | { |
v2/profiles/{id} | PUT | Updates a specific profile by | { | HTTP response as documented below |
v2/profiles/{id} | DELETE | Deletes a profile by | - | HTTP response as documented below |
ResourceClaims
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/resourceClaims | GET | Retrieves all resourceclaims | - | [ |
v2/resourceClaims/{id} | GET | Retrieves a specific resource claim by | - | { |
Vendors
Endpoint | HTTP Verb | Description | Request Schema | Response Schema (Success) |
---|---|---|---|---|
v2/vendors | GET | Retrieves all vendors | - | [ |
v2/vendors | POST | Creates a new vendor |
| HTTP response as documented below |
v2/vendors/{id} | GET | Retrieves a specific vendor by | - | { |
v2/vendors/{id} | PUT | Updates a specific vendor by | { | HTTP response as documented below |
v2/vendors/{id} | DELETE | Deletes a vendor by | - | HTTP response as documented below |
v2/vendors/{id}/applications | GET | Retrieves all applications associated with vendor of id | - | [ |
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 |
- No labels