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

# Get vault object with download URL

> Retrieves metadata for a specific document in a vault and generates a temporary download URL. The download URL expires after 1 hour for security. This endpoint also updates the file size if it wasn't previously calculated.



## OpenAPI

````yaml /openapi.json get /vault/{id}/objects/{objectId}
openapi: 3.1.0
info:
  title: Case.dev API
  description: >-
    The AI-native platform for legal technology. Build smarter legal
    applications with our suite of AI-powered APIs.
  version: 1.0.0
  contact:
    name: Case.dev Support
    email: support@casemark.com
    url: https://case.dev
  license:
    name: Proprietary
    url: https://case.dev/terms
servers:
  - url: https://api.case.dev
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Vaults
    description: Secure document storage with semantic search and GraphRAG
  - name: Memory
    description: >-
      Persistent memory for AI agents with semantic search and 12 generic
      indexed tag fields
  - name: OCR
    description: Extract text from PDFs, images, and scanned documents
  - name: Voice
    description: Audio transcription and text-to-speech
  - name: LLMs
    description: Access 40+ language models through a unified API
  - name: Search
    description: Web search, AI answers, and deep research
  - name: Mail
    description: Managed inboxes for agent email workflows
  - name: Media
    description: Transcript retrieval and captioned media clip generation
  - name: Legal
    description: Legal research tools including citation verification
  - name: Privilege
    description: Privilege detection for e-discovery and litigation workflows
  - name: Compute
    description: Serverless GPU and CPU infrastructure
  - name: Format
    description: Document formatting and template rendering (MD/JSON to PDF/DOCX)
  - name: SuperDoc
    description: Document conversion and template automation
  - name: Webhooks
    description: Webhook endpoint management
  - name: System
    description: Public system metadata and discovery endpoints
  - name: Usage
    description: Usage reporting and webhook subscriptions
  - name: Database
    description: Serverless PostgreSQL databases with instant branching
  - name: Translation
    description: Language detection and translation for multilingual legal workflows
  - name: Skills
    description: Search and read legal AI skills for agents
  - name: Agents
    description: >-
      Create, manage, and execute AI agents with tool access, sandbox
      environments, and async run workflows
  - name: Matters
    description: Matter-native legal workspaces and orchestration primitives
  - name: Applications Projects
    description: Web application project management
  - name: Applications Deployments
    description: Web application deployment management
  - name: Applications Domains
    description: Custom domain configuration for applications
  - name: Applications Env Vars
    description: Environment variable management for applications
paths:
  /vault/{id}/objects/{objectId}:
    get:
      tags:
        - Vaults
      summary: Get vault object with download URL
      description: >-
        Retrieves metadata for a specific document in a vault and generates a
        temporary download URL. The download URL expires after 1 hour for
        security. This endpoint also updates the file size if it wasn't
        previously calculated.
      operationId: getVaultObject
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Vault ID
        - name: objectId
          in: path
          required: true
          schema:
            type: string
          description: Object ID within the vault
      responses:
        '200':
          description: Object metadata and download URL
          content:
            application/json:
              schema:
                type: object
                required:
                  - id
                  - vaultId
                  - filename
                  - contentType
                  - downloadUrl
                  - expiresIn
                  - ingestionStatus
                  - createdAt
                properties:
                  id:
                    type: string
                    description: Object ID
                  vaultId:
                    type: string
                    description: Vault ID
                  filename:
                    type: string
                    description: Original filename
                  contentType:
                    type: string
                    description: MIME type
                  sizeBytes:
                    type: integer
                    description: File size in bytes
                  path:
                    type: string
                    nullable: true
                    description: Optional folder path for hierarchy preservation
                  downloadUrl:
                    type: string
                    description: Presigned S3 download URL
                  expiresIn:
                    type: integer
                    description: URL expiration time in seconds
                  ingestionStatus:
                    type: string
                    description: Processing status (pending, processing, completed, failed)
                  pageCount:
                    type: integer
                    description: Number of pages (for documents)
                  textLength:
                    type: integer
                    description: Length of extracted text
                  chunkCount:
                    type: integer
                    description: Number of text chunks created
                  vectorCount:
                    type: integer
                    description: Number of embedding vectors generated
                  ingestionError:
                    type: string
                    nullable: true
                    description: Error details when ingestion fails
                  metadata:
                    type: object
                    description: Additional metadata
                  is_ai_generated:
                    type: boolean
                    description: >-
                      Whether the file was marked as AI-generated work product
                      at upload time
                  createdAt:
                    type: string
                    format: date-time
                    description: Upload timestamp
                  transcript_object_id:
                    type: string
                    nullable: true
                    description: Object ID of the completed transcript (if available)
              example:
                id: obj_abc123
                vaultId: vault_def456
                filename: contract_amendment.pdf
                contentType: application/pdf
                sizeBytes: 2048576
                downloadUrl: >-
                  https://s3.amazonaws.com/bucket/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&...
                expiresIn: 3600
                ingestionStatus: completed
                pageCount: 15
                textLength: 12500
                chunkCount: 32
                vectorCount: 32
                ingestionError: null
                metadata:
                  extractedText: true
                  language: en
                createdAt: '2024-01-15T10:30:00Z'
                transcript_object_id: obj_transcript_789
        '400':
          description: Missing vault ID or object ID
        '401':
          description: Invalid API key
        '403':
          description: API key does not have vault service access
        '404':
          description: Vault or object not found
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key starting with `sk_case_`

````