For Developers
Create Integration
POST https://ed.link/api/v2/teams/:team_id/integrations
Creates a new integration connecting a source to an application.
Permissions
Requires either the integrations.create or integrations.update system permission.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
:team_id | UUID | Yes | The ID of the team. |
Request Body
| Property | Type | Required | Description |
|---|---|---|---|
application_id | UUID | Yes | The ID of the application to integrate. |
source_id | UUID | Yes | The ID of the school data source. |
permissions | Array | No | Scoped permission IDs granted to this integration. |
destination_id | UUID | No | Optional destination identifier for data delivery. |
onboarding_id | UUID | No | Optional onboarding workflow identifier. |
Sample Request
const response = await axios.post(
`https://ed.link/api/v2/teams/${team_id}/integrations`,
{
application_id: '4b7b2520-410a-4bf3-9118-2e11893c5289',
source_id: '7b5a19cb-9ea8-4b71-9b16-564ec5ea0b12'
},
{
headers: {
authorization: `Bearer ${user_session_token}`,
'content-type': 'application/json'
}
}
);
Sample Response
{
"$data": {
"id": "fd8e2612-1329-4d85-bb56-95dcb27d7c92",
"status": "active",
"created_date": "2024-06-21T10:00:00.000Z",
"application_id": "4b7b2520-410a-4bf3-9118-2e11893c5289",
"source_id": "7b5a19cb-9ea8-4b71-9b16-564ec5ea0b12"
}
}
