For Developers

Meta API Authorization

The Meta API is currently in alpha. You can rely on it, but it is not yet fully documented and may be subject to breaking changes. Please reach out and let us know if you intend to use this API.

The Edlink Meta API allows you to programmatically interact with the Edlink Dashboard. Meta requests are not typically related to school data like the User or Graph APIs. Instead, they are used to manage your applications, integrations, sharing rules, and other settings in the Edlink Dashboard (i.e. "metadata").

Meta API requests are authorized with a Service Account access token. You can create service accounts and generate access tokens on the team settings page in the Edlink Dashboard. Service accounts should always be treated with the same level of security as your own account as they can be assigned broad permissions to manage your Edlink account.

Click on the Create Service Account button to create a new service account. A token is automatically generated when you create the service account, but you can generate additional tokens using the + Token button.

Service Accounts
The service accounts page in the Edlink Dashboard

Authorizing Meta API Requests

To authorize a Meta API request, you will need to include the service account access token in the Authorization header of your request. The token should be prefixed with Bearer followed by a space and then the token itself. These tokens do not currently expire, but they can be manually rotated via the Edlink Dashboard.

Here's an example of a request to list your applications using the Meta API:

import axios from 'axios';

axios.get('https://ed.link/api/v1/teams/:team_id/integrations', {
    headers: {
        authorization: `Bearer ${service_account_access_token}`
    }
});