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

> ## Agent Instructions
> These docs describe Speckle as it works today, including everything released in 2026.9. Treat page content as current unless the page or section says it applies only to versions published before 2026.9.
> Content scoped to versions published before 2026.9 (the object graph and root object, Proxies, Receive2, operations.receive, object.children) applies only to model versions in that earlier data format. For versions published in 2026.9, answer from the Object model pages and the SDK migration guides.
> The What's new pages summarise what changed in 2026.9 and link to the page that documents each change. Answer from the linked page rather than from the summary. Legacy (v2) connectors are retired; send questions about them to the community help forum.
> Match guidance to the customer's deployment, model data format, connector, plan and permissions. Self-hosted servers on a release before 2026.9 follow Data model migration for developers. If an unknown version or data format changes the answer, ask one focused question; do not infer the deployment version from the date alone.

# Download a Version's Properties Database

> Streams the version's properties as a DuckDB database: gzip-encoded when `Accept-Encoding` includes gzip (with `X-Estimated-Content-Length`), otherwise raw. Public projects need no token; others need read access, and a token's resource access rules must cover the model or version. Versions older than the workspace plan's history limit are refused. Available on Speckle Cloud and Speckle Enterprise Server 2026.9 and later; not on the open-source Speckle Server. Serves object-graph versions only: a bundle version returns **404** with `"Version not found or has no EAV artefact"`; read its properties from the bundle's `eav` files instead.



## OpenAPI

````yaml /developers/api/rest-openapi.json get /api/v1/projects/{projectId}/models/{modelId}/versions/{versionId}/eav/download
openapi: 3.1.0
info:
  title: Speckle Server REST API
  description: >-
    REST API for Speckle Server. The object endpoints serve object graphs on
    every Speckle server, including the open-source server. The bundle and
    properties endpoints exist on Speckle Cloud and Speckle Enterprise Server
    2026.9 and later, not on the open-source server.
  version: 1.0.0
  contact:
    name: Speckle Support
    url: https://speckle.community
servers:
  - url: https://app.speckle.systems
    description: Speckle Cloud (Production)
  - url: https://YOUR_SERVER_URL
    description: Self-hosted instance (replace with your server URL)
security:
  - bearerAuth: []
paths:
  /api/v1/projects/{projectId}/models/{modelId}/versions/{versionId}/eav/download:
    get:
      tags:
        - Properties
      summary: Download a Version's Properties Database
      description: >-
        Streams the version's properties as a DuckDB database: gzip-encoded when
        `Accept-Encoding` includes gzip (with `X-Estimated-Content-Length`),
        otherwise raw. Public projects need no token; others need read access,
        and a token's resource access rules must cover the model or version.
        Versions older than the workspace plan's history limit are refused.
        Available on Speckle Cloud and Speckle Enterprise Server 2026.9 and
        later; not on the open-source Speckle Server. Serves object-graph
        versions only: a bundle version returns **404** with `"Version not found
        or has no EAV artefact"`; read its properties from the bundle's `eav`
        files instead.
      operationId: downloadVersionProperties
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
          description: The project id.
        - name: modelId
          in: path
          required: true
          schema:
            type: string
          description: The model id.
        - name: versionId
          in: path
          required: true
          schema:
            type: string
          description: The version id.
      responses:
        '200':
          description: The DuckDB properties database.
          headers:
            X-Estimated-Content-Length:
              description: Approximate gzip-encoded size, sent with gzip encoding.
              schema:
                type: integer
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          description: No valid token for a non-public project.
        '403':
          description: >-
            The token cannot read this project, model or version, or the version
            is beyond the workspace history limit.
        '404':
          description: >-
            No such project or version, or the version has no properties
            database (bundle versions).
      security:
        - bearerAuth: []
        - {}
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Personal access token. Get your token from your Speckle profile
        settings.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.