A newer version of the Ed-Fi ODS / API is now available. See the Ed-Fi Technology Version Index for a link to the latest version.
API Routes
- Ian Christopher (Deactivated)
- Vinaya Mayya
Routes are names used to access API endpoints and are used in API URLs. This section describes the patterns and conventions for route naming in the Ed-Fi ODS / API.
Route Patterns in Ed-Fi APIs
The Ed-Fi ODS / API uses the following route structure to support multiple Extensions and to provide support for API versioning:
Description | ODS / API Route |
---|---|
Base URI | /{api_area}/{version}/{year}1 Examples: |
Basic Relative URL Format | Data Management Resources: API Composites: |
Examples | |
Resources (Ed-Fi) | /data/v3/ed-fi/schools |
Descriptors (Ed-Fi) | /data/v3/ed-fi/termDescriptors |
Resources (Host Extensions)2 | /data/v3/TX/leavers |
Resources (Domain Extensions)2 | /data/v3/talentMgmt/applicants |
Composites (Ed-Fi)3 | /composites/v1/ed-fi/assessment/studentAssessments |
Composites (Host Organization) | /composites/v1/MI/enrollment/Schools |
Composites Based on Domain or Host Extensions | Unsupported |
Identity | /identity/v2/identities4 |
Notes:
1 - School Year is optional in the route.
2 - It is important to note the distinction between the Extended Ed-Fi Resources (which collect additional data for an existing Ed-Fi core resource using the _ext field in the JSON payload) and Host & Domain Resources (which create entirely new resource endpoints).
3 - Composites are treated as a reserved word.
4 - Endpoint for identity feature is clearly separated to allow separate versioning for this feature and to support implementations that are not using this optional feature.
Example: Extended Ed-Fi Student Resource (Route: /data/v3/ed-fi/student)
{ "studentUniqueId": "397589871", "firstName" : "John", "lastSurname:" "Ortiz", [etc...] “_ext” : { “SomeState” : { “tribalAffiliation” : “Pascua Yaqui”, [etc...] } } }
Example: TalentMgmt Applicant Resource (Route: data/v3/talentMgmt/applicants)
{ "id": "string", "applicantIdentifier": "397589871", "educationOrganizationReference": { "educationOrganizationId": 255901, }, "addresses": [ { [etc...] } [etc...] }