Segments.ai Datasets API

The Datasets API from Segments.ai — 4 operation(s) for datasets.

OpenAPI Specification

segments-ai-datasets-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Segments.ai Datasets API
  description: 'REST API for the Segments.ai data-labeling platform for computer vision. Manage datasets, samples, labels, labelsets, and versioned releases for 2D image segmentation/vectors and 3D point cloud and multi-sensor fusion annotation. Authenticate by sending an API key in the Authorization header as `Authorization: APIKey YOUR_API_KEY`.'
  termsOfService: https://segments.ai/terms
  contact:
    name: Segments.ai Support
    url: https://docs.segments.ai
  version: '1.0'
servers:
- url: https://api.segments.ai
security:
- APIKey: []
tags:
- name: Datasets
paths:
  /user/datasets:
    get:
      operationId: listMyDatasets
      tags:
      - Datasets
      summary: List the authenticated user's datasets.
      responses:
        '200':
          description: A list of datasets.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Dataset'
    post:
      operationId: createDataset
      tags:
      - Datasets
      summary: Create a new dataset.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetCreate'
      responses:
        '201':
          description: The created dataset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
  /users/{owner}/datasets:
    get:
      operationId: listUserDatasets
      tags:
      - Datasets
      summary: List the datasets owned by a given user or organization.
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A list of datasets.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Dataset'
  /datasets/{owner}/{dataset}:
    get:
      operationId: getDataset
      tags:
      - Datasets
      summary: Retrieve a single dataset.
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: dataset
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The dataset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
    patch:
      operationId: updateDataset
      tags:
      - Datasets
      summary: Update a dataset.
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: dataset
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetCreate'
      responses:
        '200':
          description: The updated dataset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
    delete:
      operationId: deleteDataset
      tags:
      - Datasets
      summary: Delete a dataset.
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: dataset
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Dataset deleted.
  /datasets/{owner}/{dataset}/collaborators:
    post:
      operationId: addCollaborator
      tags:
      - Datasets
      summary: Add a collaborator to a dataset.
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: dataset
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Collaborator'
      responses:
        '201':
          description: The added collaborator.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collaborator'
components:
  schemas:
    Collaborator:
      type: object
      required:
      - user
      properties:
        user:
          type: string
          description: Username of the collaborator to add.
        role:
          type: string
          description: Collaborator role.
          enum:
          - labeler
          - reviewer
          - manager
          - admin
    Dataset:
      type: object
      properties:
        name:
          type: string
          description: Name of the dataset.
        full_name:
          type: string
          description: Owner-qualified name, e.g. owner/dataset.
        description:
          type: string
        category:
          type: string
          description: Dataset category, e.g. street_scenery, garden, other.
        task_type:
          type: string
          description: Labeling task type for the dataset.
          enum:
          - segmentation-bitmap
          - segmentation-bitmap-highres
          - image-segmentation-sequence
          - bboxes
          - vector
          - image-vector-sequence
          - pointcloud-cuboid
          - pointcloud-cuboid-sequence
          - pointcloud-segmentation
          - pointcloud-segmentation-sequence
          - pointcloud-vector
          - pointcloud-vector-sequence
          - multisensor-sequence
        task_attributes:
          type: object
          description: Task configuration including label categories and attributes.
        public:
          type: boolean
        readme:
          type: string
        enable_skip_labeling:
          type: boolean
        enable_skip_reviewing:
          type: boolean
        enable_ratings:
          type: boolean
        owner:
          type: object
        created_at:
          type: string
          format: date-time
    DatasetCreate:
      type: object
      required:
      - name
      - task_type
      properties:
        name:
          type: string
        description:
          type: string
        category:
          type: string
        task_type:
          type: string
        task_attributes:
          type: object
        public:
          type: boolean
        readme:
          type: string
        enable_skip_labeling:
          type: boolean
        enable_skip_reviewing:
          type: boolean
        enable_ratings:
          type: boolean
  securitySchemes:
    APIKey:
      type: apiKey
      in: header
      name: Authorization
      description: Send your API key in the Authorization header using the value `APIKey YOUR_API_KEY`. Keys are generated in the Segments.ai account settings.