Dataiku Govern API
Public REST API for interacting with Dataiku Govern to manage AI governance, blueprints, artifacts, sign-offs, and compliance workflows.
Public REST API for interacting with Dataiku Govern to manage AI governance, blueprints, artifacts, sign-offs, and compliance workflows.
openapi: 3.1.0
info:
title: Dataiku Govern API
description: >-
Public REST API for interacting with Dataiku Govern to manage AI governance
workflows, including blueprints, blueprint versions, artifacts, custom
fields, sign-offs, reviews, roles, and compliance workflows for responsible
AI management.
version: '13.0'
contact:
name: Dataiku Support
url: https://www.dataiku.com/support
email: [email protected]
termsOfService: https://www.dataiku.com/terms/
externalDocs:
description: Dataiku Govern API Documentation
url: https://doc.dataiku.com/dss/latest/governance/publicapi/rest.html
servers:
- url: https://{govern-host}/public/api
description: Dataiku Govern Instance
variables:
govern-host:
default: govern.example.com
description: Hostname of the Dataiku Govern instance
tags:
- name: Artifact Sign-Offs
description: Manage sign-off workflows on artifacts
- name: Artifacts
description: Manage governed artifacts (models, projects, etc.)
- name: Blueprint Versions
description: Manage blueprint version definitions
- name: Blueprints
description: Manage governance blueprints that define artifact types
- name: Custom Fields
description: Manage custom fields on artifacts
- name: Roles
description: Manage governance roles and assignments
- name: Users
description: Manage Govern users
security:
- apiKeyAuth: []
paths:
/blueprints:
get:
operationId: listBlueprints
summary: Dataiku List blueprints
description: >-
Retrieve a list of all governance blueprints. Blueprints define the
structure and lifecycle of governed artifacts.
tags:
- Blueprints
responses:
'200':
description: List of blueprints
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BlueprintSummary'
'401':
description: Unauthorized
post:
operationId: createBlueprint
summary: Dataiku Create a blueprint
description: Create a new governance blueprint.
tags:
- Blueprints
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBlueprintRequest'
responses:
'200':
description: Blueprint created
content:
application/json:
schema:
$ref: '#/components/schemas/Blueprint'
'400':
description: Invalid request
/blueprints/{blueprintId}:
get:
operationId: getBlueprint
summary: Dataiku Get blueprint details
description: Retrieve the full definition of a governance blueprint.
tags:
- Blueprints
parameters:
- $ref: '#/components/parameters/blueprintId'
responses:
'200':
description: Blueprint details
content:
application/json:
schema:
$ref: '#/components/schemas/Blueprint'
'404':
description: Blueprint not found
put:
operationId: updateBlueprint
summary: Dataiku Update a blueprint
description: Update the definition of a governance blueprint.
tags:
- Blueprints
parameters:
- $ref: '#/components/parameters/blueprintId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Blueprint'
responses:
'200':
description: Blueprint updated
'404':
description: Blueprint not found
delete:
operationId: deleteBlueprint
summary: Dataiku Delete a blueprint
description: Delete a governance blueprint and its versions.
tags:
- Blueprints
parameters:
- $ref: '#/components/parameters/blueprintId'
responses:
'204':
description: Blueprint deleted
'404':
description: Blueprint not found
/blueprints/{blueprintId}/versions:
get:
operationId: listBlueprintVersions
summary: Dataiku List blueprint versions
description: List all versions of a governance blueprint.
tags:
- Blueprint Versions
parameters:
- $ref: '#/components/parameters/blueprintId'
responses:
'200':
description: List of blueprint versions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BlueprintVersionSummary'
'404':
description: Blueprint not found
post:
operationId: createBlueprintVersion
summary: Dataiku Create a blueprint version
description: Create a new version of a governance blueprint.
tags:
- Blueprint Versions
parameters:
- $ref: '#/components/parameters/blueprintId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBlueprintVersionRequest'
responses:
'200':
description: Blueprint version created
content:
application/json:
schema:
$ref: '#/components/schemas/BlueprintVersion'
'400':
description: Invalid request
/blueprints/{blueprintId}/versions/{versionId}:
get:
operationId: getBlueprintVersion
summary: Dataiku Get blueprint version details
description: Get the full definition of a blueprint version.
tags:
- Blueprint Versions
parameters:
- $ref: '#/components/parameters/blueprintId'
- $ref: '#/components/parameters/versionId'
responses:
'200':
description: Blueprint version details
content:
application/json:
schema:
$ref: '#/components/schemas/BlueprintVersion'
'404':
description: Blueprint version not found
/artifacts:
get:
operationId: listArtifacts
summary: Dataiku List artifacts
description: >-
List governed artifacts, optionally filtered by blueprint.
tags:
- Artifacts
parameters:
- name: blueprintId
in: query
description: Filter by blueprint ID
schema:
type: string
responses:
'200':
description: List of artifacts
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ArtifactSummary'
'401':
description: Unauthorized
post:
operationId: createArtifact
summary: Dataiku Create an artifact
description: Create a new governed artifact under a blueprint.
tags:
- Artifacts
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateArtifactRequest'
responses:
'200':
description: Artifact created
content:
application/json:
schema:
$ref: '#/components/schemas/Artifact'
'400':
description: Invalid request
/artifacts/{artifactId}:
get:
operationId: getArtifact
summary: Dataiku Get artifact details
description: Retrieve the details of a governed artifact.
tags:
- Artifacts
parameters:
- $ref: '#/components/parameters/artifactId'
responses:
'200':
description: Artifact details
content:
application/json:
schema:
$ref: '#/components/schemas/Artifact'
'404':
description: Artifact not found
put:
operationId: updateArtifact
summary: Dataiku Update an artifact
description: Update the details of a governed artifact.
tags:
- Artifacts
parameters:
- $ref: '#/components/parameters/artifactId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Artifact'
responses:
'200':
description: Artifact updated
'404':
description: Artifact not found
delete:
operationId: deleteArtifact
summary: Dataiku Delete an artifact
description: Delete a governed artifact.
tags:
- Artifacts
parameters:
- $ref: '#/components/parameters/artifactId'
responses:
'204':
description: Artifact deleted
'404':
description: Artifact not found
/artifacts/{artifactId}/custom-fields:
get:
operationId: getArtifactCustomFields
summary: Dataiku Get artifact custom fields
description: Retrieve all custom field values for an artifact.
tags:
- Custom Fields
parameters:
- $ref: '#/components/parameters/artifactId'
responses:
'200':
description: Custom field values
content:
application/json:
schema:
type: object
additionalProperties: true
'404':
description: Artifact not found
put:
operationId: setArtifactCustomFields
summary: Dataiku Set artifact custom fields
description: Update custom field values for an artifact.
tags:
- Custom Fields
parameters:
- $ref: '#/components/parameters/artifactId'
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: Custom fields updated
'404':
description: Artifact not found
/artifacts/{artifactId}/sign-offs:
get:
operationId: listArtifactSignOffs
summary: Dataiku List artifact sign-offs
description: List all sign-off steps and their status for an artifact.
tags:
- Artifact Sign-Offs
parameters:
- $ref: '#/components/parameters/artifactId'
responses:
'200':
description: List of sign-offs
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SignOff'
'404':
description: Artifact not found
/artifacts/{artifactId}/sign-offs/{signOffStepId}:
get:
operationId: getArtifactSignOff
summary: Dataiku Get sign-off step details
description: Get details of a specific sign-off step for an artifact.
tags:
- Artifact Sign-Offs
parameters:
- $ref: '#/components/parameters/artifactId'
- $ref: '#/components/parameters/signOffStepId'
responses:
'200':
description: Sign-off step details
content:
application/json:
schema:
$ref: '#/components/schemas/SignOff'
'404':
description: Sign-off step not found
/artifacts/{artifactId}/sign-offs/{signOffStepId}/delegate:
post:
operationId: delegateSignOff
summary: Dataiku Delegate a sign-off
description: Delegate a sign-off step to another user.
tags:
- Artifact Sign-Offs
parameters:
- $ref: '#/components/parameters/artifactId'
- $ref: '#/components/parameters/signOffStepId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DelegateSignOffRequest'
responses:
'200':
description: Sign-off delegated
'404':
description: Sign-off step not found
/artifacts/{artifactId}/sign-offs/{signOffStepId}/reviews:
post:
operationId: addSignOffReview
summary: Dataiku Add a sign-off review
description: Add a review (approve or reject) to a sign-off step.
tags:
- Artifact Sign-Offs
parameters:
- $ref: '#/components/parameters/artifactId'
- $ref: '#/components/parameters/signOffStepId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SignOffReviewRequest'
responses:
'200':
description: Review added
content:
application/json:
schema:
$ref: '#/components/schemas/SignOffReview'
'400':
description: Invalid review
'404':
description: Sign-off step not found
/roles:
get:
operationId: listRoles
summary: Dataiku List roles
description: List all governance roles.
tags:
- Roles
responses:
'200':
description: List of roles
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Role'
'401':
description: Unauthorized
/users:
get:
operationId: listGovernUsers
summary: Dataiku List Govern users
description: List all users in the Govern instance.
tags:
- Users
responses:
'200':
description: List of users
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GovernUser'
'401':
description: Unauthorized
components:
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: API key passed as Bearer token
parameters:
blueprintId:
name: blueprintId
in: path
required: true
description: Unique blueprint identifier
schema:
type: string
versionId:
name: versionId
in: path
required: true
description: Blueprint version identifier
schema:
type: string
artifactId:
name: artifactId
in: path
required: true
description: Governed artifact identifier
schema:
type: string
signOffStepId:
name: signOffStepId
in: path
required: true
description: Sign-off step identifier
schema:
type: string
schemas:
BlueprintSummary:
type: object
properties:
id:
type: string
description: Unique blueprint identifier
name:
type: string
description: Blueprint display name
description:
type: string
description: Blueprint description
artifactCount:
type: integer
description: Number of artifacts using this blueprint
icon:
type: string
description: Icon identifier
CreateBlueprintRequest:
type: object
required:
- name
properties:
name:
type: string
description: Blueprint display name
description:
type: string
description: Blueprint description
icon:
type: string
description: Icon identifier
Blueprint:
type: object
properties:
id:
type: string
description: Unique blueprint identifier
name:
type: string
description: Blueprint display name
description:
type: string
description: Blueprint description
icon:
type: string
description: Icon identifier
artifactCount:
type: integer
description: Number of artifacts
fieldSettings:
type: array
items:
$ref: '#/components/schemas/FieldSetting'
description: Custom field definitions for this blueprint
signOffConfiguration:
$ref: '#/components/schemas/SignOffConfiguration'
workflowConfiguration:
$ref: '#/components/schemas/WorkflowConfiguration'
BlueprintVersionSummary:
type: object
properties:
id:
type: string
description: Version identifier
versionNumber:
type: integer
description: Version number
status:
type: string
enum:
- DRAFT
- PUBLISHED
- ARCHIVED
description: Version status
createdOn:
type: integer
format: int64
description: Creation timestamp
CreateBlueprintVersionRequest:
type: object
properties:
originVersionId:
type: string
description: Origin version to copy from
BlueprintVersion:
type: object
properties:
id:
type: string
description: Version identifier
blueprintId:
type: string
description: Parent blueprint ID
versionNumber:
type: integer
description: Version number
status:
type: string
enum:
- DRAFT
- PUBLISHED
- ARCHIVED
description: Version status
fieldSettings:
type: array
items:
$ref: '#/components/schemas/FieldSetting'
description: Custom field definitions
signOffConfiguration:
$ref: '#/components/schemas/SignOffConfiguration'
createdOn:
type: integer
format: int64
description: Creation timestamp
FieldSetting:
type: object
properties:
id:
type: string
description: Field identifier
name:
type: string
description: Field display name
description:
type: string
description: Field description
type:
type: string
enum:
- TEXT
- LONG_TEXT
- NUMBER
- BOOLEAN
- DATE
- SELECT
- MULTISELECT
- USER
- USERS
description: Field type
required:
type: boolean
description: Whether the field is required
options:
type: array
items:
type: string
description: Available options for SELECT and MULTISELECT types
SignOffConfiguration:
type: object
properties:
steps:
type: array
items:
$ref: '#/components/schemas/SignOffStep'
description: Ordered list of sign-off steps
SignOffStep:
type: object
properties:
id:
type: string
description: Step identifier
name:
type: string
description: Step display name
description:
type: string
description: Step description
requiredReviewers:
type: integer
description: Number of required reviewers
assigneeType:
type: string
enum:
- ROLE
- USER
- GROUP
description: How reviewers are assigned
WorkflowConfiguration:
type: object
properties:
statuses:
type: array
items:
$ref: '#/components/schemas/WorkflowStatus'
description: Available statuses
transitions:
type: array
items:
$ref: '#/components/schemas/WorkflowTransition'
description: Allowed status transitions
WorkflowStatus:
type: object
properties:
id:
type: string
description: Status identifier
name:
type: string
description: Status display name
color:
type: string
description: Status color code
WorkflowTransition:
type: object
properties:
fromStatus:
type: string
description: Source status ID
toStatus:
type: string
description: Target status ID
ArtifactSummary:
type: object
properties:
id:
type: string
description: Artifact identifier
name:
type: string
description: Artifact display name
blueprintId:
type: string
description: Blueprint this artifact belongs to
status:
type: string
description: Current workflow status
createdOn:
type: integer
format: int64
description: Creation timestamp
createdBy:
type: string
description: User who created the artifact
CreateArtifactRequest:
type: object
required:
- name
- blueprintId
properties:
name:
type: string
description: Artifact display name
blueprintId:
type: string
description: Blueprint to associate with
blueprintVersionId:
type: string
description: Specific blueprint version to use
customFields:
type: object
additionalProperties: true
description: Initial custom field values
Artifact:
type: object
properties:
id:
type: string
description: Artifact identifier
name:
type: string
description: Artifact display name
blueprintId:
type: string
description: Blueprint ID
blueprintVersionId:
type: string
description: Blueprint version ID
status:
type: string
description: Current workflow status
customFields:
type: object
additionalProperties: true
description: Custom field values
createdOn:
type: integer
format: int64
description: Creation timestamp
createdBy:
type: string
description: User who created the artifact
lastModifiedOn:
type: integer
format: int64
description: Last modification timestamp
lastModifiedBy:
type: string
description: User who last modified the artifact
SignOff:
type: object
properties:
stepId:
type: string
description: Sign-off step identifier
stepName:
type: string
description: Step display name
status:
type: string
enum:
- NOT_STARTED
- IN_PROGRESS
- APPROVED
- REJECTED
- DELEGATED
description: Current sign-off status
reviews:
type: array
items:
$ref: '#/components/schemas/SignOffReview'
description: Reviews submitted for this step
delegatedTo:
type: string
description: User the step was delegated to
SignOffReview:
type: object
properties:
reviewer:
type: string
description: Login of the reviewer
outcome:
type: string
enum:
- APPROVED
- REJECTED
description: Review outcome
comment:
type: string
description: Review comment
reviewedOn:
type: integer
format: int64
description: Review timestamp
DelegateSignOffRequest:
type: object
required:
- delegateTo
properties:
delegateTo:
type: string
description: Login of the user to delegate to
comment:
type: string
description: Delegation comment
SignOffReviewRequest:
type: object
required:
- outcome
properties:
outcome:
type: string
enum:
- APPROVED
- REJECTED
description: Review outcome
comment:
type: string
description: Review comment
Role:
type: object
properties:
id:
type: string
description: Role identifier
name:
type: string
description: Role display name
description:
type: string
description: Role description
permissions:
type: array
items:
type: string
description: Permissions granted by this role
GovernUser:
type: object
properties:
login:
type: string
description: User login
displayName:
type: string
description: Display name
email:
type: string
format: email
description: Email address
roles:
type: array
items:
type: string
description: Assigned role IDs