Skip to main content

Data Source

Follow the instructions below to create a new data flow that ingests data from a Clever District Admin source in Nexla.
cleverd_api.png

Clever District Admin

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Clever District Admin connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Clever District Admin instance, and click Next; or, create a new Clever District Admin credential for use in this flow.

  3. In Nexla, Clever District Admin data sources can be created using pre-built endpoint templates, which expedite source setup for common Clever District Admin endpoints. Each template is designed specifically for the corresponding Clever District Admin endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Clever District Admin sources can also be configured manually, allowing you to ingest data from Clever District Admin endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Clever District Admin endpoints. Each template is designed specifically for the corresponding Clever District Admin endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Fetch All Tokens

    This endpoint retrieves API tokens for the authenticated district administrator. Use this endpoint when you need to access token information or manage API tokens for district administrators.

    • This endpoint automatically retrieves API tokens for the authenticated district administrator. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses GET requests to https://clever.com/oauth/tokens. The endpoint URL is automatically constructed based on the Clever OAuth base URL.
    • The endpoint does not use pagination and returns the complete token information in a single request.
    • The endpoint will return API tokens for the authenticated district administrator. The response data is extracted from the root-level object in the API response ($), and Nexla will process the entire response structure.

    The endpoint uses a static URL (iteration.type: static.url) and does not require pagination. The response data path is $, which extracts the entire root-level object from the API response. For detailed information about retrieving tokens, see the Clever API documentation.

    Fetch All Districts

    This endpoint retrieves a list of districts this district administrator manages. This endpoint uses a two-step process: first, it fetches an access token, then uses that token to retrieve district data. Use this endpoint when you need to access district information for all districts managed by the district administrator.

    • This endpoint automatically retrieves all districts managed by the district administrator. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses a two-step process: first, it makes a GET request to https://clever.com/oauth/tokens to fetch an access token, then it uses that access token in the Authorization: Bearer {access_token} header to make a GET request to https://api.clever.com/v3.0/districts?limit=10000 to retrieve district data.
    • The endpoint uses token-based pagination for the second step, automatically fetching additional pages as needed using the starting_after query parameter. When a response includes data items, Nexla automatically uses the ID of the last item as the starting_after parameter in the subsequent request to fetch the next page of results.
    • The endpoint will return all districts managed by the district administrator. The response data is extracted from the data array in the API response ($.data[*]), with each district record processed individually.

    This endpoint uses a chained API call pattern where the first step fetches an access token and the second step uses that token to retrieve district data. The second step supports pagination through the starting_after token mechanism. When a response includes data items, Nexla automatically uses the ID of the last item from the data array as the starting_after parameter in the subsequent request to fetch the next page of results. The endpoint uses token-based pagination (iteration.type: paging.next.token) through the starting_after mechanism. The response data path is $.data[*], which extracts all items from the data array in the API response. The endpoint limits results to 10,000 items per request. For detailed information about retrieving districts, see the Clever API documentation.

    Fetch All Sections

    This endpoint retrieves a list of all sections. This endpoint uses a two-step process: first, it fetches an access token, then uses that token to retrieve section data. Use this endpoint when you need to access section information, class sections, or section metadata for all districts managed by the district administrator.

    • This endpoint automatically retrieves all sections from all districts managed by the district administrator. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses a two-step process: first, it makes a GET request to https://clever.com/oauth/tokens to fetch an access token, then it uses that access token in the Authorization: Bearer {access_token} header to make a GET request to https://api.clever.com/v3.0/sections?limit=10000 to retrieve section data.
    • The endpoint uses token-based pagination for the second step, automatically fetching additional pages as needed using the starting_after query parameter. When a response includes data items, Nexla automatically uses the ID of the last item as the starting_after parameter in the subsequent request to fetch the next page of results.
    • The endpoint will return all sections from all districts managed by the district administrator. The response data is extracted from the data array in the API response ($.data[*]), with each section record processed individually.

    This endpoint uses a chained API call pattern where the first step fetches an access token and the second step uses that token to retrieve section data. The second step supports pagination through the starting_after token mechanism. When a response includes data items, Nexla automatically uses the ID of the last item from the data array as the starting_after parameter in the subsequent request to fetch the next page of results. The endpoint uses token-based pagination (iteration.type: paging.next.token) through the starting_after mechanism. The response data path is $.data[*], which extracts all items from the data array in the API response. The endpoint limits results to 10,000 items per request. For detailed information about retrieving sections, see the Clever API documentation.

    Fetch All Users

    This endpoint retrieves a list of contact, district admin, staff, student, and/or teacher users in all districts this district administrator manages. This endpoint uses a two-step process: first, it fetches an access token, then uses that token to retrieve user data. Use this endpoint when you need to access user information, user roles, or user metadata for all districts managed by the district administrator.

    • This endpoint automatically retrieves all users from all districts managed by the district administrator. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses a two-step process: first, it makes a GET request to https://clever.com/oauth/tokens to fetch an access token, then it uses that access token in the Authorization: Bearer {access_token} header to make a GET request to https://api.clever.com/v3.0/users?limit=10000 to retrieve user data.
    • The endpoint uses token-based pagination for the second step, automatically fetching additional pages as needed using the starting_after query parameter. When a response includes data items, Nexla automatically uses the ID of the last item as the starting_after parameter in the subsequent request to fetch the next page of results.
    • The endpoint will return all users from all districts managed by the district administrator. The response data is extracted from the data array in the API response ($.data[*]), with each user record processed individually.

    This endpoint uses a chained API call pattern where the first step fetches an access token and the second step uses that token to retrieve user data. The second step supports pagination through the starting_after token mechanism. When a response includes data items, Nexla automatically uses the ID of the last item from the data array as the starting_after parameter in the subsequent request to fetch the next page of results. The endpoint uses token-based pagination (iteration.type: paging.next.token) through the starting_after mechanism. The response data path is $.data[*], which extracts all items from the data array in the API response. The endpoint limits results to 10,000 items per request. For detailed information about retrieving users, see the Clever API documentation.

    Fetch All Schools

    This endpoint retrieves all schools in all districts this district administrator manages. This endpoint uses a two-step process: first, it fetches an access token, then uses that token to retrieve school data. Use this endpoint when you need to access school information, school settings, or school metadata for all districts managed by the district administrator.

    • This endpoint automatically retrieves all schools from all districts managed by the district administrator. No additional configuration is required beyond selecting this endpoint template.
    • The endpoint uses a two-step process: first, it makes a GET request to https://clever.com/oauth/tokens to fetch an access token, then it uses that access token in the Authorization: Bearer {access_token} header to make a GET request to https://api.clever.com/v3.0/schools?limit=10000 to retrieve school data.
    • The endpoint uses token-based pagination for the second step, automatically fetching additional pages as needed using the starting_after query parameter. When a response includes data items, Nexla automatically uses the ID of the last item as the starting_after parameter in the subsequent request to fetch the next page of results.
    • The endpoint will return all schools from all districts managed by the district administrator. The response data is extracted from the data array in the API response ($.data[*]), with each school record processed individually.

    This endpoint uses a chained API call pattern where the first step fetches an access token and the second step uses that token to retrieve school data. The second step supports pagination through the starting_after token mechanism. When a response includes data items, Nexla automatically uses the ID of the last item from the data array as the starting_after parameter in the subsequent request to fetch the next page of results. The endpoint uses token-based pagination (iteration.type: paging.next.token) through the starting_after mechanism. The response data path is $.data[*], which extracts all items from the data array in the API response. The endpoint limits results to 10,000 items per request. For detailed information about retrieving schools, see the Clever API documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Clever District Admin data sources can be manually configured to ingest data from any valid Clever District Admin API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Clever District Admin sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom authentication headers or request parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Clever District Admin API from the Method pulldown menu. The most common methods are:

    • GET: For retrieving data from the API
    • POST: For sending data to the API or triggering actions
    • PUT: For updating existing data
    • PATCH: For partial updates to existing data
    • DELETE: For removing data

API Endpoint URL

  1. Enter the URL of the Clever District Admin API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. Clever District Admin API endpoints typically follow the pattern https://api.clever.com/v3.0/{endpoint_path} or https://clever.com/oauth/{endpoint_path}.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The endpoint requires Basic Authentication with your District Admin Token, which is handled automatically by your credential configuration. Some endpoints may require first fetching an access token and then using that token for subsequent requests. For detailed information about Clever District Admin API endpoints and available APIs, see the Clever API documentation.

Path to Data

  1. Enter the JSON path that identifies the location of the relevant data within the API response in the Path to Data field. JSON paths use dot notation to navigate through nested JSON structures.

    • For example, if your API response has the structure {"data": [...]}, you would enter $.data[*] to extract all items from the data array.
    • Use $[*] to extract all items from a root-level array.
    • Use $ to extract the entire root-level object.

JSON paths are case-sensitive and must match the exact structure of your API response. Clever District Admin API responses typically use a data array to contain the actual data for list endpoints, or a root-level object for single resource endpoints. Use the Test button to verify that your JSON path correctly extracts the desired data from the API response.

Save the Data Source

  1. Once all configuration steps have been completed, click the Save button to save your data source configuration.

  2. The data source will now be available in your data flow and will begin ingesting data according to the configured schedule and endpoint settings.