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

# Project export API



## OpenAPI

````yaml agent-platform/api-specs/project-import-export.yaml get /v1/projects/{projectId}/export/{exportId}
openapi: 3.1.0
info:
  title: Project Import / Export API
  version: 1.0.0
  summary: >-
    Project-scoped APIs for importing and exporting platform project
    configuration.
  description: |
    Starts asynchronous project import and export operations and exposes their
    status. The operations use the same dependency discovery, validation,
    staging, activation, and rollback flow as the Studio Builder experience.

    Warnings are informational and do not block completion. Errors are blocking,
    are preserved on the operation, and must be propagated to the caller.
servers:
  - url: https://{host}
    description: Replace with your base URL of the platform.
security:
  - apiKey: []
tags:
  - name: Project Import
    description: Import project configuration into an existing project.
  - name: Project Export
    description: Export project configuration as a portable archive.
paths:
  /v1/projects/{projectId}/export/{exportId}:
    get:
      tags:
        - Project Export
      summary: Get project export status
      operationId: getProjectExportStatus
      parameters:
        - $ref: '#/components/parameters/ProjectId'
        - $ref: '#/components/parameters/ExportId'
      responses:
        '200':
          description: Current export operation status and result metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportStatusResponse'
              example:
                success: true
                data:
                  id: exp_01JEXPORT123
                  type: export
                  status: completed
                  phase: packaging
                  progressPercent: 100
                  dependencyValidation:
                    valid: true
                    missing: []
                    circular: []
                  manifest:
                    name: customer-support
                    version: 1.0.0
                    entryAgent: support-agent
                    layers:
                      - core
                      - connections
                      - workflows
                    requiredEnvVars:
                      - CRM_BASE_URL
                  lockfile:
                    version: 2
                    layers:
                      core: sha256:abc123...
                      connections: sha256:def456...
                  downloadUrl: >-
                    https://api.example.com/v1/archives/exp_01JEXPORT123/download
                  expiresAt: '2026-09-01T10:00:14Z'
                  warnings: []
                  errors: []
                  createdAt: '2026-09-01T09:00:00Z'
                  completedAt: '2026-09-01T09:00:14Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    ProjectId:
      name: projectId
      in: path
      required: true
      description: Project identifier. The project must belong to the authenticated tenant.
      schema:
        type: string
        minLength: 1
    ExportId:
      name: exportId
      in: path
      required: true
      description: Identifier returned when the export operation is created.
      schema:
        type: string
        minLength: 1
  schemas:
    ExportStatusResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          const: true
          description: >-
            Indicates that the status request was read successfully. The
            operation itself may still be running or may have failed; inspect
            data.status and data.errors.
        data:
          $ref: '#/components/schemas/ExportOperation'
          description: >-
            Export operation record and, after completion, the manifest,
            lockfile, and archive download URL.
    ExportOperation:
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          required:
            - type
            - dependencyValidation
          properties:
            type:
              type: string
              const: export
              description: Identifies this operation as a project export.
            dependencyValidation:
              $ref: '#/components/schemas/DependencyValidation'
              description: Dependency graph result for the exported project content.
            manifest:
              type: object
              description: >-
                Export manifest containing project metadata, included layers,
                entity metadata, required provisioning values, and content
                references.
              additionalProperties: true
            lockfile:
              type: object
              description: >-
                Export lockfile containing content hashes used to verify archive
                integrity.
              additionalProperties: true
            downloadUrl:
              type: string
              format: uri
              description: Short-lived archive download URL, available after completion.
            expiresAt:
              type: string
              format: date-time
              description: Time at which the archive download URL expires.
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
        error:
          $ref: '#/components/schemas/Diagnostic'
    BaseOperation:
      type: object
      required:
        - id
        - type
        - status
        - progressPercent
        - warnings
        - errors
        - createdAt
      properties:
        id:
          type: string
          description: Stable identifier for the import or export operation.
        type:
          type: string
          description: Operation kind. Values are import or export.
          enum:
            - import
            - export
        status:
          $ref: '#/components/schemas/OperationStatus'
        phase:
          type: string
          description: >-
            Current high-level processing phase. Import values are validating,
            staging, activating, rolling_back, completed, failed, or reverted.
            Export values are queued, processing, packaging, completed, or
            failed.
          enum:
            - queued
            - validating
            - staging
            - activating
            - processing
            - packaging
            - rolling_back
            - completed
            - failed
            - reverted
          nullable: true
        progressPercent:
          type: integer
          description: >-
            Estimated completion percentage from 0 to 100. This is progress
            reporting, not a guarantee of remaining duration.
          minimum: 0
          maximum: 100
        layers:
          type: object
          description: >-
            Per-layer import progress. Keys are layer names and values use the
            LayerOperationStatus enum.
          additionalProperties:
            $ref: '#/components/schemas/LayerOperationStatus'
            type: string
        warnings:
          type: array
          description: >-
            Non-blocking diagnostics. Warnings are retained for visibility and
            do not make the operation fail.
          items:
            $ref: '#/components/schemas/Diagnostic'
        errors:
          type: array
          description: >-
            Blocking diagnostics. Any error means the operation did not complete
            successfully and must be propagated to the caller.
          items:
            $ref: '#/components/schemas/Diagnostic'
        createdAt:
          type: string
          format: date-time
          description: Time at which the operation was created.
        completedAt:
          type: string
          format: date-time
          nullable: true
          description: >-
            Time at which the operation reached a terminal state; null while it
            is running.
    DependencyValidation:
      type: object
      required:
        - valid
        - missing
        - circular
      properties:
        valid:
          type: boolean
          description: >-
            True when all discovered dependencies were resolved and no circular
            dependencies were detected.
        missing:
          type: array
          description: >-
            Dependencies referenced by the bundle but not found in the bundle or
            target project.
          items:
            $ref: '#/components/schemas/DependencyIssue'
        circular:
          type: array
          description: Circular agent dependency paths detected during validation.
          items:
            type: array
            items:
              type: string
    Diagnostic:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Stable machine-readable diagnostic code.
        message:
          type: string
          description: Human-readable explanation of the diagnostic.
        stage:
          type: string
          description: >-
            Processing stage that produced the diagnostic, such as request,
            validation, staging, activation, or packaging.
        layer:
          $ref: '#/components/schemas/LayerName'
        path:
          type: string
          description: Archive file path associated with the diagnostic, when available.
        line:
          type: integer
          minimum: 1
          description: >-
            One-based source line associated with a syntax diagnostic, when
            available.
        details:
          type: object
          description: >-
            Additional structured diagnostic context. Contents depend on the
            diagnostic code.
          additionalProperties: true
    OperationStatus:
      type: string
      description: >-
        Current asynchronous operation state. queued=accepted and waiting;
        validating=checking input and dependencies; staging=writing staged
        records; activating=making staged records active; packaging=assembling
        the export artifact; processing=worker is executing the operation;
        completed=finished successfully; failed=finished with an error;
        rolling_back=import is undoing partial activation; reverted=import
        completed with changes reverted.
      enum:
        - queued
        - validating
        - staging
        - activating
        - packaging
        - processing
        - completed
        - failed
        - rolling_back
        - reverted
    LayerOperationStatus:
      type: string
      description: >-
        State of one requested import layer. pending=not started;
        staged=validated and staged; activated=visible in the target project;
        skipped=excluded or not requested; failed=layer processing failed;
        rolled_back=layer changes were reverted.
      enum:
        - pending
        - staged
        - activated
        - skipped
        - failed
        - rolled_back
    DependencyIssue:
      type: object
      required:
        - source
        - target
        - type
      properties:
        source:
          type: string
          description: Name or path of the content that declares the dependency.
        target:
          type: string
          description: Name, path, or identifier of the referenced dependency.
        type:
          type: string
          description: >-
            Dependency relationship, such as handoff, delegate, inline_handoff,
            tool_import, profile_use, workflow, searchai, or table.
        sourceLayer:
          $ref: '#/components/schemas/LayerName'
          description: Layer containing the content that declares the dependency.
        targetLayer:
          $ref: '#/components/schemas/LayerName'
          description: Layer expected to contain the referenced dependency.
        path:
          type: string
          description: Archive file path containing the reference, when available.
    LayerName:
      type: string
      description: >-
        Project configuration layer. core=agents/tools/core metadata;
        connections=connectors; prompts=prompt bundles; guardrails=guardrail
        policies; workflows=workflows; evals=evaluation data; search=SearchAI
        configuration; channels=channel definitions; vocabulary=domain
        vocabulary; tables=Agent Tables definitions.
      enum:
        - core
        - connections
        - prompts
        - guardrails
        - workflows
        - evals
        - search
        - channels
        - vocabulary
        - tables
  responses:
    Unauthorized:
      description: Authentication required or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Authenticated principal lacks the required project scope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: >-
        Project or operation was not found in the authenticated tenant/project
        scope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: |
        Project-bound Platform Key supplied in the x-api-key header. The key
        must include the operation's required scope: project_io.read for export
        operations or project_io.write for import operations. A pipeline that
        promotes changes normally requires both scopes.

````