Dataiku Projects API

Manage DSS projects

OpenAPI Specification

dataiku-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Dataiku API Node Administration Artifact Sign-Offs Projects 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: Projects
  description: Manage DSS projects
paths:
  /projects:
    get:
      operationId: listProjects
      summary: Dataiku List projects
      description: Retrieve a list of all projects the API key has access to.
      tags:
      - Projects
      responses:
        '200':
          description: List of projects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectSummary'
        '401':
          description: Unauthorized
    post:
      operationId: createProject
      summary: Dataiku Create a project
      description: Create a new DSS project.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '200':
          description: Project created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSummary'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '409':
          description: Project key already exists
  /projects/{projectKey}:
    get:
      operationId: getProject
      summary: Dataiku Get project details
      description: Retrieve metadata and settings for a specific project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectKey'
      responses:
        '200':
          description: Project details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '401':
          description: Unauthorized
        '404':
          description: Project not found
    delete:
      operationId: deleteProject
      summary: Dataiku Delete a project
      description: Delete a project and all its contents.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectKey'
      responses:
        '204':
          description: Project deleted
        '401':
          description: Unauthorized
        '404':
          description: Project not found
  /projects/{projectKey}/metadata:
    get:
      operationId: getProjectMetadata
      summary: Dataiku Get project metadata
      description: Retrieve metadata (labels, description, tags, etc.) for a project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectKey'
      responses:
        '200':
          description: Project metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectMetadata'
        '404':
          description: Project not found
    put:
      operationId: setProjectMetadata
      summary: Dataiku Set project metadata
      description: Update metadata for a project.
      tags:
      - Projects
      parameters:
      - $ref: '#/components/parameters/projectKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectMetadata'
      responses:
        '200':
          description: Metadata updated
        '404':
          description: Project not found
components:
  schemas:
    ProjectMetadata:
      type: object
      properties:
        label:
          type: string
          description: Display label for the project
        description:
          type: string
          description: Project description
        shortDesc:
          type: string
          description: Short description
        tags:
          type: array
          items:
            type: string
          description: Tags associated with the project
        checklists:
          type: object
          description: Checklists for the project
    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
    Project:
      type: object
      properties:
        projectKey:
          type: string
          description: Unique project key
        name:
          type: string
          description: Display name of the project
        owner:
          type: string
          description: Login of the project owner
        projectStatus:
          type: string
          description: Current status of the project
        creationTag:
          $ref: '#/components/schemas/Tag'
        versionTag:
          $ref: '#/components/schemas/Tag'
        description:
          type: string
          description: Short description of the project
    CreateProjectRequest:
      type: object
      required:
      - projectKey
      - name
      properties:
        projectKey:
          type: string
          description: Unique project key (uppercase letters and numbers)
          pattern: ^[A-Z][A-Z0-9_]*$
        name:
          type: string
          description: Display name for the project
        owner:
          type: string
          description: Login of the project owner
    ProjectSummary:
      type: object
      properties:
        projectKey:
          type: string
          description: Unique project key
        name:
          type: string
          description: Display name of the project
        owner:
          type: string
          description: Login of the project owner
        projectStatus:
          type: string
          description: Current status of the project
  parameters:
    projectKey:
      name: projectKey
      in: path
      required: true
      description: Unique project key identifier
      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