# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Edge Impulse Raw data API version: 1.0.0 extends: openapi/edge-impulse-raw-data-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 66 - target: $.paths['/api/{projectId}/raw-data'].get update: x-apievangelist-phrasing: intent: List data samples in a dataset category effect: read questions: - What samples are in the training set of my Edge Impulse project? - Can I page through test samples filtered by label or filename? - Which samples fall between a minimum and maximum length? instructions: - text: List the {category} samples in project {projectId}. slots: category: query.category projectId: path.projectId - text: List {category} samples labeled {labels} in project {projectId}, {limit} at a time. slots: category: query.category labels: query.labels projectId: path.projectId limit: query.limit method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/count'].get update: x-apievangelist-phrasing: intent: Count data samples in a dataset category effect: read questions: - How many training samples does my project have? - What's the number of test samples carrying a particular label? instructions: - text: Count the {category} samples in project {projectId}. slots: category: query.category projectId: path.projectId - text: Tell me how many {category} samples in project {projectId} are labeled {labels}. slots: category: query.category projectId: path.projectId labels: query.labels method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/label-object-detection-queue'].get update: x-apievangelist-phrasing: intent: Get images waiting for bounding-box labeling effect: read questions: - Which images still need bounding boxes drawn in my object detection project? - Where do I find the unlabeled items in the labeling queue? instructions: - text: List the unlabeled items in the object detection queue for project {projectId}. slots: projectId: path.projectId - text: Show the images awaiting bounding-box labels in project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/label-object-detection-queue/count'].get update: x-apievangelist-phrasing: intent: Count items in the object detection labeling queue effect: read questions: - How many images are left to label in my object detection queue? - Is my bounding-box labeling queue empty yet? instructions: - text: Count the unlabeled items in the object detection queue for project {projectId}. slots: projectId: path.projectId - text: Tell me how many images remain in the labeling queue of project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/rebalance'].post update: x-apievangelist-phrasing: intent: Rebalance train/test split (original endpoint) effect: write questions: - How do I reset my dataset to an 80/20 train-test split using the original rebalance endpoint? - Will the older rebalance call reassign every sample deterministically? instructions: - text: Rebalance project {projectId} to 80/20 train/test using the original v1 rebalance endpoint. slots: projectId: path.projectId - text: Run the legacy dataset rebalance on project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/clear-all-object-detection-labels'].post update: x-apievangelist-phrasing: intent: Clear all bounding-box labels in a project effect: destructive questions: - How do I wipe every bounding box in my dataset and start labeling over? - Can I send all images back to the labeling queue in one go? instructions: - text: Clear all object detection labels in project {projectId}. slots: projectId: path.projectId - text: Remove every bounding box from project {projectId} and requeue all images for labeling. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/delete-all'].post update: x-apievangelist-phrasing: intent: Delete all samples in a project effect: destructive questions: - How do I delete my entire dataset across training and testing? - Does removing all samples also invalidate my DSP and learn blocks? instructions: - text: Delete every sample in project {projectId} across all categories. slots: projectId: path.projectId - text: Wipe the whole dataset of project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/delete-all/{category}'].post update: x-apievangelist-phrasing: intent: Delete all samples in one category effect: destructive questions: - Can I delete just the test set while keeping training data? - How do I remove every sample in a single dataset category? instructions: - text: Delete all {category} samples in project {projectId}. slots: category: path.category projectId: path.projectId - text: Clear out the {category} category of project {projectId}. slots: category: path.category projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/metadata'].get update: x-apievangelist-phrasing: intent: Get metadata for all samples in a category effect: read questions: - What metadata is attached to every training sample in my project? - Can I export the metadata of all test samples at once? instructions: - text: Get metadata for all {category} samples in project {projectId}. slots: category: query.category projectId: path.projectId - text: Show sample metadata across the {category} set of project {projectId}. slots: category: query.category projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/imported-from'].get update: x-apievangelist-phrasing: intent: List samples with 'imported from' metadata effect: read questions: - Which items from my data source have already been imported into the project? - Can I see every sample tagged with an 'imported from' origin? instructions: - text: List samples with an imported-from key in project {projectId}. slots: projectId: path.projectId - text: Show {limit} already-imported data items in project {projectId}. slots: limit: query.limit projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}'].get update: x-apievangelist-phrasing: intent: Get a single data sample effect: read questions: - What are the sensor values and label of a specific sample? - Can I fetch one sample but cap the number of payload values returned? instructions: - text: Get sample {sampleId} from project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId - text: Fetch sample {sampleId} in project {projectId} limited to {limitPayloadValues} values. slots: sampleId: path.sampleId projectId: path.projectId limitPayloadValues: query.limitPayloadValues method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}'].delete update: x-apievangelist-phrasing: intent: Delete a single sample effect: destructive questions: - How do I remove one bad sample from my dataset? - Does deleting a sample also remove it from cold storage? instructions: - text: Delete sample {sampleId} from project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId - text: Remove the single sample {sampleId} in project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/raw'].get update: x-apievangelist-phrasing: intent: Download a sample in its original format effect: read questions: - Can I download a sample exactly as it was uploaded to the ingestion service? - How do I get the original file behind a sample? instructions: - text: Download the original uploaded file for sample {sampleId} in project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId - text: Get sample {sampleId} from project {projectId} in its raw uploaded format. slots: sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/wav'].get update: x-apievangelist-phrasing: intent: Get an audio sample as a WAV file effect: read questions: - How do I listen to an audio sample as a WAV file? - Can I export just a time slice of an audio sample? instructions: - text: Get sample {sampleId} in project {projectId} as WAV using axis {axisIx}. slots: sampleId: path.sampleId projectId: path.projectId axisIx: query.axisIx - text: Export axis {axisIx} of sample {sampleId} in project {projectId} as WAV from {sliceStart} to {sliceEnd}. slots: axisIx: query.axisIx sampleId: path.sampleId projectId: path.projectId sliceStart: query.sliceStart sliceEnd: query.sliceEnd method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/image'].get update: x-apievangelist-phrasing: intent: Get an image sample as an image file effect: read questions: - How do I view an RGBA sample as an image file? - Can I see what an image looks like after the impulse's input block processes it? instructions: - text: Get sample {sampleId} in project {projectId} as an image file. slots: sampleId: path.sampleId projectId: path.projectId - text: Render image sample {sampleId} from project {projectId} after the input block of impulse {impulseId}. slots: sampleId: path.sampleId projectId: path.projectId impulseId: query.impulseId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/video'].get update: x-apievangelist-phrasing: intent: Get a video sample as a video file effect: read questions: - How do I play back a video sample from my dataset? - Can I download a sample containing video data as a video file? instructions: - text: Get sample {sampleId} in project {projectId} as a video file. slots: sampleId: path.sampleId projectId: path.projectId - text: Download the video for sample {sampleId} of project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/slice'].get update: x-apievangelist-phrasing: intent: Get a slice of a sample's data effect: read questions: - Can I fetch only part of a long sample's data between two points? - How do I read a window of values from a sample starting at a given offset? instructions: - text: Get a slice of sample {sampleId} in project {projectId} starting at {sliceStart}. slots: sampleId: path.sampleId projectId: path.projectId sliceStart: query.sliceStart - text: Return sample {sampleId} data from {sliceStart} to {sliceEnd} in project {projectId}. slots: sampleId: path.sampleId sliceStart: query.sliceStart sliceEnd: query.sliceEnd projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/rename'].post update: x-apievangelist-phrasing: intent: Rename a sample effect: write questions: - How do I change the file name of a sample? - Do sample names need to be unique within a project? instructions: - text: Rename sample {sampleId} in project {projectId} to {name}. slots: sampleId: path.sampleId projectId: path.projectId name: requestBody.name - text: Set the file name of sample {sampleId} in project {projectId} to {name}. slots: sampleId: path.sampleId projectId: path.projectId name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/edit-label'].post update: x-apievangelist-phrasing: intent: Change the label of one sample effect: write questions: - How do I fix the class label on a single mislabeled sample? - Can I relabel one sample without touching the rest of the dataset? instructions: - text: Set the label of sample {sampleId} in project {projectId} to {label}. slots: sampleId: path.sampleId projectId: path.projectId label: requestBody.label - text: Relabel just sample {sampleId} of project {projectId} as {label}. slots: sampleId: path.sampleId projectId: path.projectId label: requestBody.label method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/move'].post update: x-apievangelist-phrasing: intent: Move one sample to another category effect: write questions: - How do I move a single sample from the test set into training? - Can I reassign one sample's dataset category? instructions: - text: Move sample {sampleId} in project {projectId} to {newCategory}. slots: sampleId: path.sampleId projectId: path.projectId newCategory: requestBody.newCategory - text: Put the single sample {sampleId} of project {projectId} into the {newCategory} set. slots: sampleId: path.sampleId projectId: path.projectId newCategory: requestBody.newCategory method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/crop'].post update: x-apievangelist-phrasing: intent: Crop a sample to a new range effect: write questions: - How do I trim the silence off the start and end of a recording? - Can I crop a sample to keep only a section between two points? instructions: - text: Crop sample {sampleId} in project {projectId} from {cropStart} to {cropEnd}. slots: sampleId: path.sampleId projectId: path.projectId cropStart: requestBody.cropStart cropEnd: requestBody.cropEnd - text: Trim sample {sampleId} of project {projectId} to the range {cropStart} through {cropEnd}. slots: sampleId: path.sampleId projectId: path.projectId cropStart: requestBody.cropStart cropEnd: requestBody.cropEnd method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/split'].post update: x-apievangelist-phrasing: intent: Split a video sample into frames effect: write questions: - How do I turn a video sample into individual image frames? - Can I choose the frame rate when splitting a video into frames? instructions: - text: Split video sample {sampleId} in project {projectId} into frames. slots: sampleId: path.sampleId projectId: path.projectId - text: Extract frames from video {sampleId} of project {projectId} at {fps} fps. slots: sampleId: path.sampleId projectId: path.projectId fps: requestBody.fps method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/find-segments'].post update: x-apievangelist-phrasing: intent: Detect non-noise events in a sample effect: read questions: - Can Edge Impulse automatically find where the interesting events are in a long recording? - How do I get start and end times for every non-noise event in a sample? instructions: - text: Find segments in sample {sampleId} of project {projectId} with {segmentLengthMs} ms segments. slots: sampleId: path.sampleId projectId: path.projectId segmentLengthMs: requestBody.segmentLengthMs - text: Detect events in sample {sampleId} in project {projectId}, {segmentLengthMs} ms long, shifting segments {shiftSegments}. slots: sampleId: path.sampleId projectId: path.projectId segmentLengthMs: requestBody.segmentLengthMs shiftSegments: requestBody.shiftSegments method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/segment'].post update: x-apievangelist-phrasing: intent: Slice a sample into multiple segments effect: write questions: - How do I cut one long sample into several shorter samples? - What happens to the original file after I segment a sample? instructions: - text: Segment sample {sampleId} in project {projectId} into {segments}. slots: sampleId: path.sampleId projectId: path.projectId segments: requestBody.segments - text: 'Slice sample {sampleId} of project {projectId} at these segment boundaries: {segments}.' slots: sampleId: path.sampleId projectId: path.projectId segments: requestBody.segments method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/bounding-boxes'].post update: x-apievangelist-phrasing: intent: Set bounding boxes on one sample effect: write questions: - How do I save bounding-box annotations for a single image? - Can I replace the object boxes drawn on one sample? instructions: - text: Set the bounding boxes of sample {sampleId} in project {projectId} to {boundingBoxes}. slots: sampleId: path.sampleId projectId: path.projectId boundingBoxes: requestBody.boundingBoxes - text: Annotate image {sampleId} of project {projectId} with boxes {boundingBoxes}. slots: sampleId: path.sampleId projectId: path.projectId boundingBoxes: requestBody.boundingBoxes method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/structured-labels'].post update: x-apievangelist-phrasing: intent: Set multiple time-ranged labels on a sample effect: write questions: - Can one sample carry several labels over different time ranges? - How do I label parts of a sample with start and end indexes? instructions: - text: Set structured labels {structuredLabels} on sample {sampleId} in project {projectId}. slots: structuredLabels: requestBody.structuredLabels sampleId: path.sampleId projectId: path.projectId - text: Give sample {sampleId} of project {projectId} multi-label ranges {structuredLabels}. slots: sampleId: path.sampleId projectId: path.projectId structuredLabels: requestBody.structuredLabels method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/store-segment-length'].post update: x-apievangelist-phrasing: intent: Remember the last segment length used effect: write questions: - Can the project remember my segment length so all segments come out uniform? - How do I save a default segment length for future segmenting? instructions: - text: Store a segment length of {segmentLength} for project {projectId}. slots: segmentLength: requestBody.segmentLength projectId: path.projectId - text: Remember {segmentLength} as the last segment length in project {projectId}. slots: segmentLength: requestBody.segmentLength projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/original'].get update: x-apievangelist-phrasing: intent: Get a sample's original uncropped data effect: read questions: - Can I see a sample's data as it was before I cropped it? - How do I zoom into a range of the original downsampled signal? instructions: - text: Get the original uncropped data for sample {sampleId} in project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId - text: Show uncropped downsampled data of sample {sampleId} in project {projectId} zoomed from {zoomStart} to {zoomEnd}. slots: sampleId: path.sampleId projectId: path.projectId zoomStart: query.zoomStart zoomEnd: query.zoomEnd method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/retry-processing'].post update: x-apievangelist-phrasing: intent: Retry processing a failed sample effect: write questions: - What can I do about a sample that failed processing after upload? - Is there a way to reprocess a single broken sample? instructions: - text: Retry processing sample {sampleId} in project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId - text: Reprocess failed sample {sampleId} of project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/enable'].post update: x-apievangelist-phrasing: intent: Re-include one sample in the dataset effect: write questions: - How do I bring a disabled sample back into my dataset? - Can I re-enable a single excluded sample? instructions: - text: Enable sample {sampleId} in project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId - text: Include the single sample {sampleId} of project {projectId} in the dataset again. slots: sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/disable'].post update: x-apievangelist-phrasing: intent: Exclude one sample from the dataset effect: write questions: - Can I exclude one sample from training without deleting it? - How do I temporarily disable a single questionable sample? instructions: - text: Disable sample {sampleId} in project {projectId}. slots: sampleId: path.sampleId projectId: path.projectId - text: Exclude the single sample {sampleId} of project {projectId} from the dataset. slots: sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/autolabel'].post update: x-apievangelist-phrasing: intent: Auto-label an image with another neural network effect: write questions: - Can another neural network classify an image for me automatically? - How do I auto-label one image sample? instructions: - text: Auto-label image {sampleId} in project {projectId} using {neuralNetwork}. slots: sampleId: path.sampleId projectId: path.projectId neuralNetwork: requestBody.neuralNetwork - text: Classify sample {sampleId} of project {projectId} with neural network {neuralNetwork}. slots: sampleId: path.sampleId projectId: path.projectId neuralNetwork: requestBody.neuralNetwork method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/metadata'].post update: x-apievangelist-phrasing: intent: Set metadata on one sample effect: write questions: - How do I attach metadata such as device or location to a single sample? - Can I update the key-value metadata on one sample? instructions: - text: Set metadata {metadata} on sample {sampleId} in project {projectId}. slots: metadata: requestBody.metadata sampleId: path.sampleId projectId: path.projectId - text: Update the single sample {sampleId} of project {projectId} with metadata {metadata}. slots: sampleId: path.sampleId projectId: path.projectId metadata: requestBody.metadata method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/to-labeling-queue'].post update: x-apievangelist-phrasing: intent: Send one sample back to the labeling queue effect: destructive questions: - How do I redo the bounding boxes on a single image? - Can I clear one image's boxes and put it back in the labeling queue? instructions: - text: Move sample {sampleId} in project {projectId} back to the labeling queue. slots: sampleId: path.sampleId projectId: path.projectId - text: Clear the boxes on image {sampleId} of project {projectId} and requeue it for labeling. slots: sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/propose-changes'].post update: x-apievangelist-phrasing: intent: Queue AI Actions proposed changes for a sample effect: write questions: - How do I stage changes to a sample as part of an AI Actions job? - Will proposing new changes overwrite earlier proposals for the same sample? instructions: - text: Propose changes {proposedChanges} to sample {sampleId} in project {projectId} for AI Actions job {jobId}. slots: proposedChanges: requestBody.proposedChanges sampleId: path.sampleId projectId: path.projectId jobId: requestBody.jobId - text: Queue job {jobId} proposals {proposedChanges} on sample {sampleId} of project {projectId}. slots: jobId: requestBody.jobId proposedChanges: requestBody.proposedChanges sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/edit-labels'].post update: x-apievangelist-phrasing: intent: Relabel many samples at once effect: write questions: - How do I change the label on a whole batch of samples in one call? - Can I relabel every training sample whose filename matches a pattern? instructions: - text: Relabel all {category} samples currently labeled {labels} in project {projectId} as {label}. slots: category: query.category labels: query.labels projectId: path.projectId label: requestBody.label - text: Set label {label} on {category} samples {ids} in project {projectId}. slots: label: requestBody.label category: query.category ids: query.ids projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/delete'].post update: x-apievangelist-phrasing: intent: Delete many samples matching a filter effect: destructive questions: - How do I delete every sample with a particular label in bulk? - Can I remove a specific list of sample IDs in one request? instructions: - text: Delete all {category} samples labeled {labels} in project {projectId}. slots: category: query.category labels: query.labels projectId: path.projectId - text: Bulk delete {category} samples {ids} from project {projectId}. slots: category: query.category ids: query.ids projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/moveSamples'].post update: x-apievangelist-phrasing: intent: Move many samples to another category effect: write questions: - How do I move a batch of test samples into the training set? - Can I shift all samples of one label to a different category at once? instructions: - text: Move all {category} samples labeled {labels} in project {projectId} to {newCategory}. slots: category: query.category labels: query.labels projectId: path.projectId newCategory: requestBody.newCategory - text: Bulk move {category} samples {ids} of project {projectId} into {newCategory}. slots: category: query.category ids: query.ids projectId: path.projectId newCategory: requestBody.newCategory method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/enable-samples'].post update: x-apievangelist-phrasing: intent: Re-include many samples in the dataset effect: write questions: - How do I re-enable a whole group of disabled samples? - Can I bring back every excluded sample with a given label? instructions: - text: Enable all {category} samples labeled {labels} in project {projectId}. slots: category: query.category labels: query.labels projectId: path.projectId - text: Bulk enable {category} samples {ids} in project {projectId}. slots: category: query.category ids: query.ids projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/disable-samples'].post update: x-apievangelist-phrasing: intent: Exclude many samples from the dataset effect: write questions: - How do I exclude a batch of samples from training without deleting them? - Can I disable every sample shorter than a minimum length? instructions: - text: Disable all {category} samples labeled {labels} in project {projectId}. slots: category: query.category labels: query.labels projectId: path.projectId - text: Bulk disable {category} samples shorter than {minLength} in project {projectId}. slots: category: query.category minLength: query.minLength projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/add-metadata'].post update: x-apievangelist-phrasing: intent: Add a metadata field to many samples effect: write questions: - How do I tag a batch of samples with the same metadata key and value? - Can I add metadata to every sample with a certain label in one step? instructions: - text: Add metadata {metadataKey}={metadataValue} to all {category} samples in project {projectId}. slots: metadataKey: requestBody.metadataKey metadataValue: requestBody.metadataValue category: query.category projectId: path.projectId - text: Tag {category} samples labeled {labels} in project {projectId} with {metadataKey} set to {metadataValue}. slots: category: query.category labels: query.labels projectId: path.projectId metadataKey: requestBody.metadataKey metadataValue: requestBody.metadataValue method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/clear-metadata-by-key'].post update: x-apievangelist-phrasing: intent: Remove one metadata key from many samples effect: destructive questions: - How do I strip a single metadata field from a batch of samples? - Can I clear one metadata key across all my training samples? instructions: - text: Clear metadata key {metadataKey} from all {category} samples in project {projectId}. slots: metadataKey: requestBody.metadataKey category: query.category projectId: path.projectId - text: Remove the {metadataKey} field from {category} samples labeled {labels} in project {projectId}. slots: metadataKey: requestBody.metadataKey category: query.category labels: query.labels projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/clear-metadata'].post update: x-apievangelist-phrasing: intent: Clear all metadata from many samples effect: destructive questions: - How do I wipe every metadata field from a set of samples? - Can I reset all metadata on samples that match a filter? instructions: - text: Wipe every metadata key and value on the {category} set of project {projectId}. slots: category: query.category projectId: path.projectId - text: Remove every metadata field from {category} samples {ids} in project {projectId}. slots: category: query.category ids: query.ids projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/track-objects'].post update: x-apievangelist-phrasing: intent: Track labeled objects into the next sample effect: write questions: - Can bounding boxes from one frame be carried forward to the next frame automatically? - How do I track objects between two consecutive image samples? instructions: - text: Track objects from sample {sourceSampleId} into sample {nextSampleId} in project {projectId}. slots: sourceSampleId: requestBody.sourceSampleId nextSampleId: requestBody.nextSampleId projectId: path.projectId - text: Carry bounding boxes on {sourceSampleId} forward to {nextSampleId} in project {projectId}. slots: sourceSampleId: requestBody.sourceSampleId nextSampleId: requestBody.nextSampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-explorer/features'].get update: x-apievangelist-phrasing: intent: Get the data explorer's 2D feature map effect: read questions: - How can I get the t-SNE projection that the data explorer plots? - Where do I fetch the 2D coordinates of every sample in the data explorer? instructions: - text: Get the data explorer features for project {projectId}. slots: projectId: path.projectId - text: Return the t-SNE points plotted in the data explorer of project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-explorer/has-features'].get update: x-apievangelist-phrasing: intent: Check if data explorer features exist effect: read questions: - Has the data explorer already been generated for my project? - Is there a computed feature map ready before I try to load the explorer? instructions: - text: Check whether project {projectId} has data explorer features. slots: projectId: path.projectId - text: Tell me if the data explorer for project {projectId} has been computed. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-explorer/predictions'].get update: x-apievangelist-phrasing: intent: Get model predictions for data explorer points effect: read questions: - What did the current impulse predict for each point in the data explorer? - Can I see which data explorer samples the model gets wrong? instructions: - text: Get data explorer predictions for project {projectId}. slots: projectId: path.projectId - text: Show the impulse's prediction for every explorer point in project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-explorer/clear'].post update: x-apievangelist-phrasing: intent: Clear the data explorer state effect: destructive questions: - How do I reset the data explorer so it can be regenerated? - Can I throw away the current data explorer results? instructions: - text: Clear the data explorer for project {projectId}. slots: projectId: path.projectId - text: Remove the current data explorer state in project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-explorer/settings'].get update: x-apievangelist-phrasing: intent: Get data explorer settings effect: read questions: - Which preset and dimensionality reduction does my data explorer use? - What input and DSP block is the data explorer configured with? instructions: - text: Get the data explorer settings for project {projectId}. slots: projectId: path.projectId - text: Show how the data explorer is configured in project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-explorer/settings'].post update: x-apievangelist-phrasing: intent: Configure the data explorer effect: write questions: - How do I switch the data explorer to a different dimensionality reduction technique? - Can I point the data explorer at a specific impulse? instructions: - text: Set the data explorer in project {projectId} to use preset {preset}. slots: projectId: path.projectId preset: requestBody.preset - text: Configure project {projectId} data explorer with {dimensionalityReductionTechnique} on impulse {impulseId}. slots: projectId: path.projectId dimensionalityReductionTechnique: requestBody.dimensionalityReductionTechnique impulseId: requestBody.impulseId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-explorer/screenshot'].post update: x-apievangelist-phrasing: intent: Upload a data explorer screenshot effect: write questions: - Can a data pipeline upload a picture of the data explorer? - Where does a screenshot of the data explorer get stored from a pipeline? instructions: - text: Upload data explorer screenshot {image} to project {projectId}. slots: image: requestBody.image projectId: path.projectId - text: Save image {image} as the data explorer snapshot for project {projectId}. slots: image: requestBody.image projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-quality/diversity/exists'].get update: x-apievangelist-phrasing: intent: Check if diversity metrics were calculated effect: read questions: - Have dataset diversity metrics been calculated for my project yet? - Is there similarity and diversity data available to load? instructions: - text: Check whether diversity metrics exist for project {projectId}. slots: projectId: path.projectId - text: Tell me if project {projectId} has calculated data diversity metrics. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-quality/diversity'].get update: x-apievangelist-phrasing: intent: Get dataset diversity metrics effect: read questions: - How diverse or repetitive are the samples in my dataset? - Which samples look too similar to each other? instructions: - text: Get the diversity metrics for project {projectId}. slots: projectId: path.projectId - text: Show similarity and diversity data for the dataset of project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-quality/label-noise/exists'].get update: x-apievangelist-phrasing: intent: Check if label noise metrics were calculated effect: read questions: - Have label noise metrics been computed for my dataset? - Is a mislabeling analysis available for my project yet? instructions: - text: Check whether label noise metrics exist for project {projectId}. slots: projectId: path.projectId - text: Tell me if project {projectId} has computed label noise data. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/data-quality/label-noise'].get update: x-apievangelist-phrasing: intent: Get label noise metrics effect: read questions: - Which samples in my dataset are likely mislabeled? - Can I see potential label noise issues across the dataset? instructions: - text: Get label noise data for project {projectId}. slots: projectId: path.projectId - text: Show possibly mislabeled samples in project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/ai-actions-preview/{jobId}/proposed-changes'].get update: x-apievangelist-phrasing: intent: Get proposed changes from an AI Actions job effect: read questions: - What changes is an AI Actions job proposing to my samples? - Can I preview AI Actions results before they are applied? instructions: - text: Get the proposed changes from AI Actions job {jobId} in project {projectId}. slots: jobId: path.jobId projectId: path.projectId - text: Preview what AI Actions job {jobId} would change in project {projectId}. slots: jobId: path.jobId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/v2/rebalance'].post update: x-apievangelist-phrasing: intent: Rebalance train/test split (v2 endpoint) effect: write questions: - Is there a v2 version of the rebalance call for resetting to an 80/20 split? - How do I redistribute samples between training and testing with the newer rebalance endpoint? instructions: - text: Rebalance project {projectId} to 80/20 train/test using the v2 rebalance endpoint. slots: projectId: path.projectId - text: Run the v2 dataset rebalance on project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/split'].post update: x-apievangelist-phrasing: intent: Split the dataset into train, test and validation effect: write questions: - How do I split my dataset with custom ratios including a validation set? - Can I keep samples sharing a metadata key together in the same split? - Is it possible to stratify the train/test split by label? instructions: - text: Split project {projectId} into {trainingSplitRatio} training and {testingSplitRatio} testing. slots: projectId: path.projectId trainingSplitRatio: requestBody.trainingSplitRatio testingSplitRatio: requestBody.testingSplitRatio - text: Apply a {trainingSplitRatio}/{testingSplitRatio}/{validationSplitRatio} split to project {projectId}, stratified by {stratifyBy}. slots: trainingSplitRatio: requestBody.trainingSplitRatio testingSplitRatio: requestBody.testingSplitRatio validationSplitRatio: requestBody.validationSplitRatio projectId: path.projectId stratifyBy: requestBody.stratifyBy method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/split-preview'].post update: x-apievangelist-phrasing: intent: Preview a dataset split before applying it effect: read questions: - Can I see how my samples would be distributed before actually splitting? - What would each label's share look like under a proposed split ratio? instructions: - text: Preview a {trainingSplitRatio}/{testingSplitRatio} split for project {projectId} without applying it. slots: trainingSplitRatio: requestBody.trainingSplitRatio testingSplitRatio: requestBody.testingSplitRatio projectId: path.projectId - text: Start a split preview for project {projectId} at {trainingSplitRatio} train, {testingSplitRatio} test, keeping {keepTogetherMetadataKeys} together. slots: projectId: path.projectId trainingSplitRatio: requestBody.trainingSplitRatio testingSplitRatio: requestBody.testingSplitRatio keepTogetherMetadataKeys: requestBody.keepTogetherMetadataKeys method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/get-split-preview-results'].get update: x-apievangelist-phrasing: intent: Get results of a split preview job effect: read questions: - Where do I collect the results of the split preview I started earlier? - Has my split preview job finished, and what did it show? instructions: - text: Get the split preview results for project {projectId}. slots: projectId: path.projectId - text: Fetch the finished split preview output of project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/ratio'].get update: x-apievangelist-phrasing: intent: Get the train/test sample counts effect: read questions: - What is the current ratio of training to testing samples in my project? - How many samples sit in each of train and test right now? instructions: - text: Get the train/test ratio for project {projectId}. slots: projectId: path.projectId - text: Show how many samples are in training versus testing for project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/metadata-filter-options'].get update: x-apievangelist-phrasing: intent: List metadata values usable as sample filters effect: read questions: - Which metadata key-value pairs can I filter my samples by? - What unique metadata values exist across the training set? instructions: - text: List metadata filter options for {category} samples in project {projectId}. slots: category: query.category projectId: path.projectId - text: Show the distinct metadata key/value pairs across {category} data in project {projectId}. slots: category: query.category projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/project-metadata'].get update: x-apievangelist-phrasing: intent: Get dataset-level metadata for a project effect: read questions: - What overall dataset metadata does my project have? - Can I get dataset metadata for a specific dataset version? instructions: - text: Get the dataset metadata for project {projectId}. slots: projectId: path.projectId - text: Show dataset metadata of project {projectId} for version {datasetVersionId}. slots: projectId: path.projectId datasetVersionId: query.datasetVersionId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/{sampleId}/video-dimensions'].post update: x-apievangelist-phrasing: intent: Set a video sample's dimensions effect: write questions: - How do I set the width and height on a video sample that has none? - Can I fix missing dimensions on an uploaded video? instructions: - text: Set video sample {sampleId} in project {projectId} to {width}x{height}. slots: sampleId: path.sampleId projectId: path.projectId width: requestBody.width height: requestBody.height - text: Record dimensions width {width} and height {height} for video {sampleId} of project {projectId}. slots: width: requestBody.width height: requestBody.height sampleId: path.sampleId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/edit-bounding-boxes'].post update: x-apievangelist-phrasing: intent: Relabel or remove bounding boxes in bulk effect: write questions: - How do I rename a bounding-box class across many images at once? - Can I merge several box labels into one across the training set? instructions: - text: Relabel bounding boxes {oldLabels} as {newLabel} across {category} samples in project {projectId}. slots: oldLabels: requestBody.oldLabels newLabel: requestBody.newLabel category: query.category projectId: path.projectId - text: Change box labels {oldLabels} to {newLabel} on {category} samples {ids} of project {projectId}. slots: oldLabels: requestBody.oldLabels newLabel: requestBody.newLabel category: query.category ids: query.ids projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/{projectId}/raw-data/batch/back-to-labeling'].post update: x-apievangelist-phrasing: intent: Send many samples back to the labeling queue effect: write questions: - How do I put a batch of images back into the object detection labeling queue? - Can I requeue every image with a certain label for relabeling? instructions: - text: Put {category} samples labeled {labels} in project {projectId} back into labeling with action {labelAction}. slots: category: query.category labels: query.labels projectId: path.projectId labelAction: requestBody.labelAction - text: Bulk requeue {category} samples {ids} of project {projectId} for labeling, action {labelAction}. slots: category: query.category ids: query.ids projectId: path.projectId labelAction: requestBody.labelAction method: generated generated: '2026-10-01'