Skip to main content

Overview

The Speckle Server provides a comprehensive GraphQL API that powers most interactions with your data. The complete, up-to-date API reference is available through Apollo Studio.

Documentation

Access the full GraphQL API reference at: Apollo Studio - Speckle Server API This interactive documentation provides:
  • Complete Schema: Browse the entire GraphQL schema with detailed descriptions for all types, queries, mutations, and subscriptions
  • Field Documentation: Inline documentation for every field, argument, and return type
  • Interactive Explorer: Test queries directly in your browser with the built-in GraphQL explorer
  • Type Definitions: Full type definitions and relationships between objects

Changelog

The Apollo Studio reference also includes a changelog that tracks all changes to the GraphQL API. This allows you to:
  • Stay informed about new features and capabilities
  • Track breaking changes and deprecations
  • Plan updates to your integrations
  • Review the evolution of the API over time
Access the full changelog at: Apollo Studio - API Changelog

Using the API

Authentication

To authenticate your GraphQL requests, you’ll need a personal access token. Include it in your requests:

Endpoint

The GraphQL endpoint for app.speckle.systems is:
For self-hosted instances, replace the domain with your server’s address.

Example Query

Here’s a simple example query to get started:

Query user data

Query workspace projects data

Variable: workspace ID. You can find it under Workspace Settings > General.

Query object data:

In this example, we query the children of a specific object, using the GraphQL arguments select and query to filter and return specific fields. We filter for objects with the category “Structural Columns” and retrieve the following information for each child: category, level, name, element ID, length dimension
children(select:, query:) is on its way out, not just an example to use carefully. It already doesn’t work for any version stored in the 2026.9 bundle format, and after 1 November 2026 every workspace moves to that format — at that point this pattern stops working project-wide, with no GraphQL-level replacement. See Get element data without object.children in 2026.9 for what to use instead, and Data model migration for developers for the timeline.
Variables: Project ID & Object ID
  • Project ID: This identifies your project. Find it in the project URL:: https://app.speckle.systems/projects/{projectId}/
  • Object ID: Unique identifier for the object. To find it: open Dev Mode in the Speckle Web App, then inspect the object’s data.
The root object ID is the first ID shown in Dev Mode. Use it to query the full model.

Additional Resources

Last modified on September 7, 2026