> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.neural-motion.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Import from the catalog



## OpenAPI

````yaml /openapi.json post /api/v1/orgs/{org_slug}/projects/{project_slug}/imports/from-catalog
openapi: 3.1.0
info:
  title: NMotion Data Platform API (developer)
  version: 0.1.0
  description: >-
    The stable HTTP surface of the NMotion data platform for CLI, SDK, and
    automation clients.
servers:
  - url: https://platform.neural-motion.org
    description: Production
  - url: https://dev.platform.neural-motion.org
    description: Dev channel
security: []
tags:
  - name: Platform
    description: Version and service metadata.
  - name: Catalog
    description: Browse the public dataset catalog.
  - name: Users and tokens
    description: Identity and personal access tokens.
  - name: Projects
    description: Navigate organizations and projects.
  - name: Project datasets
    description: Datasets, manifests, and episodes inside a project.
  - name: Imports
    description: Bring data into a project.
  - name: Exports
    description: Derived dataset versions and export jobs.
paths:
  /api/v1/orgs/{org_slug}/projects/{project_slug}/imports/from-catalog:
    post:
      tags:
        - Imports
      summary: Import from the catalog
      operationId: >-
        create_project_import_from_catalog_api_v1_orgs__org_slug__projects__project_slug__imports_from_catalog_post
      parameters:
        - name: org_slug
          in: path
          required: true
          schema:
            type: string
            title: Org Slug
        - name: project_slug
          in: path
          required: true
          schema:
            type: string
            title: Project Slug
        - name: Authorization
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_CatalogPromoteRequest'
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceImportJobResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    _CatalogPromoteRequest:
      properties:
        catalog_id:
          type: string
          title: Catalog Id
        folder_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Folder Id
      type: object
      required:
        - catalog_id
      title: _CatalogPromoteRequest
      description: >-
        Request body for POST /imports/from-catalog.


        `catalog_id` is the catalog item's id (as returned by GET
        /api/datasets);

        BE resolves it against the catalog registry to discover the real source

        coordinates (hf_repo_id, etc.) so the FE never has to re-derive them.


        `folder_id` is the optional My-Data folder the resulting dataset's file

        should land in once the import materializes (None = project root). It's

        validated against the project at job-create time.
    WorkspaceImportJobResponse:
      properties:
        item:
          $ref: '#/components/schemas/WorkspaceImportJob'
      type: object
      required:
        - item
      title: WorkspaceImportJobResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    WorkspaceImportJob:
      properties:
        id:
          type: string
          title: Id
        org_slug:
          type: string
          title: Org Slug
        project_slug:
          type: string
          title: Project Slug
        dataset_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Dataset Id
        dataset_slug:
          type: string
          title: Dataset Slug
        title:
          type: string
          title: Title
        source_kind:
          type: string
          title: Source Kind
        source_uri:
          anyOf:
            - type: string
            - type: 'null'
          title: Source Uri
        status:
          type: string
          enum:
            - queued
            - running
            - succeeded
            - failed
            - canceled
          title: Status
        raw_object_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Raw Object Path
        report_object_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Report Object Path
        read_model_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Read Model Path
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
        created_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Created By
        created_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Updated At
        hf_repo_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Hf Repo Id
        hf_revision:
          anyOf:
            - type: string
            - type: 'null'
          title: Hf Revision
        hdf5:
          anyOf:
            - $ref: '#/components/schemas/Hdf5SourceSummary'
            - type: 'null'
        preview_assets:
          items:
            $ref: '#/components/schemas/WorkspaceImportPreviewAsset'
          type: array
          title: Preview Assets
        started_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Started At
        progress_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Progress Pct
        progress_phase:
          anyOf:
            - type: string
            - type: 'null'
          title: Progress Phase
        progress_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Progress Message
        downloaded_bytes:
          anyOf:
            - type: integer
            - type: 'null'
          title: Downloaded Bytes
        total_bytes:
          anyOf:
            - type: integer
            - type: 'null'
          title: Total Bytes
        attempt_count:
          type: integer
          title: Attempt Count
          default: 0
        max_attempts:
          type: integer
          title: Max Attempts
          default: 3
        claim_epoch:
          type: integer
          title: Claim Epoch
          default: 0
        claimed_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Claimed By
        claimed_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Claimed At
        claim_expires_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Claim Expires At
        last_heartbeat_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Heartbeat At
        retry_after:
          anyOf:
            - type: string
            - type: 'null'
          title: Retry After
        last_error:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Error
        consistency_status:
          type: string
          enum:
            - unknown
            - ok
            - missing_artifact
            - checksum_mismatch
            - orphaned
            - error
          title: Consistency Status
          default: unknown
        consistency_checked_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Consistency Checked At
        consistency_error:
          anyOf:
            - type: string
            - type: 'null'
          title: Consistency Error
      type: object
      required:
        - id
        - org_slug
        - project_slug
        - dataset_slug
        - title
        - source_kind
        - status
      title: WorkspaceImportJob
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    Hdf5SourceSummary:
      properties:
        kind:
          type: string
          const: hdf5_summary
          title: Kind
        inspected:
          type: boolean
          title: Inspected
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
        size_bytes:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Size Bytes
        max_bytes:
          anyOf:
            - type: integer
              exclusiveMinimum: 0
            - type: 'null'
          title: Max Bytes
        dataset_count:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Dataset Count
        group_count:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Group Count
        datasets:
          items:
            $ref: '#/components/schemas/Hdf5DatasetSummary'
          type: array
          title: Datasets
        groups:
          items:
            $ref: '#/components/schemas/Hdf5GroupSummary'
          type: array
          title: Groups
        preview_candidates:
          $ref: '#/components/schemas/Hdf5PreviewCandidates'
        preview_assets:
          items:
            $ref: '#/components/schemas/WorkspaceImportPreviewAsset'
          type: array
          title: Preview Assets
        episodes:
          items:
            $ref: '#/components/schemas/Hdf5EpisodeSummary'
          type: array
          title: Episodes
        truncated:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Truncated
        root_attrs:
          additionalProperties: true
          type: object
          title: Root Attrs
      additionalProperties: true
      type: object
      required:
        - kind
        - inspected
      title: Hdf5SourceSummary
    WorkspaceImportPreviewAsset:
      properties:
        kind:
          type: string
          enum:
            - image_preview
            - video_preview
            - video_mp4
            - video_webm
            - timeseries_parquet
            - timeseries_arrow
          title: Kind
        path:
          type: string
          title: Path
        label:
          type: string
          title: Label
        content_type:
          type: string
          enum:
            - image/png
            - video/mp4
            - video/webm
            - application/vnd.apache.parquet
            - application/vnd.apache.arrow.file
          title: Content Type
        size_bytes:
          type: integer
          exclusiveMinimum: 0
          title: Size Bytes
        sha256:
          type: string
          title: Sha256
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
      additionalProperties: true
      type: object
      required:
        - kind
        - path
        - label
        - content_type
        - size_bytes
        - sha256
      title: WorkspaceImportPreviewAsset
    Hdf5DatasetSummary:
      properties:
        path:
          type: string
          title: Path
        shape:
          items:
            type: integer
          type: array
          title: Shape
        dtype:
          type: string
          title: Dtype
        ndim:
          type: integer
          minimum: 0
          title: Ndim
        size:
          type: integer
          minimum: 0
          title: Size
        compression:
          anyOf:
            - type: string
            - type: 'null'
          title: Compression
        chunks:
          anyOf:
            - items:
                type: integer
              type: array
            - type: 'null'
          title: Chunks
        attrs:
          additionalProperties: true
          type: object
          title: Attrs
      additionalProperties: true
      type: object
      required:
        - path
        - shape
        - dtype
        - ndim
        - size
      title: Hdf5DatasetSummary
    Hdf5GroupSummary:
      properties:
        path:
          type: string
          title: Path
        attrs:
          additionalProperties: true
          type: object
          title: Attrs
      additionalProperties: true
      type: object
      required:
        - path
      title: Hdf5GroupSummary
    Hdf5PreviewCandidates:
      properties:
        image:
          items:
            $ref: '#/components/schemas/Hdf5ImagePreviewCandidate'
          type: array
          title: Image
        jpeg_bytes:
          items:
            $ref: '#/components/schemas/Hdf5JpegBytesPreviewCandidate'
          type: array
          title: Jpeg Bytes
        padded_jpeg:
          items:
            $ref: '#/components/schemas/Hdf5PaddedJpegPreviewCandidate'
          type: array
          title: Padded Jpeg
        image_path:
          items:
            $ref: '#/components/schemas/Hdf5ImagePathPreviewCandidate'
          type: array
          title: Image Path
        numeric_tensor:
          items:
            $ref: '#/components/schemas/Hdf5NumericTensorCandidate'
          type: array
          title: Numeric Tensor
      additionalProperties: true
      type: object
      title: Hdf5PreviewCandidates
    Hdf5EpisodeSummary:
      properties:
        episode_index:
          type: integer
          minimum: 0
          title: Episode Index
        split:
          anyOf:
            - type: string
            - type: 'null'
          title: Split
        trajectory_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Trajectory Id
        frames_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Frames Path
        group_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Group Path
        length_frames:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Length Frames
        duration_sec:
          anyOf:
            - type: number
              minimum: 0
            - type: 'null'
          title: Duration Sec
      additionalProperties: true
      type: object
      required:
        - episode_index
      title: Hdf5EpisodeSummary
    Hdf5ImagePreviewCandidate:
      properties:
        path:
          type: string
          title: Path
        shape:
          items:
            type: integer
          type: array
          title: Shape
        dtype:
          type: string
          title: Dtype
        layout:
          type: string
          enum:
            - HWC
            - CHW
            - NHWC
            - NCHW
          title: Layout
        height:
          type: integer
          exclusiveMinimum: 0
          title: Height
        width:
          type: integer
          exclusiveMinimum: 0
          title: Width
        channels:
          type: integer
          exclusiveMinimum: 0
          title: Channels
        frames:
          anyOf:
            - type: integer
              exclusiveMinimum: 0
            - type: 'null'
          title: Frames
        episode_index:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Episode Index
        split:
          anyOf:
            - type: string
            - type: 'null'
          title: Split
        trajectory_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Trajectory Id
        group_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Group Path
        camera_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Camera Key
      additionalProperties: true
      type: object
      required:
        - path
        - shape
        - dtype
        - layout
        - height
        - width
        - channels
      title: Hdf5ImagePreviewCandidate
    Hdf5JpegBytesPreviewCandidate:
      properties:
        path:
          type: string
          title: Path
        shape:
          items:
            type: integer
          type: array
          title: Shape
        dtype:
          type: string
          title: Dtype
        encoding:
          type: string
          const: jpeg
          title: Encoding
        layout:
          type: string
          const: JPEG_BYTES
          title: Layout
        frames:
          type: integer
          exclusiveMinimum: 0
          title: Frames
        height:
          type: integer
          exclusiveMinimum: 0
          title: Height
        width:
          type: integer
          exclusiveMinimum: 0
          title: Width
        channels:
          type: integer
          exclusiveMinimum: 0
          title: Channels
        fps:
          anyOf:
            - type: number
              exclusiveMinimum: 0
            - type: 'null'
          title: Fps
        episode_index:
          type: integer
          minimum: 0
          title: Episode Index
        split:
          anyOf:
            - type: string
            - type: 'null'
          title: Split
        trajectory_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Trajectory Id
      additionalProperties: true
      type: object
      required:
        - path
        - shape
        - dtype
        - encoding
        - layout
        - frames
        - height
        - width
        - channels
        - episode_index
      title: Hdf5JpegBytesPreviewCandidate
    Hdf5PaddedJpegPreviewCandidate:
      properties:
        path:
          type: string
          title: Path
        shape:
          items:
            type: integer
          type: array
          title: Shape
        dtype:
          type: string
          title: Dtype
        encoding:
          type: string
          const: jpeg
          title: Encoding
        layout:
          type: string
          const: PADDED_JPEG
          title: Layout
        frames:
          type: integer
          exclusiveMinimum: 0
          title: Frames
        height:
          type: integer
          exclusiveMinimum: 0
          title: Height
        width:
          type: integer
          exclusiveMinimum: 0
          title: Width
        channels:
          type: integer
          exclusiveMinimum: 0
          title: Channels
        fps:
          anyOf:
            - type: number
              exclusiveMinimum: 0
            - type: 'null'
          title: Fps
        episode_index:
          type: integer
          minimum: 0
          title: Episode Index
        split:
          anyOf:
            - type: string
            - type: 'null'
          title: Split
        trajectory_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Trajectory Id
        camera_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Camera Key
        compress_len_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Compress Len Path
        camera_index:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Camera Index
      additionalProperties: true
      type: object
      required:
        - path
        - shape
        - dtype
        - encoding
        - layout
        - frames
        - height
        - width
        - channels
        - episode_index
      title: Hdf5PaddedJpegPreviewCandidate
    Hdf5ImagePathPreviewCandidate:
      properties:
        path:
          type: string
          title: Path
        shape:
          items:
            type: integer
          type: array
          title: Shape
        dtype:
          type: string
          title: Dtype
        encoding:
          type: string
          const: image_path
          title: Encoding
        layout:
          type: string
          const: IMAGE_PATH
          title: Layout
        frames:
          type: integer
          exclusiveMinimum: 0
          title: Frames
        height:
          type: integer
          exclusiveMinimum: 0
          title: Height
        width:
          type: integer
          exclusiveMinimum: 0
          title: Width
        channels:
          type: integer
          exclusiveMinimum: 0
          title: Channels
        fps:
          anyOf:
            - type: number
              exclusiveMinimum: 0
            - type: 'null'
          title: Fps
        episode_index:
          type: integer
          minimum: 0
          title: Episode Index
        split:
          anyOf:
            - type: string
            - type: 'null'
          title: Split
        trajectory_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Trajectory Id
        camera_key:
          anyOf:
            - type: string
            - type: 'null'
          title: Camera Key
        first_frame_path:
          type: string
          title: First Frame Path
      additionalProperties: true
      type: object
      required:
        - path
        - shape
        - dtype
        - encoding
        - layout
        - frames
        - height
        - width
        - channels
        - episode_index
        - first_frame_path
      title: Hdf5ImagePathPreviewCandidate
    Hdf5NumericTensorCandidate:
      properties:
        path:
          type: string
          title: Path
        shape:
          items:
            type: integer
          type: array
          title: Shape
        dtype:
          type: string
          title: Dtype
        ndim:
          type: integer
          minimum: 0
          title: Ndim
        size:
          type: integer
          minimum: 0
          title: Size
      additionalProperties: true
      type: object
      required:
        - path
        - shape
        - dtype
        - ndim
        - size
      title: Hdf5NumericTensorCandidate
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT or nmp_ PAT
      description: >-
        Clerk session JWT for browsers, or nmp_ personal access token for
        CLI/SDK clients. Not accepted by ClerkSession-only operations.

````