Edge Impulse OrganizationData API

The OrganizationData API from Edge Impulse — 32 operation(s) for organizationdata.

Operations 39

GET /api/organizations/{organizationId}/buckets List storage buckets #
POST /api/organizations/{organizationId}/buckets Add a storage bucket #
POST /api/organizations/{organizationId}/buckets/verify Verify bucket connectivity #
GET /api/organizations/{organizationId}/buckets/{bucketId} Get storage bucket #
POST /api/organizations/{organizationId}/buckets/{bucketId} Update storage bucket #
DELETE /api/organizations/{organizationId}/buckets/{bucketId} Remove storage bucket #
POST /api/organizations/{organizationId}/buckets/{bucketId}/verify Verify existing bucket connectivity #
GET /api/organizations/{organizationId}/data List data #
POST /api/organizations/{organizationId}/data/add Add new data #
POST /api/organizations/{organizationId}/data/add-folder Add data items from bucket #
GET /api/organizations/{organizationId}/data/download Download data #
POST /api/organizations/{organizationId}/data/delete Delete data #
POST /api/organizations/{organizationId}/data/clear-checklist Clear checklist for data #
POST /api/organizations/{organizationId}/data/change-dataset Change dataset #
GET /api/organizations/{organizationId}/data/files List files #
POST /api/organizations/{organizationId}/data/refresh Refresh data #
POST /api/organizations/{organizationId}/data/bulk-metadata Bulk update metadata #
GET /api/organizations/{organizationId}/data/{dataId} Get data metadata #
POST /api/organizations/{organizationId}/data/{dataId} Update data metadata #
DELETE /api/organizations/{organizationId}/data/{dataId} Delete data #
POST /api/organizations/{organizationId}/data/{dataId}/add Add files #
GET /api/organizations/{organizationId}/data/{dataId}/download Download data #
DELETE /api/organizations/{organizationId}/data/{dataId}/download Delete file #
GET /api/organizations/{organizationId}/data/{dataId}/files/download Download file #
GET /api/organizations/{organizationId}/data/{dataId}/files/preview Preview file #
GET /api/organizations/{organizationId}/data/{dataId}/transformation-jobs Get transformation jobs for data item #
POST /api/organizations/{organizationId}/dataset Add dataset #
GET /api/organizations/{organizationId}/dataset/{dataset} Get dataset #
POST /api/organizations/{organizationId}/dataset/{dataset} Update dataset #
POST /api/organizations/{organizationId}/dataset/{dataset}/hide Hide dataset #
POST /api/organizations/{organizationId}/dataset/{dataset}/upload-link Create pre-signed S3 upload link #
POST /api/organizations/{organizationId}/dataset/{dataset}/verify Verify dataset #
POST /api/organizations/{organizationId}/dataset/{dataset}/files List files in dataset #
POST /api/organizations/{organizationId}/dataset/{dataset}/files/delete Delete file from dataset #
POST /api/organizations/{organizationId}/dataset/{dataset}/files/rename Rename file from dataset #
POST /api/organizations/{organizationId}/dataset/{dataset}/files/download Download file from dataset #
GET /api/organizations/{organizationId}/dataset/{dataset}/files/download-folder Download folder from dataset #
GET /api/organizations/{organizationId}/dataset/{dataset}/files/view View file from dataset #
POST /api/organizations/{organizationId}/dataset/{dataset}/files/preview Preview files in a default dataset #

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-organizationdata-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-organizationdata-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Edge Impulse Organization Data API
  version: 1.0.0
servers:
- url: https://studio.edgeimpulse.com/v1
security:
- ApiKeyAuthentication: []
- JWTAuthentication: []
- JWTHttpHeaderAuthentication: []
tags:
- name: OrganizationData
paths:
  /api/organizations/{organizationId}/buckets:
    get:
      summary: List storage buckets
      description: Retrieve all configured storage buckets. This does not list the secret key.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: listOrganizationBuckets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationBucketsResponse'
    post:
      summary: Add a storage bucket
      description: Add a storage bucket.
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationRequiresAdmin
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: addOrganizationBucket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOrganizationBucketRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityCreatedResponse'
  /api/organizations/{organizationId}/buckets/verify:
    post:
      summary: Verify bucket connectivity
      description: 'Verify connectivity to a storage bucket and optionally list its contents. This endpoint allows you to:

        1. Check if the provided bucket credentials are valid and the bucket is accessible.

        2. Optionally list files in the bucket up to a specified limit.

        3. Validate the bucket configuration before adding it to the organization.


        The request can include details such as the bucket name, region, credentials, and listing options.

        The response provides information about the bucket''s accessibility and, if requested, a list of files in the bucket.


        Important note on verification process:

        - For S3-compatible storage backends: Verification is expected to be immediate.

        - For Azure buckets: Verification takes longer. Users are required to poll this endpoint

        until the connectionStatus changes from ''connecting'' to ''connected''.


        When dealing with Azure buckets, implement a polling mechanism to check the status

        periodically until it''s confirmed as connected.

        '
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowDeveloperProfile
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      operationId: verifyOrganizationBucket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyOrganizationBucketRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyOrganizationBucketResponse'
  /api/organizations/{organizationId}/buckets/{bucketId}:
    get:
      summary: Get storage bucket
      description: Get storage bucket details.
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationRequiresAdmin
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/BucketIdParameter'
      operationId: getOrganizationBucket
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationBucketResponse'
    post:
      summary: Update storage bucket
      description: 'Updates storage bucket details. This only updates fields that were set in the request body.

        Before updating the bucket details, it is required to verify the connection using the

        POST /api/organizations/{organizationId}/buckets/verify endpoint.


        The verification process:

        1. Call the verify endpoint with the new bucket details.

        2. Poll the verify endpoint until it responds with `connectionStatus: connected`.

        3. If the endpoint responds with `connectionStatus: error`, the verification has failed.


        Only proceed with updating the bucket details after receiving a `connected` status.

        The polling interval and timeout should be determined based on your application''s requirements.

        '
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationRequiresAdmin
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/BucketIdParameter'
      operationId: updateOrganizationBucket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrganizationBucketRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Remove storage bucket
      description: Remove a storage bucket. This will render any data in this storage bucket unreachable.
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationRequiresAdmin
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/BucketIdParameter'
      operationId: removeOrganizationBucket
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/buckets/{bucketId}/verify:
    post:
      summary: Verify existing bucket connectivity
      description: Verify whether we can reach a bucket before adding it.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/BucketIdParameter'
      operationId: verifyExistingOrganizationBucket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyOrganizationExistingBucketRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyOrganizationBucketResponse'
  /api/organizations/{organizationId}/data:
    get:
      summary: List data
      description: Lists all data items. This can be filtered by the ?filter parameter.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetParameter'
      - $ref: '#/components/parameters/OrganizationDataFilterParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      operationId: listOrganizationData
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationDataResponse'
  /api/organizations/{organizationId}/data/add:
    post:
      summary: Add new data
      description: Add a new data item. You can add a maximum of 10000 files directly through this API. Use `addOrganizationDataFile` to add additional files.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganizationAddDataItemRequest'
      operationId: addOrganizationDataItem
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityCreatedResponse'
  /api/organizations/{organizationId}/data/add-folder:
    post:
      summary: Add data items from bucket
      description: Bulk adds data items that already exist in a storage bucket. The bucket path specified should contain folders. Each folder is added as a data item in Edge Impulse.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationAddDataFolderRequest'
      operationId: addOrganizationDataFolder
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/organizations/{organizationId}/data/download:
    get:
      summary: Download data
      description: Download all data for selected data items. This function does not query the underlying bucket.
      operationId: downloadOrganizationDataItem
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetParameter'
      - $ref: '#/components/parameters/OrganizationDataIdsParameter'
      - $ref: '#/components/parameters/OrganizationDataFilterParameter'
      responses:
        '200':
          description: TAR file
          content:
            application/x-tar:
              schema:
                type: string
                format: binary
  /api/organizations/{organizationId}/data/delete:
    post:
      summary: Delete data
      description: Delete all data for selected data items. This removes all data in the underlying data bucket.
      operationId: deleteOrganizationDataItems
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetParameter'
      - $ref: '#/components/parameters/OrganizationDataIdsParameter'
      - $ref: '#/components/parameters/OrganizationDataFilterParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/organizations/{organizationId}/data/clear-checklist:
    post:
      summary: Clear checklist for data
      description: Clear all checklist flags for selected data items.
      operationId: clearChecklistOrganizationDataItems
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetParameter'
      - $ref: '#/components/parameters/OrganizationDataIdsParameter'
      - $ref: '#/components/parameters/OrganizationDataFilterParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/organizations/{organizationId}/data/change-dataset:
    post:
      summary: Change dataset
      description: Change the dataset for selected data items.
      operationId: changeDatasetOrganizationDataItems
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetParameter'
      - $ref: '#/components/parameters/OrganizationDataIdsParameter'
      - $ref: '#/components/parameters/OrganizationDataFilterParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetOrganizationDataDatasetRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/organizations/{organizationId}/data/files:
    get:
      summary: List files
      description: Lists all files included by the filter.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetParameter'
      - $ref: '#/components/parameters/OrganizationDataFilterParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      operationId: listOrganizationFiles
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrganizationFilesResponse'
  /api/organizations/{organizationId}/data/refresh:
    post:
      summary: Refresh data
      description: Update all data items. HEADs all underlying buckets to retrieve the last file information. Use this API after uploading data directly to S3. If your dataset has bucketId and bucketPath set then this will also remove items that have been removed from S3.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetRequiredParameter'
      operationId: refreshOrganizationData
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/organizations/{organizationId}/data/bulk-metadata:
    post:
      summary: Bulk update metadata
      description: Bulk update the metadata of many data items in one go. This requires you to submit a CSV file with headers, one of which the columns should be named 'name'. The other columns are used as metadata keys.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganizationBulkMetadataRequest'
      operationId: organizationBulkUpdateMetadata
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/organizations/{organizationId}/data/{dataId}:
    get:
      summary: Get data metadata
      description: Get a data item. This will HEAD the underlying bucket to retrieve the last file information.
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      - $ref: '#/components/parameters/OrganizationDataFilterParameter'
      operationId: getOrganizationDataItem
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationDataItemResponse'
    post:
      summary: Update data metadata
      description: Update the data item metadata.
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrganizationDataItemRequest'
      operationId: updateOrganizationDataItem
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
    delete:
      summary: Delete data
      description: Delete a data item. This will remove items the items from the underlying storage if your dataset has "bucketPath" set.
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      operationId: deleteOrganizationDataItem
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/data/{dataId}/add:
    post:
      summary: Add files
      description: Add a new file to an existing data item.
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganizationAddDataFileRequest'
      operationId: addOrganizationDataFile
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/data/{dataId}/download:
    get:
      summary: Download data
      description: Download all data for this data item.
      operationId: downloadOrganizationSingleDataItem
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      - $ref: '#/components/parameters/OrganizationDataFilterParameter'
      responses:
        '200':
          description: ZIP file
          content:
            application/zip:
              schema:
                type: string
                format: binary
    delete:
      summary: Delete file
      description: Delete a single file from a data item.
      operationId: deleteOrganizationDataFile
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      - $ref: '#/components/parameters/OrganizationFileNameParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/data/{dataId}/files/download:
    get:
      summary: Download file
      description: Download a single file from a data item.
      operationId: downloadOrganizationDataFile
      tags:
      - OrganizationData
      x-middleware:
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      - $ref: '#/components/parameters/OrganizationFileNameParameter'
      responses:
        '200':
          description: File
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
  /api/organizations/{organizationId}/data/{dataId}/files/preview:
    get:
      summary: Preview file
      description: Preview a single file from a data item (same as downloadOrganizationDataFile but w/ content-disposition inline and could be truncated).
      operationId: previewOrganizationDataFile
      tags:
      - OrganizationData
      x-middleware:
      - ContentDispositionInline
      - OrganizationAllowGuestAccess
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      - $ref: '#/components/parameters/OrganizationFileNameParameter'
      responses:
        '200':
          description: File
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
  /api/organizations/{organizationId}/data/{dataId}/transformation-jobs:
    get:
      summary: Get transformation jobs for data item
      description: Get all transformation jobs that ran for a data item. If limit / offset is not provided then max. 20 results are returned.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDataIdParameter'
      - $ref: '#/components/parameters/LimitResultsParameter'
      - $ref: '#/components/parameters/OffsetResultsParameter'
      operationId: getOrganizationDataItemTransformJobs
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationDataItemTransformJobsResponse'
  /api/organizations/{organizationId}/dataset:
    post:
      summary: Add dataset
      description: Add a new research dataset
      operationId: addOrganizationDataset
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationAddDatasetRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartJobResponse'
  /api/organizations/{organizationId}/dataset/{dataset}:
    get:
      summary: Get dataset
      description: Get information about a dataset
      operationId: getOrganizationDataset
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOrganizationDatasetResponse'
    post:
      summary: Update dataset
      description: Set information about a dataset
      operationId: updateOrganizationDataset
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrganizationDatasetRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/dataset/{dataset}/hide:
    post:
      summary: Hide dataset
      description: Hide a dataset (does not remove underlying data)
      operationId: hideOrganizationDataset
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/dataset/{dataset}/upload-link:
    post:
      summary: Create pre-signed S3 upload link
      description: Creates a signed link to securely upload data to s3 bucket directly from the client.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      operationId: createSignedUploadLinkDataset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSignedUploadLinkRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSignedUploadLinkResponse'
  /api/organizations/{organizationId}/dataset/{dataset}/verify:
    post:
      summary: Verify dataset
      description: Verify whether we can reach a dataset (and return some random files, used for data sources)
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      operationId: verifyDataset
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifyOrganizationBucketResponse'
  /api/organizations/{organizationId}/dataset/{dataset}/files:
    post:
      summary: List files in dataset
      description: List all files and directories in specified prefix.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      operationId: listDatasetFilesInFolder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListPortalFilesInFolderRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPortalFilesInFolderResponse'
  /api/organizations/{organizationId}/dataset/{dataset}/files/delete:
    post:
      summary: Delete file from dataset
      description: Delete a file from a dataset
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      operationId: deleteDatasetFile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeletePortalFileRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/dataset/{dataset}/files/rename:
    post:
      summary: Rename file from dataset
      description: Rename a file in a dataset
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      operationId: renameDatasetFile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RenamePortalFileRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericApiResponse'
  /api/organizations/{organizationId}/dataset/{dataset}/files/download:
    post:
      summary: Download file from dataset
      description: Download a file from a dataset. Will return a signed URL to the bucket.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      operationId: downloadDatasetFile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadPortalFileRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadPortalFileResponse'
  /api/organizations/{organizationId}/dataset/{dataset}/files/download-folder:
    get:
      summary: Download folder from dataset
      description: Download all files in the given folder in a dataset, ignoring any subdirectories.
      operationId: downloadDatasetFolder
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      - $ref: '#/components/parameters/OrganizationPathInDatasetParameter'
      responses:
        '200':
          description: ZIP file
          content:
            application/zip:
              schema:
                type: string
                format: binary
  /api/organizations/{organizationId}/dataset/{dataset}/files/view:
    get:
      summary: View file from dataset
      description: View a file that's located in a dataset (requires JWT auth). File might be converted (e.g. Parquet) or truncated (e.g. CSV).
      tags:
      - OrganizationData
      x-middleware:
      - ContentDispositionInline
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      - $ref: '#/components/parameters/PortalPathParameter'
      operationId: viewDatasetFile
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
  /api/organizations/{organizationId}/dataset/{dataset}/files/preview:
    post:
      summary: Preview files in a default dataset
      description: Preview files and directories in a default dataset for the given prefix, with support for wildcards. This is an internal API used when starting a transformation job.
      tags:
      - OrganizationData
      parameters:
      - $ref: '#/components/parameters/OrganizationIdParameter'
      - $ref: '#/components/parameters/OrganizationDatasetPathParameter'
      operationId: previewDefaultFilesInFolder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewDefaultFilesInFolderRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewDefaultFilesInFolderResponse'
components:
  schemas:
    SetOrganizationDataDatasetRequest:
      type: object
      required:
      - dataset
      properties:
        dataset:
          type: string
    OrganizationDataItem:
      type: object
      required:
      - id
      - name
      - bucketId
      - bucketName
      - bucketPath
      - dataset
      - totalFileCount
      - totalFileSize
      - created
      - metadata
      - files
      properties:
        id:
          type: integer
        name:
          type: string
        bucketId:
          type: integer
        bucketName:
          type: string
        bucketPath:
          type: string
        dataset:
          type: string
        totalFileCount:
          type: integer
        totalFileSize:
          type: integer
        created:
          type: string
          format: date-time
        metadata:
          type: object
          additionalProperties:
            type: string
        files:
          type: array
          items:
            type: object
            required:
            - name
            - bucketPath
            - size
            properties:
              name:
                type: string
              bucketPath:
                type: string
              size:
                type: int

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