---
title: "Get config"
method: GET
path: "/api/{projectId}/dsp/{dspId}"
tags: ["DSP"]
---

# Get config

`GET /api/{projectId}/dsp/{dspId}`

## Request

- Base URL: `https://studio.edgeimpulse.com/v1`
- URL: `https://studio.edgeimpulse.com/v1/api/{projectId}/dsp/{dspId}`
- 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/dsp/:dspId/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve the configuration parameters for the DSP block. Use the impulse functions to retrieve all DSP blocks.

## Path parameters

- `projectId` integer, required
- `dspId` integer, required

## Response `200`

OK

- DSPConfigResponse
  - `success` boolean, required: Whether the operation succeeded
  - `error` string: Optional error description (set if 'success' was false)
  - `dsp` DSPInfo, required
    - `id` integer, required
    - `name` string, required
    - `windowLength` integer, required
    - `type` string, required
    - `classes` string[], required
    - `classesPerKey` object: Per-key class info for DSP blocks operating on label map datasets
    - `features` object, required
      - `generated` boolean, required: Whether this block has generated features
      - `count` integer: Number of generated features
      - `labels` string[]: Names of the features
      - `classes` string[]: Classes that the features were generated on
    - `expectedWindowCount` integer, required: Expected number of windows that would be generated
    - `inputAxes` string[], required: Axes that this block depends on.
    - `performance` DspPerformance
      - `latency` integer, required
      - `ram` integer, required
      - `customDspString` string: If the project latencyDevice has custom DSP hardware, this value contains a device specific latency metric (eg. cycles)
    - `canCalculateFeatureImportance` boolean, required
    - `calculateFeatureImportance` boolean, required
    - `canNormalizeData` boolean, required: Whether this DSP block supports data normalization after features were generated. This is true unless "dontAllowDataNormalization" is set to true in the DSP block's parameters.json.
    - `normalizeData` 'none' | 'normalize-channel-standard-scaler', required
    - `hasAutoTune` boolean: Whether this type of DSP block supports autotuning.
    - `minimumVersionForAutotune` number: For DSP blocks that support autotuning, this value specifies the minimum block implementation version for which autotuning is supported.
    - `hasAutotunerResults` boolean: Whether autotune results exist for this DSP block.
    - `usesState` boolean: Whether this DSP block uses state.
  - `config` DSPGroup[]
    - `group` string, required
    - `items` DSPGroupItem[], required
      - `name` string, required
      - `value` string
      - `defaultValue` string, required
      - `type` string, required
      - `help` string
      - `param` string, required
      - `selectOptions` object[]
        - `value` string: What is the string that will be set if this option is selected?
        - `selected` boolean
        - `optionLabel` string: What is the label that will be shown to the user for this option?
        - `priority` number: The following options are optional. See Learn Block Auto Config in Notion. Higher priority will get chosen based on limits below.
        - `romEstimate` number: Estimated ROM footprint for this choice. Will be tested against ROM budget in Studio.
        - `needsOps` string[]
        - `needsFeatures` string[]
      - `readonly` boolean, required
      - `shouldShow` boolean, required
      - `showIf` object
        - `parameter` string, required
        - `operator` 'eq' | 'neq', required
        - `value` string, required
      - `invalidText` string
      - `section` 'advanced' | 'augmentation' | 'modelProfiling': Interface section to render parameter in.
      - `multiline` boolean: Only valid for type "string". Will render a multiline text area.
      - `required` boolean, required
      - `hint` string: If set, shows a hint below the input.
      - `placeholder` string: Sets the placeholder text on the input element (for types "string", "int", "float" and "secret")
      - `showClickToSet` boolean, required: If enabled, render a disabled input element with 'Click to set'
      - `valid` object[]: Valid values for parameter.
      - `items` object: Recursive definition for items of a parameter with type 'array'.
      - `properties` object: Recursive definition for a parameter with type 'object'.
      - `minVal` number: Minimum value for parameters of type 'int' or 'float'.
      - `maxVal` number: Maximum value for parameters of type 'int' or 'float'.
  - `configError` string

---

[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)
