# Speckle Docs ## Docs - [Welcome to Speckle](https://speckle-assistant.mintlify.site/quickstart/welcome.md): This documentation is your go-to resource for basic understanding of Speckle's platform and terminology, getting started guides to set up workspaces, projects, and connectors, and common answers to FAQs and troubleshooting tips. - [Quickstart Guide](https://speckle-assistant.mintlify.site/quickstart/quickstart.md): Get up and running with Speckle in no time! - [Frequently Asked Questions](https://speckle-assistant.mintlify.site/quickstart/faq.md): We've collected commonly asked questions that you might have as you get started. - [Overview](https://speckle-assistant.mintlify.site/workspaces/workspaces.md): Workspaces act as a secure hub for your team and projects using Speckle. - [Projects](https://speckle-assistant.mintlify.site/workspaces/projects.md): Organising your data in Speckle - [Models](https://speckle-assistant.mintlify.site/workspaces/models.md): Organising your data in Speckle - [Version Control](https://speckle-assistant.mintlify.site/workspaces/versions.md): Keep track of every model - [Roles and Seats](https://speckle-assistant.mintlify.site/workspaces/roles-and-seats.md): Understand the key concepts for managing permissions - [Invite to Workspace](https://speckle-assistant.mintlify.site/workspaces/inviting.md): Information about workspace and project invites - [Workspace Discoverability](https://speckle-assistant.mintlify.site/workspaces/workspace-discoverability.md): Make it easy for your coworkers to join - [Domain Protection](https://speckle-assistant.mintlify.site/workspaces/domain-protection.md): Secure who can access your workspace - [Single Sign-On (SSO)](https://speckle-assistant.mintlify.site/workspaces/sso.md): Secure who can access your workspace - [Data Residency](https://speckle-assistant.mintlify.site/workspaces/data-residency.md): Choose where your data is stored for compliance - [Billing](https://speckle-assistant.mintlify.site/workspaces/billing.md): Information about managing your paid subscription - [Interface and Navigation](https://speckle-assistant.mintlify.site/3d-viewer/interface-nav.md): Finding your way around the 3D viewer and the tools available to you. - [Exploration](https://speckle-assistant.mintlify.site/3d-viewer/exploration.md): The full hierarchy of your model is available for inspection and exploration. - [Presentation](https://speckle-assistant.mintlify.site/3d-viewer/presentation.md): View your 3D Model anywhere - [Model Federation](https://speckle-assistant.mintlify.site/3d-viewer/federation.md): Assemble models from different software into one cohesive view. - [Issues](https://speckle-assistant.mintlify.site/3d-viewer/issues.md): Track problems and manage feedback directly on your 3D models. - [Saved views](https://speckle-assistant.mintlify.site/3d-viewer/saved-views.md): Save views, organize them into groups, and share them with others. - [Markups](https://speckle-assistant.mintlify.site/3d-viewer/markups.md): Draw and annotate your models to give clear, contextual feedback. - [Compare Versions](https://speckle-assistant.mintlify.site/3d-viewer/compare-versions.md): Compare two versions of a model to see the differences. - [Share your Models](https://speckle-assistant.mintlify.site/3d-viewer/sharing.md): View your 3D Model anywhere - [Connectors Overview](https://speckle-assistant.mintlify.site/connectors/overview.md): Learn how to get your 3D models into Speckle using connectors, cloud integrations, or direct file uploads. Connectors provide maximum control, cloud integrations enable automated sync, and file uploads offer quick access when connectors aren't available. - [Installing Connectors](https://speckle-assistant.mintlify.site/connectors/installation.md): Follow these steps to download and install a Speckle connector - [Connector Assets & Templates](https://speckle-assistant.mintlify.site/connectors/assets.md): Download templates, sample files, and resources for Speckle connectors - [How to use Speckle for Revit](https://speckle-assistant.mintlify.site/connectors/revit.md): Step-by-step guide for using the Revit connector - [How to use Speckle for Rhino](https://speckle-assistant.mintlify.site/connectors/rhino/rhino.md): Step-by-step guide for using the Rhino connector - [Revit Categorization](https://speckle-assistant.mintlify.site/connectors/rhino/rhino-revit.md): Using Speckle for Rhino and Revit. - [How to use Speckle for Grasshopper](https://speckle-assistant.mintlify.site/connectors/grasshopper/grasshopper.md): Step-by-step guide for using the Grasshopper connector - [Models](https://speckle-assistant.mintlify.site/connectors/grasshopper/grasshopper-models.md): Working with Speckle Models in Grasshopper. - [Collections](https://speckle-assistant.mintlify.site/connectors/grasshopper/grasshopper-collections.md): Working with Speckle Collections in Grasshopper. - [Objects](https://speckle-assistant.mintlify.site/connectors/grasshopper/grasshopper-objects.md): Working with Speckle Objects in Grasshopper. - [Properties](https://speckle-assistant.mintlify.site/connectors/grasshopper/grasshopper-properties.md): Working with Speckle Object Properties in Grasshopper. - [Developer Nodes](https://speckle-assistant.mintlify.site/connectors/grasshopper/grasshopper-developer.md): Working with Speckle developer nodes - [Recommendations](https://speckle-assistant.mintlify.site/connectors/grasshopper/grasshopper-recommendations.md): Best practices for using Speckle for Grasshopper - [Integrations](https://speckle-assistant.mintlify.site/connectors/grasshopper/grasshopper-integrations.md): Third-party integrations with Grasshopper and Speckle. - [How to use Speckle for SketchUp](https://speckle-assistant.mintlify.site/connectors/sketchup.md): Step-by-step guide for using the SketchUp connector - [Power BI Data Gateway](https://speckle-assistant.mintlify.site/connectors/power-bi/gateway.md): Setting up data gateways for Power BI scheduled refresh - [How to use Speckle for Archicad](https://speckle-assistant.mintlify.site/connectors/archicad.md): Step-by-step guide for using the Archicad connector - [How to use Speckle for Navisworks](https://speckle-assistant.mintlify.site/connectors/navisworks.md): Step-by-step guide for using the Navisworks connector - [How to use Speckle for Blender](https://speckle-assistant.mintlify.site/connectors/blender.md): Step-by-step guide for using the Blender connector - [How to use Speckle for Civil 3D](https://speckle-assistant.mintlify.site/connectors/civil3d.md): Step-by-step guide for using the Civil 3D connector - [How to use Speckle for AutoCAD](https://speckle-assistant.mintlify.site/connectors/autocad.md): Step-by-step guide for using the AutoCAD connector - [How to use Speckle for ETABS](https://speckle-assistant.mintlify.site/connectors/etabs.md): Step-by-step guide for using the ETABS connector - [How to use Speckle for Tekla Structures](https://speckle-assistant.mintlify.site/connectors/tekla.md): Step-by-step guide for using the Tekla Structures connector - [Autodesk Construction Cloud](https://speckle-assistant.mintlify.site/connectors/cloud-integrations/acc.md): Connect and sync your Autodesk Construction Cloud models with Speckle for analytics, dashboards, and automation workflows. - [File uploads](https://speckle-assistant.mintlify.site/connectors/direct-uploads/file-uploads.md): Upload files directly to your Speckle projects and view them in your browser—no desktop software or connector needed. - [Dashboards](https://speckle-assistant.mintlify.site/analytics/intelligence-dashboards.md): Create interactive dashboards to analyze and visualize your model data. - [Model Checker](https://speckle-assistant.mintlify.site/analytics/model-checker/overview.md): Validate your models against custom rules and track quality metrics with automated model checking. - [Rules and Rulesets](https://speckle-assistant.mintlify.site/analytics/model-checker/rules-and-rulesets.md): Learn how to create validation rules and use rulesets in automations. - [Viewing Results](https://speckle-assistant.mintlify.site/analytics/model-checker/viewing-results.md): Learn how to view and analyze Model Checker validation results. - [Introduction](https://speckle-assistant.mintlify.site/developers/introduction.md): Build powerful applications, integrations, and automations with Speckle's developer platform - [Getting Started](https://speckle-assistant.mintlify.site/developers/getting-started.md): Your learning path to building with Speckle - [Authentication](https://speckle-assistant.mintlify.site/developers/authentication.md): Learn how to authenticate applications with Speckle using Personal Access Tokens and OAuth2 - [Key Concepts](https://speckle-assistant.mintlify.site/developers/key-concepts.md): Understand the fundamental concepts behind Speckle's developer platform - [Building Custom Apps](https://speckle-assistant.mintlify.site/developers/building-apps.md): Learn how to build custom applications using Speckle's APIs and SDKs - [Developer Resources](https://speckle-assistant.mintlify.site/developers/resources.md): All the tools, APIs, and packages available for building with Speckle - [Building a Speckle Connector](https://speckle-assistant.mintlify.site/developers/building-connectors.md): Learn how to build connectors for new applications and tools - [Overview](https://speckle-assistant.mintlify.site/developers/data-schema/overview.md): Introduction to Speckle's Data Schema and how models are organized - [Core Concepts](https://speckle-assistant.mintlify.site/developers/data-schema/concepts.md): Understanding Models, Collections, Objects, Proxies, and Info - [Object Schema](https://speckle-assistant.mintlify.site/developers/data-schema/object-schema.md): The structure and fields of Speckle objects - [Geometry Schema](https://speckle-assistant.mintlify.site/developers/data-schema/geometry-schema.md): How geometry is stored and organized in Speckle - [Proxy Schemas](https://speckle-assistant.mintlify.site/developers/data-schema/proxy-schema.md): How proxies encode relationships between objects and shared resources - [Connector Index](https://speckle-assistant.mintlify.site/developers/data-schema/connector-index.md): Overview of connector-specific behaviors and data models - [ArchiCAD Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/archicad-schema.md): Data schema and structure for ArchiCAD models - [IFC Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/ifc-schema.md): Data schema and structure for IFC models - [Navisworks Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/navisworks-schema.md): Data schema and structure for Navisworks models - [Revit Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/revit-schema.md): Data schema and structure for Revit models - [Tekla Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/tekla-schema.md): Data schema and structure for Tekla models - [AutoCAD Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/autocad-schema.md): Data schema and structure for AutoCAD models - [Civil 3D Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/civil3d-schema.md): Data schema and structure for Civil 3D models - [ETABS Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/etabs-schema.md): Data schema and structure for ETABS models - [Rhino Schema](https://speckle-assistant.mintlify.site/developers/data-schema/connectors/rhino-schema.md): Data schema and structure for Rhino models - [GraphQL API](https://speckle-assistant.mintlify.site/developers/api/graphql.md): Access the complete GraphQL schema and API documentation for the Speckle Server - [Subscriptions](https://speckle-assistant.mintlify.site/developers/api/subscriptions.md): Real-time event notifications using GraphQL subscriptions - [REST API](https://speckle-assistant.mintlify.site/developers/api/rest.md): REST API reference for Speckle Server - [Webhooks](https://speckle-assistant.mintlify.site/developers/api/webhooks.md): Subscribe to events and get notified in real time. Use webhooks to trigger CI apps, automation workflows, and more. - [Events and Payloads](https://speckle-assistant.mintlify.site/developers/api/webhooks/events.md): Complete list of webhook events you can subscribe to with payload examples - [Creating and Managing Webhooks](https://speckle-assistant.mintlify.site/developers/api/webhooks/management.md): How to create, update, test, and troubleshoot webhooks - [Webhook Security](https://speckle-assistant.mintlify.site/developers/api/webhooks/security.md): Securing your webhook endpoints and best practices - [Uploading IFC and Other Files](https://speckle-assistant.mintlify.site/developers/api/guides/file-uploads.md): Guide to uploading IFC, DWG, OBJ, and other file types using GraphQL mutations - [Webhooks to Slack](https://speckle-assistant.mintlify.site/developers/api/guides/slack-notifications.md): Set up webhooks to post Slack messages whenever a model is updated in Speckle - [specklepy](https://speckle-assistant.mintlify.site/developers/sdks/python/introduction.md): The Python SDK for Speckle - Build powerful AEC data workflows - [Installation](https://speckle-assistant.mintlify.site/developers/sdks/python/getting-started/installation.md): Install specklepy and set up your Python environment - [Authentication](https://speckle-assistant.mintlify.site/developers/sdks/python/getting-started/authentication.md): Learn how to authenticate with Speckle Server using tokens - [Quickstart](https://speckle-assistant.mintlify.site/developers/sdks/python/getting-started/quickstart.md): Build your first Speckle integration in 5 minutes - [Overview](https://speckle-assistant.mintlify.site/developers/sdks/python/concepts/overview.md): Understand the fundamental concepts of specklepy and Speckle - [Data Types in Speckle](https://speckle-assistant.mintlify.site/developers/sdks/python/concepts/data-types.md): Understanding the three types of data you'll encounter in Speckle - [Objects & Base Class](https://speckle-assistant.mintlify.site/developers/sdks/python/concepts/objects.md): Deep dive into Speckle's object system and the Base class - [Data Traversal](https://speckle-assistant.mintlify.site/developers/sdks/python/concepts/data-traversal.md): Understanding how to navigate and extract data from Speckle's object graphs - [Display Values](https://speckle-assistant.mintlify.site/developers/sdks/python/concepts/display-values.md): The foundation of 3D viewer interoperability - how any connector makes objects visible - [Proxification](https://speckle-assistant.mintlify.site/developers/sdks/python/concepts/proxification.md): Understanding proxy references and resolution strategies in Speckle data - [SpeckleClient](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/client.md): API reference for the SpeckleClient class - [Operations](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/operations.md): API reference for send, receive, serialize, and deserialize operations - [ProjectResource](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/resources/project.md): Complete API reference for project operations in SpecklePy - [ModelResource](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/resources/model.md): Complete API reference for model operations in SpecklePy - [VersionResource](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/resources/version.md): Complete API reference for version operations in SpecklePy - [ActiveUserResource](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/resources/active-user.md): Complete API reference for active user operations in SpecklePy - [OtherUserResource](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/resources/other-user.md): Complete API reference for other user lookup operations in SpecklePy - [WorkspaceResource](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/resources/workspace.md): API reference for workspace operations in SpecklePy - [ServerResource](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/resources/server.md): API reference for server information and token operations in SpecklePy - [Transports](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/transports.md): Storage backends for sending and receiving Speckle objects - [Exceptions](https://speckle-assistant.mintlify.site/developers/sdks/python/api-reference/exceptions.md): Exception types in SpecklePy - [Working with Speckle Objects](https://speckle-assistant.mintlify.site/developers/sdks/python/guides/how-to-work-with-objects.md): Learn how to create, structure, and work with Speckle Base objects - [Finding and Extracting Data](https://speckle-assistant.mintlify.site/developers/sdks/python/guides/how-to-find-and-extract-data.md): Learn to traverse, filter, and extract data from nested Speckle structures - [Performance and Complex Patterns](https://speckle-assistant.mintlify.site/developers/sdks/python/guides/how-to-optimize-and-handle-complexity.md): Learn to optimize searches, build indexes, and handle complex BIM scenarios - [Simple Data Patterns](https://speckle-assistant.mintlify.site/developers/sdks/python/guides/simple-data-patterns.md): Working with custom data and simple model data in Speckle - [BIM Data Patterns](https://speckle-assistant.mintlify.site/developers/sdks/python/guides/bim-data-patterns.md): Working with complex BIM and connector data from authoring tools - [Extracting Display Values and Transform Instances](https://speckle-assistant.mintlify.site/developers/sdks/python/guides/working-with-proxies.md): Learn how to extract geometry from display values and resolve instance definition references in Speckle objects. - [Understanding Speckle Mesh](https://speckle-assistant.mintlify.site/developers/sdks/python/guides/understanding-speckle-mesh.md): How Speckle's Mesh format works - vertices, faces, nGons, normals, and colors explained - [Working with Geometry](https://speckle-assistant.mintlify.site/developers/sdks/python/guides/working-with-geometry.md): Complete guide to creating and manipulating geometric objects in specklepy - [specklesharp](https://speckle-assistant.mintlify.site/developers/sdks/dotnet/introduction.md): The C# .NET SDK for Speckle - Build powerful AEC data workflows - [speckle.js](https://speckle-assistant.mintlify.site/developers/sdks/typescript/introduction.md): The Javascript/TypeScript SDK for Speckle - Build powerful AEC data workflows - [Introduction](https://speckle-assistant.mintlify.site/developers/viewer/introduction.md): Introduction to the Speckle Viewer, an open-source 3D model viewer that renders large models in web browsers. Learn how to use the viewer in your own projects, explore the documentation, and access live code examples. - [Installation](https://speckle-assistant.mintlify.site/developers/viewer/installation.md) - [Basic Setup](https://speckle-assistant.mintlify.site/developers/viewer/basic-setup.md) - [Advanced Setup](https://speckle-assistant.mintlify.site/developers/viewer/advanced-setup.md) - [Overview](https://speckle-assistant.mintlify.site/developers/viewer/overview.md): Introduction to the Speckle Viewer architecture built on three.js. Learn about viewer-core features like automatic batching, BVH acceleration, and instanced rendering, plus the extensible extension system for custom functionality. - [Data Tree](https://speckle-assistant.mintlify.site/developers/viewer/viewer-data.md) - [Rendering](https://speckle-assistant.mintlify.site/developers/viewer/viewer-rendering.md): With the introduction of custom loaders, we've potentially broadened the scope of what the viewer could be used for, however our goal and purpose is still focusing on AEC related visualisation, with a strong bias towards Speckle data. Because Speckle data is organized in a certain way, the viewer cr… - [Loaders](https://speckle-assistant.mintlify.site/developers/viewer/loaders.md): The viewer provides a loader system which allows for virtually any data to be loaded in. - [AccelerationStructure](https://speckle-assistant.mintlify.site/developers/viewer/acceleration-structure-api.md): Thin wrapper around the three-mesh-bvh library's MeshBVH class with some additional specific functionality. - [Batch](https://speckle-assistant.mintlify.site/developers/viewer/batch-api.md): The structural component of the viewer's scenegraph. All loaded objects are split and organized into batches. - [BatchObject](https://speckle-assistant.mintlify.site/developers/viewer/batch-object-api.md) - [GeometryConverter](https://speckle-assistant.mintlify.site/developers/viewer/geometry-converter-api.md): Abstract class that is the base for all concrete geometry converter implementations. - [Input](https://speckle-assistant.mintlify.site/developers/viewer/input-api.md): Basic, viewer-core defined input event manager. Accessible from [_SpeckleRenderer_](/developers/viewer/speckle-renderer-api) - [Intersections](https://speckle-assistant.mintlify.site/developers/viewer/intersections-api.md): Entry point for intersecting and obtaining intersection data from the scene. Accessible from [_SpeckleRenderer_](/developers/viewer/speckle-renderer-api) - [Loader](https://speckle-assistant.mintlify.site/developers/viewer/loader-api.md): Abstract class that is the base for all concrete loader implementations. - [Queries](https://speckle-assistant.mintlify.site/developers/viewer/queries-api.md): Queries are a simple mechanism that allows the user to perform several operations in a contained way. - [NodeRenderView](https://speckle-assistant.mintlify.site/developers/viewer/render-view-api.md): The render view is the core data structure that the viewer uses to render geometry. - [RenderTree](https://speckle-assistant.mintlify.site/developers/viewer/render-tree-api.md): The render tree is the core data structure that the viewer uses to render geometry. - [Pipeline](https://speckle-assistant.mintlify.site/developers/viewer/rendering-pipeline-api/pipeline-api.md): Abstract class that is the base for all concrete rendering pipeline implementations. - [ProgressivePipeline](https://speckle-assistant.mintlify.site/developers/viewer/rendering-pipeline-api/progressive-pipeline-api.md): Abstract class that extends the abstract Pipeline and provides builtin functionality for progressive rendering. - [GPass](https://speckle-assistant.mintlify.site/developers/viewer/rendering-pipeline-api/g-pass-api.md): Contract for all rendering pass implementations in the speckle viewer. - [BaseGPass](https://speckle-assistant.mintlify.site/developers/viewer/rendering-pipeline-api/base-g-pass-api.md): Abstract base class which contains most of the basic common implementation for most passes. - [ProgressiveGPass](https://speckle-assistant.mintlify.site/developers/viewer/rendering-pipeline-api/progressive-g-pass-api.md): Base abstract class for all passes that need to converge/accumulate over more than one frame. - [SpeckleMaterial](https://speckle-assistant.mintlify.site/developers/viewer/speckle-material-api.md): All speckle-derived materials inherit this class. Internally, all speckle materials are mixins between three materials and this class. - [SpeckleRenderer](https://speckle-assistant.mintlify.site/developers/viewer/speckle-renderer-api.md) - [TopLevelAccelerationStructure](https://speckle-assistant.mintlify.site/developers/viewer/top-level-acceleration-structure-api.md): The viewer is using three-mesh-bvh as the backbone for it's BVH implementation. - [Viewer](https://speckle-assistant.mintlify.site/developers/viewer/viewer-api.md): The Speckle Viewer API - [WorldTree](https://speckle-assistant.mintlify.site/developers/viewer/world-tree-api.md): The WorldTree is a tree data structure that is used to store the scene graph. - [Extension](https://speckle-assistant.mintlify.site/developers/viewer/extensions/extension-api.md): Base class for all extensions. Extensions are created via [_createExtension_](/developers/viewer/viewer-api#createextension) method from the viewer instance. - [CameraController](https://speckle-assistant.mintlify.site/developers/viewer/extensions/camera-controller-api.md): The default camera controller extension that comes with the viewer package. Includes toggleable perspective and orthographic camera projections. - [DifExtension](https://speckle-assistant.mintlify.site/developers/viewer/extensions/diff-extension-api.md): The default diffing functionality expose as an extension. - [FilteringExtension](https://speckle-assistant.mintlify.site/developers/viewer/extensions/filtering-extension-api.md): The default filtering functionality is exposed as an extension. The current filtering implementation works by providing an updated [_FilteringState_](/developers/viewer/extensions/filtering-extension-api#filteringstate) after each call to its functions. You can use this filtering state to keep track… - [MeasurementsTool](https://speckle-assistant.mintlify.site/developers/viewer/extensions/measurements-tool-api.md): This extension provides basic configurable measurement capabilities. The tool is autonomous, and is able to create measurements on it's own. - [SelectionExtension](https://speckle-assistant.mintlify.site/developers/viewer/extensions/selection-extension-api.md): Defalt selection helper extension. Handles object selection automatically, both visually and data wise. Optionally can highlight on hover. - [SectionTool](https://speckle-assistant.mintlify.site/developers/viewer/extensions/section-tool-api.md): Default section tool implementation. - [SectionToolOutlines](https://speckle-assistant.mintlify.site/developers/viewer/extensions/section-tool-outlines-api.md): This extension adds outlines to the section tool's sectioned geometry edges. - [SpeckleControls](https://speckle-assistant.mintlify.site/developers/viewer/extensions/speckle-controls-api.md): Abstract base class for all camera controls implementations - [SmoothOrbitControls](https://speckle-assistant.mintlify.site/developers/viewer/extensions/smooth-orbit-controls-api.md): Orbit camera controls based on Google's model-viewer implementation. Input are the angles and radius of a spherical coordinate system with a configurable origin. - [ViewModes](https://speckle-assistant.mintlify.site/developers/viewer/extensions/view-modes-api.md): This extension simplifies working with stock [rendering pipelines](/developers/viewer/rendering-pipeline-api/pipeline-api) - [Basic Example](https://speckle-assistant.mintlify.site/developers/viewer/examples/basic-example.md) - [More Extensions](https://speckle-assistant.mintlify.site/developers/viewer/examples/more-extensions-example.md) - [Filtering](https://speckle-assistant.mintlify.site/developers/viewer/examples/filtering-example.md): All filtering functionality in the viewer is handled by the [`FilteringExtension`](/developers/viewer/extensions/filtering-extension-api). - [Loading Data](https://speckle-assistant.mintlify.site/developers/viewer/examples/loading-example.md) - [Object Manipulation](https://speckle-assistant.mintlify.site/developers/viewer/examples/object-manipulation-example.md) - [Box Selection](https://speckle-assistant.mintlify.site/developers/viewer/examples/box-selection-example.md) - [Animation & Custom Text](https://speckle-assistant.mintlify.site/developers/viewer/examples/categorize-example.md): This examples provides the previous [move gizmo](/developers/viewer/object-manipulation-example) working together with the [box selection](/developers/viewer/box-selection-example) extension from before and an additional extension that animates and categorizes objects based on their properties. - [Migration Guide](https://speckle-assistant.mintlify.site/developers/viewer/migration-guide.md) - [Backwards Compatibility](https://speckle-assistant.mintlify.site/developers/viewer/migration-guide-compatibility.md): For **backwards compatibility** reasons we provide a built-in legacy implementation that emulates the old API precisely. Please note that this is meant as a temporary measure which will eventually become naturally obsolete. For this purpose, this migration guide entry will describe moving from any o… - [API 1.0 Full Migration](https://speckle-assistant.mintlify.site/developers/viewer/migration-guide-v1.md): The encouraged way, is to conform to the new API as soon as possible. The following guide will attempt to help with the initial migration from the old API to the new one. - [Introduction](https://speckle-assistant.mintlify.site/developers/server/introduction.md): The Speckle Server is the core backend that powers all Speckle functionality. This section focuses on hosting and deploying your own Speckle server instance, giving you complete control over your data and infrastructure. - [Server Architecture](https://speckle-assistant.mintlify.site/developers/server/architecture.md): The Speckle server is designed as a modular, scalable system that can handle everything from small team deployments to enterprise-scale installations. This page provides a high-level overview of the server architecture and its components. - [Deployment Options](https://speckle-assistant.mintlify.site/developers/server/deployment-options.md): This page provides a comprehensive overview of all available deployment methods for the Speckle server, helping you choose the right approach for your specific needs and requirements. - [Getting Started](https://speckle-assistant.mintlify.site/developers/server/getting-started.md): Quick start guide to deploy a Speckle server using Docker Compose. Learn the minimal steps to get a server running, including prerequisites, Docker Compose setup, and initial configuration for local or production use. - [Deploy to Kubernetes](https://speckle-assistant.mintlify.site/developers/server/deployment/kubernetes.md): Deploy Speckle server to Kubernetes for enterprise and production environments - [Server Maintenance](https://speckle-assistant.mintlify.site/developers/server/deployment/backup-upgrade-restore.md): Complete guide to backing up, upgrading, and restoring Speckle server databases. Learn how to set up pgAdmin, create backups, perform upgrades, and restore data using Docker Compose. - [Environment Setup](https://speckle-assistant.mintlify.site/developers/server/development/setup.md): Complete guide to get Speckle server running locally for development, testing, and contribution - [Introduction](https://speckle-assistant.mintlify.site/developers/automate/introduction.md): Speckle Automate is a fully fledged CI/CD platform designed to run custom code on Speckle models whenever a new version is available. - [Quickstart Guide](https://speckle-assistant.mintlify.site/developers/automate/quickstart.md): Get started with Speckle Automate in just a few steps. This guide will walk you through creating your first function and automation. - [API Reference](https://speckle-assistant.mintlify.site/developers/automate/api-reference.md): Complete API reference for Speckle Automate functions and interfaces - [Frequently Asked Questions](https://speckle-assistant.mintlify.site/developers/automate/faq.md): Frequently asked questions about Speckle Automate covering pricing, performance, supported languages, installation, comparisons with other platforms, function creation, and automation workflows. - [Creating Functions](https://speckle-assistant.mintlify.site/developers/automate/create-function.md): Step-by-step guide to creating Speckle Automate functions using the function creation wizard. Learn how to authorize GitHub, choose templates, define function metadata, and set up your development environment for building custom automation workflows. - [Making Your Function](https://speckle-assistant.mintlify.site/developers/automate/making-your-function.md): Guide to developing and structuring Speckle Automate function code. Learn about function inputs, run entry points for Python and C#, secrets management, project structure, and testing strategies. - [Function Inputs](https://speckle-assistant.mintlify.site/developers/automate/function-inputs.md): Complete guide to defining user inputs for Speckle Automate functions. Learn how to create text fields, numbers, dropdowns using enums, secret fields for sensitive data, and validation rules in both Python and C#. - [Releasing a New Version](https://speckle-assistant.mintlify.site/developers/automate/release-function-version.md): Guide to releasing new versions of functions in Speckle Automate via GitHub releases. Learn about semantic versioning, the deployment process, monitoring release actions, and customizing workflows and Dockerfiles. - [Handling Data in Functions](https://speckle-assistant.mintlify.site/developers/automate/function-data.md): Comprehensive guide to working with Speckle data structures in Automate functions. Learn data handling strategies including flattening, filtering, hierarchical analysis, and model augmentation with practical examples in Python and C#. - [AutomationContext](https://speckle-assistant.mintlify.site/developers/automate/function-context.md): Complete reference for the AutomationContext interface in Speckle Automate. Learn about properties, methods for data access, result reporting, status management, artifact creation, and context views for custom UI states. - [Annotating Function Results](https://speckle-assistant.mintlify.site/developers/automate/function-results.md): Guide to annotating objects with structured results in Speckle Automate. Learn how to attach errors, warnings, info, and success messages to specific objects, use metadata for richer annotations, and enable gradient visualizations. - [Reporting Success](https://speckle-assistant.mintlify.site/developers/automate/function-success.md): Guide to reporting function execution status in Speckle Automate. Learn when to use mark_run_success, mark_run_failed, and mark_run_exception, with best practices for meaningful status messages and error handling. - [Function Artefacts](https://speckle-assistant.mintlify.site/developers/automate/function-artefacts.md): Guide to creating and managing function outputs in Speckle Automate. Learn when to create new model versions versus storing file artifacts, how to generate reports, and best practices for handling different output types. - [Creating Automations](https://speckle-assistant.mintlify.site/developers/automate/create-automation.md): Guide to creating automations that apply functions to Speckle models. Learn how to select functions, configure parameters and inputs, choose trigger models, and set up automated workflows that run whenever your models are updated. - [Viewing Automation Results](https://speckle-assistant.mintlify.site/developers/automate/viewing-results.md): Learn how to view and interpret automation results in Speckle Automate. Discover how to access results from the model scene view and project dashboard, understand status messages, view artifacts, and interact with result reports. - [Update an Automation](https://speckle-assistant.mintlify.site/developers/automate/update-automation.md): Step-by-step guide to updating existing automations in Speckle Automate. Learn how to change function versions, modify configuration values, and update automation settings without recreating the automation. - [Testing Your Functions](https://speckle-assistant.mintlify.site/developers/automate/function-testing.md): Guide to testing Speckle Automate functions using test automations. Learn how to create sandbox environments, configure local testing with environment variables, run test cases, and validate function results against real project data. - [Troubleshooting Automations](https://speckle-assistant.mintlify.site/developers/automate/troubleshooting.md): Troubleshooting guide for Speckle Automate failures. Learn to identify and resolve three types of failures: by design (failed), code errors (exceptions), and platform errors (infrastructure issues). - [Considerations & Limitations](https://speckle-assistant.mintlify.site/developers/automate/important-considerations.md): Important considerations and limitations for Speckle Automate including data handling during beta, access policies, infrastructure constraints, ethical use policies, and privacy commitments. - [Function Specification](https://speckle-assistant.mintlify.site/developers/automate/function-specification.md): Technical specification defining the API contract that Speckle Automate functions must comply with. Covers OCI image requirements, runtime constraints, security limitations, and the JSON schema for automation run metadata.