Getting Started

A step-by-step guide for IT admins, analysts, and non-technical users.

1. Get API Client ID and Secret

To access the DAP API, you will need a Client ID and Secret. These are generated via the Instructure Identity Services.

Steps:

  1. Select your institution from the drop-down menu and log in.

  2. Once authorized, navigate to the dashboard and click Add New Key.

  3. Enter a name for the key and set the expiration time.

  4. Copy the Client ID and Secret when they appear. Note: These are displayed only once. If you lose them, you will need to generate new ones.

2. Install DAP CLI on Your Computer

The DAP CLI tool allows you to interact with the Canvas Data 2 API. Installation steps differ slightly depending on your operating system.

For Mac:

  1. Install Xcode Developer Tools:

    xcode-select --install
  2. download and install Python 3.10+ from here:

    python3 --version
  3. Install PIP (if not installed by default):

    pip3 --version
  4. Install the DAP CLI tool with PostgreSQL support:

    pip3 install "instructure-dap-client[postgresql]"

For Windows:

  1. Install Python 3.10+ from here.

  2. Install the DAP CLI tool using the Windows command prompt:

    If you miss installing an extra feature, the library will not be able to synchronize data with a database, and you may get an error message similar to the following:

    ERROR - missing dependency: asyncpg;

    In this case you may need to run

3. Store Client Credentials in Environment Variables

For secure access to the API, it's recommended to store your credentials as environment variables. This prevents sensitive information from being exposed in command-line arguments.

MacOS/Linux:

  1. Open Terminal and run the following commands, replacing placeholders with your actual Client ID and Secret:

  2. Restart Terminal for changes to take effect.

Windows:

Follow this guide to setting environment variables or use the set command in the Windows command line:

Unless you set environment variables, you need to pass Client ID and Secret to the dap command explicitly:

4. Work with Databases

DAP CLI allows you to interact with PostgreSQL, MySQL or MSSQL databases. You will need the connection string of your database for DAP to function correctly.

Connection String Format:

Examples:

Store Connection String in Environment Variables

MacOS/Linux:

  1. Open Terminal and run the following commands, replacing placeholders with your actual Client ID and Secret:

  2. Restart Terminal for changes to take effect.

Windows:

Follow this guide to setting environment variables or use the set command in the Windows command line:

Obtain Full Snapshots of Tables

Use the dap initdb command to download full snapshots of tables and store them in your database.

Command:

Synchronize Data of Tables

After obtaining snapshots, keep your database updated with the dap syncdb command. This ensures incremental changes are applied to your tables.

Command:

Changing the Temporary Storage Location

If you need to change the temporary storage directory for data processing, you can configure the location using the following command-line option:

5. Export Data

You can export data using either the snapshot or incremental methods, depending on your use case.

Snapshot Export

Use dap snapshot command to download a full copy of tables at a point in time.

Command:

Incremental Export

The dap incremental commands captures only the data that has changed since your last export.

Command:

Last updated

Was this helpful?