Edge Impulse Raw data API

The Raw data API from Edge Impulse — 54 operation(s) for raw data.

Operations 56

GET /api/{projectId}/raw-data List samples #
GET /api/{projectId}/raw-data/count Count samples #
GET /api/{projectId}/raw-data/label-object-detection-queue Object detection label queue #
GET /api/{projectId}/raw-data/label-object-detection-queue/count Object detection label queue count #
POST /api/{projectId}/rebalance Rebalance dataset #
POST /api/{projectId}/raw-data/clear-all-object-detection-labels Clear all object detection labels #
POST /api/{projectId}/raw-data/delete-all Remove all samples #
POST /api/{projectId}/raw-data/delete-all/{category} Remove all samples by category #
GET /api/{projectId}/raw-data/metadata Get project sample metadata #
GET /api/{projectId}/raw-data/imported-from List data with "imported from" metadata key #
GET /api/{projectId}/raw-data/{sampleId} Get sample #
DELETE /api/{projectId}/raw-data/{sampleId} Remove sample #
GET /api/{projectId}/raw-data/{sampleId}/raw Download file #
GET /api/{projectId}/raw-data/{sampleId}/wav Get WAV file #
GET /api/{projectId}/raw-data/{sampleId}/image Get image file #
GET /api/{projectId}/raw-data/{sampleId}/video Get video file #
GET /api/{projectId}/raw-data/{sampleId}/slice Get sample slice #
POST /api/{projectId}/raw-data/{sampleId}/rename Rename sample #
POST /api/{projectId}/raw-data/{sampleId}/edit-label Edit label #
POST /api/{projectId}/raw-data/{sampleId}/move Move sample #
POST /api/{projectId}/raw-data/{sampleId}/crop Crop sample #
POST /api/{projectId}/raw-data/{sampleId}/split Split sample into frames #
POST /api/{projectId}/raw-data/{sampleId}/find-segments Find segments #
POST /api/{projectId}/raw-data/{sampleId}/segment Segment sample #
POST /api/{projectId}/raw-data/{sampleId}/bounding-boxes Set bounding boxes #
POST /api/{projectId}/raw-data/{sampleId}/structured-labels Update structured labels #
POST /api/{projectId}/raw-data/store-segment-length Store the last segment length #
GET /api/{projectId}/raw-data/{sampleId}/original Get the original downsampled data #
POST /api/{projectId}/raw-data/{sampleId}/retry-processing Retry processing #
POST /api/{projectId}/raw-data/{sampleId}/enable Enable sample #
POST /api/{projectId}/raw-data/{sampleId}/disable Disable sample #
POST /api/{projectId}/raw-data/{sampleId}/autolabel Auto-label an image #
POST /api/{projectId}/raw-data/{sampleId}/metadata Set sample metadata #
POST /api/{projectId}/raw-data/{sampleId}/to-labeling-queue Move sample to labeling queue #
POST /api/{projectId}/raw-data/{sampleId}/propose-changes Propose changes #
POST /api/{projectId}/raw-data/batch/edit-labels Edit labels for multiple samples #
POST /api/{projectId}/raw-data/batch/delete Remove multiple samples #
POST /api/{projectId}/raw-data/batch/moveSamples Move multiple samples #
POST /api/{projectId}/raw-data/batch/enable-samples Enable multiple samples #
POST /api/{projectId}/raw-data/batch/disable-samples Disable multiple samples #
POST /api/{projectId}/raw-data/batch/add-metadata Add metadata (multiple samples) #
POST /api/{projectId}/raw-data/batch/clear-metadata-by-key Clear metadata by key (multiple samples) #
POST /api/{projectId}/raw-data/batch/clear-metadata Clear all metadata (multiple samples) #
POST /api/{projectId}/raw-data/track-objects Track objects #
GET /api/{projectId}/raw-data/data-explorer/features Get data explorer features #
GET /api/{projectId}/raw-data/data-explorer/has-features Check data explorer features #
GET /api/{projectId}/raw-data/data-explorer/predictions Get data explorer predictions #
POST /api/{projectId}/raw-data/data-explorer/clear Clear data explorer #
GET /api/{projectId}/raw-data/data-explorer/settings Get data explorer settings #
POST /api/{projectId}/raw-data/data-explorer/settings Set data explorer settings #
POST /api/{projectId}/raw-data/data-explorer/screenshot Upload a data explorer screenshot #
GET /api/{projectId}/raw-data/data-quality/diversity/exists Check if data diversity metrics exist #
GET /api/{projectId}/raw-data/data-quality/diversity Get diversity metrics data #
GET /api/{projectId}/raw-data/data-quality/label-noise/exists Check if label noise metrics exist #
GET /api/{projectId}/raw-data/data-quality/label-noise Get label noise data #
GET /api/{projectId}/raw-data/ai-actions-preview/{jobId}/proposed-changes Get AI Actions proposed changes #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/edge-impulse-raw-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

edge-impulse-raw-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Edge Impulse Raw data API
  version: 1.0.0
servers:
- url: https://studio.edgeimpulse.com/v1
security:
- ApiKeyAuthentication: []
- JWTAuthentication: []
- JWTHttpHeaderAuthentication: []
tags:
- name: Raw data
paths:
  /api/{projectId}/raw-data:
    get:
      summary: List samples
      description: Retrieve all raw data by category.
      operationId: listSamples
      tags:
      - Raw data
      x-middleware:
      - AllowsReadOnly
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/RawDataCategoryQueryParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      - $ref: '#/components/parameters/ExcludeSensorsParameter'
      - $ref: '#/components/parameters/FiltersLabelsParameter'
      - $ref: '#/components/parameters/FiltersFilenameParameter'
      - $ref: '#/components/parameters/FiltersMaxLengthParameter'
      - $ref: '#/components/parameters/FiltersMinLengthParameter'
      - $ref: '#/components/parameters/FiltersMinFrequencyParameter'
      - $ref: '#/components/parameters/FiltersMaxFrequencyParameter'
      - $ref: '#/components/parameters/FiltersSignatureParameter'
      - $ref: '#/components/parameters/FiltersDisabledParameter'
      - $ref: '#/components/parameters/FiltersMinLabelParameter'
      - $ref: '#/components/parameters/FiltersMaxLabelParameter'
      - $ref: '#/components/parameters/SearchQueryParameter'
      - $ref: '#/components/parameters/ProposedActionsJobIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSamplesResponse'
  /api/{projectId}/raw-data/count:
    get:
      summary: Count samples
      description: Count all raw data by category.
      operationId: countSamples
      tags:
      - Raw data
      x-middleware:
      - AllowsReadOnly
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/RawDataCategoryQueryParameter'
      - $ref: '#/components/parameters/FiltersLabelsParameter'
      - $ref: '#/components/parameters/FiltersFilenameParameter'
      - $ref: '#/components/parameters/FiltersMaxLengthParameter'
      - $ref: '#/components/parameters/FiltersMinLengthParameter'
      - $ref: '#/components/parameters/FiltersMinFrequencyParameter'
      - $ref: '#/components/parameters/FiltersMaxFrequencyParameter'
      - $ref: '#/components/parameters/FiltersSignatureParameter'
      - $ref: '#/components/parameters/FiltersDisabledParameter'
      - $ref: '#/components/parameters/FiltersMinLabelParameter'
      - $ref: '#/components/parameters/FiltersMaxLabelParameter'
      - $ref: '#/components/parameters/SearchQueryParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountSamplesResponse'
  /api/{projectId}/raw-data/label-object-detection-queue:
    get:
      summary: Object detection label queue
      description: Get all unlabeled items from the object detection queue.
      operationId: getObjectDetectionLabelQueue
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectDetectionLabelQueueResponse'
  /api/{projectId}/raw-data/label-object-detection-queue/count:
    get:
      summary: Object detection label queue count
      description: Get count for unlabeled items from the object detection queue.
      operationId: getObjectDetectionLabelQueueCount
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectDetectionLabelQueueCountResponse'
  /api/{projectId}/rebalance:
    post:
      summary: Rebalance dataset
      description: Rebalances the dataset over training / testing categories. This resets the category for all data and splits it 80%/20% between training and testing. This is a deterministic process based on the hash of the name of the data.
      operationId: rebalanceDataset
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RebalanceDatasetResponse'
  /api/{projectId}/raw-data/clear-all-object-detection-labels:
    post:
      summary: Clear all object detection labels
      description: Clears all object detection labels for this dataset, and places all images back in the labeling queue.
      operationId: clearAllObjectDetectionLabels
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/delete-all:
    post:
      summary: Remove all samples
      description: Deletes all samples for this project over all categories. This also invalidates all DSP and learn blocks. Note that this does not delete the data from cold storage.
      operationId: deleteAllSamples
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/delete-all/{category}:
    post:
      summary: Remove all samples by category
      description: Deletes all samples for this project over a single category. Note that this does not delete the data from cold storage.
      operationId: deleteAllSamplesByCategory
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/RawDataCategoryParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/metadata:
    get:
      summary: Get project sample metadata
      description: Get metadata for all samples in a project.
      operationId: getSampleMetadata
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/RawDataCategoryQueryParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSampleMetadataResponse'
  /api/{projectId}/raw-data/imported-from:
    get:
      summary: List data with "imported from" metadata key
      description: Lists all data with an 'imported from' metadata key. Used to check in a data source which items are already in a project.
      operationId: getAllImportedFrom
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllImportedFromResponse'
  /api/{projectId}/raw-data/{sampleId}:
    get:
      summary: Get sample
      description: Get a sample.
      operationId: getSample
      tags:
      - Raw data
      x-middleware:
      - AllowsReadOnly
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      - $ref: '#/components/parameters/LimitPayloadValues'
      - $ref: '#/components/parameters/CacheKeyParameter'
      - $ref: '#/components/parameters/OptionalImpulseIdParameter'
      - $ref: '#/components/parameters/ProposedActionsJobIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSampleResponse'
    delete:
      summary: Remove sample
      description: Deletes the sample. Note that this does not delete the data from cold storage.
      operationId: deleteSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/raw:
    get:
      summary: Download file
      description: Download a sample in it's original format as uploaded to the ingestion service.
      operationId: getSampleAsRaw
      tags:
      - Raw data
      x-middleware:
      - AllowsReadOnly
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      responses:
        '200':
          description: CBOR or JSON file
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
  /api/{projectId}/raw-data/{sampleId}/wav:
    get:
      summary: Get WAV file
      description: Get a sample as a WAV file. This only applies to samples with an audio axis.
      operationId: getSampleAsAudio
      tags:
      - Raw data
      x-middleware:
      - SupportsRange
      - AllowsReadOnly
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      - $ref: '#/components/parameters/AxisIndexParameter'
      - $ref: '#/components/parameters/OptionalSliceStartParameter'
      - $ref: '#/components/parameters/OptionalSliceEndParameter'
      - $ref: '#/components/parameters/CacheKeyParameter'
      responses:
        '200':
          description: Wav file
          content:
            audio/wav:
              schema:
                type: string
                format: binary
  /api/{projectId}/raw-data/{sampleId}/image:
    get:
      summary: Get image file
      description: Get a sample as an image file. This only applies to samples with RGBA data.
      operationId: getSampleAsImage
      tags:
      - Raw data
      x-middleware:
      - AllowsReadOnly
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      - $ref: '#/components/parameters/AfterInputBlockParameter'
      - $ref: '#/components/parameters/CacheKeyParameter'
      - $ref: '#/components/parameters/OptionalImpulseIdParameter'
      responses:
        '200':
          description: Image file (either JPEG or PNG format)
          content:
            image/jpeg:
              schema:
                type: string
                format: binary
  /api/{projectId}/raw-data/{sampleId}/video:
    get:
      summary: Get video file
      description: Get a sample as an video file. This only applies to samples with video data.
      operationId: getSampleAsVideo
      tags:
      - Raw data
      x-middleware:
      - AllowsReadOnly
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      - $ref: '#/components/parameters/AfterInputBlockParameter'
      - $ref: '#/components/parameters/CacheKeyParameter'
      - $ref: '#/components/parameters/OptionalImpulseIdParameter'
      responses:
        '200':
          description: Video file in AVI or MP4 format
          content:
            video/mp4:
              schema:
                type: string
                format: binary
  /api/{projectId}/raw-data/{sampleId}/slice:
    get:
      summary: Get sample slice
      description: Get a slice of a sample.
      operationId: getSampleSlice
      tags:
      - Raw data
      x-middleware:
      - AllowsReadOnly
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      - $ref: '#/components/parameters/SliceStartParameter'
      - $ref: '#/components/parameters/OptionalSliceEndDefaultToWindowLengthParameter'
      - $ref: '#/components/parameters/OptionalImpulseIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSampleResponse'
  /api/{projectId}/raw-data/{sampleId}/rename:
    post:
      summary: Rename sample
      description: Sets the file name of the sample. This name does not need to be unique, but it's highly recommended to do so.
      operationId: renameSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenameSampleRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/edit-label:
    post:
      summary: Edit label
      description: Sets the label (also known as class) of the sample. Use the same label for similar types of data, as they are used during training.
      operationId: editLabel
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditSampleLabelRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/move:
    post:
      summary: Move sample
      description: Move a sample to another category (e.g. from test to training).
      operationId: moveSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveRawDataRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/crop:
    post:
      summary: Crop sample
      description: Crop a sample to within a new range.
      operationId: cropSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CropSampleRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CropSampleResponse'
  /api/{projectId}/raw-data/{sampleId}/split:
    post:
      summary: Split sample into frames
      description: 'Split a video sample into individual frames.

        Depending on the length of the video sample this will either execute immediately or return the ID of a job that will perform this action.

        '
      operationId: splitSampleInFrames
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SplitSampleInFramesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/GenericApiResponse'
                - $ref: '#/components/schemas/StartJobResponse'
  /api/{projectId}/raw-data/{sampleId}/find-segments:
    post:
      summary: Find segments
      description: Find start and end times for all non-noise events in a sample
      operationId: findSegmentsInSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindSegmentSampleRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindSegmentSampleResponse'
  /api/{projectId}/raw-data/{sampleId}/segment:
    post:
      summary: Segment sample
      description: Slice a sample into multiple segments. The original file will be marked as deleted, but you can crop any created segment to retrieve the original file.
      operationId: segmentSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentSampleRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/bounding-boxes:
    post:
      summary: Set bounding boxes
      description: Set the bounding boxes for a sample
      operationId: setSampleBoundingBoxes
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SampleBoundingBoxesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/structured-labels:
    post:
      summary: Update structured labels
      description: Set structured labels for a sample. If a sample has structured labels the `label` column is ignored, and the sample is allowed to have multiple labels. An array of { startIndex, endIndex, label } needs to be passed in with labels for the complete sample (see `valuesCount` to get the upper bound). endIndex is _inclusive_. If you pass in an incorrect array (e.g. missing values) you'll get an error back.
      operationId: setSampleStructuredLabels
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetSampleStructuredLabelsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/store-segment-length:
    post:
      summary: Store the last segment length
      description: When segmenting a sample into smaller segments, store the segment length to ensure uniform segment lengths.
      operationId: storeSegmentLength
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreSegmentLengthRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/original:
    get:
      summary: Get the original downsampled data
      description: Get the original, uncropped, downsampled data.
      operationId: getUncroppedDownsampledSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      - $ref: '#/components/parameters/LimitPayloadValues'
      - $ref: '#/components/parameters/ZoomStart'
      - $ref: '#/components/parameters/ZoomEnd'
      - $ref: '#/components/parameters/OptionalImpulseIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSampleResponse'
  /api/{projectId}/raw-data/{sampleId}/retry-processing:
    post:
      summary: Retry processing
      description: If a sample failed processing, retry the processing operation.
      operationId: retryProcessing
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/enable:
    post:
      summary: Enable sample
      description: Enable a sample, ensuring that it is not excluded from the dataset.
      operationId: enableSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/disable:
    post:
      summary: Disable sample
      description: Disable a sample, ensuring that it is excluded from the dataset.
      operationId: disableSample
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/autolabel:
    post:
      summary: Auto-label an image
      description: Classify an image using another neural network.
      operationId: classifyUsingAutolabel
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectDetectionAutoLabelRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectDetectionAutoLabelResponse'
  /api/{projectId}/raw-data/{sampleId}/metadata:
    post:
      summary: Set sample metadata
      description: Adds or updates the metadata associated to a sample.
      operationId: setSampleMetadata
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetSampleMetadataRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/to-labeling-queue:
    post:
      summary: Move sample to labeling queue
      description: Clears the bounding box labels and moves item back to labeling queue
      operationId: moveToLabelingQueue
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/{sampleId}/propose-changes:
    post:
      summary: Propose changes
      description: Queue up changes to an object as part of the AI Actions flow. This overwrites any previous proposed changes.
      operationId: setSampleProposedChanges
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/SampleIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetSampleProposedChangesRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/{projectId}/raw-data/batch/edit-labels:
    post:
      summary: Edit labels for multiple samples
      description: 'Sets the label (also known as class) of multiple samples.

        Depending on the number of affected samples this will either execute immediately or return the ID of a job that will perform this action in batches.

        '
      operationId: batchEditLabels
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/RawDataCategoryQueryParameter'
      - $ref: '#/components/parameters/FiltersLabelsParameter'
      - $ref: '#/components/parameters/FiltersFilenameParameter'
      - $ref: '#/components/parameters/FiltersMaxLengthParameter'
      - $ref: '#/components/parameters/FiltersMinLengthParameter'
      - $ref: '#/components/parameters/FiltersMinFrequencyParameter'
      - $ref: '#/components/parameters/FiltersMaxFrequencyParameter'
      - $ref: '#/components/parameters/FiltersSignatureParameter'
      - $ref: '#/components/parameters/FiltersDisabledParameter'
      - $ref: '#/components/parameters/FiltersIdsParameter'
      - $ref: '#/components/parameters/FiltersExcludeIdsParameter'
      - $ref: '#/components/parameters/FiltersMinLabelParameter'
      - $ref: '#/components/parameters/FiltersMaxLabelParameter'
      - $ref: '#/components/parameters/SearchQueryParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditSampleLabelRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/GenericApiResponse'
                - $ref: '#/components/schemas/StartJobResponse'
  /api/{projectId}/raw-data/batch/delete:
    post:
      summary: Remove multiple samples
      description: 'Deletes samples. Note that this does not delete the data from cold storage.

        Depending on the number of affected samples this will either execute immediately or return the ID of a job that will perform this action in batches.

        '
      operationId: batchDelete
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/RawDataCategoryQueryParameter'
      - $ref: '#/components/parameters/FiltersLabelsParameter'
      - $ref: '#/components/parameters/FiltersFilenameParameter'
      - $ref: '#/components/parameters/FiltersMaxLengthParameter'
      - $ref: '#/components/parameters/FiltersMinLengthParameter'
      - $ref: '#/components/parameters/FiltersMinFrequencyParameter'
      - $ref: '#/components/parameters/FiltersMaxFrequencyParameter'
      - $ref: '#/components/parameters/FiltersSignatureParameter'
      - $ref: '#/components/parameters/FiltersDisabledParameter'
      - $ref: '#/components/parameters/FiltersIdsParameter'
      - $ref: '#/components/parameters/FiltersExcludeIdsParameter'
      - $ref: '#/components/parameters/FiltersMinLabelParameter'
      - $ref: '#/components/parameters/FiltersMaxLabelParameter'
      - $ref: '#/components/parameters/SearchQueryParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/GenericApiResponse'
                - $ref: '#/components/schemas/StartJobResponse'
  /api/{projectId}/raw-data/batch/moveSamples:
    post:
      summary: Move multiple samples
      description: 'Move multiple samples to another category (e.g. from test to training).

        Depending on the number of affected samples this will either execute immediately or return the ID of a job that will perform this action in batches.

        '
      operationId: batchMove
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/RawDataCategoryQueryParameter'
      - $ref: '#/components/parameters/FiltersLabelsParameter'
      - $ref: '#/components/parameters/FiltersFilenameParameter'
      - $ref: '#/components/parameters/FiltersMaxLengthParameter'
      - $ref: '#/components/parameters/FiltersMinLengthParameter'
      - $ref: '#/components/parameters/FiltersMinFrequencyParameter'
      - $ref: '#/components/parameters/FiltersMaxFrequencyParameter'
      - $ref: '#/components/parameters/FiltersSignatureParameter'
      - $ref: '#/components/parameters/FiltersDisabledParameter'
      - $ref: '#/components/parameters/FiltersIdsParameter'
      - $ref: '#/components/parameters/FiltersExcludeIdsParameter'
      - $ref: '#/components/parameters/FiltersMinLabelParameter'
      - $ref: '#/components/parameters/FiltersMaxLabelParameter'
      - $ref: '#/components/parameters/SearchQueryParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveRawDataRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/GenericApiResponse'
                - $ref: '#/components/schemas/StartJobResponse'
  /api/{projectId}/raw-data/batch/enable-samples:
    post:
      summary: Enable multiple samples
      description: 'Enables samples, ensuring that they are not excluded from the dataset.

        Depending on the number of affected samples this will either execute immediately or return the ID of a job that will perform this action in batches.

        '
      operationId: batchEnable
      tags:
      - Raw data
      parameters:
      - $ref: '#/components/parameters/ProjectIdParameter'
      - $ref: '#/components/parameters/RawDataCategoryQueryP

# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/edge-impulse/refs/heads/main/openapi/edge-impulse-raw-data-api-openapi.yml