---
title: "Read learn block custom data file"
method: GET
path: "/api/{projectId}/learn-data/{learnId}/custom-data/read"
tags: ["Learn"]
---

# Read learn block custom data file

`GET /api/{projectId}/learn-data/{learnId}/custom-data/read`

## Request

- Base URL: `https://studio.edgeimpulse.com/v1`
- URL: `https://studio.edgeimpulse.com/v1/api/{projectId}/learn-data/{learnId}/custom-data/read`
- Auth: one of:
  - API key in header `x-api-key`
  - API key in cookie `jwt`
  - API key in header `x-jwt-token`
  - OAuth 2
    - Authorization code: `/v1/oauth/authorize`
    - Client credentials
    - Implicit: `/v1/oauth/authorize`
    - Password
    - Token URL: `/v1/oauth/token`
- TypeScript: <https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/docs/api/:projectId/learn-data/:learnId/custom-data/read/get.ts> (a function with typed inputs; its response is checked against the schema)

Read a file from the learn block as it exists on the file system. You can write extra files to /home/custom_data in your custom learn block (or in expert mode); then pick them up here. Use "listLearnBlockCustomDataFiles" to list all available files.

## Path parameters

- `projectId` integer, required
- `learnId` integer, required

## Query parameters

- `path` string, required

## Response `200`

File

---

[API](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api.md) - [All operations](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/llms.txt) - [OpenAPI document](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/revisions/e2a976d38427?raw)
