For Developers
Create Feed Subscriber
POST https://ed.link/api/v2/teams/:team_id/applications/:application_id/subscribers
Registers a new feed subscriber. Configuration fields are validated according to the specified transport type.
Permissions
Requires the feed_subscribers.create system permission.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
:team_id | UUID | Yes | The ID of the team. |
:application_id | UUID | Yes | The ID of the application. |
Request Body
| Property | Type | Required | Description |
|---|---|---|---|
name | String | No | Friendly label for the subscriber. |
type | String | Yes | Transport type: webhook, sqs, azure_queue, or pubsub. |
state | String | Yes | Operating state: active or paused. |
events | Array | Yes | Array of event type strings to subscribe to. |
configuration | Object | Yes | Transport configuration payload (e.g. url, secret). |
Sample Request
const response = await axios.post(
`https://ed.link/api/v2/teams/${team_id}/applications/${application_id}/subscribers`,
{
name: "Alerts Webhook",
type: "webhook",
state: "active",
events: ["integration.created", "sync.completed"],
configuration: {
url: "https://api.acmelearning.com/edlink/events",
secret: "whsec_supersecretkey"
}
},
{
headers: {
authorization: `Bearer ${user_session_token}`
}
}
);
Sample Response
{
"$data": {
"id": "1c7a216b-4e09-4d24-8f47-c0e815617a22",
"name": "Alerts Webhook",
"type": "webhook",
"state": "active",
"events": ["integration.created", "sync.completed"]
}
}
