> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a dataset

> Create a new Dataset. Requires access to the project the dataset will originate from



## OpenAPI

````yaml /api-specs/6.3/public-api.yaml post /api/datasetrw/v1/datasets
openapi: 3.0.3
info:
  title: Domino Public API
  description: Domino Public API Endpoints
  version: 6.2.2
servers: []
security:
  - DominoApiKey: []
  - BearerAuthentication: []
tags:
  - name: AIGateway
  - name: AppInstances
  - name: AppVersions
  - name: Apps
  - name: AsyncPredictions
  - name: AuditTrail
  - name: BillingTag
  - name: BillingTagSettings
  - name: Cost
  - name: CustomMetrics
  - name: DataSource
  - name: DatasetRw
  - name: DeploymentTargets
  - name: Environments
  - name: GenAI
  - name: HardwareTier
  - name: Jobs
  - name: ModelAPI
  - name: ModelAPIVersion
  - name: ModelDeployment
  - name: Organizations
  - name: PPM
  - name: ProjectSharedDatasets
  - name: ProjectTemplates
  - name: Projects
  - name: ProjectsFiles
  - name: RegisteredModels
  - name: ServiceAccounts
  - name: Users
  - name: Workspaces
paths:
  /api/datasetrw/v1/datasets:
    post:
      tags:
        - DatasetRw
      summary: Create a dataset
      description: >-
        Create a new Dataset. Requires access to the project the dataset will
        originate from
      operationId: createDataset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewDatasetRwV1'
        description: Dataset to create
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetRwEnvelopeV1'
          description: Success
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    NewDatasetRwV1:
      properties:
        description:
          description: Description of the dataset
          type: string
        grants:
          description: >-
            Permission grants to be assigned for this newly created dataset.
            Note that permissions can be edited after creation. If snapshotId is
            passed in, this parameter won't have any effect and caller will be
            assigned dataset Ownership.
          items:
            $ref: '#/components/schemas/DatasetRwGrantV1'
          type: array
        name:
          description: Name of this dataset. The name must be unique in the same project
          type: string
        projectId:
          description: >-
            ID of the project this dataset belongs to. Either projectId or
            snapshotId must be provided
          type: string
        snapshotId:
          description: >-
            ID of an existing snapshot to create a new dataset from. Either
            snapshotId or projectId must be provided.
          type: string
      required:
        - name
      type: object
    DatasetRwEnvelopeV1:
      properties:
        dataset:
          $ref: '#/components/schemas/DatasetRwDetailsV1'
        metadata:
          $ref: '#/components/schemas/MetadataV1'
      required:
        - dataset
        - metadata
      type: object
    DatasetRwGrantV1:
      properties:
        targetId:
          description: ID of the user within the grant
          type: string
        targetRole:
          $ref: '#/components/schemas/DatasetRwRoleV1'
      required:
        - targetId
        - targetRole
      type: object
    DatasetRwDetailsV1:
      properties:
        createdAt:
          description: When the dataset was created
          example: '2022-03-12T02:13:44.467Z'
          format: date-time
          type: string
        description:
          description: A description of the dataset
          type: string
        id:
          description: ID of the dataset
          example: 62313ce67a0af0281c01a6a5
          type: string
        name:
          description: Name of the dataset
          example: My Dataset
          type: string
        projectId:
          description: ID of the project this dataset belongs to
          example: 62313ce67a0af0281c01a6a5
          type: string
        snapshotIds:
          description: List of snapshot IDs belonging to this dataset
          items:
            type: string
          type: array
        tags:
          $ref: '#/components/schemas/DatasetRwTagsV1'
      required:
        - id
        - name
        - createdAt
        - snapshotIds
        - tags
      type: object
    MetadataV1:
      properties:
        notices:
          description: Notices relating to the request
          items:
            type: string
          type: array
        requestId:
          type: string
      required:
        - requestId
        - notices
      type: object
    FailureEnvelopeV1:
      properties:
        errors:
          description: Errors that caused a request to fail
          items:
            type: string
          type: array
        requestId:
          description: Id used to correlate a request with server actions.
          example: bbd78579-93c4-45ee-a983-0d5c8da6d5b1
          type: string
      required:
        - requestId
        - errors
      type: object
    DatasetRwRoleV1:
      description: >-
        Role that the user will assume in the dataset. Note that organizations
        cannot be dataset Owners
      enum:
        - DatasetRwOwner
        - DatasetRwEditor
        - DatasetRwReader
      type: string
    DatasetRwTagsV1:
      additionalProperties:
        type: string
      description: A map of tagName -> snapshotId
      type: object
  responses:
    '400':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Bad Request
    '401':
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FailureEnvelopeV1'
      description: >-
        The current user cannot perform this operation because they are not
        logged in
    '403':
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FailureEnvelopeV1'
      description: The current user is not authorized to perform this operation
    '404':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Not Found
    '500':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Internal Server Error
  securitySchemes:
    DominoApiKey:
      in: header
      name: X-Domino-Api-Key
      type: apiKey
    BearerAuthentication:
      in: header
      name: Authorization
      type: apiKey

````