---
title: "Create new empty impulse"
method: POST
path: "/api/{projectId}/impulse/new"
tags: ["Impulse"]
---

# Create new empty impulse

`POST /api/{projectId}/impulse/new`

## Request

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

Create a new empty impulse, and return the ID.

## Path parameters

- `projectId` integer, required

## Request body

- CreateNewEmptyImpulseRequest
  - `type` 'default' | 'BYOM' | 'VLM' | 'no_training_data': Specifies the type of impulse. Options include: - default: Standard Edge Impulse pipeline. - BYOM: Impulse that includes a pretrained model. - VLM: Impulse created as part of a Vision Learning Model (VLM) workflow. - no_training_data: Model that trains without providing training data (e.g. model trained in simulation without external inputs)

## Response `200`

OK

- CreateNewEmptyImpulseResponse
  - `success` boolean, required: Whether the operation succeeded
  - `error` string: Optional error description (set if 'success' was false)
  - `id` integer, required: ID of the new impulse
  - `redirectUrl` string, required: Link to redirect the user to afterwards

---

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