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: support@dataiku.com 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