For Developers
Create Source
POST https://ed.link/api/v2/teams/:team_id/sources
Creates and initializes a new source for the team.
Permissions
Requires the sources.create system permission.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
:team_id | UUID | Yes | The ID of the team. |
Request Body
| Property | Type | Required | Description |
|---|---|---|---|
name | String | Yes | Human-readable name for the source. |
provider_id | UUID | Yes | Identifier of the LMS, SIS, or identity provider. |
import_interval | String | Yes | Schedule interval for data synchronization (e.g. daily, hourly). |
token | String | No | OAuth authorization code or secret token if applicable for provider onboarding. |
application_id | UUID | No | Associated application ID. |
region_id | UUID | No | Storage region identifier where data should reside. |
properties | Object | No | Custom provider configuration options and integration flags. |
configuration | Object | No | Detailed provider credentials and connection settings. |
Sample Request
const response = await axios.post(
`https://ed.link/api/v2/teams/${team_id}/sources`,
{
name: 'Oakridge School District Canvas',
provider_id: '90e0c0df-bc7b-402a-a9cb-b20bf4437a34',
import_interval: 'daily',
configuration: {
url: 'https://oakridge.instructure.com'
}
},
{
headers: {
authorization: `Bearer ${user_session_token}`,
'content-type': 'application/json'
}
}
);
Sample Response
{
"$data": {
"id": "7b5a19cb-9ea8-4b71-9b16-564ec5ea0b12",
"created_date": "2024-02-10T14:30:00.000Z",
"updated_date": "2024-02-10T14:30:00.000Z",
"name": "Oakridge School District Canvas",
"state": "active",
"provider_id": "90e0c0df-bc7b-402a-a9cb-b20bf4437a34",
"team_id": "6a9e99a8-e165-4d0d-9b7d-6062a4be682d",
"configuration": {
"url": "https://oakridge.instructure.com"
}
}
}
