Dataiku Datasets API

Manage datasets within projects

OpenAPI Specification

dataiku-datasets-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Dataiku API Node Administration Artifact Sign-Offs Datasets API
  description: REST API for administering Dataiku API Nodes, managing deployed services, service generations, prediction endpoints, and authentication keys for real-time API serving of machine learning models and data lookups.
  version: '13.0'
  contact:
    name: Dataiku Support
    url: https://www.dataiku.com/support
    email: support@dataiku.com
  termsOfService: https://www.dataiku.com/terms/
servers:
- url: https://{apinode-host}:{port}/admin/api
  description: Dataiku API Node Instance
  variables:
    apinode-host:
      default: apinode.example.com
      description: Hostname of the Dataiku API Node
    port:
      default: '12443'
      description: Admin API port
security:
- apiKeyAuth: []
tags:
- name: Datasets
  description: Manage datasets within projects
paths:
  /projects/{projectKey}/datasets:
    get:
      operationId: listDatasets
      summary: Dataiku List datasets
      description: List all datasets in a project.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/projectKey'
      responses:
        '200':
          description: List of datasets
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Dataset'
        '404':
          description: Project not found
    post:
      operationId: createDataset
      summary: Dataiku Create a dataset
      description: Create a new dataset in the project.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/projectKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDatasetRequest'
      responses:
        '200':
          description: Dataset created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
        '400':
          description: Invalid request
        '409':
          description: Dataset name already exists
  /projects/{projectKey}/datasets/{datasetName}:
    get:
      operationId: getDataset
      summary: Dataiku Get dataset details
      description: Get the definition and schema of a dataset.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/datasetName'
      responses:
        '200':
          description: Dataset details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
        '404':
          description: Dataset not found
    put:
      operationId: updateDataset
      summary: Dataiku Update a dataset
      description: Update the definition of a dataset.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/datasetName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Dataset'
      responses:
        '200':
          description: Dataset updated
        '404':
          description: Dataset not found
    delete:
      operationId: deleteDataset
      summary: Dataiku Delete a dataset
      description: Delete a dataset from the project.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/datasetName'
      responses:
        '204':
          description: Dataset deleted
        '404':
          description: Dataset not found
  /projects/{projectKey}/datasets/{datasetName}/data:
    get:
      operationId: getDatasetData
      summary: Dataiku Read dataset data
      description: Read rows from a dataset. Returns data in JSON format with columns and rows.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/datasetName'
      - name: limit
        in: query
        description: Maximum number of rows to return
        schema:
          type: integer
          default: 20000
      - name: partitions
        in: query
        description: Comma-separated list of partition identifiers to read from
        schema:
          type: string
      responses:
        '200':
          description: Dataset data rows
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetData'
        '404':
          description: Dataset not found
  /projects/{projectKey}/datasets/{datasetName}/schema:
    get:
      operationId: getDatasetSchema
      summary: Dataiku Get dataset schema
      description: Get the schema (column names and types) of a dataset.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/datasetName'
      responses:
        '200':
          description: Dataset schema
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetSchema'
        '404':
          description: Dataset not found
    put:
      operationId: setDatasetSchema
      summary: Dataiku Set dataset schema
      description: Update the schema of a dataset.
      tags:
      - Datasets
      parameters:
      - $ref: '#/components/parameters/projectKey'
      - $ref: '#/components/parameters/datasetName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetSchema'
      responses:
        '200':
          description: Schema updated
        '404':
          description: Dataset not found
components:
  schemas:
    CreateDatasetRequest:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
          description: Dataset name
        type:
          type: string
          description: Dataset type
        params:
          type: object
          description: Type-specific parameters
        formatType:
          type: string
          description: Data format type
        formatParams:
          type: object
          description: Format-specific parameters
    Tag:
      type: object
      properties:
        versionNumber:
          type: integer
          description: Version number
        lastModifiedBy:
          type: object
          properties:
            login:
              type: string
        lastModifiedOn:
          type: string
          format: date-time
          description: Timestamp of last modification
    DatasetSchema:
      type: object
      properties:
        columns:
          type: array
          items:
            $ref: '#/components/schemas/SchemaColumn'
          description: List of columns in the dataset
        userModified:
          type: boolean
          description: Whether the schema was manually modified
    SchemaColumn:
      type: object
      properties:
        name:
          type: string
          description: Column name
        type:
          type: string
          description: Column data type (e.g., string, bigint, double, boolean, date)
        meaning:
          type: string
          description: Semantic meaning assigned to the column
        maxLength:
          type: integer
          description: Maximum length for string columns
    Dataset:
      type: object
      properties:
        projectKey:
          type: string
          description: Project key the dataset belongs to
        name:
          type: string
          description: Dataset name
        type:
          type: string
          description: Dataset type (e.g., Filesystem, PostgreSQL, S3, HDFS)
        managed:
          type: boolean
          description: Whether the dataset is managed by DSS
        schema:
          $ref: '#/components/schemas/DatasetSchema'
        formatType:
          type: string
          description: Data format type (e.g., csv, parquet, json)
        params:
          type: object
          description: Type-specific parameters
        flowOptions:
          type: object
          description: Flow options for the dataset
        creationTag:
          $ref: '#/components/schemas/Tag'
        versionTag:
          $ref: '#/components/schemas/Tag'
    DatasetData:
      type: object
      properties:
        columns:
          type: array
          items:
            type: string
          description: Column names
        rows:
          type: array
          items:
            type: array
            items:
              type: string
          description: Data rows
        totalCount:
          type: integer
          description: Total number of rows in the dataset
  parameters:
    projectKey:
      name: projectKey
      in: path
      required: true
      description: Unique project key identifier
      schema:
        type: string
    datasetName:
      name: datasetName
      in: path
      required: true
      description: Dataset name within the project
      schema:
        type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Admin API key passed as Bearer token
externalDocs:
  description: Dataiku API Node Administration Documentation
  url: https://doc.dataiku.com/dss/latest/apinode/api/admin-api.html