> ## Documentation Index
> Fetch the complete documentation index at: https://manual.seahorse.dnotitia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Object List from Storage

> Get object list from the storage filtered by path, extension and file name.



## OpenAPI

````yaml GET /v1/storage/objects
openapi: 3.1.0
info:
  title: Seahorse API Gateway
  description: >-
    Seahorse API Gateway is an API gateway that integrates vector database, AI
    inference, and storage services. It provides features such as vector search,
    embedding generation, text generation, and object storage.
  license:
    name: ''
  version: 2.0.0-rc1
servers:
  - url: https://{resource_uuid}.api.seahorse.dnotitia.ai
    description: >-
      리소스(스토리지/테이블/인퍼런스 endpoint)별 UUID 서브도메인. UUID 는 콘솔 → 리소스 상세 페이지 "API URL"
      항목에서 확인
    variables:
      resource_uuid:
        default: your-resource-uuid-here
        description: '대시 제거된 32자리 UUID (예: b0348a15cf0e48079e290fe03901247b)'
security: []
tags:
  - name: TABLE_V2
    description: Table operations v2
  - name: STORAGE
    description: Storage Object operations
paths:
  /v1/storage/objects:
    get:
      tags:
        - STORAGE
      summary: Get Object List from Storage
      description: >-
        Get object list from the storage filtered by path, extension and file
        name.
      operationId: get_object_list_handler
      parameters:
        - name: path
          in: query
          description: >-
            Path(Key) of the objects to get. It ends with "/". e.g.
            "path/to/folder/"
          required: false
          schema:
            type:
              - string
              - 'null'
        - name: extension
          in: query
          description: Extension of the objects to get. (e.g. "txt", "pdf", "parquet")
          required: false
          schema:
            type:
              - string
              - 'null'
        - name: file_name
          in: query
          description: File name of the objects to get.
          required: false
          schema:
            type:
              - string
              - 'null'
        - name: include_metadata
          in: query
          description: >-
            Include VSync processing metadata for each file. Default: false.

            When true, the response includes `metadata` field with processing
            status from vsync-light.
          required: false
          schema:
            type:
              - boolean
              - 'null'
      responses:
        '200':
          description: Success to get object file list from storage.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoralResponse_ListObjectResponse'
              examples:
                with metadata (include_metadata=true):
                  value:
                    code: 200
                    data:
                      metadata:
                        file1.pdf:
                          completed_chunks: 48
                          completed_pages: 10
                          created_at: '2026-01-19T11:55:17.448633+00:00'
                          current_stage: 6
                          failed_pages: 0
                          stage_name: COMPLETED
                          stage_status: completed
                          total_chunks: 48
                          total_pages: 10
                          updated_at: '2026-01-19T12:02:29.850770+00:00'
                          upload_status: handed_off
                        file2.pdf:
                          completed_chunks: 39
                          completed_pages: 10
                          created_at: '2026-01-19T11:55:24.701610+00:00'
                          current_stage: 6
                          failed_pages: 0
                          stage_name: COMPLETED
                          stage_status: completed
                          total_chunks: 39
                          total_pages: 10
                          updated_at: '2026-01-19T12:02:26.429813+00:00'
                          upload_status: handed_off
                      object_list:
                        - file1.pdf
                        - file2.pdf
                    exception: null
                    success: true
                without metadata (default)(include_metadata=false):
                  value:
                    code: 200
                    data:
                      object_list:
                        - file1.txt
                        - pdf/file2.txt
                    exception: null
                    success: true
        '400':
          description: Invalid input provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoralResponse_ErrorBody'
              example:
                code: 400
                data: null
                exception:
                  error_code: 400001
                  error_message: 'Bad Request: '
                success: false
        '500':
          description: Error occurred while getting object list from storage.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CoralResponse_ErrorBody'
              example:
                code: 500
                data: null
                exception:
                  error_code: 500001
                  error_message: 'Internal error: '
                success: false
      security:
        - bearerAuth:
            - READ
            - WRITE
        - apiKeyAuth:
            - READ
            - WRITE
components:
  schemas:
    CoralResponse_ListObjectResponse:
      type: object
      required:
        - success
        - code
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code.
          minimum: 0
        data:
          type: object
          required:
            - object_list
          properties:
            metadata:
              type:
                - object
                - 'null'
              description: >-
                VSync metadata map keyed by file path (only present when
                include_metadata=true)

                Files without VSync processing are omitted from this map
              additionalProperties:
                $ref: '#/components/schemas/VsyncMetadata'
              propertyNames:
                type: string
            object_list:
              type: array
              items:
                type: string
              description: List of object keys (always present for backward compatibility)
        exception:
          type: object
          required:
            - object_list
          properties:
            metadata:
              type:
                - object
                - 'null'
              description: >-
                VSync metadata map keyed by file path (only present when
                include_metadata=true)

                Files without VSync processing are omitted from this map
              additionalProperties:
                $ref: '#/components/schemas/VsyncMetadata'
              propertyNames:
                type: string
            object_list:
              type: array
              items:
                type: string
              description: List of object keys (always present for backward compatibility)
        success:
          type: boolean
          description: Whether the request was successful.
    CoralResponse_ErrorBody:
      type: object
      required:
        - success
        - code
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code.
          minimum: 0
        data:
          type: object
          required:
            - error_code
            - error_message
          properties:
            error_code:
              type: integer
              format: int32
              minimum: 0
            error_message:
              type: string
        exception:
          type: object
          required:
            - error_code
            - error_message
          properties:
            error_code:
              type: integer
              format: int32
              minimum: 0
            error_message:
              type: string
        success:
          type: boolean
          description: Whether the request was successful.
    VsyncMetadata:
      type: object
      description: >-
        VSync processing metadata for a storage object


        Contains both upload status (from storage-gateway) and processing status
        (from vsync-light)

        to enable complete status visualization on the client side.
      properties:
        completed_chunks:
          type:
            - integer
            - 'null'
          format: int32
          description: Number of completed chunks
        completed_pages:
          type:
            - integer
            - 'null'
          format: int32
          description: Number of completed pages
        created_at:
          type:
            - string
            - 'null'
          description: Timestamp when document was created
        current_stage:
          type:
            - integer
            - 'null'
          format: int32
          description: Current processing stage number (0-6)
        error_message:
          type:
            - string
            - 'null'
          description: Error message if processing failed
        failed_pages:
          type:
            - integer
            - 'null'
          format: int32
          description: Number of failed pages
        stage_name:
          type:
            - string
            - 'null'
          description: >-
            Current processing stage name (PENDING, ACQUISITION, VLM_PARSING,
            CHUNKING, EMBEDDING, VDB_STORAGE, COMPLETED)
        stage_status:
          type:
            - string
            - 'null'
          description: >-
            Processing status: "pending", "in_progress", "completed", "failed",
            "blocked", "permanently_failed"
        substage:
          type:
            - string
            - 'null'
          description: >-
            Substage name for CHUNKING stage (preprocessing_structure,
            preprocessing_artifacts, etc.)
        substage_index:
          type:
            - integer
            - 'null'
          format: int32
          description: Substage index (1-based) for CHUNKING stage progress display
        substage_total:
          type:
            - integer
            - 'null'
          format: int32
          description: Total substage count for CHUNKING stage (typically 5)
        total_chunks:
          type:
            - integer
            - 'null'
          format: int32
          description: Total chunks in the document
        total_pages:
          type:
            - integer
            - 'null'
          format: int32
          description: Total pages in the document
        updated_at:
          type:
            - string
            - 'null'
          description: Timestamp when document was last updated
        upload_status:
          type:
            - string
            - 'null'
          description: >-
            Upload status from storage-gateway: "uploading", "uploaded",
            "handed_off", "failed"
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer token authentication. Include the token in the Authorization
        header as 'Bearer <token>'
    apiKeyAuth:
      type: apiKey
      in: header
      name: api-key
      description: API key authentication. Include the key in the api-key header

````